The Movement Pipeline
 
 
  The Two-Pass Movement Algorithm 
  The Movement Pipeline 
 
Questions
 
  How do movement-changing spell effects interact with 
    each other? 
 
Moonwalks
 
  Why is it called a moonwalk? 
  Why do moonwalks happen? 
  Show me an easy diagram of a moonwalk! 
  How can I create a moonwalk in general? 
  
    The Flying Leap Deck 
   
 
 
The Two-Pass Movement Algorithm. 
  Sanctum uses a two-pass movement algorithm. 
  - Overstacking. In pass I, all groups move without regard 
    to the normal stacking limit of 1 
    group per square. Each square can have any number of groups, friendly 
    or enemy. This pass is not animated, so you can't see it.
 
  - Unstacking (overstack resolution). In pass II, all groups in a square 
    vote for exactly 1 winner. That group wins the square. 
    All other groups join it if they can, or bounce back if they 
    can't. Each group animates its result. This pass is what you've always 
    seen. 
 
 
At the end of movement execution, the stacking limit is restored for all squares. 
 
   
The Movement Pipeline. 
  Pass I is applied to all groups, in player 
  initiative sequence, as follows: 
  - For the initiative player: 
    
  
 
  - For the non-initiative player: 
    
      - All of its player-controlled groups; then
 
      - All of its computer-controlled groups.
 
     
   
  - For the neutral player: 
    
      - Bot stop: 
        All of its player-controlled groups 
        remain stationary.
 
      - All of its computer-controlled groups.
 
     
   
 
   
    |  
       # 
     | 
     
       Sub-Pass 
     | 
     
       Effect 
     | 
   
   
    |  
       I.a 
     | 
     
       Checking 
     | 
     
       If the group has no movement 
        order, it stands still. 
       Otherwise, check all of the following. 
      
        - If it can move. Some spells prevent moving.
 
        - If it can exit its current square.
 
        - If it can enter its destination square.
 
        - The destination square must be unoccupied, 
          or have a friendly group 
          (of any type). This 
          does consider overstacks from earlier (1.b)s.
 
       
      If any of these fail, the group bounces (stands still). 
       | 
   
   
    |  
       I.b 
     | 
     
       Overstacking 
     | 
     
       The group moves into its destination square, ignoring 
        the normal stacking 
        limit. This is not animated. 
     | 
   
 
