
Project details
Team size: 6
Engine: Unreal Engine 5
Time span: Side project over a few months
My role: System/ gameplay designer and programmer
Short description
Polarity is a puzzle platformer where you swap between 2 paper characters. These characters have distinct personalities and need to be used together to complete levels. Polarity is set in both a realistic and a fantasy environment.
Game link
Here is a link to the games itch.io page where you can play the game:
itch.io/polarity
Wind propeller
The wind propeller is used as an elevator. It can be activated by standing on a button.The wind VFX was also made by me using unreal engines niagara system.
Character 1 (working name: Stealth)
The first character you get to play as is Stealth. He is able to:
Walk
Roll
Push blocks
Throw paper airplanes
For stealth, I created the movement (including rolling) and the airplane system.The movement is adapted to having multiple cameras. Using this system, we can change camera views while keeping the movement direction in relation to the current camera.
Paper plane
Why this system?
Clear readability of what will happen
Adaptable to all projectiles
Fits the visual style of the game
Design direction
Aim at any time
Low cooldown to give agency and remove frustration
No movespeed penalty as Stealth is already slow
This encourages heavy use of the plane as it is his main ability.
Character 2 (working name: Platformer)
The second character is Platformer. She is able to:
Run
Jump and double jump
Air glide
For Platformer, I created the movement.The movement is adapted to having multiple cameras. Using this system, we can change camera views while keeping the movement direction in relation to the current camera.
Cable spline tool
We needed a static cable that could be used in multiple situations so I created a spline mesh renderer. This can be used with any mesh and can be bent however necessary.
Why was this necessary?
Allow set dressers and level designers to efficiently place bendable meshes
Saves time for artists (removes need to make 3D models for every cable)
Easy to use for anyone
Features
Bend any mesh along path (e.g. cable, rail, vines or fence)
Updates realtime in engine but static in game
Spline camera
Spline camera
The spline camera moves along a set path (spline)When is it used?
Intro/ outro scenes
To display points of interest
Increase visibility in small areas
Modes:
Automatic
Following the cable spline
Follow player
This camera gave us many opportunities to make really cinematic scenes, making the game feel and look more professional.
Automatic spline camera
Look at spline mode works by:
Moving camera along spline
Rotating cameras forward direction towards secondary spline
This gives a really cinematic effect, like in the video above.
Uses of the automatic camera:
Intro scenes
Outro scenes
Events to show of points of interest
Modes:
Normal
Look at spline
Both modes have the option to use a speed curve. This modifies the speed of the camera over the length of the spline
Normal mode works by:
Moving camera along spline
Rotating camera along spline or freezing camera rotation
Cable spline camera
Uses of the cable camera:
Follow the cable
Increase understanding of buttons and the event they trigger
This mode is also able to use the speed curve.
Player spline camera
Uses of the player camera:
Follow player in tight spaces
Freezing the camera behind the player
Why this mode is needed:
Increases visibility in tight spaces
Reduces nausea by stopping the camera from zooming in and out quickly
Checkpoint and respawn system
First iteration:
Final system:
First iteration:
Enter new checkpoint
Enable new checkpoint and disable old ones
Respawn at enabled checkpoint
Final system:
We wanted separate checkpoints for each character as they have different paths through out the levels.The new system uses different color coded checkpoints for the different characters (not visible in game). It also implements a hierarchy system. The hierarchy system will destroy checkpoints with a lower hierarchy score than the latest one activated. This means that you can no longer accidentally activate an older checkpoint if you, for example, fall down after climbing a tower and activating a checkpoint at the top.Multiple checkpoints can also have the same hierarchy score. If you enter a new checkpoint with the same score, the old one won't be destroyed. This means that you can have multiple checkpoints that you can move between in certain spots in a level. Then when moving to a checkpoint with a higher score, all of these will be destroyed.