Geeks With Blogs



Add to Technorati Favorites

An Archived Managed World This blog has moved to

[Update: With some help from some friends, I have decided that the source will be released under the CPL, instead of the GPL. Thanks to all of you! ]

Wow. I can't believe it took me this long to find the time to make some serious progress on the game articles that everyone is waiting for. So, I figure I'll use this post as a brain dump of what is done and what is not done.

The overall plan for the entire series of “2d Sidescroller Engine” articles over at Managed World (which are the replacement/continuation of what are currently here on my blog) is that every time a milestone is reached in the engine's architecture, there will be an extra article or two implementing a simple game with the current build of the engine at that time. For instance, the first game will be a simple game of “Guess My Number” which is actually good example to get a handle of the State Manager, messaging, and command systems.

As for progress, the core of the engine is basically done. I have the rendering system almost complete. The only step left with the rendering system is my own font engine. Once the font engine is finished, I'm ready to close the lid on the rendering system for now. The command and messaging systems are complete. The keyboard input system is finished and hooked into the messaging system of the engine. The mouse input system as well as the sound system will be for later articles.

The other change I'm making is since I'm hosting this over at GameDev, I will be posting zip files of the code after each article where it is applicable. All the source on Managed World will be released under the GPL. So, feel free to do whatever you want with it (within the GPL of course) when it is posted. I'm hoping that I will be able to wrap up the font engine by the end of the week or weekend so I can crank out a bunch of articles after that. Why not just use DrawText() you might ask. Well, there's two reasons. The first reason is speed. I want to be able to output a lot of text if need be (mostly for debugging purposes (like AI debugging (think of outputting the state that an AI's State Manager is in for instance))). The second reason is that I want the text to be put into the depth buffer and have it be able to be in front as well as behind game objects. Or, for partially transparent textures to pass over text, for instance. I believe these goals will be easier to achieve with my own font engine using color-keyed textures (the font files) and textured quads. The rendering should be able to handle this without a single hiccup.

So, the font engine is the last hurdle in the way before I write the next bunch of articles. Once that point comes, we will be further along in the game. I'm realizing that this series of articles is going to be *LONG*, mostly because there are so many aspects to discuss when it comes to architecting software for a game. I also want to take the opportunity to discuss issues dealing with best practices for coding and development (stuff you might pick up if you've read Code Complete, or similar books).

Remember, the articles aren't only about how to write a game. The articles are mostly about software architecture and things you can do to make yourself a better developer. There are not a lot of resources in game development that discuss software architecture and how it applies to game development. I'm hoping that's an area that these articles can help in. These articles are meant to be thought out architecturally. There are quite a few resources out there for game development in general but I find that the architecture of the code most of the time is atrocious. So, the ultimate goal (as much as you might not believe it), is similar to the XGameStation. I'm not necessarily trying to teach game development. The overall goal is actually trying to teach software architecture and development best practices in the context of game development. Game development is simply a “compass“ that is used to keep your attention focused on what's actually more important. That is, making ourselves better craftsman for the sake of the craft.

Until next time, I'm outtie :).


Posted on Monday, January 31, 2005 2:29 PM Game Development | Back to top

Comments on this post: Whew - Finally, progress on game for articles

# re: Whew - Finally, progress on game for articles
Requesting Gravatar...
I am currently working on a game project, but with the goal of "learning" rather than "writing a game" and so far it is working out well and keeping me motivated.

I have been eagerly awaiting these articles, because they are practically what I am trying to do, only I know very little comparably :)

Will you be releasing the source when you are done, or when you release the article? I'd love to see it as soon as possible.
Left by Brian B on Jan 31, 2005 3:24 PM

# re: Whew - Finally, progress on game for articles
Requesting Gravatar...
Hey Brian! Actually, yes, the source code will be released at every applicable step of the way (like major milestones). It is still under debate on what license the code will be released under.
Left by Jason Olson on Jan 31, 2005 3:29 PM

# re: Whew - Finally, progress on game for articles
Requesting Gravatar...
I wonder what your thoughts are on font rendering in a shipping product. The GDI+ methods get you Unicode support, which solves a lot of big problems. Think of online games for example, where players need to type in their own language to communicate.

Looking forward to reading your articles!
Left by Chris Lundie on Feb 09, 2005 2:18 AM

# re: Whew - Finally, progress on game for articles
Requesting Gravatar...
Hi Jason. I just read your article series and just couldn't put them down. Great stuff. Love that you are focusing on the architectural parts more that the actual code. This gives the articles a lasting appeal IMHO. Keep up the good work!
Left by Thomas Gravgaard on Feb 09, 2005 10:32 PM

# re: Whew - Finally, progress on game for articles
Requesting Gravatar...
Hello Thomas! Thanks for the kind words. I truly appreciate them! I hope to get the next couple articles up soon. Yeah, I know I've been saying that a while, but things are finally settling down at the new job and I just got my new laptop :). SOOOOO, hopefully you'll see some updates soon!
Left by Jason Olson on Feb 10, 2005 1:13 AM

Your comment:
 (will show your gravatar)

Copyright © Jason Olson | Powered by: