Bullet Hell

A simple bullet hell game written in C++ designed to demonstrate a range of game development skills.

Key Features

  • Real time 3D deferred rendering pipeline in OpenGL
  • Support for thousands of lights and animated models
  • Cascaded shadow maps
  • Procedural map generation with chunk caching
  • Asset packer with custom binary formats for 3D models, animations, materials, and textures
  • Resource cache for loading and caching arbitrary assets from an asset file
  • AI system for managing state and animations of enemies
  • Logger that supports multiple output locations
  • Timer for profiling areas of code in debug builds
  • Player and enemy projectiles, collision, and health
  • Menus, game over, and starting new games
  • Key-binding system, to allow runtime rebinding

Links

Screenshots

Menus and gameplay
Chunk loading
1000 animated enemies and 1000 bullets, at 60 FPS