SAVIOR OF NOTHING
SYSTEMS AND GAMEPLAY DESIGN - ONGOING - AUGUST 2020 TO PRESENT
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 - and that's not counting rarity 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 development, including monetization, progression, and more.
In August 2020, I began work on a soft re-make of this project to get back into the swing of game development. It aims to solve many of the design flaws of the original, and introduce some new elements of it's own. You can find that project here.
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.