Cities: Skylines may be an impressive city builder, one that’s been expanded with DLC and mods to make it the star of the genre, but it turns out it’s underlying systems and simulations can be used to make a functioning computer within the game. This isn’t with mods or any kind of game hacking, a player has managed to build a simple calculator. A simple calculator powered by poo.
Essentially, Daniel Bali has managed to create some simple logic gates within Cities: Skylines that work in a series to add together binary inputs. It works because of the way the game handles the simulation of water, electricity, and sewage.
The key thing to know is that in Cities: Skylines the oil power plant requires a pipe pumping water into a building from one direction and a pipe pumping polluted water out the other side to function. With both pipes working the power plant turns on and generates power that can be funnelled out by power lines.
Okay, now with that in mind, this is Bali’s AND gate:
A basic building block of a computer
You can see at the top of the image there is a water tower and at the bottom is a sewage pipe, in the centre is the oil power plant. Coming in from the left of the image are two separate power lines – let’s call them input 1 and 2. Input 1 goes to the water tower and input 2 to the sewage pipe. There’s a third power line from the power plant that goes off to the right side of the screen – we’ll call that the output. If the water tower is powered then water will flow into the power plant and if the sewage pipe is powered then the polluted water will flow out of the power plant, and then the power plant will turn on and start generating power that will go out through the output line. If either of the two input lines aren’t carrying power then either the water tower or the sewage pipe won’t be powered, which means the oil power plant won’t turn on, which means no power goes out through the output. That’s how the AND gate functions – if input 1 and 2 are on then the out is on; if either input is off, the output is off.
This is Bali’s NOT gate:
Is there anything poo can’t do?
This time there’s only one input line and it connects to a sewage pipe. At the bottom of the image is a wind turbine connected to a power line that functions as an output. When the Input is on, the sewage pipe turns on and pumps out water into the trench. When the trench is full the wind turbine becomes flooded, switching off the power going to the output. If the Input is off then no water fills the trench and the wind turbine continues to spin.
To make sure there was enough sewage in the pipes to produce enough poo to flood eight separate wind turbines at the same time, Bali had to build a whole city nearby to create enough waste to keep the pipes full. As Bali notes in his Medium post (via PCGN) ” Yes, this computer is powered by poop.”
Alright, that’s enough computer engineering. By combining these AND and NOT gates, Bali was able to assemble a simple calculator. You can see in the video below (or here if you’re viewing on mobile) how he can add two numbers together by connecting different sets of gates to the main power, the power flows to the gates and either powers on the oil power plants or powers off the wind turbines, and if those outputs are powered then they go onto the next gates, either powering on the next set of power plants or not, and eventually, after passing through enough gates, the two numbers have been added together and outputted in binary.
Now, Bali is the first to admit this isn’t the most efficient calculator “one 4-bit addition took roughly 15 months in game which is about 20 minutes in real life”. Another issue is that it can’t be made much smaller: “Due to how power is implemented in the game, components of a gate need to be placed relatively far apart, otherwise power would flow between them,” Bali writes on Medium. “The 4-bit adder took up much of the 9 tiles available in a normal game, although I did not optimize it very much.”
Still, while we may not all be using Cities: Skylines calculators in the near future, it’s an interesting experiment nonetheless.