
the red waldo hits output in the same cycle that blue drops a second molecule in that output zone, red will not stall, while in the converse situation blue would stall. Due to waldo command order, this means that if e.g. More precisely, a waldo on an output command will not move next cycle if, at its command-execution time, it detects any molecules dropped fully within the output zone which are unable to be outputted this cycle - whether due to an output pipe clog or because of the 'max 1 molecule output/cycle' rule. Conversely, if molecules previously ready for output are grabbed, bonded or swapped and are no longer ready for output, they will no longer contribute to waldo stalling. If more molecules are added to the output zone before a waldo's output command is completed, it will continue to stall until the zone is clear. If both waldos hit output commands for the same output zone, and if two or more molecules are ready for output there before the red waldo acts, then both waldos will stall on the command until the last molecule leaves. Since the same cycle that the waldo hit the command counts, this normally means no delay. In both research and production levels, an output command will cause a waldo to stall on the command until the output zone is cleared of molecules (at least those dropped fully within the zone), which happens at a rate of 1 molecule per cycle (this rate cannot be exceeded even if both waldos hit output). If both waldos hit an input command for the same zone, due to waldo order, the red waldo will be allowed to input the first available molecule, while the blue waldo must continue to wait until the arrival of another molecule that the red waldo does not simultaneously attempt to input (thus waiting at least 1 cycle). Stalling on Input: Simultaneous Input Commands. In a production level, the waldo will not move so long as there is no molecule available from the incoming pipe. An input command will cause a waldo to stall on the command until it successfully inputs a molecule. If the cell contains a sense-atom symbol, the waldo will proceed away after the appropriate atom activates the sensor. If the cell contains a flip-flop, the waldo will proceed away after the flip-flop changes state. If the cell contains a command, the waldo will repeatedly execute that command every cycle. When a path causes a waldo to run into a wall, it will remain in place against the wall. When a waldo reaches a sync command, it will remain there until the other waldo also reaches a sync command. If not holding an atom, a waldo will not stall on a rotate command. The rotation occurs during the subsequent cycle, while the waldo is not traveling. When a waldo reaches a rotate command while holding an atom, the waldo will remain there for one more cycle. Then, within each successive reactor, in order of reactor priority:Įach waldo ordinarily travels one cell per cycle, but certain commands and conditions will cause a waldo to remain in place. The blue waldo's movement or rotation occurs simultaneously with the red waldo's movement or rotation. Move waldos and move/rotate molecules, in all reactors. Move molecules in pipelines forward wherever space permits, downstream molecules first. Increment cycle count (as displayed in bottom right). More comprehensively, the order of events during a single cycle is:

However, if blue inputs on the same cycle that red grabs, the red waldo will not be left holding the molecule. Within a single cycle, the red waldo performs its instantaneous action (i.e., any action other than movement or rotation) before the blue waldo.įor example, blue can grab an incoming molecule on the same cycle that red called it with an input.

Any mechanics not included in that section remain the same as in the main (non-legacy) game. For instructions to enable Legacy Bugs mode, and details on mechanics that exist only while that config option is set, see the Legacy Bugs mode section of this page.

To allow for backwards compatibility of such solutions, a Legacy Bugs mode was added as an option in the game's configuration, which restores such legacy bugs.
SPACECHEM SPLIT BEFORE BONDING UPDATE
The v1013 SpaceChem update (released February 2019 on Steam) fixed many bugs that allowed for solutions which (knowingly or unknowingly) employed them. This section details various game mechanics in the latest version of SpaceChem. We hope that players interested in optimization will find this to be a helpful resource. Here we discuss some subtleties of game mechanics.
