## Can packs not get in each others' way?

Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

Barkeep

Posts: 4425

Joined: Tuesday, 11th January 2011, 12:28

### Can packs not get in each others' way?

The thread on 2H ogres and deep troll packs (and other packs) got me thinking: Right now, packs full of speed 10 monsters wind up being slow because the monsters effectively get in each others' way, if I'm putting that right. So! Is there a way pack monsters could cheat movement rules to maintain their speed? I'm thinking something like:

* 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?
I am not a very good player. My mouth is a foul pit of LIES. KNOW THIS.

Ziggurat Zagger

Posts: 6189

Joined: Tuesday, 30th October 2012, 19:06

### Re: Can packs not get in each others' way?

"Very fast" would seem to imply that when a pack hits a hallway, in the worst-case, all members of the pack would immediately flood the hallway up to the player, so If I see a lone orc at LOS-8 he could immediately be adjacent to me, with the rest of his buddies filling up the hallway.

I mean it's a vaguely interesting idea, but a "flood fill" pack mentality sounds kind of unintuitive and awful, if a "free turn" includes attacks, then a pack stepping into a hallway with one creature adjacent could theoretically get N attacks on you in one turn, where N is the number of creatures in the pack.

I think a better method would be to *reorder* pack actions. Don't give anyone any *free* actions, but if they're blocked by guys who haven't taken their turn yet, they just go to the back of the turn order, and take their turn later. That results in the 'forwardmost' guys getting to go first, so nobody gets blocked except if there's literally nowhere for them to go.
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of \$9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

Barkeep

Posts: 4425

Joined: Tuesday, 11th January 2011, 12:28

### Re: Can packs not get in each others' way?

Free turn wouldn't include attacks, but yeah — for large packs it could be surprising and not very fun. Your "back of the line" idea is a better idea.
I am not a very good player. My mouth is a foul pit of LIES. KNOW THIS.

Ziggurat Zagger

Posts: 6189

Joined: Tuesday, 30th October 2012, 19:06

### Re: Can packs not get in each others' way?

njvack wrote:Free turn wouldn't include attacks, but yeah — for large packs it could be surprising and not very fun. Your "back of the line" idea is a better idea.

Honestly the current monster turn order is weird to start with. I personally think monster turns should work like this:
Initial order is by monster energy remaining (with ties ordered by current turn order, which as far as I can tell is by "order in which the monster was originally created")
When a monster acts, instead of just doing all their actions until they run out of energy they should move to the back of the turn order after one action.
If a monster is blocked by a pack member who has enough energy left to act, as above, they should also move to the back of the turn order without taking any actions or using any energy.
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of \$9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

For this message the author Siegurt has received thanks:
njvack

Barkeep

Posts: 4425

Joined: Tuesday, 11th January 2011, 12:28

### Re: Can packs not get in each others' way?

This would both make monsters more dangerous (by letting more monsters take useful actions) and lessen the amount of advantage players can gain by deeply understanding the monster action system
I am not a very good player. My mouth is a foul pit of LIES. KNOW THIS.

Ziggurat Zagger

Posts: 8659

Joined: Sunday, 5th May 2013, 08:25

### Re: Can packs not get in each others' way?

In your conception of how pack movement currently works, the front of a speed 10 pack is still moving towards you at speed 10, no matter where that front is. If this were how monsters actually worked, we wouldn't need your change in the first place.

The main reason packs are slow is that monsters swap with each other. Specifically, the band leader can choose to swap with any of the band members (but not vice versa), and monsters with higher HD can choose to swap with monsters with lower HD (but not vice versa). I think the restrictions on this are intended to prevent repeated swapping that would slow down an entire pack, but there's a hole in it: let the leader swap to the front, then turn so that location isn't the front anymore. Now the leader will push back the other pack members trying to get to the front again; the net effect is that the pack loses some ground. All you need is some walls to make the turn around, and you can get as much distance from the pack as you want. A draining weapon will also temporarily lower a monster's HD, letting the rest of the pack swap with it. Of course, this works best if you already have a few squares of distance from the pack, but even with autoexplore you don't usually find yourself instantly adjacent to the leader!

Also, whenever a band member is "wandering", it tries to stay near the band leader. This part is 100% intentional though.

You could still speed up packs by cheating monster turns, but it'd be easier to just not let monsters swap so often.

edit: I should clarify, I think that even after this change (or the cheating turns change), it'd still be nearly as easy to fight speed 10 pack monsters one a time. Stairs would still exist, after all. But it would make it harder to just lose the whole pack by moving.
Last edited by duvessa on Sunday, 5th August 2018, 19:28, edited 1 time in total.

For this message the author duvessa has received thanks:
amaril

Tartarus Sorceror

Posts: 1774

Joined: Tuesday, 23rd December 2014, 23:39

### Re: Can packs not get in each others' way?

I agree with Siegurt about the flood-fill problem. It would be better to just have the monsters in the pack move in increasing order of distance from the player. That way the monster in front moves, then the one behind him, etc. etc. This guarantees the front moves forward at the monster speed.
streaks: 5 fifteen rune octopodes. 15 diverse chars. 13 random chars. 24 NaWn^gozag.
251 total wins Berder hyperborean + misc
83/108 recent wins (76%)
guides: safe tactics value of ac/ev/sh forum toxicity

Spider Stomper

Posts: 248

Joined: Monday, 4th September 2017, 10:53

### Re: Can packs not get in each others' way?

What if at the end of the players turn, the pack leader was designated simply as the closest monster to the player (pathable distance). No switching unless it was necessary. Then the pack is treated as a single entity on the turn order related to the rest of the dungeon, and each members turn is ordered again in relation to pathable distance. If for some reason a member is blocked by a member, the blocked member can step thru or switch olaces as a free action.

For this message the author crawlnoob has received thanks:
duvessa

Ziggurat Zagger

Posts: 8659

Joined: Sunday, 5th May 2013, 08:25

### Re: Can packs not get in each others' way?

Messing with turn order like that can cause issues in energy-based systems like DCSS's, but the idea of making the leader dynamic is cool.

Ziggurat Zagger

Posts: 4341

Joined: Friday, 8th May 2015, 17:51

### Re: Can packs not get in each others' way?

Well, it looks like the wounded/drained monster getting pushed back and the leader rushing forward is a good feature when you are trying to kill the pack. I often see how an almost dead monster gets swapped by full HP monster and heals while I am fighting a new monster. Or how Saint Roka gets adjacent to you so you cannot kill it with arrows and Portal Projectile while tanking hits from plain orc.
But of course the feature is "bad" when you are trying to escape. I used quotes here because I see nothing wrong with reducing luring: you killed some monsters, then escaped, you still risk getting some fast/ranged monsters. We don't want to have pack-splitting as the only viable tactics for packs, do we?
Underestimated: cleaving, Deep Elf, Formicid, Vehumet, EV
Overestimated: AC, GDS
Twin account of Sandman25

For this message the author VeryAngryFelid has received thanks:
Berder