Thursday, February 17, 2005
More Fun With Torque!
My “quick and dirty Torque Learning Project” has expanded to become something not quite so quick or dirty, but it’s also evolved into something I’m really getting excited about as an actual product… eventually. Too much of it is still in the “Black Triangle” stage. There’s a big difference between getting a few objects to appear on the screen in a single mission, and creating a game’s ‘infrastructure.’ Much of the challenge and slow start has been the difficulty of getting through Torque’s steep learning curve.
Going through the scripting interface (which I’m trying to do as much as possible) is pretty easy, with a wealth of documentation available. But going through the source code to create new object classes derived from the more primitive classes is a bit less well-charted territory. There are plenty of “gotchas” that I’m discovering. I spent eight hours last week just trying to find out why an object of my new class wasn’t appearing on the screen. After a bit of hunting I discovered that yes, it did exist on the server, but wasn’t getting broadcast to the ‘client’ (a pain in a single-player game, but such is the architecture) because I hadn’t set a particular flag. I also neglected (after much hunting) to add it to the display list --- which is a rather embarrassing mistake. Especially since it was my second new class, and I ‘sorta’ solved these problems with the previous custom class. I should probably create a checklist of some kind to avoid repeating the same mistakes.
Working with Torque has also resulted in a very interesting situation where I have all kinds of features already in the game – like music, splash screens, sound effects, all kinds of nifty UI elements, and particle explosions – before much of the core gameplay is done. This is really a good thing, but after seeing such evolutionary progress in Void War (over many, many months) where so many of these features didn’t appear until the end of development, it feels strange.
I ended up going through a total of six different iterations on the control scheme before settling on the current one. I’d like to thank John Olsen and Steve Taylor for allowing me to annoy them with ideas and prototypes until I managed to simplify things down to something that feels “right.” Having some friends with extensive game-development experience to act as a sanity check is invaluable. Interestingly enough, the scheme I settled with was a bit closer to my original plan than some of the experiments I tried.
Within two weeks I intend to be out of the “Black Triangle” stage with a mostly full feature-set of gameplay and a working infrastructure (depending upon how psycho the Day Job gets… which must take first priority). Historically, this is where the 80/20 rule rears its ugly head… I’m anxious to see how much Torque helps getting through the slow, painful part of development of the 20% of the job that takes 80% of the time and effort.
