top of page

Diamond Rush: Temple of Tempo

A groovy rhythm based platformer.

Project Overview
Role
Software Used
Genre
Platform

Programmer

Unreal Engine 4

Rhythm Platformer

PC

Game Overview

Take a look at the Little Lion Studios website for more info!


Diamond Rush: Temple of Tempo is a rhythm based platformer where players take on the role of an adventurer navigating ancient ruins. Music is key the the game, and players willTraps leap from the surroundings to the groove of the jungle beats as you climb the grooving platforms. Carefully plan as you bop to the jungle groove and try to reach the treasure room.

Production Overview

Diamond Rush: Temple of Tempo was a capstone project where our team had the unique opportunity to work with Gameloft Brisbane. The team at Gameloft provided us with valuable guidance and feedback throughout the entire pipeline. This project was unlike anything I had done in the past. It was a fruitful experience that taught me new languages, engines, and ways to approach the development process.


As this was the first time for anyone in the team using Unreal, we opted to use mostly Blueprint for this project. Blueprints are a visual scripting language, and as our team was only familiar with C#, it was much easier to learn than C++. Using Blueprint also had the added advantage of it's ease of use. As the only programmer on the team, basing everything in Blueprints meant that it was easier for the team's designers and even artists to understand the functionality of objects, and even make minor adjustments or additions.


Prototyping

The first phase of the project was focused on quickly prototyping and testing features to get a feel for Unreal Engine and it's capabilities. This is another case where using Blueprints was very advantageous as it allowed the team to  rapidly implement and change new features. In this prototyping phase it was important get a basic "Rhythm System" implemented, character movement, and core mechanics.


From here we set up a toolbox level. This was suggested by Gameloft. It was eseentially level with set up that allowed us to experiment with different rhythm objects and their interactions. Having functional systems set up such as the ability to switch music on and off, teleport to different sections, and quickly swap in music/timings allowed for this process to be a lot smoother.


This process was enlightening. In past projects, many of the teams I'd worked in simply did not have enough time for an extensive or well thought out prototyping phase. As this was a longer project, dedicating resources to creating this toolbox level was overall an amazing experience that worked to the benefit of our final project. As a team, we were able to spend time brainstorming ideas with eachother and testing them in real time, quickly adding or removing sections, traps, and music.




Rhythm System

Being a Rhythm Game, the most important part of the project was (of course) setting up a functional system. We had a couple goals in mind for what this system should look like. It needed to be: 


•    Designer friendly for our musician

•    Modular enough that we can implement timings for different objects and instruments

•    Quick to set up and place in different levels. 


Particularly, as someone with no musical knowledge, I put a lot of emphasis on creating a system that was easy for out designer to use - avoiding the need for me to spend time manually implementing specific tracks, beats, and sounds for each individual level.


This system revolved around a central rhythm controller which had a data table filled with different timings. In this table we were able to specify the types of traps and objects in a level, the timings they'd move on, and the specific track / volume they'd play at. Several "Rhythm Objects" were then created which all inherited from a base rhythm object blueprint with an overridable "RhythmAction" function. The main rhythm controller would then set individual timers in all these objects, which would then fire off their own unique rhythm actions at the specified times (i.e. platforms moving, crushers dropping, darts firing). Overall this system went through a lot of different changes throughout development to reach a reasonable state, and allowed our designer to have much more control over different musical timings and challenges.


My Responsibilities

My key responsibilities as the sole programmer on this project were:

  • Implementing the player character and their movement

  • Creating a modular rhythm system our Sound Designer could use

  • Implementing all main obstacles in the game

    • Moving platforms

    • Crushing blocks

    • Dart traps

    • Spike traps

  • Implementing collectibles

  • Loading systems for all levels

  • UI programming

    • Main menu

    • Level select menu

    • Updating collectible counters

bottom of page