Engine

Unity

Genre

Platformer / Runner

Project Duration

40 hours

Team & production

Solo Developer (minus sound assets)

Overview

Ultraspring is high paced runner / platformer where you time your jumps to gain ridiculous speeds, weaving your way through obstacles to get the best possible times. Ultraspring is all about getting and maintaining as much momentum as you can while trying not to crash!

Goals

Design and iterate on a single mechanic to make the player feel as fast as possible, while still lending a feeling of control to encourage speedrunning.

Trailer

Project Descrption

Initially I created a mechanic for a true platformer with a lot of rough edges. For the final project I took the idea and reworked it into a into a small polished prototype that instead focused on fast gameplay and tons of momentum. I'm proud of this project because of the increase in player engagement and the production being very time efficient.

My Role

As a solo developer, I was responsible for everything in the game. Most importantly, the planning and time management. The prototyping stage was done in about 20 hours. After that I restarted, reimagining the project from scratch and programmed the game / made the art and effects in another 20 hours.

Starting point

The very first iteration was intended to be a simple platformer, formed around the core idea of charging and aiming a individual jumps. Reception to this initial iteration was simply poor. Timing your jump distance was unintuitive and players felt frustrated when they missed a few jumps in a row. There was very little taking advantage of how difficult the game accidentally became. For example, there was no intrinsic reward for interacting with the mechanic skillfully.

Challenges

Unintuitive
Frustrating
Slow
Low Intrinsic Reward
Iteration 1 of Ultra Spring

Iterations

I made the decision to fully pivot the idea after noticing some players using the mechanic to launch themselves at the maximum afforded velocity. I decided to fully lean into that excessive velocity and centre the entire mechanic around gaining as much velocity from the jump mechanic as possible.

After I had settled on the design pillars and core mechanic, I blocked out a level in Unity that focused on traversing great distances linearly. After blocking out the level I implemented the core mechanic of jumping and boosting.

At this point I subjected the prototype to playtesting. Feedback showed some positive interaction with the jumping mechanic, but players struggled universally with controlling the character and traversing sloped surfaces. As a result, players didn't experience the sense of growing momentum and speed that I had hoped for.

Iteration 1 of Ultra Spring

I then brainstormed solutions to these issues and decided to implement the following changes:

    Distribute the controls more evenly across the controller and allow the player to manoeuvre with both sticks

    Implement a UI that more clearly indicates speed and boost and the difference between the two

    Increase gravity and overall "springiness"

    Added a timer to encourage speedrunning

Reception to this iteration was much better. Players were able to grasp the control schemes without any guidance and reported that the game felt fast and exciting. I was especially encouraged by seeing some players play the level repeatedly to get a faster time.

Iteration 2 of Ultra Spring

After implementing these changes I playtested the game again and found that the controls were much more intuitive and players were able to traverse the level with ease. I now felt happy that the core mechanic was satisfying and began adding polish:

FOV Sliding
Chromatic Abberation
Speed Lines
Dual Forward Focus
Camera Shake
Speed Trails
Before
After

post-mortem

Looking back I think it's a decent game. More importantly I managed to turn a boring concept into a fun prototype very quickly. I believe this was likely due to restricting myself to a tight schedule and only spending a predetermined amount of time on it. The whole process was loads of fun and people seemed to earnestly enjoy the end product.

Game Design Process

My game design process for Ultra Spring was focused on speed and rapid prototyping. You can see my design process through the embed on the left. The game design document can be read here: ULTRASPRING GDD