2006-01-01

A little history

Alright, heres a brief history of my game project.

In 2004 I was still working at a gaming company and trying to finish up our project. At this time I had already decided that I was going to leave once the project wrapped, move back to Michigan, and go back to college (originally for a degree unrelated to computers but now I'm going for a Comp. Sci. degree). Brainstorming one day with some friends and fellow workers I thought it might be cool to make a 2D particle engine based game where everything in the game was rendered using particles. I mean everything. It would look like the whole screen was alive. It seemed like a cool idea and I started thinking it would be a manageable project to work on in my spare time (A 2D game being less reliant on complex 3D models and animations, so I could manage most of the art, at least initially, and the scope would be much smaller than a game using a 3D engine). The game design has changed significantly since then, but that was the original catalyst for this project.

I initially began by researching what types of software I would need for the project. I knew I needed some version control software, an IDE, a debugger, and I had to determine what else I might need and where I would get it. Since I already owned a copy of MS Visual C++ 6.0, I figured I'd stick with that, at least in the beginning. I decided to go with Subversion (SVN) for managing assets (code and art). It seemed to be a good successor to CVS, which is (or was) the most widely used open source version control software. It took a little time to get up to speed with it but I wouldn't go back. I was never a big fan of SourceSafe any way.

Since the beginning I knew I wanted to keep the game independent of any platform. I would develop it for Windows, of course, but I also wanted to play around with Linux. I didn't have a Linux box at the time, but I do now. It helps to be able to compile with different compilers and for a different target. By starting with these two it will make the transition to any other platform (like a console) so much easier. So that meant I had to use the GNU compiler and since I didn't have a Linux machine I downloaded Cygwin and started using it. My whole project actually exists in my Cygwin directory on my Windows machine and in the same location on my Linux box. I use the Cygwin build of SVN and all my tools are run through a Cygwin Bash shell.

More recently I started learning Ruby. It interested me as a scripting language and as a language to write any tools I would need, so that I could code one tool and have it work on Win or Linux. I have a few tools written in Ruby already. Though I have yet to work with any GUI tools yet, they are all command line. But Ruby/tk seems like a viable option to make any GUI based tools I need (like a level builder tool).

Currently DirectX is the only library supported, but OpenGL is soon to come. The Linux build compiles and runs but all the graphic calls are just stub functions so it doesn't do anything. The last Linux change was the addition of SDL. I can create a window but thats it. The Win version will eventually support DirectX and OpenGL.

The Win build uses nmake and Windows cl compiler, and the Linux build uses all GNU tools. I'd like to get a GNU build working under Windows but I haven't done that as of yet.

I've got a good portion of my engine done. Most of my time was spent trying to design and code the engine. I've finally gotten to a point where I can start coding parts of the actually game play because there are enough pieces of the engine in place. The engine is by no means complete though. I have a testbed application that I use to test new parts of the engine as I code them and now I'm playing around with some game mechanics (finally!).

So in a nutshell that's where it all started and what has happened up until now. I'm currently in between semesters of school so I'm trying to do as much coding as I can. School takes up most of my time so I usually only code like one day a week, which means progress is usually pretty slow.

0 Comments:

Post a Comment

<< Home