The story so far…

A long time ago, when I was eleven years old (at least I think thats the age, it’s getting hard to remember), I watched my father write software that rendered fractals on an Apple IIgs. Apparently I was intrigued, and asked how it worked. Instead of a simple answer, I received the manuals for the machine and a book on BASIC. And then I was hooked.

Over the next few years I graduated to writing software on a i386, then a Pentium, and wrote several software renderers. College was more of the same, but faster computers and graphics hardware was available. I used to hang around and showcase my rendering and graphics work there, which landed me a job making video games for consoles. For the next ten or so years, I wrote graphics code for PS2, Gamecube, Wii, XBox, PSP, PS3, XBox 360, PC, and probably some platforms that I forget about. I also wrote a lot of tools, exporters, collision, and physics code as well.

After a while I decided the office life was enough and I left my job. I wanted to actually make all the parts of the game, not just do graphics. My programming heroes did it with shareware games back in the 1980’s, so why couldn’t I do that now? In January 2011 I started writing some new game engine code. My plan was to journal everything about the development from the beginning of the project, but I went on a lot of backpacking trips in the mountains, and otherwise just kept coding and putting the web stuff off. Last time I did anything on a web, there was no DIV tag, so there was a bit of a learning curve this time around. But now I have a somewhat playable prototype, a website that is easily updated.

The code is all C++, and there is no third party software, other than device SDKs. I’ve tried to design the engine more or less so I can easily pull out systems or make major changes without effecting other systems. I’ve also been writing the engine in a multi-platform way, but I only support a single platform at the moment. One day I’d love to get back on the big consoles as well as other platforms.

The last couple months have been spent putting some of the basic systems together. I’m not the type of programmer to hack things together, so just getting an initial anything up took a few weeks. After ten years working with a huge code base, starting from scratch was refreshing, but slow. Since then I’ve just been adding to the systems and to the game. It’s a little prettier now, but there is still a lot to do. I plan to write about what I’m implementing and how it’s implemented as well as design, problems, and anything else that seemsĀ relevantĀ to the project.