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.