In Deep Thought
The making of a mini redstone computer
Considering it's a game about having adventures and building, Minecraft sure is home to a lot of computers. Computers that calculate; computers with screens; computers that run programs; computers that play games. They’re computers in a world in a game in your computer!
That’s because Minecrafters discovered that redstone and some of its components, such as comparators, repeaters and redstone torches, act very much like the electronic components that you find squeezed down to a microscopic scale inside a chip.
But just because redstone behaves like this doesn’t mean that it was intended to build computers. When the first Minecraft computer was shown off, way back in September 2010, it knocked a lot of socks off, even Notch’s. That computer was made by theinternetftw and it performed maths and logic operations, but it wasn’t a computer that you’d easily recognise. It lacked its own memory and a screen and it didn’t play games. But it was extraordinary to behold.
The reveal as theinternetftw comes out of the cave and looks out across his computer as it spreads out into the distance still puts shivers down my spine. What a sight!
Since then, many, many more Minecraft computers have been built. Laurens Weyn’s Redgame computers came with memory and a GPU and could run programs and even play simple games. They were huge, comprising thousands of blocks, using both redstone and command blocks, and today, Minecrafters are still pushing the boundaries, like SethBling’s new Atari 2600 emulator, which can run and display games like Donkey Kong. Very, very slowly.
As well as building massive and complex computers, there’s also the challenge of making small ones. A new computer called Deep Thought is tiny by Minecraft standards. Built by n00b-asaurus, it fits into an area of just 40 by 40 blocks across and 35 blocks high. Seriously, this is small, but it can execute four different operations: AND, XOR, OR, and ADD+C. Together, these can perform just about any calculation you need, and what’s more, Deep Thought has ports into which you can plug other hardware you might build, such as a screen.
n00b-asaurus has had an interest in electronics since he was about 10, when his parents got him a Radio Shack electronics kit. “At 13, I got an Arduino, and when it came time to go to college, I signed up for the first electronics class I saw, no hesitations,” he tells me. Arduino is a system of connected components you can use to build and prototype electronics, and it led him to learning more about electronics in college.
But n00b-asaurus finds it a lot easier to work with redstone than it is to work with electronics. “There's no power and ground traces to route. You don't have to deal with induction causing noise, plus you can see everything happening inside the computer as it's happening. Also, components are expensive!”
But this doesn’t make creating a computer like Deep Thought easy. Its size brought some serious challenges. “It took quite a bit of 'deep thought' itself,” n00b-asaurus jokes. (Deep Thought’s name is a bit of a joke, too: it’s from the city-sized computer in The Hitchhiker’s Guide to the Galaxy, which calculated the answer to the Answer to The Ultimate Question of Life, the Universe, and Everything to be 42.)
To fit in the space, n00basaurus had to rein in some of his ambitions. He originally wanted it to be 8-bit, but had to scale it back to 4-bit. In simple terms, bits relate to the size of individual numbers a computer can handle. An 8-bit computer can handle numbers up to 256, while a 4-bit computer can handle only 16, but it uses far fewer blocks. Yet with some clever design Deep Thought can perform calculations on much larger ones.
Another tactic n00b-asaurus used was to use something called a finite-state machine as the control circuit, a structure that tells each part of the computer what to do. Though simplistic and rather inflexible, a finite-state machine is smaller to build than the logic circuits found in other computers, and it also made timing instructions more straightforward.
The result is a machine that n00b-asaurus says is similar in architecture to an Intel 4004, which was the first commercial microprocessor when it was launched in 1971. He admits that Deep Thought is rather lower powered, however.
As for his next challenge, it’s all about recreating in redstone an x86 chip. This is a long-living family of chips on which you might well be running your copy of Minecraft today, since it’s inside most PCs!
After all, the only real restriction to building Minecraft computers is time. “A redstone computer’s clock speeds are limited to how long it takes to get data from one side of the computer to the other,” he explains. Thus, the bigger the computer, the slower it is. “Really, there's no limit to how sophisticated redstone computers can get, it’s just whether you’re willing to wait 4-5 hours for the result.”
But why does he only work with redstone and not command blocks, which are inside most other Minecraft computers? “I’m not at all against using command blocks in a computer,” n00b-asaurus says. “In fact, I do intend on eventually making a computer out of command blocks simply for the fact that so many options open up when you use them. For now, though, the challenge presented by redstone is a lot more fun and rewarding. That and it's fun to watch redstone lines flicker on and off when you finally get your computer running.”
Block block block...