The Data-Driven Roguelike was a project focused on data driven design: using blueprints of agents, entities, items, and maps to allow designers to build components of the game without requiring compilation of the game or a programmer to create each asset for them.
Everything in the project was implemented using my custom C++ Engine.
- Creation of Tiles, Enemies, Entities, Items, and Maps done entirely with XML data
- Tile based Lighting System
- A* Pathfinding for enemies & Raycasting for line of sight
- Smooth Interpolated Movement
- Multiple movement speed support (relative to player)
XML File - Agents.xml
Below is a sample XML file used in the game. It contains entries for agents - the player character and various NPCs. Agents in the game are created from the values listed in this document
"Map" is the class used to represent a a map/level within the game, filled with tiles, agents, entities, and items of various types. Below are the .h and .cpp files for this class.