Nov. 1st, 2011

Spacechem

Nov. 1st, 2011 02:21 pm
jack: (Default)
Space Chem is really awesome. Mobbsy first recommended it to me.

There are two little robot arms that manouver atoms around a grid to connect them together into molecules, which you control by putting instructions (turn, pick up, bond, etc) onto the screen.

Each level you have to produce something specific (eg. you get CH4 and H2O and have to make CO2 and H2) and in later levels you can connect several reactors together to make more complicated things.

At first, you just have move, pick up, drop, bond, input and output instructions, but later on you get flip-flops (which can be used to build more complicated loops), sensors (which branch to a different route if the corresponding square has a certain sort of atom in), fusers (which fuse two atoms into one with the combined atomic number) and so on.

The chemistry is at sort of GCSE level: the molecules are real molecules, with the correct chemical composition, but all the molecules are represented schematicly with right-angle single and double bonds, of up to a set number of bonds per molecule, rather than a more realistic 3d electron-shell based simulation. Which, um, is about right for me, although I imagine it may annoy some people.

However, it's a surprisingly really good introduction to programming! The constraints you're under are somewhat artificial (any real program would have variables and conditionals sooner), but the feeling of building a complicated system with the pieces given is really, realistic :)

Eventually I realised synchronising the two manipulators was almost too realistic, it started to feel like work :) It's not just a matter of timing them to make them accurate, because each manipulator can be slowed down if a molecule is slow leaving the reactor or a new molecule is slow entering, so they have to be synchronised with special instructions, and what works on one page where the inputs come in predictably fails miserably where one of the inputs comes from another part of the system and may be slow.

It's a spiritual successor to the Codex of Alchemical Engineering which was a similar idea but based on manipulating classical elements in a pseudo-alchemical way. Which was really interesting, but often annoyingly clunky -- manipulators would tesselate badly and often collide, and the rules of how the elements were modified felt a little arbitrary. Whereas Space Chem massively updates the interface to make it feel "swooshy" and it's a lot easier to use: I think it's both more powerful and less clunky.