October Journal

New Engine Construction!
08.26.2005

Every once in a while as a game programmer you need to take a walk through the latest and the greatest (or at least the latest) technologies to keep your hand in and to make sure you understand how the newest technologies really work. In the world of game development nothing does that better than writing your own game engine.

While I can (and do) spend hours every day going over changes to the the Torque Game Engine, and I firmly plan to continue to use it in my development efforts, I simply need to make a new engine to refresh my brain cells on the issues and benefits of some of these new technologies. I have also found from experience that only when you try to build a game engine do you appreciate the wisdom of the choices others made in their designs.

This is the fourth or fifth engine I have done. For the last couple I started from various individual books because they had example material that I wanted to explore. This time I have about a half dozen books influencing me and so I decided to set a big stack of the relevant ones beside my desk in easy reach, and over the course of a couple days browse them all, and then pick one as a starting point.

After a couple days casual reading, I ended up choosing 3D Game Engine Programming by Zerbst and Duvel (Premier Press ISBN 1-59200-351-6) as a starting point.

There were a couple of reasons for using its architecture as a starting point. It was modular, it was focused on one set of API's (DirectX - no surprise) but it was basically designed to be cross-platform and allow the substitution of different API's as required for different platforms.

This has great appeal since my goal is to try out different things to see how they work. Most game engine books focus solely on the graphics portion of development and devote only short chapters to audio, networking, inputs, etc. Since I also plan on doing some research work in these areas as well having them broken into modules which can be substituted was a nice plus.

In keeping with the magnitude and direction of the task I have even come up with an appropriate name for my latest engine - Sisyphus, the legendary figure who was condemned to roll the same stone up the same mountain over and over, only to see it roll back down just before he reached the top.

Kind of a metaphor for modern reusability don't you think?

For those of you who dislike unhappy endings and don't know your Greek mythology, Sisyphus was finally relieved of his burden, by Heracles (or Hercules), who lifted the giant stone carried it to the top of the mountain and slammed it into the peak lodging it there so it could not roll back.

Nothing was ever said on what Sisyphus did with his remaining eternity, now that his regular job was gone. Hopefully, he got a bright, shiny chariot and went off to the Elysium fields to chase after maidens...

I will be devoting a separate page to the development of the Sisyphus Engine and you will see it posted on the side panel to your left if you care to follow along. I haven't decided if I will make the code available yet. It will be derivative (what game engine isn't?) but I do plan on making some changes just to see how they function in the real world, including the use of a different nomenclature and coding style to check on productivity. For more info you will need to go to the Sisyphus page where I will discuss it in more detail.



 

Week of October 17
08.17.2005

Time is getting close for a new product announcement! We are getitng to the point where will have something decent to show and frankly I'm excited at the prospect of getting a game done and out to the public! I have been workng with a small group of talented people and the pieces fell into line very quickly.

Of course there is still some additonal work to do on the forums to allow chat on the new game. In fact I think that the forums are do for a complete makeover. New topics, and new directions, much more customer oriented rather than developer oriented.

The forums were rather iffy in the past anyway, they seemed to never be up when I wanted them and they were there whenever I didn't. I don't blame the software, I blame the operator -- me.



 

Week of October 1
08.1.2005

Wow! it's been a long time since I wrote anything in here. I guess I have too many different locations where I am expected to post stuff. However, this is one of the more important locations, so I guess I will have to spend a bit more effort or trim some of the other locations where I do post. Maybe a bit less time playing MMOG games? Nah! I can always find someplace else to cut. Maybe sleep? Don't do that much anyway. Might as well drop it altogether...

Seriously though, I do need to get a better schedule for doing updates to all the things I am responsible for. Can't blame anybody but me if the reports and the documents aren't updated. And if I don't get my work done I can't very well expect others to be towing the line. So, I'm off to do a bunch of updates and get my priorities and schedule redone.



 



www.pariahgames.com design by David Dougher