What does this mean for me? You will always be able to play your favorite games on Kongregate. However, certain site features may suddenly stop working and leave you with a severely degraded experience.

What should I do? We strongly urge all our users to upgrade to modern browsers for a better experience and improved security.

We suggest you install the latest version of one of these browsers:

**C. Gameplay Guide** ↑↑Table of Contents↑↑
**1. Setup**
Every level consists of atom generators which generate an endless supply of atoms and a big dish in the upper middle which the assembled items needs to be placed in. The objective of the game is to assemble 5 of the target items and dump them one by one in the circular dish.
**2. The Atoms** > _The Three Primes_
>
> **Salt** - transmutes to mercury; used in duplication; product of calcination
> **Mercury** - transmutes to sulfur; used in projection
> **Sulfur** - transmutes to salt
>
> _The Four Elements_
>
> **Fire** - can be duplicated with salt, can be calcinated into salt
> **Water** - can be duplicated with salt, can be calcinated into salt
> **Earth** - can be duplicated with salt, can be calcinated into salt
> **Air** - can be duplicated with salt, can be calcinated into salt
>
> _The Six Planetary Metals_
>
> **Gold** - inert
> **Silver** - upgrades to gold
> **Copper** - upgrades to silver
> **Iron** - upgrades to copper
> **Tin** - upgrades to iron
> **Lead** - upgrades to tin
**3. Tools** > **Manipulator** - The main tool of the game. Moves and rotates stuff around.
>
> **Glyph of Binding** - The most annoying tool of the game. Binds 2 adjacent atoms together.
>
> **Glyph of Transmutation** - Transmutes the 3 primes in a circular fashion. No effect on other atoms.
>
> **Glyph of Calcination** - Transmutes any elemental atom into a salt atom. No effect on other atoms.
>
> **Glyph of Duplication** - Duplicates an elemental atom using up a salt atom. No effect on other atoms.
>
> **Glyph of Projection** - Given a non-gold planetary metal atom and a mercury atom, "upgrades" the planetary metal atom. No effect on other atoms.
**4. Programming Notation** That format of the save-load feature is as follows:`
id,x,y[,rotation,extension[,program]];
id - The type of the tool.
m - Manipulator
b - Glyph of Binding
t - Glyph of Transmutation
c - Glyph of Calcination
d - Glyph of Duplication
p - Glyph of Projection
x, y - Coordinates of the tool.
Both range from 0 to 14.
rotation - When tool is manipulator, this dictates the initial angular position.
Four possible values: 0, 90, 180, 270.
extension - When tool is manipulator, this dictates the initial length of arm minus one.
Three possible values: 1, 2, 3.
program - When tool is manipulator, this dictates the program that the arm will follow, repeatedly.
r - rotate arm clockwise
l - rotate arm counter-clockwise
d - retract arm
u - extend arm
1 - rotate clamp clockwise
2 - rotate clamp counter-clockwise
o - open clamp, releases object
c - close clamp, grabs object
w - wait
j - marker for end of nonrepeating initial commands,
note that this marker will take up an iteration by itself
`
**5. Mechanics & Timing** > **Atom Generators**
>
> All atom generators experience a cool-down period of 1 turn after an item has taken from it. During this cool-down the spot where the generator is is considered empty. Any atom can pass through it and even occupy the position altogether. during this kind of occupation, the atom generator will actually not produce an atom. See example (load in level 2):
>
> `b,12,9;m,7,12,180,2,clloll;m,9,9,0,2,ouwcdw;m,10,9,90,2,cwlowr;`
> **Receiving Tray**
>
> Atom compounds need 1 turn of clearance to disappear into the tray. On the surface this seems to imply that you can finish 1 compound per turn, but that is not so. This one turn of clearance in fact must occur not at the turn where the correct and correctly oriented compound is fully inside the tray, but at the moment where such a compound is dropped into it. This creates a de facto throughput limit of 1 finished compound every 2 turns, because one would need to move the next compound into position the next turn, before dropping it. However, take note that during the turn where the compound is only in position and not yet dropped, the tray need not be clear of other stuff. Also, the receiving tray does not care if the finished compound is actually part of a larger compound, just as long as only the correct compound is inside the tray. It will truncate the accepted portion off, leaving everything else behind.
>
>
> **Glyph of Binding**
>
> Although usually linked atoms cannot be held by two manipulators at the same time, this rule is relaxed when the manipulators are holding stuff on opposite ends of a glyph of binding. However, whenever this happens, one turn must be used up where at least one of the manipulators drop the compound (i.e.: one manipulator cannot just rotate away while the other manipulator drops in the same turn). Demonstration code (load in level 2):
>
> `b,6,9;m,6,12,180,1,crujw;m,7,12,0,2,clwwwwr;`
>
> Note that the failure occurs at turn 7.
>
>
> **Glyph of Transmutation, Calcination & Duplication**
>
> Note that atoms do not need to be dropped into them for it to activate.
>
>
> **Glyph of Duplication**
>
> Note that given the current levels this glyph is almost completely useless.
>
>
> **Glyph of Projection**
>
> The metal to be projected does not need to be dropped, but the mercury does. If the metal has been dropped, the upgraded metal can be picked up the same turn the mercury is dropped in. See example (this is my soln to level 12):
>
> `p,9,10;p,4,10;m,9,13,180,1,cruodlwwww;m,10,13,0,2,clor;m,13,10,180,2,olcr;
> m,9,6,90,3,cllow;m,7,10,0,2,orwcr;m,4,13,180,2,cdou;m,2,10,0,2,orcl;
> m,1,11,90,2,odcu;m,1,10,90,3,clor;m,4,7,0,2,rwcro;m,1,3,90,3,lorwc;`

