Game Engine & Game
Summary
As part of Programming II at FIEA, all programmers developed a cross platform, data-driven game engine. First, I implemented the important basic data structures necessary, such as lists, hash tables, and stacks. I then abstracted these structures into Datums (pieces of data) and Scopes (tables of named arrays of Datums). Finally, I added the concepts of entities, behaviors, and events, all of which were defined in a custom made XML-based scripting language. By editing the XML files, the behavior of the game could completely change without recompiling.
For the final project of the semester, all of the programmers decided on the best implementation of the engine and used it to create a game inspired by the popular Defense of the Ancients map from Warcraft III.
Technical Details
Programming Languages: C++, custom XML-based scripting language
My Role and Contributions
- Assisted in designing the overall architecture of gameplay systems.
- Designed and implemented a system using the Command design pattern to allow for a lockstep communication model to support multiplayer. In combination with deterministic gameplay, this allowed us to minimize network traffic by only sending minimalistic Commands, rather than data regarding every single entity in the simulation.


