I had no idea that one YouTube video would radically change my view of the world. I found myself astounded by, of all things, a Minecraft video. Someone managed to build a working computer in my block game.
While this particular video wasn’t the full CPU, rather the arithmetic processing unit (the part of the computer responsible for basic math operations like addition and subtraction), it was an impressive feat. The video’s creator, theinternetftw, had unlocked something in me that I hadn’t recognized before. I wanted to know how the world worked. Thereafter, I would spend the next few months watching and then re-watching all sorts of redstone videos. I needed to understand how these complicated machines worked.
I was enamored. This was the moment that inspired the rest of my career. Building and tearing down redstone computers was how I discovered my love for complicated things.
Hours and Hours
After a few months of work, theinternetftw was able to replicate the entire CPU for the Hack computer architecture in Minecraft. Like any architecture (x86, ARM, RISC-V, etc), Hack is a set of simple instructions that the hardware must execute. The Hack architecture also happens to be one of the simplest out there. It’s perfect for learning how computers work.
If he had stopped there, he may have imbued me with a small sense of interest. Thankfully, he also provided the save file for the world. Just by hitting download, I could play with the computer he had built. I was stunned. I remember spending hours tracing the different data-buses and control signals. Even the simple clock he had built to control the timing was fascinating. I had never seen something more complicated. I decided that I needed to break down the problem into simpler components so I could build my own.
Basics of Red Stone
To appreciate red stone computers, it’s important to understand the basics of how they work. Just like any digital computer, Minecraft computers are made of simple logic gates and wires. For our purposes, redstone can either be ON or OFF. When placed on the ground, redstone acts like a wire, conducting a signal from one end to the other. Redstone that is ON will glow bright red, and it will stay dark when OFF. Similarly, real computers will use High and Low voltage to represent 1s and 0s. When you combine a little bit of redstone with a stick, you get a redstone torch. By using redstone torches and wires, Minecraft allows the player to build very complicated devices - including entire computers.
The NOT gate
When a redstone torch is attached to the side of a block, it powers any adjacent redstone, turning it on. However, if redstone is directed to power on the block that the torch is attached to, then it will turn the torch OFF. This is the simplest of the logic gates, known as the NOT gate:
Above, we can see two NOT gates. The top gate receives the on signal from the right, and then outputs off to the left. In contrast, The gate on the bottom receives an off, and thus outputs on. This is known boolean inversion. The ON and OFF state of the redstone can be thought of as the 1s and 0s or TRUE and FALSE that make up our computer.
The AND gate
NOT gates on their own cannot do much. However, if we combine them, we can get more complicated behavior. For example, three NOT gates will form an AND gate. This gate performs boolean AND
. When both inputs are ON, the output is ON. If either input is OFF, the output will always be OFF.
Above, you can see how the inputs on the left side are transformed into the outputs on the right. At the time I first learned about these logic gates, it felt like discovering a new language - one that let me understand the inner workings of computers. I could create complicated logic using only simple parts.
Fourteen Years Later
When I first watched that YouTube video, I was only 12 years old. I didn’t even know how the AND gate worked. However, I decided to replicate what I saw in the game. I spent many hours at the family computer building and tearing down redstone circuits. Whenever my friends and I built a multiplayer world, I always would take the time to build a little redstone computer of my own. My parents often insisted I take breaks and go outside, which, in hindsight, was good advice. I couldn’t just learn about redstone.
Little did my parents or I know, my redstone obsession would pay dividends in the years to come. When other students in my undergrad computer architecture course were grappling with the basics, I realized I had a solid grasp of digital logic circuits, memory, and other foundational concepts that other students were just starting to learn. All those years weaving through the redstone circuitry in theinternetftw’s world download had paid off. I had inadvertently mastered most of that material a decade earlier. This even lead to opportunities that I might not otherwise appreciate. Because I did so well and had interest in the computer architecture, as a grad student, I had the opportunity to become a teaching assistant for that very course. A minecraft youtuber had set me up for success.
Conclusion
Redstone computers are the first thing that piqued my curiosity. I had to break them down, and build them back up. While I had exposure to some programming and technology before and since, that’s not what makes me happy. More than anything, I like the feeling of looking at a complicated problem or system and knowing that I understand it. If something is broken, or is behaving in an unexpected manner, it’s important that an engineer can explain it. More than anything, I cut my teeth on these early minecraft computers. I learned the debugging skills that allow me to identify issues and then fix them - something software engineers do on a daily basis. All of this started, at least for me, by watching a single YouTube video. A video about a redstone computer.