Block Retrace Rule

The Block Retrace Rule is a common principle of block pushing, used in many situations to minimize the wasted time turning blocks in several directions.

To apply this rule, there must be several blocks usable in close-packed sections, with a single defined source of blocks apparent. Chip's moves behind one block to turn the block away from its current straight-line path should line up with the normal pushing path of another block.

How it is usedEdit

When these terms apply, Chip can avoid having to backtrack in both directions, instead using the retraced path back towards the block source to move another block. Typically, it is usable most frequently when blocks move one space at a time in several directions, but it can yield surprising and lucrative results in larger spaces.

Ineffective situationsEdit

  • The rule will not function when the block intending to be turned with the retrace is against a wall, as there is no way to get behind the block if Chip moves another block to the side opposite the retrace (though he can still move it if he is not carrying a block at the time).
  • When the two targets are on the same row or column, the rule also does not work because the push directly before the retrace will overshoot its respective button.

DemonstrationEdit

 

In this small Sokoban level, Chip must move the two blocks to the two brown buttons in order to pass the traps to the exit. The rule can be applied as follows: move block 1 3R, instead of moving it 3R D onto trap button 2. The D move will be accomplished from a more advantageous position. Move block 2 2U 5R onto trap 1, then immediately move D to push block 1 from before into place. This rule saves two moves compared to the naive approach of focusing on only one block at a time.