Pango is a 3D Platformer where you play as a robotic Pangolin that can switch from walking to rolling at any point. 

Your goal is to explore a mystical ancient temple to recover ancient artifacts of your people.

Role: Technical Designer

Genre: Third-person Platformer

Platform: PC (Released on itch.io on 22nd of June 2023)

Team Size: 17

Duration: 8 Weeks

Tools: Unreal Engine 5.1, Perforce, Jira

Unreal Engine 5.1

itch.io

Gameplay

My Contributions

I've been a part of Pango since its conception. I created prototypes to prove the feasibility and to convey the concept. 


Throughout its development, I've been in the role of creating, play-testing and implementing the character movement, camera & controls.

 

Since this game is a platformer about a character that can switch between Walking and Rolling. There was a lot of work was needed to make the character's movement feel polished, balanced and interesting for the player to interact with both.


Takeaways

Walking & Rolling

The player can curl up into a ball at will by holding one of the trigger buttons on the controller.


It is a simple system to understand for players and the main design challenge came from balancing these two modes to be engaging & usable
for level design.

Walking mode

Pango can jump higher in walk mode & ground pound, allowing for vertical challenges and traditional platforming challenges.

🔄

Rolling mode

Pango turns into a ball which turns up his movement speed and allows him to roll up and down on steeper angles.

The concept is based on a pangolin, who can walk and roll at will. Translating this into gameplay was pretty simple: 

Let the player walk & roll at will just like a pangolin. This created a fun dynamic of switching between the two states.

Walk when you want to get up higher platformers and require precise platforming.
Roll when you want to go fast and get through the level and make big jumps over gaps with your speed.


Players generally favoured to be in the ball mode for the speed, so I leaned much more into it in the final game to make it comfortable to control but balanced enough to make the walk mode useful.

The most important part of this walking & rolling was retaining velocity when you transform. If the states did not transfer velocity to each other the characters would feel stiff and it disconnected the states from each other. 

Coyote Time & Jump Buffer

Coyote Time - Walk Form

Coyote time was implemented into the character to help improve the feel of the character by adding input leniency to conform to the player's perceived affordances. 

It's a platformer staple, and without it the character felt way less responsive to players, increasing friction in the controls if I hadn't implemented this.

In this image, I'm showing coyote time in the ball form. 

It was much trickier to get this right, due to the player moving much faster and giving players less time to respond to jump off a ledge.


What I did to address this was to increase the time of the coyote time in ball form. This proved fruitful as players felt like they made the jump in time.

Coyote Time - Ball Form

Besides coyote time, I also worked on the jump buffer. This also helped to improve the feel of the character and to acknowledge the input of the players. 

When jump buffering wasn't in, players would start spamming the jump button until they jumped again and would feel like their jump inputs would get "eaten".

Camera Auto-Rotation

A good camera is an invisible one. Players often don't notice good camera work and treat it for granted. 

With this in mind, I implemented and tested the camera auto-rotation system. The purpose of this system is to re-centre the camera automatically and ease off the effort the player needed to otherwise make on controlling the camera so that they can focus on the platforming challenges.

In this image, I'm showing how the camera behaves when you walk around. Without touching the camera stick(or mouse for the camera).

It will slowly rotate towards to where you are going, it's made to be non-intrusive but also puts enough effort in so that you don't need to make constant camera adjustments yourself.

In this image, I'm showing how the camera behaves when you roll around. Without touching the camera stick(or mouse for the camera).

As you may see compared with the last image, the camera is much more active and centres behind the player's back. 

The player is pretty fast when they're in ball form, and the camera has to in a sense "catch up" to them. 

This is done by getting the rotation velocity of the character and making the camera interpolate towards the character's direction velocity.