Project: High Noon
October 2023
This project was a top-down arcade shooter by a team of 4 with a custom C++ D3D11 renderer. The libraries used were Gateware and FLECS.

Responsibilities
- Renderer
- Level Loading
- FLECS Integration
- Game States
- Controller Support

Renderer
The renderer was created using the help of the Gateware library to run D3D11. All pixel and vertex shaders were custom made. Levels and objects were created in Blender, exported using a Python script, and then imported into the renderer.
Level Loading
Due to the small nature of the game, all three levels are loaded in on start-up and can be changed seamlessly. This allows for a smooth and crash-free player experience. All objects loaded needed to be added into the FLECS world to be accessed later on.
FLECS Integration
The game runs by using the FLECS library. The library allows for a world to be created and maintained. I was responsible for taking our renderer and converting it to run with FLECS. This means that a FLECS system had to be created to tell the game what to render and when to render it.

Game States
Game States had to be created in order for the game to run smoothly. The game states tell the game which level to render, what music to play, and which enemies to spawn.
Controller Support
Using the Gateware library, I was able to add full controller support to the game with rumble features. This was a huge improvement as the game plays better with a controller in my opinion.