Pillar Run

  • Made in Unity

  • Solo Project

  • 3 Weeks long

    • June 6th, 2024 - June 27th, 2024

  • Major Role Focus: Programming, Game Design

Project Goals

This project was a personal project in which I challenged myself to make a 3D Endless Runner game using Unity Mobile.

Goal 1: Gain experience in the Unity Mobile and making mobile games

Goal 2: Have a functioning endless runner game that gets progressively faster

Goal 3: Motivate players through challenge and mastery

Game

Description

Pillar Run is a 3D Endless Runner where the player plays as a squirrel trying to climb up a pillar as far as they can, while collecting some acorns along the way. The player must avoid obstacles that can end their run if they get hit once.

Audience

Pillar run aims to attract a general audience. Through simple gameplay and a high skill ceiling, both casual and hardcore players can pickup the game.

What one run of Pillar Run looks like

In this project I…

  • Learned how to use Unity Mobile and learn how to make a mobile game

  • Researched endless runners to gain an understanding of the genre

  • Programmed all systems and mechanics that make the game work

  • Ideated and implemented design changes to improve quality of life

  • Made changes based on player feedback

More on my process below

Game Design

Research

Some of the most popular 3D endless runner games are Temple Run and Subway Surfers.

Commonalities that can be found in both games that can inspire my design:

  • Score and high score to encourage replayability and motivate players to aim for a higher score.

  • Obstacles to avoid to provide challenge for the player.

  • Gameplay progressively getting faster overtime which results in the game becoming more difficult.

The spin to my game

Pillar Run’s more unique take on the 3D endless runner genre uses spinning or running around a pillar as its main mechanic.

While still following the simple gameplay that most successful endless runners have, this twist allows pillar run to stand out more amongst games of the same genre.

Adding Conflict - Obstacles

A good endless runner involves avoiding obstacles. I added red obstacles for the player to avoid, and would end the game if they were hit.

To prevent players from going for as long as possible without getting bored, the game gets progressively faster.

To allow players to take a breather between runs, a game over screen was added and it also displays the player’s high score so they don’t have to keep track of it themselves.

I added a pause button if players ever wanted to take a break or gets distracted by something, they can pause the game. In this menu, they can also change the sensitivity, which affects how fast the pillar turns, which can help players find a more comfortable turn speed.

Speed at a lower score

“Why did I die here?”

NOTE: Skybox and music are free assets and not made by me.

QoL - Pausing & Sensitivity

Adding Challenge - Speed

Speed at a higher score

Solution - Plane Player & Thinner Obstacles

By making the player collider as thin as possible, and reducing the thickness of the obstacles, this problem doesn’t happen as often, and the player doesn’t die in an unfair way.

Solution - Spawn Obstacle when it gets Past Player

To make sure difficulty was getting harder as the game progressed, I made sure the gaps between obstacles were never too far apart by having spawning based on distance, not on time.

Once an obstacle touches the white object (unseen by player), a new obstacle is spawned

Solution - Scoring Upon Passing Obstacles

To make score feel more significant players are directly rewarded for successfully getting by an obstacle. Players also get more points by passing by an obstacle the longer they survive.

Adding Challenge - Optional Points

I added an acorn collectible that rewards the player the same amount of points as passing through an obstacle does. This causes players to consider risk/reward when going for the acorn. Due to the scoring change, this also gives the acorn more significance to the score, and is a stronger incentive to go for.

Final Touches

Playtesting Feedback

This was a personal project and testing was done among my peers and friends.

Due to the capsule collider and thickness of the obstacles, there were instances where players would feel like they passed by an obstacle and get hit on the side by moving in a horizontal direction.

“It doesn’t get that much harder.”

Due to the obstacle spawning being on a set timer, this means the faster they got, the more spaced out each obstacle would be. So despite each individual obstacle being faster, the player has plenty of time to react to it.

Adding Goal - Score

To incentivize players to replay the game, a score was added to show their progress and motivate them to aim for a higher score.

QoL - Game Over & High Score

Players get a really high score really quickly with the old scoring system. Players felt like they didn’t really deserve the score, as even at the earliest death possible, players score close to 1000 points.

  • Added Music, to make game feel less “empty”

  • Added Skybox, to make game feel less “empty”

  • Added sound effect to acorn collectible to have clearer feedback to it being collected.

“I don’t really like the score.”

Learning Outcomes

  • Learned how to program a mobile game in Unity.

  • Learned that connecting game elements more tightly with each other enhances gameplay experience.

    • e.g. connecting score with clearing an obstacle.

  • Learned how QoL features positively impacts the user experience.

    • e.g. sensitivity, pause menu, game over screen, etc.

UNDER CONSTRUCTION

UNDER CONSTRUCTION

This page is a WIP.

Look forward to:

  • Programming process

  • Coding insights and changes

  • Programming learning outcomes