Thursday, January 27, 2011

Turning the Corner

I've entered a new phase with the engine...bug cleanup and performance testing. At this point  I've pretty much locked the codebase down in terms of adding new features. Now it's a matter of speeding things up and pushing the limits of it to see where improvements can be made and to identify any lurking bugs. Then...it's off to design a set of games!

In a few short weeks, I'll post some more pictures of where things are at with the engine and the game itself. For now, here is a feature list of what is currently up and running in the engine:
  • Skydome rendering with a time/date based sun position, time-of-day shading, and star rendering
  • Tile map rendering (using height maps)
  • Terrain feature rendering (for higher detail features such as mountains, hills, rivers, etc.)
  • Keyframe character animation
  • Wavefront model rendering (.obj format)
  • Collision detection
  • Basic physics properties for all objects in the game (mass, velocity, acceleration)
  • Basic shadows
  • Billboard rendering
  • Particle system that can render particles, billboards or models
  • Keyboard/mouse input
  • Gameboard rendering (with model pieces)
Concurrently, two tools have also been developed alongside the engine: a particle system design tool and map design tool. The map design tool can create gameboards, terrain features, tile maps, and more. Additionally, the map tool can take an existing contour map and convert it to a height map...or allow you to create your own from scratch with adjustable contour lines.

Underneath all of this, however, is the fact that this engine if fully object-oriented, and that the graphics portion is written in OpenGL. This opens the door to potentially porting games down the road to the iPhone, Linux, and maybe even the Macintosh platform.