Barkeep
Posts: 4435
Joined: Tuesday, 11th January 2011, 12:28
Can packs not get in each others' way?
* Monsters move towards the player, preferring first to minimize chebychev distance and second to move to an open spot
* If the shortest path towards the player is blocked by another monster in the pack, that monster gets a free move action. This is recursive — the next monster's move can bump another pack monster info moving.
* Stop if either no monster moves (monsters are blocked by a something other than a monster in the pack) or the current monster moves successfully.
* Then other monsters take their actions as per normal rules.
This would mean:
* Pack monsters will still "spread out"
* When packs enter hallways, they'll briefly move very fast
For example:
- Code:
.OOO. Turn 1: All the ogres are waiting to get into the hall.
##.##
##.##
##@##
.O.O. Turn 2, ogre 1: Ogre 1 moves. Shortest distance is open, ogre moves into the hall.
##O##
##.##
##@##
.O.O. Turn 2, ogre 2: Ogre 2 moves. Shortest distance move is blocked for ogre 2, ogre 1 has an open spot and moves towards the player
##.##
##O##
##@##
...O. Turn 2, ogre 2: Shortest distance move towards the player is open, ogre 2 moves towards the player
##O##
##O##
##@##
...O. Turn 2, ogre 3: Ogre 3 moves. Shortest distance move towards the player is blocked by ogre 2. Ogre 2 gets a move.
##O## Ogre 2's shortest distance is blocked by ogre 1. Ogre 1 gets a move. Ogre 1's shortest move is blocked
##O## by the player. Ogre 1 cannot move. Ogre 2 cannot move. Ogre 3 cannot move. Ogre 3's move is over.
##@##
At this point, all the ogres have moved and the player has the next action.
Thoughts?