Timeframe

January 2025 — May 2025

Engine

Unity


RISE FROM RUIN is a third-person, character-action game in which you take control of a massive, unstoppable monster. They aim to defend a vast, icy city from relentless, chaotic, hostile forces. The game offers bombastic gameplay and immense battles in which your sheer power is tested against ever-growing enemy forces.


Trailer

Design Reel


Key Wave System

Early in development of the Wave Defense game mode we used a simple equation to scale the difficulty of oncoming waves each round. While this was somewhat effective at increasing the difficulty, it couldn’t control the composition of each wave, only the quantity of enemies. This quickly led to both performance and balancing issues.

A freshly spawned set of enemies

To remedy this, I came up with the Key Wave system. The intent of the Key Wave system was to allow a greater degree of designer control over each wave without needing to actually set values for every possible wave the player would face. Taking inspiration from Key Frames in animation, the Key Wave system works by interpolating wave data between the previous Key Wave and the next one. This allowed me to accurately adjust not only the overall quantity of enemies, but also the odds of each enemy spawning, how much that enemy would subtract from the wave’s budget, and if the amount of a particular enemy should be multiplied.

I also created a spreadsheet to accompany the Key Waves system for the sake of balancing. This spreadsheet contained all of the necessary values for each Key Wave ready to be imported directly into the game. In order to help ensure that each Key Wave was properly balanced I also created a full simulation of our enemy spawning system in the spreadsheet. This helped me visualize the likelihood of each enemy spawning in each Key Wave, as well as estimates for the total amounts of each enemy that would be spawned and how quickly they would be able to capture each of the objectives the player is tasked with defending.

Graphs used to visualize key wave changes

Console Commands

Some of the dev cheats I made

One of my responsibilities when I joined the team was to implement a new dev cheat system to help with debugging and testing. Up until then, they were still using random keyboard buttons for the few cheats they had. I decided to remove all those random buttons and replaced them with a full in game debugging console that I made.

User input (top) & autocomplete (bottom)

The console was able to both take string inputs from the user for each of the commands, and print out any debug text that we needed. I also included both a “help” command and an autocomplete system to ensure it was easy for everyone on the team to use.

Example command implementation

Adding a new command was incredibly simple. Using the class I made, all the user needed to provide was the name of the command for the dictionary to use; a description to show in the “help” command; the format of the input for “help” & the autocomplete to display; and then the actual function the command should call. Commands were able to be created in any script and would automatically add themselves to the cheat manager. They were also able to take in up to three arguments of any primitive data type. This made them incredibly versatile and easy for anyone on the team to implement.


The Team

Will Rutherford

Sandbox Designer / Gameplay Programmer

Brigham Boice

Product Owner / Technical Designer

Caleb Secrest

Systems/Technical Designer

Isaac Eddy

Systems/UI Designer

Declan Lynch

Lead Level Designer

Ethan Visco

Level Designer

Megan LaForce

Narrative Lead / General Artist

Breanna Diodati

Art Lead / Character Artist

Benjamin Buscher

Animation Lead

Ian Whatmough

VFX Designer / Narrative Designer

Maxine Stutt

Narrative Designer

Jack McGovern

Lead Producer

Liam Harrison

Technical Lead / AI Programmer

Evan Norzow

Backend / Tools Programmer

William Box

Programmer

Peter Vander Rhodes

Assistant Gameplay Programmer

Danni Vecchione

Lead Sound Designer / SFX artist

Andres Sanchez

Composer (contractor)