I worked on a CPU in Minecraft years ago and designed it to be a 7-bit CPU. I chose that number because it gave me the an appreciable number of operations plus space for arguments. I had only 6 bytes of RAM and about 32bytes of ROM. The ROM was just a circle of transparent blocks (zero) and solid blocks (one) pushed around by pistons.
The whole thing was real slow, but it was so much fun trying to design something that would perform interesting calculations. I stopped working on it as at the time Minecraft had some odd bugs with pistons that would cause non-deterministic behavior.
I think the most challenging aspect wasn't the programming or circuits, which were well understood and mapped out, but trying to create modules I could copy-paste inside a special Minecraft save editor to make the machine quickly, then manually dragging out data/command lines to hook the modules together.
Brings me back to when I first worked on an ALU in Minecraft. At least at the time, it had really annoying bugs with repeaters though, where it would occasionally mess up a signal, which frustrated me enough to give up on it.
The whole thing was real slow, but it was so much fun trying to design something that would perform interesting calculations. I stopped working on it as at the time Minecraft had some odd bugs with pistons that would cause non-deterministic behavior.
I think the most challenging aspect wasn't the programming or circuits, which were well understood and mapped out, but trying to create modules I could copy-paste inside a special Minecraft save editor to make the machine quickly, then manually dragging out data/command lines to hook the modules together.