Satisfactory solver
·I got addicted to Satisfactory during Update 3.
Who could have guessed that I would like a game about optimizing workflows and making a perfectly balanced system?
I tried oh so many times to create a generic Excel spreadsheet to calculate various factory options quickly. I wanted them to be as efficient as could be and as cost effective as possible.
Many tools are available online to do exactly this, and even more. Satisfactory Calculator is a pretty popular one.
However, it felt like cheating. I wanted to play the game, to get the full experience, and that meant doing all the maths by myself.
But, if I made a program that does the maths, then I did the maths by proxy! This is this project.
Showcase
The following image shows a “Modular Frame” factory producing 60 items per minute.
A modular frame factory example
The app displays useful information in the following manner.
Symbol | Signification |
---|---|
Blue borders | A production surplus |
Red borders | An input deficit |
Numbers on nodes | The required machine count |
Numbers on edges | How many intermediate items are travelling from A to B |
It allows to compare various factory designs and evaluate which is better for a given situation.
Comparison between various screw factories
The app also smoothly handles item cycles, using products before requesting more inputs (as seen with the water example in the following picture).
Handling item cycles
Motivations
- It is a fun challenge.
- I wanted to practice using graphs as a data structure.
- My whiteboard was full of calculations and I wanted to use it for something else.
Tech stack
Items and recipes are scraped from the Satisfactory Wiki using a custom Node script.
The app is built using React and heavily relies on React Flow to handle user inputs.
It is available through GitHub Pages.
Everything is in TypeScript.