Before I was given the brief or my team, I was instructed to provide a showcase of my skills within my preferred specialism of programming. For this showcase, I decided to create a vertical slice / demo showcasing my ability to design and implement mechanics using a game engine of my choice (Godot). My decision to create a demo was fairly easy; I knew I wanted to produce a game-related product to showcase my skills, and I had recently participated in a game jam that had taught me a significant amount about creating a game in Godot. Additionally, I wanted to expand my knowledge of 3D game development in anticipation of my synoptic project.
My game, Vault Raid, is a dungeon-crawling FPS inspired by games such as Doom and Quake. The premise is that you are raiding a high-tech vault protected by automated defences, with the aim of the demo being to kill all guards and reach the vault at the end of the map.
Technical description can be found within the below production log.
Vault Raid was a massive success in showcasing my ability to create a demo with functioning mechanics. It's similar to an early prototype in polish, lacking any sort of models outside of what has been created in-engine, something I intentionally did as to focus entirely on scripting and programming. For example, I am particularly proud of the enemy AI and their "field of view". Enemies will only follow you if you are within their field of view (a large sphere surrounding the entire enemy, an intentional design given that they're robots with sensors and not humans with eyes) and if there's a valid path within the game's navigation mesh. Additionally, NavigationObstacle nodes placed at the base of static props ensures that enemies do not get stuck on obstacles in their way, instead their AI navigates them around the obstacle. If I were to remake Vault Raid, I would like to focus more on making the main gameplay look feel more rewarding for high-skill gameplay, as I found that running in a large circle around enemies makes it near impossible to die to them. Additionally, I would probably add an extra gun type and the ability to swap between guns.