Cubarun

Cubarun was my gateway to game development. I managed to implement a lot of fun systems for the first time in my life.
And that was the beginning of a journey that is still ongoing.

Role: Gameplay Engineer
Game Engine: Unity
Programming Language: C#
Technologies: Blender, Visual Studio
Platform: PC, Mobile
Date: 2019 - 2020

Show more details

Concept

Cubarun is an endless runner game where the player controls a cube with special abilities to collect coins and get as far down the cubes world as they can.
I implemented a lot of systems in this game. And while I architectured the project during my undergrad (when I was still learning programming), I was amazed that the whole thing worked together still without the need to fix any bugs. After all, this project is 4 years old by now.

Game Systems

Level Generation

To achieve the endless runner dynamic, I developed a random level generation system that dynamically constructs the game environment as the player progresses. This system operates by monitoring the player's position, adding new tiles ahead of the player and removing old ones from behind to maintain continuous gameplay without loading interruptions. Each tile is selected based on a set of probabilities that determine which tiles are likely to follow. To enhance variety and prevent repetition, the system tracks previously chosen tiles and adjusts their spawn likelihood. As the player advances, the difficulty of the level increases by either increasing the likelihood of spawning more difficult tiles to cross or by increasing the difficulty of a chosen tile. For instance, a tile that has a spinning laser beam will have the laser spin even faster.

Player Selection Menu

I designed and implemented a simple player selection menu in that allows players to choose and purchase cubes, each featuring unique abilities. This system not only provides a choice of characters but also adds depth to the gameplay through special abilities that enhance player strategy. In addition to the abilities, all cubes have the ability to speed up or slow down, providing crucial gameplay mechanics that players can use tactically to navigate through increasingly difficult levels.

Back to Projects