Ascension Evolved is a speedrunning roguelike game with an emphasis on replayability.
Consume creatures to mutate yourself and your abilites, and get through the landscape as fast as you can to become the ultimate hunter.
Every run is different as your playstyle is changed with the different mutations you collect through the level.
Easy to learn
Hard to master
With the emphasis on speedrunning, I also wanted to have the mutation-system that creates a non-linearity within the gameplay. The skill-ceiling would quickly rise as the different mutations interacted with each other in exciting ways. Finding the correct* combination of mutations could drastically change your run.
Gameplay & 3C
First things first. Having a Core Loop in place made things a lot easier. Knowing the flow of the game helped me have a vision of both my early stage prototypes, as well as how to go about refining them.
Speedrun through level
Establishing movement to start off with was crucial. It would set the precedent on how the mechanics would work. It would also help the level designer know what boundaries they had.
Having a gym made by the level designer was neat and gave me a playground to tweak the character to the best of my ability.
At this point, I started rapid prototyping the mechanics we had set out to have. Making a dash and a swing-like hook-shot was priority. I had both prototypes done within a couple of days.
As I finished the prototypes up, I had one of the programmers take ownership of the dash, and I was responsible of the hook shot until the end of the project.
Link to the final Blueprint for Hookshot here!
I prototyped a boss fight early on to wrap the level up. It would be a final challenge for the player to test their ability to hook and dash properly. Sadly we had to scrap the idea midproduction.
Dashreset was added early on to give satisfying gameplay if used right. It also gave the leveldesigner a way to divide pathways into dash paths and hookshot paths.
I designed the mutation system to act as a progression with a choice.
As you finish off enemies in an area, the player would be presented with 2 choices.
Optionally there were ways to skip an area, at the cost of not getting a mutation upgrade.
I had to be very clear and proactive on which variables to expose.
I wanted control on most of the variables, but the more we needed to expose, the more work me and the programmer had to do collectively.
So I started with making a list of variables and gathering them within an excel sheet.
Click to maximize!
I made a playable paper prototype on Miro. Being able to sketch and play around with the values before implementing it made it easier to know how the player would be enhanced.
It also helped me to know the upper limits of the abilities, so to not break the game.
Implementation could begin!
As the programmer finalized the blueprint MutationActor I could start creating these with the properties I had prepared within the google sheet.
Click to maximize!
All the mutation data I needed to be exposed was in the actor BP. Rarities, effects (such as adding, subtracting, multiplying), and other categorizing data.
All this was stored in the actor called BP_Cluster. As I filled the array, that would be the pool of mutations used when spawning the effect.
Finding the fun
Mixing in the mutation system into the gameplay was a difficult task considering balancing. I didn't want the players to feel like it wasn't worth going for the mutations. I also didn't want to give the players a sensation of disappointment when not getting the "right" one.
Rarities and mutations reliant on each other!
At its core I needed the mutations to make interesting combinations if picked right. To do that I made sure that most mutations weren't too strong and could be combined with the other mutations to make fun and cool combos.
How did I solve this?
And with the rarities I could categorize the strength of the mutations. If a mutation needed to be combined with another mutation to become strong, I slotted it into the lower "Rare" bracket. In the "Epic" bracket I had the stronger independent mutations. And at the top, in the "Legendary" bracket, I put the slightly gamechanging mutations. These could be unlocking double jump, shorter Hookshot cooldowns or an extra dash charge.
Within these categorizations I had them in 3 different build paths. Hookshot, Dash and Melee power. I wanted the player to have the option to tailor their gameplay and choices to whatever they thought felt the most fun. This way we could connect the gameplay with the leveldesign, as the level was designed with longer hallways adapted to either dash or hookshot. The hallways were populated by either hookpoints or dash resets, resetting your dash cooldown if gone through.