top of page
Search
  • Writer's pictureRowan Ramsey

Args Game Engine (Legacy)

Updated: Aug 24, 2020

During the 3rd quarter of my second year in the CMGT(Creative Media and Game Technologies) study program, myself and 5 other students spent 3 weeks developing a game engine, a game, and a mock company to develop the game from. The engine was developed by myself, #GlynLeine, and #ArjenDeAldrey, in C++. This was my first foray into a complicated C++ program so I had a lot to learn. I had the responsibility of creating the SceneManager, a level serializer in Unity, and I had a hand in the InputManager for the engine.


For the games scenes we made them in Unity and then I developed a method of serializing the components and object names into JSON. From there I used the rapidJson C++ library to take our generated JSON file and deserialize it into specific objects in our engine. One huge complication with this was that C++ does not have relfection, whihc means that I had to manually search through the file for specific object and components names, and then generate a object and attach the appropriate components. It was a long and tedious process which plagued us until the end of the project.


The level serializer was pretty easy to put together. By tagging every parent object in the scene with the "Serializable" tag, the serialization script will collect all the objects, and then meticulously create "SerializabeObjects" for each gameobject, and their children, and "SerializableComponent" for each attached component. This would then be serialized into a file to be deserialized in the engine.


Looking back at my work on the engine, there where a lot of mistakes and faults that kept my productivity on the project slow, but I they taught me a great deal about C++ and engine architecture. Which is the kind of knowledge I hope to bring to my future groups projects.




9 views0 comments

Recent Posts

See All

MTG Library Application

This was a personal project for me. I am a big fan of the card game Magic the Gathering. Which means that I have hundreds of cards sprawled all over my room. This makes searching for one specific crd

bottom of page