Change t menu/ally command system


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

Shoals Surfer

Posts: 270

Joined: Sunday, 23rd March 2014, 23:51

Post Monday, 19th September 2016, 15:43

Change t menu/ally command system

The current t menu/ally AI system is too annoying and can't decide between micro or macro management cleanly (needing to repeat basic commands for functional AI, but not allowing more specific/individual commands to improve effectiveness). Since the dev opinion of ally management currently leans towards macro management, I suggest the following changes to ally commands/the t menu (assume everything other than shout is replaced with below):

1) Implement 'stance' system for ally AI. When the player sets a stance, all past/present/future allies will follow it without having to be specifically told. This stance stays in effect until the player changes it. The player can choose between the following stances:
-Aggressive: Attack/move to attack any enemy within the player's LoS. The default stance on starting the game.
-Defensive: Start attacking only when an enemy attacks an ally or the player, stop attacking when there are no enemies in the player's LoS.
-Retreat: Do not attack.

2) Allies will follow the player (like 'Follow Me') for all stances.

3) The following commands override stance/following (again, for all past/present/future allies) until cancelled or completed:
-Attack Target: The player specifies a target. All allies will attempt to kill the target (or any enemy in the way) until the target is dead, incapacitated, or a new target is given. If the target leaves the player's LoS, allies will follow the set stance until the target re-enters, where the command will resume (same case if the target is invisible and the ally does not have SInv).
-Guard Area: The player specifies a 5x5 area. All allies will attempt to occupy the area, or be as close as possible. They will attack any enemy who comes within reach and within the player's LoS (so melee attacks anything adjacent, polearms attack anything within reach, smiters can attack anything, etc.), but will not pursue enemies. Allies will continue to stay in/near the area even if the player leaves LoS. The command is cancelled if the player enters a different level or specifies a new area to guard.
-Follow Me: Cancels any overriding command and sets AI back to following (based on selected stance).

4) Allies (on the level) will always hear and follow commands/stance changes , ignoring distance

Thus, the new t menu would look like this:
  Code:
t - Shout!
Orders for allies: a - Aggressive stance   A - Attack target
d - Defensive stance    g - Guard area
r - Retreat stance    f - Follow me

(command names/key shortcuts subject to bikeshedding)

For this message the author Floodkiller has received thanks: 2
Cimanyd, Shard1697

Ziggurat Zagger

Posts: 4432

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

Post Monday, 19th September 2016, 15:56

Re: Change t menu/ally command system

What about current "w" command? It allows derived undead to attack out of view (at least in 0.18).
Underestimated: cleaving, Deep Elf, Formicid, Vehumet, EV
Overestimated: AC, GDS
Twin account of Sandman25

Shoals Surfer

Posts: 270

Joined: Sunday, 23rd March 2014, 23:51

Post Monday, 19th September 2016, 16:19

Re: Change t menu/ally command system

VeryAngryFelid wrote:What about current "w" command? It allows derived undead to attack out of view (at least in 0.18).

It would make more sense if no allies were able to attack outside of LoS to make it more consistent, honestly. If there needs to be a special case (and I don't think there needs to be), then it should be restricted to permanent duration allies only (orcs, Yred derived undead/gifts, ancestor). In context of the thread, they would follow stances/override commands the same as normal, but would not be restricted from engaging/attacking things that are within their LoS, but not the player's. Guard Area would let the player specify for these allies to wait and target a specific area, even if the player leaves vision.

Tomb Titivator

Posts: 832

Joined: Wednesday, 17th April 2013, 13:28

Post Monday, 19th September 2016, 16:28

Re: Change t menu/ally command system

VeryAngryFelid wrote:What about current "w" command? It allows derived undead to attack out of view (at least in 0.18).


That's renamed to "g" (guard), but "w" still works and does the same thing.

Floodkiller: aggressive stance seems a lot like what the current "tg" or "tw" does. Defensive stance seems a lot like default behavior.

Personally, I'd prefer it if monster AI is improved, hopefully making it possible to reduce the number of commands instead of increasing them. FWIW I think ally AI works pretty well currently for small number of allies. It does get fiddly with a large army though.

Shoals Surfer

Posts: 270

Joined: Sunday, 23rd March 2014, 23:51

Post Monday, 19th September 2016, 16:55

Re: Change t menu/ally command system

DracheReborn wrote:Floodkiller: aggressive stance seems a lot like what the current "tg" or "tw" does. Defensive stance seems a lot like default behavior.


The current default when creating/getting new allies is what Defensive stance does, but everyone almost always shouts tw (or go Aggressive) at the start of a fight anyway, which is why I recommend that it is made the starting default if this proposal goes further

Edit: VVV Good
Last edited by Floodkiller on Monday, 19th September 2016, 17:38, edited 1 time in total.

Dungeon Master

Posts: 1051

Joined: Thursday, 12th June 2014, 05:19

Post Monday, 19th September 2016, 17:36

Re: Change t menu/ally command system

Floodkiller wrote:It would make more sense if no allies were able to attack outside of LoS to make it more consistent, honestly. If there needs to be a special case (and I don't think there needs to be), then it should be restricted to permanent duration allies only (orcs, Yred derived undead/gifts, ancestor). In context of the thread, they would follow stances/override commands the same as normal, but would not be restricted from engaging/attacking things that are within their LoS, but not the player's. Guard Area would let the player specify for these allies to wait and target a specific area, even if the player leaves vision.

https://github.com/crawl/crawl/commit/6 ... 79e2aa311b

Temporary (but non-abjurable) allies like those from Animate Dead, Simulacrum,
Sticks to Snakes, Infestation [now] have the same restrictions as
abjurable summons against being able to attack out of the player's LOS.

For this message the author PleasingFungus has received thanks: 2
Floodkiller, VeryAngryFelid

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 8 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.