This is a university project made for the Game Engine Architecture module. It was released as a group coursework with groups containing 4 memebers. We were supposed to create a game engine in C# using an ECS (Entity Component System) architecture. With the engine completed the next step was to develop a game similar to Doom in order to showcase a basic rendering engine, AI opponents, a maze, a top down map and FPS game mechanics (weapons, power-ups, etc). On of the requirements of the project was to have a very good decoupling between engine code and game code in order to enable future project to use the engine with little to no modifications.

The project mark was 95/100 and my personal mark was 100/100 because of my largest contribution of developing and delivering the final product. I was responsible for:

  1. OBJ importer and loader
  2. Texture importer
  3. Rendering System
  4. Physics System
  5. Engine architecture and communication between modules
  6. All of the components and entities
  7. Environment creation (models and textures)
  8. Weapons, drones and power-ups models and textures
  9. Designing and programming UI elements
  10. FPS gameplay mechanics scripting (camera movement, head bobbing, weapon firing, health, movement)
  11. AI navigation

In order to give the environment a more polished look, I modeled it in Autodesk Maya and textured in Substance Painter then I import it in Unity and I baked a nice light-map for it which I then exported and after a few tweaks in Photoshop it was ready for import and usage in the game.