NICHOLAS RAMSAY

ABOUT ME WORK RESUME CONTACT

Crumble Rush

September 2019 - Present

View on Google Play

Download from Itch.io


OVERVIEW

Crumble Rush is a casual mobile game that I developed for Android devices on my own free time. The core gameplay is similar to Ketchapp’s ZigZag in that the player must accumulate the highest score possible as they move endlessly along a continuously crumbling level. Working on everything myself, the game in its current state took about 2 weeks to get the game to create.

MY ROLE

I primarily made this game because of 3 specific reasons. 1: create a simple game I could play on my phone and modifying according to my own preferences, 2. improve my programming skills and game developer and 3. get familiar with the process of uploading an app to the Google Play store. To form the foundation of the core gameplay loop inScope Studios has a great YouTube series detailing how to get the basic movement and tile initialization started. Where Crumble Rush differs from ZigZag however is in how players accumulate points and how strict the game over conditions are.

CHALLENGES

Performance on Mobile

One of the most persistent issues throughout development was getting Crumble Rush to run at a consistent frame rate without slowing down whenever the player picks up one of the collectable purple objects. My solution was to use Unity’s Lightweight Render Pipeline to render the game’s graphics since I knew early on that I was going to be on a mobile platform. I’m not exactly an expert at rendering optimization, but the specialized rendering templates that come with LWRP simplified the entire process with it’s single pass rendering and removal of unnecessary global illumination.

top down gameplay

The object-pooling design pattern was used to re-use tiles once they have been destroyed.

GameOver Conditions

I originally used a raycast coming form the bottom of the player that would lead to a game over if the ray hit any gameObject not tagged as a tile. This proved to be unfair as the sometimes the player would get a game over even though they were just sliding on the edge of the tiles. Instead, I set the game over condition to be whenever the player is less than a specific Y position value.

code snippet  for original gameover logic

Original code that kills player the moment the raycast is not hitting a tile.

code snippet for new gameover logic

New code that kills player when fall below a specific Y position value.

FINAL THOUGHTS

I always intended for this project to a be a learning experience intended to improve my knowledge in mobile development without the pressure of any set expectation. My next step would probably be iterating on the game’s visual elements, possibly experimenting with the some of the new VFX graphs that Unity has added in their most recent updates to the 2019 version of the software.

gif of characters taking damage

Gameplay is simple since its only intended for killing time like when you microwave your food or you're on the toliet.


© Copyright , Nicholas Ramsay