If you would like to know more about how these school projects were planned out, click here.
FPS - Disarray
Made in our own game engine
During previous projects I was often bothered when the game crashed for other disciplines in the middle of their work. It's difficult to make a game completely crash free during its production, but I thought that it should be possible to implement a debugging system that helped us track down critical bugs faster. I made a bug report pipeline which created dmp-files whenever the game crashed for non-programmers and printed a message telling them which programmer wrote the assert message. Then, instead of leaving their workplace and trying to find someone from the programming team to tell about the crash, all they had to do was commit the dmp-file and write a message to the programmer who wrote the assert telling them that the game crashed on a piece of code they were responsible for. That programmer could then easily check out exactly what caused the crash thanks to the call stack and data provided by the dmp-file.
I made a new node type that made it possible to set custom variables for shaders during run time, allowing more creative freedom for our technical artists. Now they didn't have to go through the programming team and request new shader variables to be implemented, they could just add them in our script system.
I implemented support for shadow rendering. While we got a finished implementation from our teachers, I worked on adapting it to our engine and tweaking the performance and appearance of the shadows in our game.
Compile time optimization
I did an overhaul of our entire engine, going through include chains and forward declarations in order to bring down our compile time which was slowly getting out of hand. I made sure our precompiled headers contained the correct files, the ones being included often but rarely changed.