Interactions

Interactions are game mechanics in which one object interacts with another. A simple example is the player pushing or pulling a crate.

Pushing
To allow object  to push adjacent object  :

[ > A | B ] -> [ > A | > B ]

If object  wants to move into a tile containing object , mark the   object as wanting to move in the same direction.

Pulling
To allow object  to pull adjacent object  :

[ < A | B ] -> [ < A | < B ]

If object  wants to move away from an adjacent tile containing object , mark the   object as wanting to move in the same direction.

Following
To allow object A to follow object B: [ A | ... | B ] -> [ > A | ... | B ] If object A is in line with a tile containing object B, mark the A object as wanting to move towards it.