This project was developed by a team of seven individuals, with my primary focus on establishing the graphics side of the engine. The engine was designed to handle the creation of a Quake-like first-person shooter (FPS) game. To edit our levels we used TrenchBroom as the level editor for designing Quake levels. The engine was configured to support two platforms: PS5 and Windows. I actively contributed to both graphics systems during the development process.
In this project, I tackled the challenge of learning two new graphics APIs, requiring me to do research in DX12 and PS5. Designing the engine itself was a complex task, demanding creative problem-solving and technical expertise. Additionally, I collaborated with a fellow engine programmer to implement level loading seamlessly. This improved my collaborative skills but also contributed significantly to the project's success.
To setup the foundation for rendering, I collaborated with another graphics programmer to plan and design an API. Not only that we also had to keep in mind that it would support multiple platforms. This aimed to ensure that the API I created would be user-friendly for the engine programmers. Once the design was in, we started to implement it into the engine.
For the animation system, I employed the GLTF model loader to extract animations from GLTF models and seamlessly integrate them into the engine. To make this possible, I did some research to understand the structure of GLTF. Once I had a clear understanding, I proceeded to implement the animation system into the engine. As an additional step, I developed a small tool to dynamically modify animations during runtime.
To improve physics feedback in the engine, I established a system for line drawing. This allowed gameplay and engine programmers to visually observe collider locations, providing a clearer understanding of the physics elements in the project.