People use some sort of automation to do these kind of things, right?
It reminds me of the Game of Life image generator I made awhile back: https://vimeo.com/3124876 That was just a matter of writing a script to place a bunch of "guns" with the right patterns in the right places.
Sadly, no. Spending 2 years building something that you can do in a fraction of the time with a designer never quite sat right with me. To each their own though.
Well in the description he says that it is the result of 2 years of work so I don't think that if there is any automation that it wasn't a significant amount.
Redstone circuitry is an excellent exercise in the operation of digital circuits. I learned a ton about digital logic by trying to recreate stuff like this (albeit much more modest incarnations).
Building sophistication yourself out of base elements is the ultimate educational experience.
This is absolutely amazing. When people build things like this in minecraft (I've never played), do they have to place each individual block or are there scripts and things to let you repeat patterns etc?
There are many mods and tools available to assist with building large projects. However, there are many players that build things like this completely by hand. It's a pride thing I think.
Redstone is basically a cellular automaton. Every 'tick', the state of redstone cells changes based on their previous state, and their neighbors. Some redstone cells just forward 'activeness'; others invert it, or delay it. Obviously by connecting these elements together you can create simple logic circuits. redstone is "supposed" to be used for simple things like traps, automatic doors, and machinery to move things around. Obviously by connecting simple logic circuits together, you can create complex logic circuits. Minecraft's block grid places interesting constraints on how redstone circuits can be constructed (areas need to be separated to prevent their state leaking, messages take time to travel long distances). Making a truly complex, sophisticated system which operates rapidly and correctly takes considerable logic and minecraft engineering. This, for example, is hugely impressive. Redstone was not built with this sort of thing in mind, but was made sophisticated enough that this is possible. I guess that's turing-completeness for you.
A lot of people take advantage of other "emergent behavior" of the minecraft world to do interesting tricks as well - things like instant wire and Block Update Detectors (BUD switches) that update redstone when a block is placed or changes state.
> Obviously by connecting simple logic circuits together, you can create complex logic circuits. Minecraft's block grid places interesting constraints on how redstone circuits can be constructed (areas need to be separated to prevent their state leaking, messages take time to travel long distances).
The exact same thing happens in the real world, hence isolation and things like the speed of light.
Right, building things out of redstone more closely analagous to building things out of doped silicon, rather than out of discrete components or ICs. Building logic using pistons vs torches always struck me as being a bit like the difference between RTL and TTL, but maybe that's stretching an analogy too far. The point is engineering a digital device out of redstone requires tradeoffs in space and speed and complexity that I think make it qualify as a real form of engineering. Made all the more impressive for how impractical and pointless it really is.
Redstone (a powdery substance mined from deeper levels of the Overworld in Minecraft ), when laid out in trails on a surface, conducts "redstone current" if it happens to be present. "Redstone current" may be generated by redstone torches (a constant source), switches (which may be turned on and off), or buttons (which supply a short "pulse" of redstone current when pressed). Other blocks can "do things" when they receive a redstone current. People have figured out how to arrange various blocks and layouts of redstone to create simple logic gates, from which you can assemble higher-level digital circuits. These circuits can actually occupy a fair amount of space in a Minecraft world, but the world in the PC version is so large as to be effectively unlimited.
Usually, in Survival mode, redstone and redstone current is used for much simpler purposes, such as creating doors that automatically open or close when someone walks on a pressure plate. One drawback is that water will "wash off" your redstone circuitry; one mod gets around this by introducing "red alloy wire" that conducts redstone current but can't be washed off.
>These circuits can actually occupy a fair amount of space in a Minecraft world, but the world in the PC version is so large as to be effectively unlimited.
Not exactly! Only a part of the world is loaded around the player at once, and redstone elsewhere is frozen, so you must construct redstone within these boundaries. Though, I think there might be a mod to "fix" this behavior.
Most players use it to trigger doors, traps and other basic machinery.
Some clever folks have worked out equivalents to basic components though, so you can use it to build just about anything with enough time and patience.
Redstone is a digital signal simulated globally when active. As jameshart said, the simulation is similar to a cellular autonoma, but there are some differences.
When it was first introduced, any signal sources would travel 15 blocks down "redstone dust" wires. Later on, this as changed lose energy each block. This was called "analog", but is really a signal with discrete (0-15) digital levels. Most sensors still respond to a signal strength >= 1 as "on", to be backwards compatible with the previous style.
This is all simulated on every 2nd tick of the main Minecraft world simulation that runs at 20Hz. This means all redstone events are computed at 10Hz. (with some exceptions in modern redstone that allows for some "single tick" events to happen. Forcing these updates that happen in the ticks that normally do NOT simulate redstone is the source of many bugs...)
Large devices are hard to build because the limited signal length required you repeat the signal 16th block. This effectively imposed a speed-of-light restriction where c = 160 blocks/s (16 block signal length * 10Hz).
The really fun part are the "active" components that made it into the game. These were very good choices by Mojang:
"redstone torch" - This is a NAND gate. the torch emits a signal if-and-only-if the block it is attached to has a signal level 0 on all sides. This obviously lead to the creation of various latches and flip-flops, and was sufficient to build the first ALUs (8-bit, supported ops: ADD, AND, [1]) and CPUs (with 8 bytes RAM and a program loader and LED front panel).
"redstone repeater" - A diode with a configurable 1-4 tick propagation delay. This was initially created to replace the NAND-inverter based repeaters that were previously required for long wires. Also, these would let you repeat a signal in one clock delay instead of two (double NAND), and took up less space making the entire build smaller (=faster). The variable timing is useful to create specifically-timed delays.
"redstone repeater w/ shutoff"[3] - About a year later, the "diode" repeater gained another input that turns it into a D-latch. (a >1 signal input to the side locks the current state of the repeater. 1-bit memories suddenly became a lot smaller and could be created in two blocks.
"redstone comparator"[4] - A two-mode device that either: 1) reads a variable-value signal from behind it IF that signal is stronger than the signal at the side inputs, or 2) it outputs the difference between the redstone levels (0-15) of the two inputs. This led to a LOT of interesting tricks and some VERY compact builds.
"pistons" - These are not redstone... but they extend one block when given an active signal, which can push a block that switches redstone. Most importantly, this lead to the invention FTL signals ("instant wire"[5]) by setting up a series of metastable pistons that should have retracted (they have lost their power), but have not been simulated yet. (they never received a block update; this is the basis of a BUD or Block Update Detector). By triggering updates at the first piston, you can trigger a cascade of updates that collapses the metastable system. Because this is just finishing updates that should have happened earlier and technically has nothing to do with redstone signaling, it can happen on the full 20Hz game clock ticks, and can cover any length in the same tick.
As this word processor demonstrates, it has now become possible to do some amazing things in redstone. I recommend the stuff done at OpenRedstone - their showcase[6] (now a year old!) briefly their VERY impressive builds, such as a PLA, function-plotters (w/ integration), a "torchless" (no NAND-gate) pipelined CPU, several games, and a maze generator. Oh, and an early version of this word processor. ^_^
If that's not complicated enough for you, you could always make rod-logic devices by creating many-block deep movement from the one-block-movement pistons.[7]
It reminds me of the Game of Life image generator I made awhile back: https://vimeo.com/3124876 That was just a matter of writing a script to place a bunch of "guns" with the right patterns in the right places.