Opus Magnum player makes an alchemical computer

Does compute

By the laws of the game-o-sphere, a computer made from the marbles and metal of alchemy-based puzzler Opus Magnum almost seems like an inevitability. Alchemy and code fan Peer Backhaus has built a – ahem – “Brainfuck interpreter”, which is a real computing term and not something I expected to see in my emails when I came into work this morning.

Here’s the machine in action, along with the creator’s voiceover explanation.

I will not pretend to understand the ins and outs of this, but I get the principles. It’s built out of arms that “check” whether an atom is in one place or another. They constantly grab as the machine runs, and if there is an atom to work with, happy days. But if there’s no atom to grab, it just spins on and does its job anyway, applying work to empty air. Like a cobbler working on an invisible boot. It’s something you can work into the puzzle solutions for the main game. By using this method, a “command token” (basically a molecule with a specific pattern of gold atoms) will “flow” in different directions depending on what gold atoms are present.

I also got an email from Zach Barth of Zachtronics, following up on an interview we’ve done (look out for that later), in which he mentioned the salt-based machine.

“You asked if anyone had built anything in Opus Magnum that surprised me,” he said. “This counts as genuinely surprising.”

Open-ended games with lots of moving bits and bobs are programmer fodder. An enterprising fellow once made a 16-bit computer in Minecraft using redstone and that has been followed up with all sorts of monstrous machines.

8 Comments

Top comments

  1. KDR_11k says:

    For people who aren't sure what this means: Brainfuck is a simple implementation of a universal Turing machine (minus of course the infinite memory). Implementing a Turing machine in something means it is Turing-complete, i.e. it can do anything a Turing machine can do and a Turing machine can do anything a computer can do. That tends to be a pretty big milestone for unconventional or limited systems because with many of them you can't tell at first glance whether they can execute any algorithm you want or just a limited set.

    So now we know that, given enough time, a machine in Opus Magnum can perform any algorithm that a computer can.
  1. KDR_11k says:

    For people who aren’t sure what this means: Brainfuck is a simple implementation of a universal Turing machine (minus of course the infinite memory). Implementing a Turing machine in something means it is Turing-complete, i.e. it can do anything a Turing machine can do and a Turing machine can do anything a computer can do. That tends to be a pretty big milestone for unconventional or limited systems because with many of them you can’t tell at first glance whether they can execute any algorithm you want or just a limited set.

    So now we know that, given enough time, a machine in Opus Magnum can perform any algorithm that a computer can.

    • ThTa says:

      I think this is a good opportunity to share one of my favourite Turing-completeness videos, “On The Turing Completeness of PowerPoint”: link to youtu.be

    • Premium User Badge

      phuzz says:

      “a machine in Opus Magnum can perform any algorithm that a computer can.”
      So, if you were sufficiently patient, you could use this OM machine to run code which emulated a computer playing Opus Magnum.
      You’d need a lot of patience though, it looks like this computer takes multiple seconds to execute one instruction, compared to a modern CPU that would typically execute more like 100,000,000,000 instructions per second.
      Oh, and you’d have to read the output from the pattern of atoms it created.

    • Cederic says:

      Ok, you’ve scared me. I haven’t seen anybody else refer to Brainfuck as ‘simple’ before.

      It’s the canonical write-only language. Before you even tried to read it you’d build a converter to translate it into another language!

      I do love though that it exists :)

      • ersetzen says:

        Simple in the sense of ‘easy to write down on a napkin’, not ‘easy to use’.

        SK combinator calculus is even simpler and also turing complete. Here is the complete definition:

        S a b c = a c (b c)
        K a b = b

        Harder to emulate because the instructions aren’t flat (you need brackets to write them), though.

        • ersetzen says:

          Forgot an example of how SK combinators actually look. This checks whether a number is even:

          (S K (S S K K) K (K K S K K) (S K K) S K K) (S K ((S (S (S K S) (S K K) S K K) K (S S K K) S K K) (S (S K S) (S K K) S K K) K (S S K K) S K K) (S K S K S K S K K) (S K S (S K S) (S K S K (S K S K (S (S K S) (S K K) (S K S) (S K K) S K K) K (S K S S K K) (S K K) S K K) (S K S K (S S K K) K (K K S K K) (S K K) S K K) (S K S K (S (S K S) (S K K) S K K) K (S K (S (S K S) (S K K) (S K S) (S K K) S K K) K (S (S K S) (S K K) (S K S K S S K K) (S K S K K) (S K S S K K) (S K K) S K K) K (S (S K K) S K K) K S K K) S K K) (S K S S K K) (S K K) S K K) (S (S K S) (S K K) S K K) K S K K) (S K S (S K S) (S K K) S K K) (S (S K S) (S K K) (S K S) (S K K) S K K) K (S (S K S) (S K S K (S (S K S) (S K K) S K K) K (S K (S (S K S) (S K K) (S K S) (S K K) S K K) K (S (S K S) (S K K) (S K S K S S K K) (S K S K K) (S K S S K K) (S K K) S K K) K (S (S K K) S K K) K S K K) S K K) (S (S K S) (S K K) S K K) K S K K) K S K K) (S S K K) K (S (S K S) (S K K) S K K) (S (S K S) (S K K) S K K) K S K K

  2. poliovaccine says:

    Pff, I’ll be impressed when it runs Dwarf Fortress.

    Just kidding obviously, that’s fucking incredible.

Comment on this story

XHTML: Allowed code: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>