I have made progress on a 3D game in C++, so far I have completed a:

  • 3D deferred rendering pipeline using OpenGL, with animations, cascaded shadow maps, and support for thousands of lights
  • Asset packer that pre-processes images, models, animations, and materials into custom binary formats and zips everything into a single file
  • Resource cache that handles loading and caching of arbitrary assets
  • Logger for debugging that supports multiple output locations and being removed from release builds
  • Timer for profiling areas of code, which also will be stripped out of release builds

The game is open source, and can be found here: https://github.com/Maceris/BulletHell

Currently, I am working on procedurally generating infinite maps and managing the associated meshes and lights for each section of the map dynamically.

Next steps:

  • Finish some simple map generation
  • Build an event system to allow different areas of the code to communicate more easily