**D. Optimal Time Theory** ↑↑Table of Contents↑↑
**1. Glossary** > **commands(symbols)** - The counter for symbols in the highscores list only counts the number of commands given to manipulators. If symbols is what you want to optimize, the rest of this section of the guide will not be helpful to you, since it is mostly about squeezing an extra move out of various situations. For those of us who don't think bubblesort is as beautiful as mergesort, read on!
>
> **total time(cycles)** - The name of the counter in the highscores list is given as "cycles", an unfortunately misleading nomenclature. This this guide it will be referred to as "total time" or "total turns".
>
> **throughput(speed)** - The number of objects completed per turn after the machine is all loaded up.
>
> **path length** - The number of turn it takes to assemble 1 object from scratch, disregarding all other objects.
>
> **period** - The number of turns it takes for all arm positions to repeat.
**2. Time Formula** To optimize time, it is critical to know what is taking up the time. Fortunately, that is easy:> ## total time = path length + 4 / throughput
The critical part of this equation is clearly throughput, since if your machine takes 1 less turn to switch from one object to the next, you've just saved yourself 4 turns worth of total time. The strategy is therefore: **_first optimize throughput, then try to shorten the path length without impacting the throughput_**.
**3. Units**
Units, as used in this guide, denote groups of manipulators which work together as if one object. Units are the building blocks of your ultimate time solutions to [Codex of Alchemical Engineering](http://www.kongregate.com/games/krispykrem/the-codex-of-alchemical-engineering?referrer=nihilisz).
_Units of Throughput 1/2_> **The Double Feeder**
>
> This is the most basic of units. It ensures that an atom gets transported diagonally or orthogonally every 2 turns. The following example contains both double feeders: a diagonal version that transports atoms from the generator to the right side of the glyph of binding, and a horizontal version that transports atoms across the glyph of binding (load level 1):
>
> `b,3,9;m,4,12,0,2,clor;m,7,9,180,2,olcr;
> m,6,9,180,1,cuod;m,1,9,0,1,oucd;`
> **The Compound Double Feeder**
>
> The machinery below that transports the fire atom into the glyph of binding is a compound double feeder. Load level 3 to see it:
>
> `b,7,11;t,10,7;t,12,7;t,3,8;m,1,13,0,3,odcu;m,2,13,0,1,cuod;
> m,7,13,180,1,crol;m,8,13,0,1,jlorc;m,10,11,180,1,olcr;m,5,11,0,1,orcl;
> m,7,8,0,2,lollcl;m,7,7,270,3,rrcrro;m,8,7,90,3,clloll;`
> **The Triple Feeder**
>
> In the example for the compound double feeder, the machinery that transports stuff from the glyph of binding to the finish tray is the triple feeder.
>
>
> **The Octopus**
>
> The 4 manipulator mechanism that loads stuff onto the glyph of calcination here is the octopus unit. The octopus can use space that is outside of the table, but only on the right and bottom sides (see bug 1 below). Load level 9 to see the following:
>
> `b,9,6;c,12,8;m,13,11,90,1,clor;m,13,10,180,2,olcr;m,12,11,270,2,orcl;m,12,10,180,1,crol;
> m,10,8,0,1,clor;m,12,6,180,1,olcr;m,13,6,180,2,cuod;m,6,6,0,2,oucd;`
_Units of Throughput 1/3_> **The Rectangular Double Feeder**
>
> The mechanism that transports atoms from the generator to the glyph is the rectangular double feeder. Load level 1 for the following:
>
> `b,10,10;m,10,12,180,2,cdrolu;m,7,10,0,2,odrclu;
> m,14,10,180,2,ouwcdw;m,13,10,180,2,cdwouw;`
_Units of Throughput 1/4_
While any of the units that can produce 1 atom at throughput 1/2 can produce 2 atoms at throughput 1/4, these units produce atoms that aren't the same:
> **The Stairway**
>
> This mechanism is very similar to double feeders, but with a critical difference: alternating atoms stops on different squares. Load level 9 to see:
>
> `c,5,9;b,7,7;t,11,7;t,13,7;m,5,13,180,3,crol;m,7,9,270,1,olcr;
> m,7,11,180,3,crol;m,4,7,0,2,cuod;m,5,7,0,2,odcu;m,3,13,270,1,olcr;`
> **The Octopus**
>
> This mechanism is basically the same as the one mentioned before in this guide, but with a critical difference at position (10,10). Load level 9 to see:
>
> `b,9,6;c,10,10;t,12,8;t,1,6;t,3,6;m,13,11,90,1,clor;m,13,10,180,2,olcr;m,12,11,270,2,orcl;
> m,12,10,180,1,crol;m,10,8,0,1,clor;m,12,6,180,1,olcr;m,13,6,180,2,cuod;m,6,6,0,2,oucd;`
> **The Unbalanced Octopus**
>
> Another modification to the octopus, this time with the output placed not directly opposite of the input. Consequently, the path of the atoms going through different arms of it take different amounts of time. Load level 8 to see:
>
> `c,1,11;b,6,10;t,4,8;t,12,10;m,3,11,90,1,crol;m,4,11,270,2,olcr;
> m,4,10,270,1,crol;m,3,10,0,2,orcl;m,9,10,180,2,cdou;m,10,10,180,2,oucd;`
> **The Double Octopi**
>
> In the expansion, several levels have atom generators placed conveniently 3 spaces apart. This arrangement almost begs for smacking 2 octopi mechanisms together to crate this. Load in level M13 to see:
>
> `b,5,9;b,8,7;m,8,9,270,1,olcr;m,7,11,180,2,olcr;m,6,11,180,1,crol;m,7,12,90,1,clor;
> m,6,12,270,2,orcl;m,5,11,270,1,orcl;m,4,11,90,2,clor;m,5,12,180,2,crol;
> m,4,12,180,1,olcr;m,6,7,90,1,clor;m,11,6,180,2,cdou;m,11,8,180,1,oucd;`
**4. Theoretical Maximal Throughput**
Below is a table of reciprocal throughput values separated into 3 categories:
> **Production** - The maximum possible throughput when only the atom production rate is taken into account. It is the absolute maximum any machine can ever do.
>
> **Theoretical** - My best guess of the maximum throughput actually possible due to space limitations.
>
> **Achieved** - The best throughput achieved by an actual machine posted to this thread.
>
> Currently, all my estimated theoretically expected optimum throughput values have been achieved, some exceeded. Apparently I low-balled quite a few things:
>
> `Level Production Theoretical Achieved
> 01 - Aqua Vitae 2 2 2
> 02 - Sal Ammoniac 2 2 2
> 03 - Cinnabar 2 2 2
> 04 - Litharge 2 2 2
> 05 - Oil of Vitriol 2 2 2
> 06 - Aqua Fortis 3 3 3
> 07 - Haematite 4 4 4
> 08 - Brimstone 3 3 3
> 09 - Aqua Regia 4 4 4
> 10 - Vertigris 4 4 4
> 11 - Black Powder 3.33... 4 3.428571...
> 12 - Gold 5 5 5
> 13 - Elixir of Life 3.5 4 3.5
> 14 - Philosopher's Stone 4 5 5
> 15 - ??? 10 10 10
> M01 - Elixir of Youth 5 5 5
> M02 - Potash and Orpiment 6 6 6
> M03 - Yohimbine 6 6 6
> M04 - Baron Wheel 10 10 10
> M05 - Elemental Spirits 4 8? 8
> M06 - Tychic Alloy 20 20 20
> M07 - Resina Draconis 18 18 18
> M08 - Asisite and Rust 8 8 8
> M09 - Focusing Crystal 6 6 6
> M10 - Lunar Caustic 10 10 10
> M11 - Stannite 10 10 10
> M12 - Camphor 8 8 8
> M13 - Verditer 6 6 6
> M14 - Sunlight Heart 11 12 12
> M15 - Pillar of Unity 8 8 8`
**5. Advanced Time Optimization Tricks**
_Preparations_: General outlines you need to keep in mind before even attempting to optimize for time.
> **_α. Trace Atoms_**
>
> Plan out which atom generator will be responsible for which portions of the final product BEFORE you begin.
>
>
> **_β. Initializers_**
>
> Sometimes during procedure α above you will need to use an atom from one end of the lattice on the other side for duplication purposes. Do that first. In the following example in level M14, α and β are both demonstrated:
>
> [level M14 solution](http://www.kongregate.com/forums/3/topics/31992?page=4#posts-694830) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **71** cycles`b,1,12;t,13,11;b,6,8;d,9,6;b,1,8;b,2,6;p,9,10;t,13,9;m,0,10,90,1,clloww;m,0,5,0,1,ourcld;
> m,3,2,90,3,clor;m,6,6,180,1,uodcrr;m,7,10,90,3,wwcddloruuww;m,4,8,0,1,c2w2w2wlorww;
> m,1,10,0,2,cdloru;m,2,10,180,1,olwwcl;m,4,10,90,3,crrod;m,4,12,180,1,olcr;m,5,12,180,3,odcu;
> m,2,14,0,1,wwwwclorclor;m,1,14,0,1,rwc2or;m,10,8,180,3,odllcu;m,9,8,90,1,wwcrolwwwwww;
> m,10,12,270,1,orcl;m,12,14,180,1,crol;m,12,6,180,2,dcuo;m,13,6,90,2,rolc;
> m,13,7,90,1,uuwwcddo;m,13,13,270,1,cuuoddww;m,13,14,270,2,olcr;m,7,6,0,1,crol;`
> **_γ. Multiple Production Lines_**
>
> When the compound is simple enough, when there is enough free space, when there is an equitable number of atom generators, it can be possible to build 2 (and in rare instances, 3) concurrent lines of production. Having multiple production lines gives 2 separate benefits. It allows for each longer period manipulators to mimic the throughput of shorter period manipulators, but retain its ability to make more moves per manipulator. Also, it allows for the selective speed-up of lanes to take advantage of the fact that the production quota is odd. This second benefit will be the central issue of **ι**. The following example in level 2 has three concurrent lines of production pushed through the single glyph in the middle:
>
> `b,6,9;m,4,9,90,2,cdloru;m,6,12,270,2,ldcruo;m,4,10,0,1,orwwcl;
> m,7,12,0,2,lorc;m,10,9,180,2,lcro;m,3,9,0,2,lorwwc;m,9,9,270,1,lwwcro;
> m,6,6,90,3,cdroul;m,5,6,180,1,wcrolw;m,7,6,0,1,lorwwc;m,3,2,0,3,rwwclo;`
_Construction_: Stuff you need to check for while building your optimal time solution.
> **_δ. Prefer Arm Rotation_**
>
> Unless you have multiple binding/transmuting operations to perform per glyph, it is usually inefficient to use too many of either sliding or clamp rotation. Try to always plan your moves between glyphs in terms of arm rotations.
>
>
> **_ε. Maximize Work Per Manipulator_**
>
> Every time you pass from one manipulator to the next you have to use up a turn
>
>
> **_ζ. Cluster Manipulators_**
>
> The large clearance requirements of glyphs means that manipulator positions should be based around them. That's the paradigm behind all those whole octopus mechanism variations.
>
>
> **_η. Stagger Arrival Times_**
>
> Things do not need to arrive at glyphs at the same time. While this may sound trivial, its implications are not. The following example in level M1 as well as the first set of examples for ( **_ι. Parity Spread_** ) both demonstrate this:
>
> [level M1 solution](http://www.kongregate.com/forums/3/topics/31992?page=3#posts-692741) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **38** cycles`b,6,11;b,3,8;t,1,11;t,4,6;t,4,4;m,6,14,180,1,cruold;m,7,14,0,2,clorww;
> m,3,11,270,2,rwwclo;m,1,14,0,2,wwclor;m,1,8,0,2,dourcl;m,4,11,0,2,lollcl;
> m,10,11,180,3,ldcuro;m,2,6,90,1,wclorw;m,7,5,180,2,rolc12;`
> **_θ._ Utilize Idle Time**
>
> Try to utilize the idle time certain atoms need to spend at a particular spot, particularly the glyph of projection. Load level m12 to see:
>
> [level M12 solution](http://www.kongregate.com/forums/3/topics/31992?page=4#posts-697103) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **55** cycles`c,13,11;t,11,9;c,2,12;p,8,7;b,5,9;b,1,7;t,3,5;t,3,3;m,13,14,180,2,crol;
> m,10,11,0,2,orcl;m,11,11,0,1,clor;m,13,9,180,1,olcr;m,9,9,0,1,clor;m,11,7,180,1,olcr;
> m,7,12,90,1,clol;m,6,12,270,2,orcl;m,5,12,180,2,cuodcrol;m,4,12,180,1,olcr;
> m,5,11,270,1,orcl;m,4,11,90,2,clorcrol;m,6,7,90,1,lorwcl1r;m,5,7,180,2,ollwcll1;
> m,1,9,90,1,crrorrww;m,1,10,270,2,odrrcrur;m,1,5,90,1,cllrorww;m,6,5,180,2,crol;`
_Post-Production_: Ways you can improve your already existing near-optimal solutions.
> **_ι. Parity Spread_**
>
> Five is odd. When there are multiple lanes of production it is obvious that shortening the path length of the odd lane reduces total time by the same amount. Extend that further, even when there is only one single line of production, it is sometimes possible to speed up the odd numbered compounds passing through the machine, even if at the cost of the even numbered compounds. In the next three examples on level 9, the odd lane of an already max-throughput machine is progressively sped up by aligning glyphs around the manipulator in the middle:
>
> [level 9 solution](http://www.kongregate.com/forums/3/topics/31992#posts-658709) by [Jayless](http://www.kongregate.com/accounts/Jayless), **31** cycles`b,3,11;b,10,11;c,2,8;t,4,6;b,6,8;t,11,3;c,11,5;m,3,13,180,1,crol;
> m,1,11,0,1,orcl;m,0,11,0,3,odcu;m,13,11,180,1,olcr;m,4,9,90,1,crol;
> m,11,13,0,1,wwwjclor;m,14,11,180,2,cuod;m,6,6,180,1,clor;m,7,12,270,3,c1ow;
> m,2,6,0,1,orcl;m,7,11,270,2,orcl;m,11,8,270,3,olcr;m,11,0,90,2,crol;`[level 9 solution](http://www.kongregate.com/forums/3/topics/31992#posts-659028) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **30** cycles`b,3,11;b,10,11;c,2,8;t,4,6;b,7,9;c,11,3;t,11,5;c,11,7;m,3,13,180,1,crol;
> m,1,11,0,1,orcl;m,0,11,0,3,odcu;m,4,9,90,1,crol;m,2,6,0,1,orcl;m,7,6,180,2,clor;
> m,11,13,0,1,jlorc;m,13,11,180,1,olcr;m,14,11,180,2,cuod;m,8,13,270,3,c1ow;
> m,8,11,270,1,orcl;m,7,5,90,3,wwclloll;m,11,9,270,3,olwwwwcr;m,11,1,90,3,crol;`[level 9 solution](http://www.kongregate.com/forums/3/topics/31992#posts-659028) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **29** cycles`b,3,11;b,10,11;b,7,9;c,11,3;t,11,5;c,11,7;c,1,7;t,3,5;m,3,13,180,1,crol;
> m,1,11,0,1,orcl;m,0,11,0,3,odcu;m,3,9,90,3,cror;m,4,8,90,2,crol;m,3,7,90,1,orcr;
> m,1,5,0,1,olcl;m,11,13,0,1,jlorc;m,13,11,180,1,olcr;m,14,11,180,2,cuod;m,8,11,0,1,wwcl1orw;
> m,10,9,180,1,2olwwwcr;m,11,9,270,2,orcr;m,12,1,90,3,crol;m,7,5,180,3,clllolww;`
>
> The next three examples on level M9 tell a fundamentally similar tale, but involve more manipulators and more complex modifications:
>
> [level M9 solution](http://www.kongregate.com/forums/3/topics/31992?page=4#posts-695985) by [Fartan](http://www.kongregate.com/accounts/Fartan), **46** cycles`b,12,12;b,1,12;b,6,9;b,12,10;b,9,5;b,9,7;t,13,2;t,13,4;b,3,6;m,7,12,90,1,clor;m,1,14,0,2,cldoru;
> m,4,12,90,1,wwcrol;m,10,12,90,1,wwclor;m,12,14,270,1,olwwcr;m,13,14,180,2,cdrolu;m,6,12,270,3,rollcr;
> m,4,10,180,3,olwwcr;m,0,6,90,3,cdloru;m,7,6,90,2,wwcrol;m,10,10,90,1,wclorw;m,7,11,180,2,olcr;
> m,9,9,180,2,olcr;m,6,11,180,1,crol;m,3,9,0,3,odwwcu;m,4,9,0,1,cuodww;m,6,6,270,1,rollcr;
> m,11,3,0,1,1owwwwwwwwc2;m,10,3,0,2,wwwwc21llorr;m,10,2,270,1,rcllor;m,13,6,180,2,ucdrol;
> m,9,12,0,3,owwwc1;m,10,9,0,1,lorwwc;m,13,8,90,1,lwwcro;m,12,8,90,3,cldoru;`[level M9 solution](http://www.kongregate.com/forums/3/topics/31992?page=4#posts-697103) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **45** cycles`b,12,12;b,1,12;b,6,9;b,9,5;b,9,7;t,13,2;t,13,4;b,3,6;b,12,10;m,7,12,90,1,clor;
> m,1,14,0,2,cldoru;m,4,12,90,1,wwcrol;m,10,12,90,1,wwclor;m,6,12,270,3,rollcr;
> m,4,10,180,3,olwwcr;m,0,6,90,3,cdloru;m,7,11,180,2,olcr;m,9,9,180,2,olcr;m,6,11,180,1,crol;
> m,3,9,0,3,odwwcu;m,4,9,0,1,cuodww;m,9,12,0,3,owwwc1;m,12,8,90,3,cldoru;m,13,8,90,1,lwwcro;
> m,10,10,90,1,wclorw;m,13,14,180,2,cdrolu;m,12,14,270,1,olwwcr;m,7,6,180,3,dlcruo;m,6,6,180,2,rrorrc;
> m,10,9,0,1,clorww;m,10,3,90,2,wwcl11llolww;m,13,6,270,2,olwwwwwwcr12;m,10,2,0,2,cllollwwwwww;`[level M9 solution](http://www.kongregate.com/forums/3/topics/31992?page=5#posts-697712) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **44** cycles`b,12,12;b,1,12;b,6,9;b,9,5;b,9,7;t,13,2;t,13,4;b,3,6;b,12,10;m,7,12,90,1,clor;m,1,14,0,2,cldoru;
> m,4,12,90,1,wwcrol;m,10,12,90,1,wwclor;m,6,12,270,3,rollcr;m,4,10,180,3,olwwcr;m,0,6,90,3,cdloru;
> m,7,11,180,2,olcr;m,9,9,180,2,olcr;m,6,11,180,1,crol;m,9,12,0,3,owwwc1;m,12,8,90,3,cldoru;
> m,13,8,90,1,lwwcro;m,10,10,90,1,wclorw;m,13,14,180,2,cdrolu;m,12,14,270,1,olwwcr;m,3,9,0,3,odwwcu;
> m,7,6,270,1,roruwwwwcrdr;m,4,9,0,2,c2wlorcuodww;m,6,6,180,2,dwwwcrr1uorr;m,10,3,90,2,wcl11llolwww;
> m,10,9,0,1,lorwwwclorwc;m,13,6,270,2,2olwwwwwwcr1;m,10,2,0,2,wcllollwwwww;`
>
> Five is also congruent to two modulo three, enabling the possibility of a "ternary spread". Section **λ** below showcases just such an example. In that case, the third lane isn't actually slowed, but completely fails on its second approach.
>
>
> **_κ. Path of Final Atom_**
>
> So your solution already achieved optimal throughput. It might be big and unwieldy, requiring many many atoms to build/refine. How do you optimize the path length part of the equation? Or, alternatively, how do you know if your solution is absolutely optimal? Is there a proof?
>
> Luckily, in some circumstances, there could be such an analysis. This is done by tracing the path of the final atom involved in the production of a compound. When such a path is optimal, the solution is definitively optimal. However, when such a path is non-optimal, there is no good way to determine if the solution using it is optimal or not except by trying (and perhaps failing) all possible ways to optimize that path. At the least, it yields a methodical approach to path length optimization. The 4 following examples are all solutions of M6 at the maximum possible throughput of 1/20:
>
> [level M6 solution](http://www.kongregate.com/forums/3/topics/31992?page=2#posts-689217) by [Jayless's](http://www.kongregate.com/accounts/Jayless), **116** cycles, path of final atom: **18** `p,7,12;b,7,7;p,10,9;m,7,14,180,2,cdroluwwww;m,8,14,0,1,clor;
> m,4,12,90,1,wwwcluodrw;m,10,12,180,2,wwwwcrolww;m,13,14,270,2,olcr;
> m,13,9,90,1,crol;m,7,9,90,2,crolwwwwww;m,10,7,90,1,wwcrolwwww;m,4,7,90,1,wwwwcluodr;
> m,11,7,180,2,wwcuwddwuo;m,3,7,0,2,lorwwwwwwc;m,3,1,90,2,wcl11orwww;`[level M6 solution](http://www.kongregate.com/forums/3/topics/31992?page=3#posts-694227) by [nihilisz](http://www.kongregate.com/accounts/nihilisz), **108** cycles, path of final atom: **10** `b,7,7;p,7,12;p,10,9;p,10,5;m,7,14,180,2,cdroluwwww;m,4,12,90,1,wwwculordw;m,7,9,0,2,orwwclorcl;
> m,13,14,270,2,olcrolwwcr;m,11,11,90,1,lowwc;m,11,12,0,2,wwrrorcrww;m,13,9,90,1,crolwwwwww;
> m,13,7,180,3,llolc;m,8,9,180,1,clorllclor;m,8,14,0,1,wwwwclorww;m,10,12,90,1,crolwwcrol;
> m,13,5,180,1,rclo;m,10,7,180,1,lwcrrowcro;m,5,7,0,2,cdou;m,8,5,270,1,rclo;`[level M6 solution](http://www.kongregate.com/forums/3/topics/31992?page=4#posts-695147) by [Cypher2100](http://www.kongregate.com/accounts/Cypher2100), **106** cycles, path of final atom: **8** `p,6,11;b,9,8;m,10,11,90,2,crol;m,6,14,180,1,cruodlwwrr;m,1,14,0,2,rrjrrwwwcdouw;
> m,4,10,90,3,wwwwcdourr;m,4,11,90,2,wwcdlorurr;m,7,14,270,2,orcl;m,6,13,180,1,wwwwwwcrol;
> m,3,11,90,2,cdluorwwww;m,9,11,0,2,wwcrorcrol;m,14,8,270,2,rjwwcdourrww;m,9,5,90,2,wwcllowwww;
> m,10,10,270,1,ouwwwwwwcd;m,13,8,270,2,rjouwwwwrrcd;m,6,8,90,2,clolwwwwww;m,6,7,90,3,wwwcrwrrol;`[level M6 solution](http://www.kongregate.com/forums/3/topics/31992?page=5#posts-701712) by [Cypher2100](http://www.kongregate.com/accounts/Cypher2100), **105** cycles, path of final atom: **7** `p,6,11;b,3,8;m,10,11,90,2,crol;m,6,14,180,1,cruodlwwrr;m,7,14,270,2,orcl;
> m,3,4,90,2,uodwwwwwwc;m,4,6,90,2,wwwwwcdouw;m,6,9,90,1,wwwcrorwww;m,3,10,90,3,ouwwwwwwcd;
> m,6,13,180,1,ucdrolcrol;m,6,8,90,2,rrcrolcrlo;m,1,14,270,2,rjwwwwcdourr;m,4,10,90,3,wwwwcdourr;
> m,4,11,90,2,wwcdlorurr;m,7,8,270,3,rcrdldouur;m,6,5,90,2,wll1owwwwc;m,6,7,0,2,ulwrorcrdo;`
>
> Observe that in each incremental solution, more incremental effort is made to front-load the bonding moves such that the compound has as clear a path as possible to the tray from the final refinement procedure. As the perfect is the enemy of the good, the improvement 106 cycles to 105 cycles probably took a lot more effort than the improvement from 116 cycles to 108 cycles.
>
> As you may have guessed, I picked this M6 as an example because that 105 cycle solution by Cypher2100 is indeed completely optimal. A 104 solution would have required another glyph of projection at (9,6) and more juggling around than the lattice has room for. There is no easy way to optimize path length as of now. It is an art.
>
>
> **_λ. Short Term Planning_**
>
> In very rare instances it is possible to sacrifice long term viability for an extra cycle. The example below (load in level 3) is designed to fail, but not before dumping enough finished compounds into the tray in record time:
>
> `b,7,10;t,3,7;t,5,7;t,12,6;m,7,13,180,2,rolc;m,4,10,0,2,rclo;
> m,8,13,0,1,culord;m,10,10,180,1,lucdro;m,10,11,180,1,olwwcr;m,7,6,90,3,rrorrc;
> m,8,6,270,3,ollcll;m,8,7,270,3,rrwwwwcdrrod;m,8,8,90,2,cdrruorrwwww;`

**E. Optimal Symbol Theory** ↑↑Table of Contents↑↑
will be here as soon as [ThirdParty](http://www.kongregate.com/accounts/ThirdParty) [decides](http://www.kongregate.com/forums/3/topics/31992?page=5#posts-703882) to write it

**F. Bugs, Features, & Tricks** ↑↑Table of Contents↑↑
**1. Out of Bounds Bug** (found by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
Atoms can be relayed off the right and bottom walls of the area, but not the top and the left. When any atom is dropped off the top or left walls, it cannot be picked up again, but will still collide with other atoms. The origin of this bug seems obvious: the developer implemented bound checking on some functions but not others, and only implemented them on the issue of non-negativity. The right bound and bottom bound do not exist for atoms apparently. Here is a demonstration of the bug on Level 15:
`m,4,1,180,2,crol;m,13,4,270,2,crol;m,10,13,0,2,crol;m,1,10,90,2,crol;
m,4,2,0,3,olcr;m,12,4,90,3,olcr;m,10,12,180,3,olcr;m,2,10,270,3,olcr;`
**2. Compound Truncation ~~Bug~~ Feature** (found by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
As [noted](http://www.kongregate.com/forums/3/topics/31992?page=3#posts-693799) by developer [krispykrem](http://www.kongregate.com/accounts/krispykrem), this is a feature.
When an atom compound is dropped with some parts of it inside the completion tray and some parts outside, with the portion inside coincidentally fitting the requirements of the level, the compound is truncated. The accepted portion of the compound disappears into the tray while the rest dangles outside. Load level 1 to see:
`b,11,3;m,11,12,180,3,crol;m,11,5,0,2,orcl;m,12,5,0,1,clor;m,14,3,180,2,odcu;`
**3. Generator Blockage Trick** (found by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
This is probably more of a feature than a bug. If you can sneak an atom onto a generator during its generation cooldown, you can prevent it from producing, continuously (load in level 2):
`b,12,9;m,7,12,180,2,clloll;m,9,9,0,2,ouwcdw;m,10,9,90,2,cwlowr;`
**4. Self-Collision Bug** (found by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
Sometimes the atoms of a large compound (especially a doubly jointed one such as the finished product of level 14) will collide with each other when the compound is moved. This bug is not easily reproducible but does seem to happen more when swung with a manipulator at max length with the center of the compound as far away from the center of rotation as possible. At this point I suspect that this could be caused by the physics engine possibly being stepwise and detecting a collision between an atom’s previous position and the current position of the atom behind it.
**5. ~~Arm Length Load Bug~~ Patched** (found by [catpaw](http://www.kongregate.com/accounts/catpaw))
Bug has been patched since CoAE 1.05 and does not appear in CoAE:MO.
This very serious bug deals with the game loading a command list with an impossible command. In this case, the initial length of the manipulator is given as 11+1=12 units long. The game does check for impossible lengths, but unfortunately only after the first turn. Therefore, the arm was able to grab the atom in turn 1 from all the way up there, then immediately drop it into the tray. I suspect most of the seemingly impossible high scores on the first few levels are done with that trick. Load example in level 1:
`m,8,9,180,3,wwjcrol;m,7,0,90,11,cojw;m,4,12,0,2,jclor;m,10,12,180,2,wwjcrol;m,6,9,0,3,jclor; `
**6. Random Collision Bug** (found by [Patashu](http://www.kongregate.com/accounts/Patashu))
Close calls sometimes “almost dodge” each other. The cause for this is probably similar to that of bug #4. The current optimal time solution for level 14 suffers from this bug too. Run this simulation until collision on level 1:
`m,7,9,90,2,clorcdlojw;m,6,9,0,3,wwwcjl;m,9,6,90,2,wwwwwwwcjr;`
**7. Impossible Arm Position Bug** (found by [Aurens](http://www.kongregate.com/accounts/Aurens))
It is possible to manually place arms in illegal positions by the following procedure:
a. Place arm in a corner.
b. Pick up and hold arm.
c. While held, rotate arm a few times.
d. Place arm (almost anywhere) facing (almost any position). The boundaries of generators, the completion dish, all glyphs, even the stupid information square no longer apply. Still, no part of the arm can be outside of the screen.
These impossible arm positions cannot be loaded from text, so naturally they cannot be used for any of the optimal solution tables.
![bug image](http://img530.imageshack.us/img530/5448/codexbugsyr6.png)
**8. Bond Diagnostic Bug** (found by [Jayless](http://www.kongregate.com/accounts/Jayless))
The bond diagnostic routines are in disarray. It seems as if for any acceptable compound, any additional links are not penalized, but any missing links are.
A incorrect compound was accepted as valid in this version of M14:
`b,1,12;p,9,10;b,2,7;b,6,7;b,1,5;b,4,5;m,2,14,0,1,clor;m,4,12,180,1,olcr;
m,5,12,180,2,wwwwcuodcuodcuod;m,1,14,0,1,wjc2ol;m,0,9,270,2,wwclolww;
m,7,11,90,2,cdoullww;m,9,12,180,1,crol;m,12,14,180,1,crol;m,12,10,180,1,olcr;m,1,9,0,2,luodwwcl;
m,7,9,90,2,oucd;m,2,10,90,1,wwcrurod;m,2,9,90,2,clluodww;m,0,3,90,1,clor;m,6,9,270,2,lwwwc1ro;
m,4,2,180,1,ulordwc1;m,7,5,270,1,rwwrowwc;m,7,10,0,1,cul1oldw;m,13,14,180,2,wwwwwwwclwwwwrow;`
Bug is not reproducible when some some links are missing and some links are extra:
`b,1,12;p,9,10;b,2,7;b,6,7;b,1,5;b,4,5;m,2,14,0,1,clor;m,4,12,180,1,olcr;
m,5,12,180,2,wwwwcuodcuodcuod;m,1,14,0,1,wjc2ol;m,0,9,270,2,wwclolww;
m,7,11,90,2,cdoullww;m,9,12,180,1,crol;m,12,14,180,1,crol;m,12,10,180,1,olcr;
m,1,9,0,2,luodwwcl;m,7,9,90,2,oucd;m,2,10,90,1,wwcrurod;m,2,9,90,2,clluodww;
m,0,3,90,1,clor;m,6,9,270,2,lwwwc1ro;m,4,2,180,1,ulordwc1;m,7,5,270,1,rwwr1owc;
m,7,10,0,1,cul1oldw;m,13,14,180,2,wwwwwwwclwwwwrow;`
Bug is not reproducible when compound is in 2 pieces:
`b,1,12;p,9,10;b,2,7;b,6,7;b,1,5;b,4,5;m,2,14,0,1,clor;m,4,12,180,1,olcr;
m,5,12,180,2,wwwwcuodcuodcuod;m,1,14,0,1,wjc2ol;m,0,9,270,2,wwclolww;m,7,11,90,2,cdoullww;
m,9,12,180,1,crol;m,12,14,180,1,crol;m,12,10,180,1,olcr;m,1,9,0,2,luodwwcl;
m,7,9,90,2,oucd;m,2,10,90,1,wwcrurod;m,2,9,90,2,clluodww;m,6,9,270,2,lwwwc1ro;m,7,10,0,1,cul1oldw;
m,13,14,180,2,wwwwwwwclwwwwrow;m,7,5,270,1,rwwrowwc;m,0,3,90,1,clor;m,4,2,180,2,rrorrdc1u;`

**I. Especially Cool Machines that aren’t Optimal for a Statistic** ↑↑Table of Contents↑↑
Submit your especially cool solutions or cool non-solutions regardless of how many cycles or instructions it wastes!
**Aqua Vitae (Level 1) Truncation Finish** (by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
_In this solution, compound truncation (bug #2) is exploited._
`b,11,3;
m,11,12,180,3,crol;
m,11,5,0,2,orcl;
m,12,5,0,1,clor;
m,14,3,180,2,odcu;`
**Aqua Vitae (Level 1) Arm Length Load Exploit** (by [catpaw](http://www.kongregate.com/accounts/catpaw))
_In this solution, impossible arm length loading (bug #5) is exploited. It is actually faster than than the regular optimal time, but since it is clearly unintended, it is here instead of the high score lists._
`m,8,9,180,3,wwjcrol;
m,7,0,90,11,cojw;
m,4,12,0,2,jclor;
m,10,12,180,2,wwjcrol;
m,6,9,0,3,jclor; `
**Sal Ammoniac (Level 2) Arm Length Load Crash** (by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
_What is the absolutely quickest and absolutely most efficient way you can crash? This machine uses 1 manipulator, using a total symbol count of 1, generating a crash before it reaches cycle 1. This also uses the arm length loading (bug #5)._
`m,14,12,180,9,c;`
**Philosopher’s Stone (Level 14) with Duplication Glyph** (by [nihilisz](http://www.kongregate.com/accounts/nihilisz))
_I thought it was pretty slick until I saw Fartan’s solution. But hey, this is still a pretty fast and so far the only sensible use of the duplication glyph in the original levels._
`b,10,11;
c,13,7;
d,1,4;
c,11,3;
c,13,9;
b,6,9;
b,6,7;
c,1,9;
c,1,7;
b,3,11;
m,4,13,180,2,cdrolu;
m,1,11,0,2,rdcluo;
m,3,13,270,1,olwwcr;
m,3,9,90,1,crrror;
m,10,13,0,2,cdloru;
m,13,11,180,2,dlcruo;
m,11,13,270,1,orwwcl;
m,10,8,90,2,clllol;
m,13,5,180,2,rucldo;
m,10,9,270,3,wclorw;
m,13,3,180,1,uordcl;
m,10,7,270,3,wclorw;
m,11,9,180,2,ouwwcd;
m,3,8,0,1,ulodrc;
m,4,1,180,2,cdlojw;
m,4,5,270,1,wwwcuuojw;
m,4,4,270,2,wwwwwwcljw;
m,6,5,180,2,wwcrol;`
**??? (Level 15) with Industrial Waste** (by [ThirdParty](http://www.kongregate.com/accounts/ThirdParty))
_Industrial waste is usually not very impressive, as one can simply add it to almost any existing solution. However, this one is actually an admirable attempt at minimizing symbols, within which the production and removal of industrial waste is a necessarily integral part of the machine._
`p,10,11;
t,3,13;
b,7,8;
b,4,11;
b,10,7;
t,6,6;
m,5,13,180,3,ddroluuwwc;
m,10,13,180,2,cdroluwwww;
m,11,13,270,1,orcl;
m,4,8,180,2,luodc;
m,7,11,0,2,wcrro;
m,5,8,0,1,uolcwdlwww;
m,8,5,270,3,ocr;
m,14,8,180,3,cdou;`

**J. Links** ↑↑Table of Contents↑↑
[developer’s website](http://www.zachtronicsindustries.com/)
[other thread with useful stuff](http://www.kongregate.com/forums/3/topics/30715)
[thread with video guide](http://www.kongregate.com/forums/3/topics/31039)
MrRubix’s video tutorial:
Tasselfoot’s video of formerly known optimal symbol solutions (most of them are still optimal) of the original game:
Tasselfoot’s video of formerly known (February 6, 2009) optimal time solutions of the Magnum Opus Challenge:

Here is an optimal time solution for Level 11: Black Powder. I’m pretty sure it can still be improved, at least by a cycle or two; I had to waste some steps to avoid collisions in the center of the page.
11: Black Powder – 102 Symbols, **42 Cycles** , 1/T 6, Period 6, Path 18
c,3,11; c,11,11;
t,5,11;t,7,9;t,9,11;t,13,7;
b,2,9;b,5,7;b,9,9;b,12,5;
m,0,9,0,2,uwwcdo;
m,9,13,180,1,wwwwwjwwcrol;
m,9,7,0,3,orwwcl;
m,13,3,90,3,cddouu;
m,13,11,90,1,rolwwc;
m,11,13,270,2,dcuuod;
m,13,9,180,2,odwwcu;
m,9,5,90,2,cdloru;
m,12,1,180,3,lwwcro;
m,4,13,180,2,cruodl;
m,1,11,270,1,rrcllo;
m,5,9,180,3,droluc;
m,7,11,90,1,crroll;
m,7,5,180,3,lwwcro;
m,3,7,270,1,uroldc;
m,8,6,90,2,orcdlu;

As I conjectured in chat the other day, a 1/4 throughput solution to 11 is indeed possible. I tried to mimic my level 10 tumbling solution and came up with this:
11: Black Powder – 92 Symbols, **39 Cycles** , 1/T 4, Period 4, Path 23
`b,3,11;
t,9,11;
c,11,11;
b,5,9;
b,7,7;
b,11,5;
t,13,7;
t,13,3;
c,11,1;
m,11,13,270,1,orcl;
m,13,11,180,3,crol;
m,10,7,0,3,odcu;
m,3,13,180,1,crol;
m,1,11,0,1,orcl;
m,0,11,0,3,odcu;
m,9,13,180,1,crol;
m,7,11,0,1,wwwjorcl;
m,10,9,180,2,cuod;
m,9,9,180,1,olcr;
m,3,9,90,1,clor;
m,5,7,0,1,orcl;
m,5,6,0,1,cuod;
m,11,8,90,2,cdou;
m,11,9,270,2,cuod;
m,11,7,180,2,olcr;
m,14,5,90,1,crol;
m,9,5,0,1,orcl;
m,10,3,270,2,clor;
m,11,3,0,1,orcl;
m,13,0,180,2,olcr;
m,14,0,90,2,cdou;`
OK, now the optimal time table looks ridiculous. I’m sure not every one of my solutions is completely optimal, that a turn or two can be shaved off somewhere. Come on people!

I have…I had another bug for you. Run this on level 6, aqua fortis:
c,3,11;b,1,9;b,7,13;t,10,10;c,13,7;m,8,5,180,1,;m,2,5,90,3,;m,1,11,90,1,cllorrww;m,4,13,180,2,wjcullodrr;m,7,9,90,3,wwwwwjcr1olwww;m,7,10,0,2,wwwjcrolwwww;m,13,10,90,2,crrlolww;
Very rarely (one in thirty tries or more?) the two atoms will collide when coming into the bottom binder for the first try, and the rest of the time they weren’t. I say had a bug because I remember that when I first built it they collided closer to half the time, so he must have done something to fix it (if not completely)

@ Patashu
The bug you found does happen a lot, but mos of the time I thought it was lag. After I tried to run it without any lag whatsoever and it still crashed, I guess it now classified as a bug. Also, I revised your example a bit such that the simulation will not terminate until the bug causes a collision:
`m,7,9,90,2,clorcdlojw;
m,6,9,0,3,wwwcjl;
m,9,6,90,2,wwwwwwwcjr;`
@Fartan
Awesome! I tried doing it double sided too but wasn’t very successful at it. I guess this is our first non-integer reciprocal throughput optimal time solution, and the first solution with sub-optimal throughput to actually beat an existing solution with optimal throughput. But there is one caveat: it clearly will crash in the long term if the number of compounds to be constructed is more than 5.

@Fartan, I refined your solution to #11. Both left and right queues re-timed to have a path length that is 1 cycle shorter, resulting in an improvement of 1 cycle:
11: Black Powder – 108 Symbols, **30 Cycles** , Throughput 9/40
`c,10,10;
b,12,8;
b,3,10;
t,2,8;
t,2,6;
t,4,6;
t,6,6;
t,12,6;
t,12,4;
t,10,6;
t,8,6;
m,10,8,0,1,orcl;
m,12,10,180,1,crol;
m,10,13,270,2,orwwclorcl;
m,13,10,90,2,wwcrolcrol;
m,13,11,90,1,clulordrww;
m,9,8,0,3,w1owcww1w1;
m,4,13,0,2,clor;
m,7,10,180,2,olcr;
m,1,10,90,2,cdl2ourw;
m,3,13,270,2,owwwc2w2;
m,4,8,90,1,crrollww;
m,4,3,90,2,wwwclorw;
m,14,6,90,1,wwcrolwwww;
m,10,4,0,1,wwwwcrrorr;`

I rather disliked the instability afforded by the 2 differently timed chains, such that it would crash if the simulation went on to produce more compounds. So, I re-timed some stuff and synchronized them, yielding a throughput of 1/4 again:
11: Black Powder – 108 Symbols, **30 Cycles** , Throughput 1/4
`c,10,10;
b,12,8;
t,12,6;
t,12,4;
t,10,6;
t,8,6;
b,3,10;
t,6,6;
t,4,6;
t,2,6;
t,2,8;
m,7,10,180,2,olcr;
m,3,13,180,1,cru2odlw;
m,4,13,0,2,clor;
m,1,10,0,1,owwwc2w2;
m,4,8,90,1,crrorrww;
m,4,3,90,2,wwwclorw;
m,5,13,0,3,llclldou;
m,8,10,90,2,wcdloruw;
m,10,13,0,2,clor;
m,13,11,180,2,dlclulol;
m,13,10,180,2,olwwwwcr;
m,12,10,180,1,crol;
m,9,8,0,3,w1w1owc1;
m,10,8,0,1,orcl;
m,14,6,90,1,wwwwcrol;
m,10,4,90,1,rorrwwcr;`

Ok, let’s try a hand at cycle optimising… Level 9, Aqua Regia 56 **31** 4 15 4
b,3,11;b,10,11;c,2,8;t,4,6;b,6,8;t,11,3;c,11,5;
m,3,13,180,1,crol;m,1,11,0,1,orcl;m,0,11,0,3,odcu;m,13,11,180,1,olcr;m,4,9,90,1,crol;
m,11,13,0,1,wwwjclor;m,14,11,180,2,cuod;m,6,6,180,1,clor;m,7,12,270,3,c1ow;
m,2,6,0,1,orcl;m,7,11,270,2,orcl;m,11,8,270,3,olcr;m,11,0,90,2,crol;
There’s a 30 cycle high score though….

And that’s much cleaner than my old solution. It doesn’t look like it can be improved upon much though. I fail to see where a cycle can be shaved off. Every move that the most processed atom from the left makes already went to some glyph.
Don’t worry about the high scores table. Many of the high scores were glitched using the methods I mentioned in the [bugs section](http://www.kongregate.com/forums/3/topics/31992#posts-642285).

How about some new optimisation criteria to freshen this up?
Here’s a new, real-world score criterion: long-term efficiency.
The way I figure it, the measure of efficiency is throughput per unit energy.
If we equate energy expenditure to the number of manipulators, then the criterion (for maximisation) is
(throughput) / (no. of manipulators)
Another example criterion, this one for minimisation, is time \* commands

@lackofcheese: I have thought about some kind of combination criteria too, but you’ve put it down so it makes sense ;) Might be better to take commands / throughput, as time is path length + 4 / throughput, and the initial path length matters less in the long run.
@nihilisz: nice job optimising! What can you do with Level 15: ??? 126 **75** 12 27 12
p,10,11;p,3,11;b,6,8;b,9,6;t,13,2;t,13,4;
m,3,13,0,3,clddudouurww;m,1,11,90,1,culord;m,6,6,90,1,wcluodrwwwww;m,4,13,270,1,lucdro;
m,3,8,270,2,rorwwwwwwcrr;m,4,8,90,2,lorwwwwwwwwc;m,10,8,180,3,dlcruo;m,11,8,180,3,dlcruo;
m,10,13,270,1,lucdro;m,11,13,270,1,wjorcl;m,13,11,90,1,wjcrol;m,13,6,180,3,wcdoucdouwww;
m,7,6,90,1,lorwwclorwwc;m,10,3,0,2,llolwwwc2l11;
I can’t seem to get it under 75 cycles, but high scores are in the 60’s. That can’t be just glitches…