Pass II is then checked for all squares on the board. 
   
    |  
       # 
     | 
     
       Sub-Pass 
     | 
     
       Effect 
     | 
   
   
    |  
       II.c 
     | 
     
       Voting 
     | 
     
       If a square has only 1 group, that group trivially wins the 
        square. 
      Otherwise, all groups in the square vote for exactly 1 winner. 
        Ties are broken in the following order: 
      
        - Stationary group. A group that started the turn in this square, 
          and stood still (didn't move), beats everybody.
 
        - Initiative. The group belonging to the player with higher 
          initiative wins. Corollary: If two groups tie here, they must 
          both be owned by the same player.
 
        - Larger group. The group with more minions wins.
 
        - Movement orders sequence. The group that is earlier in its 
          player's movement orders 
          sequence wins. For two neutral 
          groups, the movement orders sequence is identical to the neutral player's 
          group sequence.
 
       
       | 
   
   
    |  
       II.d 
     | 
     
       Unstacking 
     | 
     
       For every group in a square except the winning group: 
      
        - Hostile. If this group is hostile 
          to the winning group, it bounces back to its starting square. 
          This is animated.
 
        - Can't join. If this group is friendly to the winning group, 
          but cannot join it, it also bounces back. This is animated.
 
       
      A friendly group that could join the winning group now does the 
        following. (If the winning group itself wasn't stationary, then it also 
        does the following.) 
      
        - All on exit effects from its 
          starting square.
 
        - It animates walking in.
 
        - All on move effects.
 
        - All on enter effects for 
          this square.
 
       
      If the group survives these effects, it joins 
        the winning group. 
     | 
   
   
    |  
       II.e 
     | 
     
       Moonwalking 
     | 
     
       It is possible for a group G to (I.b) move away during overstacking, 
        (II.c) lose its starting square to another group H, and then (II.d) 
        bounce back to its starting square. This is resolved as another overstack 
        between G and H in G's starting square. 
      If group G cannot join with H, and must bounce back again, 
        then G moonwalks instead. G moves to: 
      
        - an empty, unoccupied 
          square
 
        - that is closest (or tied for closest) by straight-line distance
 
        - that group G can legally enter
 
       
      If no such square exists on the board, then group G is removed 
        from the game! 
      Otherwise, group G moves from its starting square directly to 
        the moonwalk landing square, ignoring all intervening squares. 
        G still suffers all  on exit effects for its starting 
        square, on move effects, and on enter 
        effects for the moonwalk landing square. Because of this, a moonwalk 
        is not a teleportation. 
     | 
   
 
 
Questions
How do movement-changing spell 
  effects interact with each other? The key concept is: Movement 
  orders can be overwritten, but this happens in a specific sequence. The 
  last movement order assigned to a group wins, and 
  that's how the group will move. 
   
    |  
       # 
     | 
     
       Phase 
     | 
     
       Effect 
     | 
   
   
    |  
       2 
     | 
     
       Player Orders 
     | 
    
       The player issues a movement order 
        to a player-controlled 
        group. 
     | 
   
   
    |  
       3 
     | 
     
       Spell Execution 
     | 
     
       Targeted spells overwrite movement orders immediately. 
      
        - moves in a random legal direction: Amok, Disorient.
 
        - movement orders are cancelled: Binding Cube, Complacency, 
          Fear, Lienna's Steed, Possession, Sandstorm, Sentinel.
 
       
     | 
   
   
    |  
       4 
       | 
     
       Movement 
       | 
     
       Any before movement 
        effects overwrite movement orders now. 
      
        - attracts: Mirage, Siren Song.
 
        -  moves in a random legal direction: Fingle, Zurzavar.
 
       
     | 
   
   
    |  
       Finally, each computer-controlled 
        group calls its movement AI, which overwrites its movement order. Corollary: 
        Computer-controlled groups are effectively immune to all forced-movement 
        effects, because they always overwrite their own movement order last. 
       | 
   
 
 
Moonwalks
Why is it called a moonwalk? 
  The group doesn't change its facing prior to moonwalking, so it may appear to 
  move sideways on the board, or even backward. 
Why do moonwalks happen? 
  Step (II.c) of the Movement Pipeline is a deliberately simplified explanation. 
  In reality, the voting is done between only two groups at a time. 
  A square with N groups actually votes N -  1 times. 
  These votes are interleaved with all the other squares, in parallel. Thus, if 
  square A has 4 groups and square B has 1 group, then square B will finish its 
  voting before 2 of the groups in square A have even been 
  considered! 
Show me an easy diagram of 
  a moonwalk! Here's a simple diagram for one specific moonwalk solution. 
  Group A will moonwalk. 
  - D up.  First, order group D with 5 recruits upward (into 
    A's square).
 
  - A left. Second, order group A with 4 recruits leftward 
    (into B's square).
 
  - C up. Third, order group C with 5 recruits upward (into 
    B's square).
 
  - B stand. Have group B, with 1 recruit, stand still.
 
 
How can I create a moonwalk 
  in general? Here, we give a more verbose description for the general 
  solution. First, some nomenclature: 
  - Upper-case letters A, B, C, D are groups.
 
  - Lower-case letters a, b, c, d are squares.
 
  - + denotes two groups joining.
 
  - > compares two groups' sizes.
 
 
To force group A in square a to moonwalk, do this: 
  - Have group B in b next to a.
 
  - Have group C in c next to b.
 
  - Have group D in d next to a.
 
 
Requirements: 
  - A+B looks like a legal joining, and C+B looks legal. (In the above example, 
    A+B = 5, and C+B = 6.)
 
    This is what allows you to order both A and C to move into b. 
  - C is faster than A. Simplest method: C > A. (In the above 
    example, C = 5 and A = 4.)
 
    This creates the race condition that puts A into limbo, giving 
    D time to sneak in behind it and steal its square away. 
  -  A+B+C isn't legal.
 
    This is what makes A bounce back. (In the above example, A+B+C = 10, which 
    violates the maximum 
    group size.) 
  -  A+D isn't legal.
 
    Simplest method: A+D > 8. Or, Ostracize D. This is what forces A 
    to moonwalk. (In the above example, A+D = 9.) 
 
Assign the following movement orders, in exactly this sequence: 
  -  D to a.
 
  - A to b.
 
  - C to b.
 
  - (Have B stand still in b.)
 
 
Here's how it will execute. 
  - (I.b) Overstack. 
    
      - D can move to a.
 
      -  A can move to b, and A+B looks legal.
 
      -  C can move to b, and C+B looks legal.
 
      -  Now D is alone in a, and A, B, C are overstacked in b.
 
     
   
  - (II.c) Voting. 
    
      - D is alone in a. D wins, and now owns a. (This is why you 
        issue D's movement order before A's.)
 
      -  3 groups vie for square b. Unstacking processes 2 groups at a time. 
        (This is why you use 3 groups.)
 
      -  A group that didn't move is automatically fastest. That's B.
 
      -  C is faster than A, by construction in (j). So C is the second-fastest 
        group. 
 
     
   
  - (II.d) Unstacking. 
    
      - B and C are chosen, in that order. B+C looks legal, by (i). So they 
        join.
 
      -  Now BC + A is checked. It is not a legal joining, by (k).
 
      - A bounces back to a.
 
     
   
  - (II.e) Moonwalking. 
    
      - D already owns a, from step (iii).
 
      - D+A is not a legal joining, by (l).
 
      - A moonwalks.
 
     
   
 
The Flying Leap Deck. 
  This deck demonstrates the spectacular effect of a controlled moonwalk. It 
  is not recommended that you try this deck in ranked play, due to the sheer difficulty 
  of its winning combination. 
   
    |  
       00 
     | 
     
       01 
     | 
     
       02 
     | 
     
       03 
     | 
     
       04 
     | 
     
       05 
     | 
     
       06 
     | 
     
       07 
     | 
     
       08 
     | 
     
       09 
     | 
     
       10 
     | 
     
       11 
     | 
     
      
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       ne 
     | 
     | 
     
       0 
     | 
   
   
     | 
     | 
     | 
     | 
     
      
     | 
     | 
     | 
     | 
     | 
     
       nw 
     | 
     
       * 
     | 
     
       se 
     | 
     
       1 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       sw 
     | 
     | 
     
       2 
     | 
   
   
     | 
      | 
      | 
      | 
     
       f 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       3 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       4 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       5 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       6 
     | 
   
   
     | 
     | 
     | 
      | 
      | 
      | 
      | 
      | 
     | 
     | 
     | 
     | 
     
       7 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
      | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       8 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     
       B 
     | 
    A< | 
     | 
     | 
     | 
     | 
     | 
     
       9 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
    C^ | 
    D^ | 
     | 
     | 
     | 
     | 
     | 
     
       10 
     | 
   
   
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     | 
     
       11 
     | 
   
 
  - Play in Badlands (so that 
    there are no forest 
    squares).
 
  - Cast a forest at f, diagonally adjacent to enemy Sanctum.
 
  - Cast two forests at A and B.
 
  - Terrain-Bind group A (into forest).
 
  - If your opponent inconveniently creates any other forest squares, you'll 
    have to change their terrain to something else.
 
  - Force group A to moonwalk, as described above.
 
 
Group A must moonwalk. Corollary: It must be the case that A can't legally 
  enter either squares A or B (which is why it's moonwalking). Because of the 
  Terrain-Bind, the only other square on the board that group A can legally 
  enter is f. Hence, A leaps directly to f. 
  - Somehow ensure that your opponent has no novices left in her 
    Sanctum.
 
  -  Cast Lienna's Steed for the win. (Or, make group A big enough, 
    and just fight your way in.)
 
 
 
v2.20.00 Last updated 2009/03/21 
 |