Math and Balancing Tools

Overview

In my work as a system designer, I specifically specialize in developing and refining the numerical aspects of mechanics and content.

To accomplish this, I make use of several tools depending on the exact task at hand. These include:

Spreadsheets for recording and editing large amounts of simple data

Graphs for visualizing important data and outcomes, or when I’m designing algorithms from scratch

Code simulations for testing and balancing particularly complex systems when other tools are inadequate or too cumbersome to be effective

Spreadsheets

I have a considerable amount of experience with using spreadsheet programs, such as Microsoft Excel and Google Sheets. This experience is not limited to data entry and adjustment, either; I have a wealth of experience with writing complex formulas and formatting data in a clean and readable manner.

Shown here are a few samples of systems-centric spreadsheets I’ve worked on. Most were used in the development of my own games, but one reflects my knowledge and interest in dissecting and simulating an existing game’s systems.

Graphs

When it comes to developing complicated algorithms and formulas from scratch, I often make use of graphing calculators, such as Desmos. While spreadsheets excel at handling high volumes of data (such as when balancing the stats of every enemy in a game), I find graphs to be far more versatile when working with a small number of highly impactful or volatile variables (such as when designing a damage calculation formula or analyzing a probability curve).

Shown here are a few samples of graphs I’ve used in development.

Code Simulations

In practice, many game mechanics and systems are too complicated or cumbersome to be dealt with easily by pure mathematics. In these scenarios, I write code simulations to aid my design. For systems involving chance, I will often create Monte Carlo simulations to brute force the probabilities of outcomes that would otherwise be extremely complex to calculate manually. Even for deterministic systems, there are many cases where it is easier to write a program to directly simulate abstracted interactions than it is to develop an algorithm from scratch.

Shown here are a few samples of simulations I’ve programmed for systems I developed.