Friday, March 20, 2009

Current Features (March 2009)

Derange has been in development for quite some time now, so I figured it might be a good idea to review which features have been implemented so far to see where I’m currently standing. Many of these features have been rewritten from scratch at least a couple of times as I learned better ways to implement them.

Implemented features

  • 3D graphics rendering using Ogre3D v1.6 (Shoggoth).
  • Scriptable API using Lua v5.1 and LuaBind v0.7.
  • Input device management using OIS v1.2.
  • Support for multiple Locations with separate resource groups that can be initialized using DotScene files.
  • Importing of DotScene files using OgreMax v1.6.23, creating necessary game objects as needed.
  • Configuration through XML files using Xerces-C v3.0 for parsing and validating against XML schemas.
  • Efficient resource management using Ogre3D’s capabilities.
  • Flexible game object design, tightly bound to Ogre3D’s scene graph implementation.
  • Multiple Controllers can be combined and attached to game objects to separate representation from the actual game logic applied.
  • Easy to create game objects using a factory class which only requires the names of the object and the state to initialize it to.
  • Skeletal animation support with smooth blending between different animations.
  • Actors rotate smoothly in the direction they’re moving to using Slerp interpolation.
  • Actors move using configurable speed and inertia parameters.
  • Third person player control, with movement relative to the current camera’s position using the keyboard.

Near-middle future plans

  • Collision detection, possibly physics simulation too. Need to figure out the pros and cons of the different third party physics engines available to decide.
  • Automatic camera selection based on target proximity.
  • Walking through predefined path nodes.
  • Path finding.
  • Mouse picking.
  • Overlay manager for HUD display, menus, and on-screen debugging.

No comments:

Post a Comment