Libra

  • Top Down Shooter | Personal Engine C++

Libra is a top-down tank shooter with procedurally generated maps. The player must fight against four different enemy types to reach the portal at the end of the level to progress.

 

Features

  • Libra uses 2D corrective physics

  • Procedurally generated maps based on map XML definitions

  • All maps are guaranteed to have a path from the start to the end

  • Libra can load a map from an image, and even place a hand-authored portion of a level within a procedurally generated level

  • Enemy AI based off of distance fields centered on the player

  • Textured entities and tiled maps

C++ corrective physics for entity collisions

C++ corrective physics for entity collisions

C++ map generation code that loads in a custom map from an image and uses a distance field to fill in unreachable tiles

C++ map generation code that loads in a custom map from an image and uses a distance field to fill in unreachable tiles

XML map definition for level 3

XML map definition for level 3

 
doomenstein_screenshot3.png

Post-Mortem

Libra offered a great learning experience for understanding 2D corrective physics. Libra was the first procedural map generation that I’ve done. As a first attempt at it, I’m relatively pleased, but knowing the tools I do now, I could do something more interesting. The most fun I had with the game was making the flamethrower and utilizing additive blending to get the white hot fire at the center of the flame.