A journey of growth. Discover yourself, but depend on others. A four-player co-operative puzzle experience.
Role: Game Design, Programming, Level Design, Environment Design
Team size: 4
Date: November 2017
Scope: 3 weeks
Prompt: create a game with co-operative gameplay
Core goals
Thematically charged: Aberrance is about discovering what makes you unique, and accepting others' differences. This theme should be conveyed through gameplay rather than narrative
Individual agency: each player should feel useful but still find co-operation necessary
Cinematic: design a grand, rich, and engaging environment framed on an epic scale
Player individualization
How might we design for strong co-operative gameplay, yet let every player feel unique and necessary? The utmost care must be put into the player mechanics and controllers, to let each character feel balanced. We designed the characters around some core principles:
One button input: every player should have the same simple input option, but with different outputs
Identity through shape: the shapes of every player should be distinct and intuitive, with shape having impact in levels (e.g, bridge player can't walk past low ceilings)
Strengths and weaknesses: each player should be the undisputed best in certain categories, but have weaknesses to compensate
The unique character mechanics that each player develops will directly contrast their initial state, where they feel powerless and homogenized.
By promoting both individualization and co-operation in puzzles, we crafted an experience where every player is guaranteed to have agency, but still rely on others.
Designing character controllers: game feel
Ball:
I encountered an interesting problem while creating the controller of the ball character. The issue was that a true, 1 to 1 rolling motion felt too slow, and took too long to accelerate. The original rolling script added torque in a linear relation to the input. To improve the feel, I instead added an exponential amount of torque, but clamped the max angular velocity. The result is a much snappier acceleration and deceleration, yet it still feels like it’s rolling.
Big box:
The big character needed delicate tuning for its jump/slam ability. To add a bit of anticipation, the big character freezes in the air at the peak of its jump. Another consideration was how speed is reduced during the jump, as to not give too much horizontal mobility. However, we found that having it be too slow felt really bad to play, so we spent some time tuning the jump distance to feel just right.
Designing a dynamic camera
In order to emulate a cinematic experience, the camera had to correctly frame the level, while feeling dynamic. I designed and programmed a camera that can dynamically switch between different follow modes, angles and distances, while framing 4 players at once.
A camera tool with so many options came with a lot of technicalities, and it was important to communicate with my team how to use it. My approach was to write and share documents, outlining step-by-step instructions to use my tools.
Below are some photos taken during development, and some additional screenshots!