Game Design

So, one thing that I've been working on over the past week is reviving my game engine that I started working on a couple of years ago. It's not far, but I'm currently happy with the way things are going:

Game Engine Screenshot

Pretty simple, I know. Shows off some basic texturing and per-pixel lighting, but that's about all I got for now. Currently this is all done in OpenGL, but I've abstracted many of the concepts in such a way so that I could easily swap in a DirectX renderer. This is done at compile-time though, so that I avoid dealing with dynamic libraries.

It's pretty easy to get something up and running too. I just extend an application class, which takes care of some nitty gritty details for me (e.g., the game loop). With the help of some compile-time polymorphism, I just override three methods: initialize, update, and render. Also, input handling (keyboard + mouse) is currently implemented using mappings to boost::functions. These mappings are registered at runtime, generally in the initialize method one specifies.There's plenty of work to be done, but I think it's a good start. Some things I need to work on:

Of course, there's a lot more than that – Terrain LoD, Character Animations, GUI Rendering, Game Logic, Physics, etc – but it's a start!