Fiea Game Engine

Over the course of my second semester at FIEA I am in the process of creating a custom game engine. The main purpose of the extended assignment is to really get into the nitty-gritty of C++ and in general to bolster our coding chops.

The game engine requires going over many important aspects of c++. For example the first part of the game engine was creating my own data containers.

In my opinion the most important piece that I have created so far is with Datum which is a runtime polymorphic object. This acts as the basis for the entire engine as all the data will be stored in these Datum. After that we created a Scope which is a binding of strings to datum which creates this cool table structure which allows for a data hierarchy.

Nowadays I'm working on generating the datums in a data driven way. So I've made a generic JSon Parser and a specific Parse Helper that can read datums in JSon format. In order to helper the parse create things I'm also implementing a factory.

Because I'm only half way through the semester there's plenty more to do so be on the lookout. For example, at the end of the semester I'll have made a game in my own engine and I can't wait to see what that'll be like!

So in summary the things I've made so far include:

  • Recreated Standard containers including List, Vector, and Hashmap
  • Set up custom Run Time Type Information (RTTI) system
  • Developed run time polymorphic object (Datum) that handles, ints, floats, glmVector4, glm Matrix4x4, strings, RTTIs, and tables of datums (Scope)
  • Created JSon parser that follows the chain of responsibility pattern 
  • Developed a factory to instantiate objects for the parser
  • Fully tested and commented the code
  • Much more to come...