The Sledgehammer that is C++
If you just lay down your tracks…
It’s been a long time coming for Aragon: Hell’s Asylum, originally created as a shooter straight out of the 90’s, it’s now an Action-Adventure game with RPG elements. And with this increased complexity, comes the need to dig deeper into the engine and learn how to accomplish what I want in the game.
Initially, the Player would have 6 main types of weapons, Pistols, SMGs, Shotguns, Rifles, Launchers, and Charge firearms. This would’ve been compounded with Quicksilver, an ability that would allow the player to slow down time (within the engine by modifying the Global Time Dilation), and deal extra damage to enemies. My goal was to not only allow the player to use this ability in combat, but to also incorporate it into platforming challenges as time goes on and the player gets more comfortable with reflex control within the context of the game. The inspiration of this was Devil May Cry, where the player has the Devil Trigger ability.
Having spent a fair amount of time away from the project, I came back to it with renewed energy and new ideas. What if there were two more main abilities, in addition to Quicksilver? This gives the player options as well as new ways to interact with the environment. Couple this with diving into C++ for the first time in a while and a tremendous amount of documentation either hard to find or unable to work in the latest version of Unreal, new difficulties arose.
I would have to introduce a function in C++, in a similar way that I originally did it in Blueprint. But having done it before, there is less iteration time and I know what the procedure is to debug and test it’s functionality.
The game would have to be balanced against two different major game-play changes, on top of what the player could do before re-adding abilities through C++. And, the credit/upgrade system would have to change to provide the right changes at the right time.
No doubt about it…
The task of game balancing is daunting, having to test every possible combination of weapon, armor and power. But thankfully there’s automated tests, debugging maps and all other kinds of ways around this. At the end of the day, providing the player with options allows them to create unique experiences and test their new abilities and skills in evolving ways.