top of page

Role: Game Designer / Level Designer / Narrative Designer / Programmer

Genre: Endless Runner / Platformer

Team Size: 1

Engine: Unity

Platform: PC / Android / IOS

Website: Coming Soon

Status: Nearing Completion


Project Description: Choreo: Go Loco! Is an adaptation of my early platforming prototype, redesigned and improved to become a hyper-casual endless runner. The key feature, a developmental music system, allows players to collect followers that dynamically add instruments to the score, progressing the soundtrack from a single guitar all the way to a full band. These also now doubles as a health system, meaning the score fades in and out based on player performance.


Game Designer:

  • Designed a platform generator using pooled objects to reduce perfomance cost.

  • Created and Implemented a dynamic movement system featuring directional dashes and wall jumping.

  • Designed and Implemented a dynamic music system that alters the score based on player performance.

  • Designed and Implemented a follower system for collecting characters.

  • Designed and Implemented a boss encounter and subsequent combat tools.

  • Created and Implemented interface, shop options, and other UI elements.

Level Designer:

  • Created over 50 unique tiles for generation during the game, split across 4 distinct Biomes.

Narrative Designer:

  • Conceptualised and scripted overarching Narrative and world concept.

Audio Designer:

  • Determined score direction with Composer.

  • Created all SFX and Audio cues.

Game Design:

Platform Generator:

  • The core Platform Generator utilises two nodes attached to the camera, a back end and front end, which help to dictate when a platform is needed or no longer required. A float for distance between platforms is assigned randomly, and then an end point node attached to each platform is accessed by the generator to allow it to measure the distance between itself and the previous platform. If the distance is large enough, it will draw a platform from the pool and activate it in the new location, using a start node on the platform to position it. These points were frequently adjusted to accomodate for larger, more complex platforms

  • Initially Instantiation was used for platform generation, but this quickly became a performance issue, and so instead Object Pooling was used to reduce overhead.

  • Platforms are then split down into distinct object pooling arrays assigned to a Biome indicator that changes when a set number of platforms have been spawned, causing a portal to appear that transitions the player to the next region. This in turn alters the backgrounds, music, and lighting to give each Biome a distinct feel to accompany its unique platforms.

  • This Methodology would also be used to generate collectibles such as coins, lives, and power ups.

Dynamic Music System:

  • The Dynamic Music System operates by utilising several audio sources that are each assigned an individual instrument relevant to their corresponding follower. As Followers are collected the audio sources become active, catching up with the main guitar played by the player character, and adding to the overall score.

  • When the player takes damage, the follower is lost, and the instrument is removed from the score.

Follower System:

  • The Follower system provides an array of characters for the player to add to their band as the game progresses, each adding their own unique musical instrument to the score.

  • Appearing as collectibles, once a follower has been triggered they will, as the name suggests, follow the player at a set distance. This is achieved by attaching them to pre-existing nodes that operate using a simple Move Towards command.

  • When lost due to damage the followers will deactivate and remove their instrument from the score, and then wait to be called again by the object pooler.

Platform Generation Process.PNG

Biome 1 "Simpler" Platform Generation.

Platform Generation Process2.PNG

Biome 5 "Complex" Platform Generation.


Follower System in action.

Gameplay Design:

  • While the constraints of the genre meant that the Player character continually moves in one direction, I wanted to add some dynamic mobility to the standard system. This began with creating a responsive jump and double jump that utilised a timer to allow variable jump height, giving the player greater control over their movement.

  • Space was limited with regards to on screen controls for mobile platforms, and so I settled on three cool-down-based movement abilities, a dash upwards, a dash to the right, and a slam down. This opened up level design possibilities like higher or longer jumps, while giving the player more direct control over their movement, with the slam in particular allowing the player to stop a mistaken jump that may send them tumbling over the edge of the platforms.

  • These movement abilities also tied into the enemy combat system, where the player could use a dash to destroy an enemy blocking their path, giving a satisfying risk/reward gameplay loop as to whether you would destroy an enemy for extra points, but in doing so risk not having that movement ability for a challenge up ahead.


A breakdown of the games controls.

Level Design:

  • Each Biome needed to feel distinct and unique from its predecessors, both for aesthetic reasons, but also to allow the player to learn where specific obstacles may be, allowing them to adapt and overcome through repetition.

  • Different Sprite tile-sets were used to accomplish this, and then combined with parralaxing background effects and distinct lighting colours to give each environment a instantly recognisable tone.

  • When designing the tiles for the various Biomes, the ceaseless directional movement of the player had to be taken into account to prevent obstacles that were impossible or unfair. This meant any movement in the platforms had to come from the opposite direction the player moved, and obstacles could only come from above or below.

  • Alternate obstacles were also created to provide a greater sense of dynamic movement, such as wall jumping in specifically marked obstacles that allows the player to ping back and forth between surfaces, or longer / higher jumps that required the use of a dash ability.

Mine Platforms.PNG

Examples of the Mine Platform Tiles

Samples from each Biome

bottom of page