Move order

The move order in Chip's Challenge is the order of "turns" made by (movable) objects. The way moves are processed is similar between Lynx and Steam, which differ greatly from MS.

MechanicsEdit

MSEdit

Chip and enemies make their moves one after the other, not at the same time. The below list may not be completely accurate, but should serve as a solid guideline for when things act in relation to each other. Note that the points in time that one might intuitively consider to be move boundaries—the relatively large periods of time during which little to nothing happens—are not what MSCC considers internally to be the move boundaries, which are defined to be the points at which the timer ticks down.

  1. The sliplist executes first under normal conditions, before anything else.
  2. Chip's voluntary move processes next, if one is made at any point in the first half of the move window, followed by any involuntary (sliding) moves at the half-move boundary.
  3. The sliplist then executes a second time.
  4. Chip can then make a voluntary move if he has either not yet moved in this move, or has completed an involuntary move. This behavior is why rapid 10 m/s boosting sequences can exist in the MS ruleset. MSCC initiates mouse clicks here, while Tile World resolves mouse clicks at this time under all circumstances, as of 1.3.2 and 2.2.
  5. Chip's involuntary move is then executed, if necessary, just before the following move.
  6. Monster voluntary moves are processed last, at the very end of each move. This is why monsters that stop sliding will sometimes seem to move again too soon- the sliplist executes, dropping the monster onto acting floor, and when the move ends the monster will immediately move, if able.
  7. If Chip has completed an involuntary move with the mouse in MSCC, then his voluntary move at the beginning of the next move occurs before the sliplist. His involuntary move will still resolve at the standard time.

The fact that monsters and Chip move on separate turns is what causes Chip to be unable to pass through a space between two monsters that are moving the other way through that tile.

LynxEdit

To create the illusion of simultaneous movement, Lynx performs movement in two broad phases: first, every actor (player, monster, or block) chooses a move, then every actor attempts its chosen move. This means that actor order is less likely to affect movement, because every actor makes its decision based on the state of the game before any other actor has moved. Overall, Lynx's tick structure is much simpler than MS's, but each phase is more involved.

  1. Every actor that's not already in motion chooses a move. (If the actor is sliding, the "choice" is forced, except in the case of Chip overriding a force floor.) A block will usually not try to move. A monster will try to keep moving in the direction it's facing, and will check if it's allowed to move into the next cell; if not, it will check the next direction according to its movement rules, until it finds an allowed direction. If it doesn't, it will choose its last attempted direction. Chip works similarly, except that his choices are whichever keys the player is pressing, and he will push blocks in every such direction as part of checking for a legal move. (This is the underlying cause of block slapping.)
  2. Every actor attempts to move in its chosen direction, if any. Even if a monster was blocked when choosing, it may still be able to move at this stage, if it had been blocked by another actor that has since moved out of the way, or by a toggle wall that had just opened from an actor earlier in the actor list pressing a toggle button.
  3. Any actor standing on a teleport, regardless of when or whether it moved, attempts to teleport.

SteamEdit

Steam is very similar to Lynx, with a few small details changed.

  • Lynx updates 20 times per second. Steam updates 60 times per second (both for aesthetic reasons and to make wires update quickly), but voluntary choices can only be made every three frames, starting from the third. Involuntary choices can be made at any time, which is why it is possible for a player to become stuck on force floor and unable to override.
  • Steam has an extra phase at the end, during which wire is updated.
  • Lynx attempts a teleport anytime an actor is motionless atop a teleport, and considers them sliding until the next tick, which means an actor (including Chip) becomes unable to move if it enters a teleport with no legal exit. Steam only attempts a teleport once, immediately after an actor steps onto the teleport, so that cannot happen.
  • Similarly, Lynx treats a brown button as if it were pressed every tick an actor is standing on it, and will forcibly eject anything in the corresponding trap, even if it was already open. The result is that anything entering an open trap is forced to walk straight through and out the other side. Steam only ejects actors from traps at the moment the trap is opened, so an already open trap acts like normal floor. Furthermore, this ejection only happens when the trap is opened by a brown button, not by wire.
  • When an actor lands on a tile, the following happen in order, when applicable: static object pick-up or interaction, item auto-drop, terrain interaction, second item auto-drop (which can happen if the terrain interaction is to pick up a yellow teleport).
  • Steam has several additional player actions besides movement: cycling inventory, dropping an item, and switching player control. All three of these are also checked for at decision time (in that order), only every third frame, and only when the active player is fully on a tile.
  • In Steam, when Chip or Melinda is choosing a move, they check whether their move is legal even more aggressively than Lynx: neighboring cells act as though Chip or Melinda had actually started to walk into them, meaning it's possible to (for example) apply steel foil to two walls simultaneously.