Posted January 27, 2025 by The Anachronist
Another block, another Metal Gear.
Notorious as the Hardest Block Of The Year™, this Block we got to make the exact same game as last block, except not quite.
There would be 2 major differences: we would be developing the game in 3D, using the OpenGL library, and we would be developing cross-platform, both for Windows, and, more importantly (the version that we get graded on), for Raspberry Pi.
Fortunately, we were provided with a template to start with that already included the cross-platform code for Visual Studio. Unfortunately, this template was messy and confusing and I spent quite some time fixing it. The first week, I didn't even touch a line of code, but worked on getting the template to run both on Windows and on my very own Raspberry Pi 5 (as well as worked on some documentation).
In the end, I did make it work on both platforms. I decided to stay as close to my Block A game as possible, so the result is just the exact same level and tilemap, with 3D models instead of sprites. Debugging was quite a bit easier this block, as we got familiar with ImGUI. We actually made use of a variety of external libararies (see the game page for details).
All in all, it was a fun—though occasionally confusing and stressful—project to develop, and it certainly helped me gain experience as a game programmer.
In the future, I might want to update and polish the game some more: add better lighting, 3D animation, sound & music, and improve the enemy chasing. I would also like the game to run in Release mode (currently there is only a debug configuration). It's fun and all, being able to switch camera modes, and see the debug view and menu, but that's not the ideal player experience.