An MSc Group Project, working in a team of 3. A small demo game written in C++. This game was created to showcase many of the advanced games development concepts we had learnt
with our module, in the game you play as a dwarf that must collect potions to restore health and chop wood to be added into their inventory. Once enough wood was acquired they would be able to
shoot fireballs.
Key Game Development Concepts used:
• Entity Component System, to handle logic with each entity type holding a bitmask of each component they held. Combinations of these components were required to make use of different systems.
• Command Pattern, commands were queued up for the different input types, abstracting logic from the player class.
• Big Array, this was used to iterate through all of the systems currently in the game and check all of the active entities component bitmask, if they have the corresponding components to the
system it will then run the update function within that system on that entity..
• Subject/Observer Pattern, handles achievements, subjects pointers are held within relevant classes and hold a pointer themselves to an observer, these are notified when a specific requirement
has been achieved, this will then unlock the corresponding achievement.
• Object Pool, created all the necessary entities of each type at the beginning of the game, retrieving entities from the pool when needed and returning them once they were not.
used instead of spawning and destroying entities to save on memory.
Platforms:
• PC