Back


My main project is the development of a game engine called PlaneD. It's a 2d engine with a focus on modularity, portability, and performance. Here's a quick summary of the current features.
  • Hot swappable graphics/sound/physics modules
  • Automated and easy settings management
  • Multicore support
  • Multiple windows, runtime resolution switching
  • MDI style layout for multiple scenes or contexts
  • Support for Mouse/Keyboard/Controllers via one interface
  • OOP based garbage collector
  • Memory pools
  • Game mod management
  • File manager with versioning, archives, and mod support
  • Dynamic resource management (textures, sounds, actor definitions, etc)
  • All resources are indexed by user friendly strings, easy to update.
  • Resources parsed from xml, ini, or from 2 proprietary formats
  • Optionally discover and load all valid resources in specified directories
  • Plug in your own code via events, function pointers, or inheritence
  • ttf/bmp font support (ttf is through FreeType)
  • Texture support for bmp/png/jpg/gif/tga, using FreeImage
  • HTTP/FTP support
  • All calls to non portable functions are wrapped, so it's easy to add support for another OS
  • Automatic measurement conversion.
  • Unlimited camera zoom scaling
  • Performs well enough to have several thousand active sprites in a scene, on even a very outdated computer.
  • Built in support for mapediting a scene while the game is running or paused
Currently, graphics are done using OpenGL, and sound is through SDL. 90% of the code necessary to do basic 3d scenes is done. The 2d code has already been used in a commercial game, and several minor applications. Currently, I am also developing a game manager and downloader, which uses PlaneD for the userside application.
These are some screenshots of Eternity's Child in action:



These are some screenshots of the map-editor for Eternity's Child, as well as the animation tool built using PlaneD: