Raven Game Engine

Raven engine editor
Raven engine editor

For my master’s project, I led a team of five students over the course of three months to build a C++ game engine from scratch. My team was comprised of students from different parts of the world with different software development experience. As a team leader, I had to make sure all members felt they were contributing meaningfully to the project’s development and encourage them to share their experience. I made certain that most of the decisions on the project’s direction were achieved by consensus, balancing the opinions of members and ensuring their voices were heard. When disagreements arose, I organised team meetings so that members could discuss freely, weigh up opposing arguments, research further, and make an informed decision on going forward.

I strove to put into practice the software engineering principles I had learnt in years prior, opting for a scrum-based approach of four two-week long sprints for development and testing of the game engine with weekly meetings. During development I was responsible for implementing the resource management system (how the engine manages 3D models, textures, audio and other assets), integrating a 3D physics middleware and implementing some of the engine editor’s GUI.

Raven engine presentation

The pandemic impacted the project, as some of my team mates had a backlog of work from other modules. Mental health was also an issue of concern and the team had to be helped at times by rebalancing workloads. Moreover, we did not have access to the school’s high performance workstations and little to no physical contact with university teaching staff for guidance.

Despite these challenges, my team achieved a very positive outcome, being able to implement all the desired features on time and build a small game scene. The engine was submitted to the 2021 game republic student showcase and won first prize in the game technology category.