A four-player adventure game, about accepting each other's differences and using them to your advantage.
Technical Game Designer / Level Designer
Experiment with rapid prototyping
Explore cooperative gameplay
Explore in-game player interactions
game design pillars
There are mainly 2 design pillars for Aberrance, the first is the concept of cooperate, and the second is the concept of evolve.
The whole game is designed around these 2 core pillars
co-op level design
I was designing the last level in the game and I realized that this level should challenge all 4 players' skills since they've learned and practiced their skills in the previous levels.
How to make the level challenging for 4 players?
I came to the conclusion that puzzles need to be solved by using the combination of all 4 characters' ability.
An example would be the first puzzle in this level:
1. Fast guy gets in the sonic wheel and rotates to trigger the first event (yellow block), which makes the platform with a button comes out from the right.
2. After the button is available, the fly guy can then uses his ability to jump up and push the button to trigger the second event (red block), to make the rock rise from underground
3. After the rock appears, the big guy pushes the heavy rock down to the hill to where (green block) bridge guy lay down for the rock to roll over and break the wall
Other puzzles followed the same design direction with some small twists.
This way I made sure that all 4 players receive an equal amount of positive feedback while still relying on each other to finish the task and therefore creates a strong bond between 4 characters.
This graph demonstrates the designed thinking process of all 4 characters. This way it makes sure that all 4 characters work together to come up with a solution through multiple iterations.
early prototype in Maya
The puzzles are well balanced for all 4 players while giving them a chance to participate in solving the puzzle.
concept to prototype (co-operate)
In order for us to test our ideas, we had to make rough prototypes of what each character can do and explore the potential interactions between characters.
Character 1 (Bridge ability)
Bridge guy has a longer body than all other characters, and has the ability to make a bridge.
Character 2 (Fly ability)
Fly guy has a higher jump power than all other characters, and has the ability to float.
Character 3 (Speed boost ability)
Fast guy has a higher speed than all other characters, and has the ability to dash.
Character 4 (Smash ability)
Big guy has a bigger mass than all other characters, and has the ability to ground pound.
Character Interaction example:
- Bridge guy and all other characters
The other important concept that we want to hit is the evolution of characters since we really want players to feel that they are growing and getting stronger. Below are the evolution metrics of each character.
Character 1 evolution graph (Bridge ability)
Character 3 evolution graph (Speed boost ability)
Character 2 evolution graph (Fly ability)
Character 4 evolution graph (Smash ability)
design for iterations
How to iterate on the current designs fast and easy?
In order to better design the player experience in a short amount of time, iteration is a vital step that we need to take, which requires us to design a system that allows designers to quickly iterate on ideas without having to spend a lot of time implementing the changes.
I designed the level system so that it is very easy for designers including myself to follow and understand what to do to change the level layout such as spawning points, endpoints, death box, etc. This is achieved by using visual indications, drag and drop editor based Game Manager, and pre-made level pieces.
CHECK POINT SYSTEM IN SCENE
CHECK POINT SYSTEM IN EDITOR
The checkpoint system is designed to allow multiple checkpoint triggers in the scene to function together and record players' progress. Designers can easily place the checkpoints on the map without worrying about the programming part of them.
BUTTON SYSTEM IN SCENE
BUTTON SYSTEM IN EDITOR
The button script is a tool for designers with no coding experience, which allows them to easily connect with the events that they want the button to trigger.
This allowed us to reuse the systems and quickly iterate on different level set-ups and implement them without having to script everything new, which can be really helpful when developing early prototypes and gives us more time to focus more on the high-level design directions.
game balancing through data analysis
What's the best way to balance the gameplay?
I recorded player's reaction when playing the game and compared them with the game data for every playtest session.
This gives us a clearer view of the relationship between player experience and game data, therefore allowing us to balance the game based on data instead of feeling.
Below is a relationship chart between the player's positive feedback, game balance level, and ability speed.
As the chart demonstrates, the game balance increases to the top when the ability speed is 30 and drops to 0 when ability speed reaches 60, whereas the positive feedback player receives increases linearly and peak when ability speed is 60.
In order to find the balance between positive feedback and game balance, I picked the intersection point of the two lines because this is where 2 data are at the same level, which makes it feel good to play with but also balanced.
Players enjoyed interacting with the characters in the game while their skills are still being challenged by each puzzle.
what did I learn?
- Prototype mechanics from concept sketches
- Collect and analyze play test data.
- Importance of iterations.
- Communicate with a team of coders and artist to deliver high quality assets and systems.
final level layouts
The script allows other designers to choose how they want the players to be spawned in the level, the interface is easy and clear. It's designed to be a universal tool for everyone in the team.