I had a C++ specific module in second year that focused on extending previous modules covering C and Java and focused on coursework and weekly lab sessions. This project was my submission for the final assessment requiring a game to be created using a basic framework provided by the professor.
I had learnt C++ the previous year when I participated in HackNotts 2015 and then had refined my knowledge when remaking my Time Attack Platformer in C++ earlier in the year, meaning that I could spend the time others were learning the language towards the various courseworks and this final assessment.
I developed this game for a one month period and focused on meeting several pre-defined objectives outlined within the markscheme. These objectives were simple tasks such as: ‘Make use of the users filesystem’, ‘have an element of the game interact with the cursor’ and to ‘have complex AI behaviour’.
I decided that I could develop a game similar to my platformer but instead of focusing on fast clears of levels I could create a simple Metroidvania that requires the exploration of a level and the battling of monsters. The concept had some issues with the given framework as the framework was designed to handle simpler levels requiring no movement or very simple tile-per-tile scrolling and as such I had to ask for permission to edit the internals of the framework from the professor to better fit the game.
I developed a level editor for use within the game during development to allow for easy construction of each level, a feature you can access within the final release by pressing F1 at any point. This allowed for quick iterations of the levels to be made and tested.
The final submission included many features outside of the requirements set by the mark scheme such as a way to write code similar to fragment shaders for the framework to allow for lighting and other per-pixel post-processing effects.
Here is a link to a download for the Project, it includes a readme.txt for information about controls and various options for the game.
