top of page
1500x500.jfif

Paper Pal

Embark on an adorable adventure as a paper doll that came to life in a kindergarten! Fueled by a fear of being discarded, you set out to find a way to slip into your creator's backpack resting atop a towering shelf. Explore a whimsical world with a vibrant cast of sentient nostalgic childhood toys, each with their own quirks and stories to unfold!

​

Check out our Twitter/X page for updates by clicking HERE

Check out our Instagram page HERE

To view the Technical Document, click HERE

​

Winner of Best Student Game and Finalist for Audience Choice at SEA Game Awards 2024!

Project Info

Paper Pal was developed as part of UOW Malaysia's Final Year Project from Scribble Squad for the September 2023 semester up until the January 2024 semester

Genre: Wholesome, Adventure, Platformer

Game Engine: Unreal Engine 5

Platform: PC

Team Size: 6 (2 Programmers, 3 Artists, 1 Designer)

Duration: 7 months 

My Role & Responsibilities

Lead Programmer:

  • Worked mostly on the gameplay elements for the player and some minor aspects for UI

  • Implemented  a system for the player main core mechanic which is the form switching mechanic

  • Converted the usage of blueprints into C++ for the switching forms player mechanic

  • Created a stamina system for the player form switching mechanic

  • Implemented level mechanics such as hazards that kills the player in one hit and checkpoints

  • Implemented quest mechanics

  • Collaborated with Lead Designer for quest ideas and its mechanics â€‹

  • Worked on controller support

  • Optimized game to improve performance

  • In charge of the Tech Documents such as the Technical Document and Technical Feature List

Gameplay Video

Player Switching Form Mechanic

This is the form switching mechanic for the player that I worked on. The player has the ability to glide and roll and it requires stamina. The stamina is indicated with the UI pop-up that appears next to the player when either ability is used. This mechanic was implemented using blueprints in Unreal Engine 5 on the main project file which is then converted it into C++ on a separate project for practice purposes on understanding the framework. The final version of the game uses ONLY blueprints.

Paper Plane

Blueprints

C++

plane.png
canglide.png
toggleplane.png

For the Plane form which is when the player glides, there are 2 functions for blueprints and 4 functions for C++ being used which are:

EnablePlane (Blueprints only) - Hides the character mesh and makes the plane mesh visible and also adjusts the player's velocity, gravity scale, air control and rotation rate

DisablePlane (Blueprints only) -  The same as EnablePlane but does the opposite and resets to its original properties

CanGlide - Detects whether if the player is high enough above the ground to be able to glide

TogglePlane - Used in EnablePlane to check whether the boolean isGliding is false and which allows player to glide

Paper Roll/Sprint

Blueprints

Sprint.PNG

C++

sprint.png

For the sprint form where the player rolls and goes fast, there are 2 functions which are:

StartSprint - Checks if player is moving on the ground to allow sprinting, hides the player mesh and makes the roll mesh visible, increase the player walk speed and crouch to reduce the collider size

StopSprint - Makes the player mesh visible again and hides the roll mesh, resets the player walk speed to its default value and uncrouch to reset the collider size

​

functions.png

For the C++ project, all the functions are declared in the header file along with the Plane and Roll mesh. Due to time constraints in the project, the stamina system could not be completed in C++ 

Stamina

StaminaChunk.PNG

This is the stamina system for the player where it will drain if the player uses one of the two abilities which is either the plane or roll form. Every time the player switches forms a chunk of stamina will be consumed before it goes down as long as the player stays in the plane or roll form.

Quest Mechanic

This is one of the quest mechanic I worked on. The objective is to tumble down the red blocks by using the player's roll ability. For the big block at the end, I implemented the screen shake and the rotation to make sure it falls down at a specific spot.

Knocking down blocks

Quest Update

Quest Update.PNG

The quest will update once the player has collided with the amount of blocks needed to be knocked down.

bottom of page