top of page
itch.png
Title_Transparent.png
gameplay.png

Gameplay Designer

Technical Designer

3C Designer

7 Weeks

Time.png

Team size

8

Perforce.png
UE_Logo_stacked_unreal-engine_white.png
story.png

Speedrunning

Roguelike

PC

Singleplayer

Time.png

10 min

concept1.png

Concept

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.

Cover.jpg
noun-foundation-5636955-F0267E.png

Game Pillars

Mutations

noun-pillar-2839665-F0267E.png
noun-pillar-2839665-F0267E.png

Easy to learn

Hard to master

noun-pillar-2839665-F0267E.png
noun-pillar-2839665-F0267E.png

Speedrunning

noun-pillar-2839665-F0267E.png
noun-pillar-2839665-F0267E.png

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.

flowchart.png

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.

Core Loop

Kill enemies

Mutate

Speedrun through level

doodle1.png
doodle1.png
doodle1.png

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.

gym.jpg

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.

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.

Mutation System

noun-bacteria-356109-F0267E.png

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.

Mutation.png

Click to maximize!

doodle24.png

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.

paperprototype1.png

Click to maximize!

doodle24.png

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.

image_2023-10-10_094435554.png

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.

Mutationslist.png

Balancing

noun-scale-690087-F0267E.png

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.

HighresScreenshot00007.png
Card_Blue.png

Rare

Card_Purple.png

Epic

Card_Orange_Legendary.png

Legendary

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.

bottom of page