Possibility and Probability

Python, AI, and other fun stuff

8/1/2004

Learning from past mistakes

I've always thought it would be cool to write my own RPG like Wasteland. I really liked that game. Over the years I've had two "almost there" attempts at doing this. Once was in C/C++, and the other was in Java.

Both times I insisted on implementing everything from scratch. Well I kinda had to with the C/C++ version, I was pretty green and didn't think to look on the internet for examples. But I feel I learned a lot by figuring out stuff on my own.

Both the C and Java version were dropped because I would hit a wall that I didn't know how to get around. I always felt bad about that, it was like I quit just because it got to be a little bit difficult. That and I was cutting my teeth on design and architecture issues, and that's always painful.

I decided this time around, I was going to do things differently. Java seems to be such a bear to work with for games, and C/C++ just doesn't appeal to me right now. Python, it seemed, was a good choice. I found some code where someone had done something pretty close to what I was wanting to do. So I downloaded the code, and played Wasteland a bit and found the quick differences between the two.

I've started modifying the code of NotHack to try and make it more like Wasteland. And so far, I'm amazed at what I've been able to do. In one weekend I feel I've done more productive work than I ever have on the other two (in the same time frame). And the funny thing, is it isn't because of python (I'm still learning the language as I go), but rather because I'm taking someone else's framework and modifying it to do what I want. That's really a mind blower for me, I've never really thought like that before.

So the lesson I've learned here is to work smarter not harder. If someone's already invented the wheel, I'm going to work hard to resist the urge to create fire, mine ore, smelt down the metal, cut down some lumber, and bring all the pieces together in the hope that it will make a wheel. That much effort just isn't worth it when all I need is to slap a new coat of paint on the already-invented wheel... ;)

Comment on this post [ so far] ... more like this: [games, python]

More IDE stuff

Ok, so this weekend I hunkered down and spent a lot of time with Komodo 3.0. Overall I think it is nice, but I kept running into problems. One odd problem is after a few hours of use (this happened on two separate occasions) when I would run something, Komodo would report that a file had changed on the file system, and was I sure I wanted to save. This was odd to me because I had not modified anything and I'm pretty sure I wasn't saving anything... After quitting the app and restarting it (then doing what I was doing before) made the problem go away.

Also, it was kind of a pain to run things. I would be modifying one of the files, and when I would go to run it, I would need to switch the editing pane back to the "main" file in order for the program to run. Wing 2.0 lets me set a "main" file that gets run when I hit the run/debug button.

And speaking of debug, when I ran something in debug mode on Komodo, it was soooooo sloooooooow. Yet running it in "normal" mode was nice and fast and I seemed to have debug control (like it would stop when hitting break points, etc.).

So, after kicking driving it around for a day or so, I think I've given Komodo 3.0 a pretty fair shake. Now I've switched back to Wing 2.0 (the beta version). Its kinda funny, some of the bells and whistles that Komodo had that made Wing look less appealing, now don't really seem to matter too much. I think Wing is pretty good.

Comment on this post [ so far] ... more like this: [python]