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:
- OBJ importer and loader
- Texture importer
- Rendering System
- Physics System
- Engine architecture and communication between modules
- All of the components and entities
- Environment creation (models and textures)
- Weapons, drones and power-ups models and textures
- Designing and programming UI elements
- FPS gameplay mechanics scripting (camera movement, head bobbing, weapon firing, health, movement)
- 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.