For our last trimester at University I worked in a team of 8 to create a 2D game engine from scratch which would run on both Windows and a platform of our choice. Naturally we chose to port to PlayStation 5 as soon as the shiny new devkits arrived.
I became our team's principal and build engineer, creating the foundation for our engine, design philosophy and programming standards - based on our research and experience with other engines and our personal preferences. Our build and CI pipeline was setup by me using CMake and GitHub Actions - both of which would track and version our builds for QA purposes.
I also setup our gamepad support within our input system for both Xbox & PlayStation controllers, as well as coding the worms themselves! This project was a lot of fun and I really enjoyed working with the team!
C++
DirectX 11
AGC
GitHub Actions
Visual Code
Visual Studio
Input system supports hotswapping controllers (Xbox via DirectInput, DualShock 4 & DualSense) to a maximum of 4
Unique lightbar colours per controller for DualShock/DualSense
Automatic build versioning & checking for main branch and pull requests
Latest build artifacts automatically uploaded and labelled by version for QA
Custom CMake scripts allowing engine to compile across Windows & PS5 pipelines (MSVC & Clang)
Layered engine split into foundation & engine libraries used by high level game layer
PS5 platform support for on-screen keyboard input and assertion/log pop-up messages