Uploaded April 2015 | Updated September 2026, 6 days ago
This is my first implementation of a programmable cellular automaton simulator in Infinifactory.
The video has been inspired by Notch's first implementation of Rule 110 ( youtube.com/watch?v=sX_G8jtZceg ).
It uses a moving head which reads inputs directly on its display line. The initial input is arbitrary and can be easily changed.
By adding or removing a block to 8 pistons, is possible to switch to other Rules. The video shows 110 and 90.
It uses 6 cycles per bit. Two are needed to move the head forward. Three to select the rule and one to pick the right block. The running time could be reduced to 3 cycles per bit by using parallel inputs rather then pistons in sequence (you can spot a prototype in the background).
The head returns back to the start when the line is finished. A more efficient version could be able to read the input line backward.
Ignoring tape limitations, this factory is Turing complete. The tape can be arbitrary extended. I'd be curious to see an implementation which keeps automatically extending the tape.
This is my first implementation of a programmable cellular automaton simulator in Infinifactory.
The video has been inspired by Notch's first implementation of Rule 110 ( youtube.com/watch?v=sX_G8jtZceg ).
It uses a moving head which reads inputs directly on its display line. The initial input is arbitrary and can be easily changed.
By adding or removing a block to 8 pistons, is possible to switch to other Rules. The video shows 110 and 90.
It uses 6 cycles per bit. Two are needed to move the head forward. Three to select the rule and one to pick the right block. The running time could be reduced to 3 cycles per bit by using parallel inputs rather then pistons in sequence (you can spot a prototype in the background).
The head returns back to the start when the line is finished. A more efficient version could be able to read the input line backward.
Ignoring tape limitations, this factory is Turing complete. The tape can be arbitrary extended. I'd be curious to see an implementation which keeps automatically extending the tape.








