Role: Solo project / research | Platform: PC | Genre: Racer | Engine: Unity | 2022

Play here:


CyberDrome_2085 is a prototype that I created after an analysis of Nintendo’s Mario Kart Tour core loop (please see Fig.2). As I was in the midst of my analysis, I thought it would be an interesting to design a prototype based on mechanics from classic anti gravity racers such as wipE′out″ and combine it with Mario Kart Tour’s core loop. In addition, it would also help me explore and further understand the design behind the game.

CyberDrome_2085 Core loop

  • Players race around a track and compete to earn points
  • Points are based on:
    • Base points (BP) – Pre-race selections e.g. choice of track, character and racer
    • Action Points (AP) – Performing actions during gameplay e.g. jumps, turbo pads entered and credits collected
  • At the end of the race BP and AP are added together for a total points score for that race

Due to scope and time restraints base points are awarded slightly differently in CyberDrome_2085 than Mario Kart Tour. Although the position of the player is tracked, for this version, I decided not to add points based on the players position again due to scope and time restraints. The prototype could be extended to include points for players positions, lap times and overall time for example.

Software & Attribution

Level design and asset creation

I created the prototype track using Probuilder, a modular race kit and some custom pieces built in Maya and based it upon some classic race tracks. Photoshop was used to create the 2D assets and stock models were used for the character and racer models.

Mario Kart Tour Analysis / Observations

Core Game loop

  • Players race around a track and compete to earn points through placement and performing actions
  • Points are broken down into three categories:
    • Placement in race (e.g. 1st = 2050 points, 2nd = 1085 points, 3rd = 928 points)
    • Bonus points (Actions performed in race e.g. jump boost, turbos, land a hit)
    • Base points ( Base attributes for any given character, kart and glider)
    • Players also loose or gain experience points (Player level) depending on their finishing position in the race
  • Each course has its own favored and favorite selection of drivers, karts and gliders. If players use these they earn more base points during a race
    • Favored – allows 2 items lots
    • Favorite – allows 3 items slots – can activate “frenzy” – boosts bonus points
  • Bonus actions, performed during a race, increase bonus points awarded during a race – Jump boosts, collecting gold, landing a hit with a weapon.
  • Combos – performing multiple bonus actions in a row produce combos within a predetermined time frame
    • Combos slightly increase bonus points earned
    • Time to string combos together can be extended by using favored / favorite gliders – making it easier to accumulate higher amount of combos thus increasing bonus points
  • Seasonal content / Tours
  • Gold pass
  • Cups are locked until players complete the first cup

Mind Mapping

Fig.1 – Mind mapping Mario Kart Tour

Core Loop

Fig.2 – Mario Kart Tour – Core loop

Temple Totus

Temple Totus | Unreal Engine 3 | 2009

2009 – University module – Environment, Set and Prop Creation

This article will focus on my design process, including planning and reference, design and artistic decisions and reasons for importing to Unreal Engine 3.


The focus of the module was to design a small playable space within texture and polygon budget. The environment aimed to tell a story to complement the introduction of a new character.


  • fixed albedo texture budget of 1024×1024
  • fixed normal texture budget of 1024×1024
  • strict polygon budget
  • modular design

Planning and reference

The idea behind the game was a first person action adventure game set in alternative past that intertwined ancient human civilizations. My main aim for this space was to use environmental storytelling to immerse the player and to complement the narrative goal of the player meeting a new character and advancing the story.

The player would arrive and slowly move through the space while taking in the environmental storytelling before eventually meeting and talking with VIP at the end of the room.

Goals for the level

  • environmental storytelling – an secret inner sanctum for trusted guests
  • would be used for a meeting with an important character to the story, possibly of royal decree or religious importance
  • It would advance the story

The initial inspiration for the environment was based around a documentary about ancient culture I watched while involved in the module. To begin the process of planning the environment, I conducted research into various types of ancient buildings and architecture to gather reference images.

Fig.1 Turkish, Greek and Egyptian architectural references

I decided it might be interesting to incorporate a mix of architectural styles within the environment as a sort of proto civilization or as a celebration of major ancient cultures varying from the Incans to the Greeks.

Paper designs

After I had developed the initial idea for the level and defined the goals, I began sketching (fig.2) some level designs and plans on paper to explore ideas, flow and pacing.

Fig.2 – Early paper designs

I wanted to keep the environment fairly small to keep within my time constraints. The pacing within the levels was to be slow to allow the player the time and freedom to examine her surroundings and contemplate the environmental story telling before meeting the character.

The final layout of the temple was based on an ancient Turkish foot pool or bath (fig.3).

The foot pool reference image had a very “royal” feel and provided an excellent place to begin designing the environment.

Fig.3 – Turkish foot pool

Block out, modelling and texturing

I began blocking out (fig.4) the level in Maya using modular pieces and a reference player to account for character height. This allowed me to ascertain the scale and dimensions of the levels architecture e.g. wall and doorway height and width.

Once I was happy with the general layout of the level, I began adding detail to the level geometry and began building some props to decorate the environment (fig.5). To adhere to low-poly game environment modelling the scene had a strict polygon budget. The higher polygon modelling was reserved for objects which the player could see up close or would interact with. For example, the props all used a higher polygon count to add detail to the objects. 

Once the modeling was complete, I moved on to texturing the scene, again keeping in mind texture budget and reserving texture resolution for places players would see up close. The main focus of the environment was the final room or “Kings chamber” and a texture resolution of 512×512 was reserved for the walls of this area.

As mentioned previously, the textures were based around a selection of Incan, Egyptian, Turkish, Greek and Minoan architecture and this was reflected in the texturing (fig.6).

Fig.6 – Example of one of the albedo texture sheets
Fig.7 – Low-poly props reference and in scene

Unreal Engine 3

Although not a requirement of the module, I thought it was important to actually place the environment within a game engine and get a sense of the space and decided to import the assets into Unreal Engine 3. The result can be seen in the video below: