Savior of Nothing is a first-person shooter where the player must use the scrap they receive from defeating increasingly difficult waves of enemies to purchase weapons, weapon parts, and shields to hold out for as long as they can. Between the 4 gun types and the 5 variants of gun parts, there are 110,592 unique combinations - not counting quality variants of the same part! This project is also paired with a Systems Design Document (included at the bottom of this page) outlining a theoretical long-term design for future deveopment, including monetization, progression, and more.


My main goal with Savior of Nothing was to spend a lot of time learning how to manage this large of a system without having balance or scope issues. There were a couple ways I managed this: First, since gun part types have to be equipped in specific slots. This prevents some combinations from occurring: a Reliable Receiver and a Anti-Material Receiver cannot be equipped at the same time. Second, I made sure that gun parts of the same rarity had roughly the same impact on stats by calculating the total percentage change they applied. When combined with a basic rarity drop system, this meant that while there was still randomness in how powerful of a weapon you could build, rarity tiers helped keep that predictable and controllable.

That said, the primary method that I used to control player power was a form of base stat scaling inspired by Risk of Rain and Risk of Rain 2. In those games, item effects are percentage based, and calculate based off your character's level and abilities. Since I wanted to lean more towards gear-based progression, I put these base stats in the guns themselves. Because of this, all guns have a "quality" stat that scales based off what wave the player picked them up. While higher-tier gun parts will still make a gun stronger than lower-tier ones, the base stat scaling is more valuable in the long term. Combined with enemy health and damage scaling, this means that early guns will still need replacement or an upgrade chest (which brings them up to the current scaling) to keep up even if the player is extremely lucky.

Most of the game has been scripted with as many useful knobs to turn as possible. For instance, in the existing iteration of the wave survival game mode, you can tweak what enemies spawn in which waves, how fast they get stronger each wave, how fast the player's gun drops get better each wave, how many chests the player can expect to afford, and more. As such, much of my time with Savior of Nothing has been tweaking these numbers to make the progression smooth and engaging, while still being challenging. Constructing this framework ahead of time is what makes this project possible on such a short time-frame.

A consistent issue with Savior of Nothing compared to Gunvelution is it is relatively difficult to make the changes in the gun caused by the various gun parts obvious. In Gunvelution, the upgrades were drastic enough that you could notice most effects immediately, and if you couldn't, you would begin noticing when upgrades were stacked. However, in Savior of Nothing, each part has to stand much more on its own as only 5 parts can be combined at once. To combat this, Savior of Nothing uses parts specifically designed to match common gun and playstyle archetypes combined with 4 different gun types to make specific upgrades desirable.