All ideas tagged "monster ai"

#4412

 · 
EvilHack

On the level you visit after killing Lucifer, you are confronted with every demon lord who has not yet been killed. But when they appear here, they have special AI: they cannot covetous warp, and grudge each other as well as you.

#4353

 · 
vanilla

To help differentiate bone devils from being boring popcorn monsters with no special attacks or abilities, give them the ability to summon skeletons.

This should come with reasonable limits, such as setting their mspec_used field so that they can only do it every so often, and preventing them from doing it at all if there are a certain number of skeletons around them or on the whole level. Possibly limit it so that if they are not within the “misc item use” distance from the player, they will limit themselves to creating 0 or 1 skeletons.

#4352

 · 
vanilla

Vampires will not enter a temple that has a priest in residence.

#4274

 · 
vanilla

If a monster that is capable of summoning nasties has successfully rolled to avert conflict, it will avoid summoning nasties for a little while if conflict remains active (even if it succumbs to conflict itself later on).

Water elementals’ HP (and Pw, if applicable) regeneration is boosted when they are on a water-containing space such as a moat or a fountain. Possibly, they can also suck up the water to regain a large quantity of hit points at once, which removes the water terrain if it is expendable (a fountain or pool or puddle of shallow water will dry up).

In order to make them more interesting in combat, their AI may favor hanging around sources of water and trying to find a path to the nearest water when they are injured.

#4261

 · 
vanilla

A “repulsion” intrinsic. This prevents monsters that fail a resistance check from moving next to you (specifically, where they believe is next to you) on their turn by making their AI consider it an invalid position. However, if you are in melee range, it does not make them step away from you or refuse to fight you, nor does it prevent them from making ranged attacks.

This intrinsic could come from some new artifact or spell, but two possible sources for it that already exist are reading the scroll of scare monster and casting the spell of cause fear.

#4234

 · 
vanilla

Monsters carrying a potion of acid as well as some other potion that they would normally drink may accidentally drink the acid by mistake.

#4223

 · 
vanilla

Enhance Minetown with a bunch of new NPC denizens:

  • Dwarven trainer: found in a largish room.
    • Chatting to him makes him ask if you want to train, for a fee. If you say yes and pay it, he shouts “Defend yourself!” and begins to fight with you. This lasts until you chat with him again. While you are in this training fight, neither of you deal damage to the other one, though you can still deal damage normally to other things.
    • If you don’t want to train, he offers to teach you how to disarm for a large sum of money. Disarming is a technique you can use with the #disarm command after you have learned it from him. Possibly, it unlocks a “disarming” skill that you can’t get elsewhere. When you use the disarm command, you are prompted for a direction to pick an adjacent monster. The monster must be wielding a weapon, and you must have some minimum amount of skill in your weapon (which can be martial arts). The chance of success is 20% base, +1% per point of Luck (or -1% per negative Luck), +5% for every skill level above Unskilled you are in either your weapon skill, or the disarm skill, +2% per level you have over the monster, and -2% per level the monster has over you.
  • Elven enchantress: Mutually exclusive with the trainer. Chatting with her prompts you for an item to enchant.
    • Items that are not naturally enchantable with enchant scrolls get refused.
    • Artifacts or items at their maximum enchantment get refused; she gives a line about how it is already surrounded by powerful magic and she dares not attempt it.
    • If the item is damaged, it gets repaired, for a modest amount of money per level of damage.
    • If the item is undamaged but not blessed, it gets blessed, charging a slightly higher amount of money.
    • If the item is blessed and undamaged, its enchantment is increased by 1, charging a larger amount of money that scales in direct proportion to the preexisting enchantment on that item.
    • She possibly fooproofs the item if it’s at maximum enchantment.
  • Dwarven innkeeper: also found in a large room.
    • Chatting to him has him offer you an ale, for either 5 zorkmids or the appropriate buy cost of a potion of booze, and accepting produces the effects of an uncursed potion of booze, as well as identifying the potion of booze. 50% of the time, he also gives you a random rumor as if from an uncursed fortune cookie. (Criticism of this is that on-demand confusion makes several early-game challenges involving confused effects of scrolls trivial.)
    • He will also offer you a room to stay the night if the Watch is not angry at you, for either $50 or the cost of a potion of full healing. Accepting fully heals you (or produces the effects of an uncursed potion of full healing, without identifying the potion since one wasn’t involved). Not specified how it should deal with the time you are sleeping, whether that means literally putting you to sleep or something else.
  • Old gladiator: found 1/3 of the time, possibly in the inn; chatting to him produces some old battle stories and a request for an ale (same price as if you were buying it yourself). The first time you buy him an ale, he will teach you a random weapon skill. Subsequent times he only thanks you drunkenly for the drink.
  • Aged traveler: found 1/3 of the time, possibly in the inn, mutually exclusive with the gladiator; chatting to him has him offer to tell you the depth of the Oracle level for 50 zorkmids, or offer to “teach you some things he’s learned in his travels” for 1000 zorkmids, which acts like a blessed potion of gain level, but is not available after you get it once. Alternatively, he could teach you several random item identities.
  • Dirty drunk: found 1/3 of the time, possibly in the inn, mutually exclusive with the gladiator and traveler.
  • Bar brawler: found in the inn, interacting with him in any way will make him angry and start a fight. You’re allowed to fight but not kill him (which would anger the Watch), and you can pacify him by putting him to sleep, paying him off, beating him close enough to death to make him give up, or whatever. If the fight breaks out in the inn you owe the innkeeper money for broken furniture.
  • Criminal or mugger: chatting to them makes them aware of you and they will try to steal from you later.
  • Merchant: Wanders around Minetown, slightly weaker than a shopkeeper. Will sell you food rations at the standard price. Criticism of this is that an unlimited source of food rations is unbalancing and makes a delicatessen obsolete. To add balance, he might have a limited quantity of them to sell, but then he is still kind of pointless.
  • Beggar: Has one randomly generated item, which he will sell at either its standard price or a discount. Most of the time this won’t be useful, but occasionally it could be something good.
  • Bureaucrat: sits alone in a small room. Chatting with him makes him sneer at you, “I’m busy”. However, if the Watch is angry, he will offer to take a large amount of gold from you to pacify them.

A secondary proposal is to make some of the denizens who teach you things actually useless a random amount of the time. For instance, the gladiator is a liar who’s good at spinning stories and not much else, or the aged traveler is a charlatan who gives misinformation, abusing Wisdom or sapping your experience points.

#4220

 · 
vanilla

Leprechauns should sometimes wake up when someone is moving near them carrying a large sum of gold. Their awareness doesn’t extend to the precise location of the creature, it’s just enough to shake them awake.

The chance of this happening and/or the distance at which this happens should be dependent on the amount of gold carried.

#4213

 · 
vanilla

If you throw food at a hostile animal, it may stop to eat the food even if it’s not possible to pacify or tame with that type of food or that species, allowing you to escape.

#4105

 · 
vanilla

Add a frustration counter to certain boss monsters, which increments every time they want to close to melee distance with you but are unable to. Once this gets sufficiently high, they become capable of dispatching or shoving aside monsters (even if they aren’t normally) and breaking boulders to get to you. Different bosses have different thresholds for when this happens.

This prevents you from trivially using a boulder fort to shut down bosses like Master Kaen while you slowly whittle them away with ranged attacks, but allows you to employ strategies like that for a limited period of time.

New type of terrain, “fire terrain”, a square that is on fire. It displays as an orange period. (If this will be too nasty to people who play with color off, the glyph should perhaps be changed.)

  • Fire terrain has a certain amount of burning wood material on it.
  • Standing next to or on fire terrain grants cold resistance, but standing on top of fire terrain has the same effect as a fire trap whenever you end your turn on it.
  • The fire eventually burns out and reverts to normal floor, the duration determined by the total weight of the burning objects.
  • Killing a wood golem with fire or burning more than a certain weight of objects on a square creates fire terrain on that space.
  • Throwing burnables onto a fire trap may make them spontaneously combust and produce fire terrain.
  • Fire terrain can be used to cook corpses.
  • You can create fire terrain by applying a lit candle to a space with burnables on it
  • You can also create it by applying a tinderbox to a space, which is a chargeable non-magical tool. Archeologists and Rangers start with one.
  • Fires provide a light source of radius 3, but cannot be moved.
  • Monster AI will not travel over fire if the monster is not resistant.

Define several generic monster strategies, which a monster will follow to the best of its ability, and can be swapped out for other strategies given certain triggers:

  • Default: Monster roams aimlessly unless they can see hostiles, in which case they beeline towards those hostiles. Smarter monsters might remember the last place they saw a hostile and beeline towards that square when the hostile goes out of sight.
  • Lure: Active only when a monster is fleeing and knows about a trap in the vicinity. It tries to get the trap between itself and you.
  • Blocking: Monster tries to get between the player and a certain space. Won’t work well when there’s only one of it, but will do nicely in small or large groups.
  • Zombie resurrection: If zombies can resurrect each other through physical contact, living zombies will try to move towards zombie corpses they can see.
  • Throw weapon versus wielding it: Mostly useful for things like daggers or knives. Most monsters should be smart enough not to throw away their last melee weapon when they know they can hit for more damage with it. They will, however, unwield weapons and hit you with fists if their only weapon left is grossly unfit for melee (i.e. crossbow).
  • Darkness: Try not to move out of darkness / into darkness unless there’s no other choice. If in the wrong one and doing nothing special, beeline towards the nearest visible way out of it. Most useful for gremlins who want to stay in darkness.
  • Passwall: if monsters cannot take physical items with them when they phase through walls, they will not actually pass through walls while carrying any items they care about, unless they are fleeing, in which case they will abandon the items.
  • Food smells: If the hero is carrying a lot of food in open inventory, monster AI may be more effective at tracking the player, depending on if the food is anything the monsters like to eat. Carrying around lots of fleshy food like tripe rations or meatballs helps carnivorous monsters track, carrying around produce helps herbivorous monsters track, tins don’t have any scent or effect, inediate pets get no tracking bonus.
  • Hero displacement: Monsters often attack each other because they think the hero is displaced where another monster is. The smarter a monster is, the more chances it should have to re-roll this displacement roll as long as it keeps landing on other monsters. Or else, if there’s only one displaced image, smart monsters should conclude it’s not where the other monster is and lash out randomly at empty space.
  • Bones ghost AI: camp on the bones pile, guarding it, never chase the hero away from it.
  • Insects returning to the hive: bees periodically path back to their hive unless they’re actively chasing or combatting something. Ants do this too, and even pick up and bring back food items.
  • Swarming AI (bees and possibly other insects): before moving, they calculate if they can see any others of the same monster, and if so, they are disincentivized for moving into a space where they would lose sight of all such monsters. This should keep swarms actually cohesive but still able to move along corridors and pursue the player.
  • No reason to move: the monster doesn’t move, or moves infrequently and randomly, unless it sees you as an enemy. It can have a normal speed and doesn’t need to be sleeping or peaceful or anything. If it no longer detects you, it may return to its state of not pursuing you.

Monsters that exist in groups are currently completely individualistic and try nothing more complex than charging towards the player and hitting in melee once they get there. This makes it easy for the player to cheese what would otherwise be tough battles, e.g. by standing in a doorway and killing them one by one, or by kiting them. There are some proposals for smarter AI:

  • If a single monster in a group is next to the player, try to pull back until allies can get next to the player.
  • Avoid doorways and narrow corridors; if you are in an open space, stay there unless you decide to move to another open space, and hang back from the doorway where the hero is, forcing them to enter the room in order to pass.
  • Groups of intelligent monsters also try to stay out of the way of ranged fire if possible.
  • If the current strategy is to defend a certain area, form ranks to block the player from reaching it.
  • Pincer maneuvers; some monsters of a group will split up and try to get behind the hero or attack from another side. If the pincering group hasn’t gotten in position yet, the other group will fall back until they catch up.
  • Wolf pack: the monster of the class with the highest level, or failing that the highest max HP, “leads” the pack, and all other members key in on this leader and follow it. This means if you get the leader to flee, the rest of the pack will flee as well.
  • The Yendorian Army can form a phalanx, which is an ordered rectangle of soldiers. Will stick to wide open areas, try to stay out of the range of ranged attacks until they can swarm around you. Enemies forming a phalanx could receive to-hit and AC boosts.

#3962

 · 
vanilla

Monsters have different degrees of intelligence, which changes their strategy for doing certain actions like fleeing (do they flee intelligently like monkeys do, or in a random direction?) and using items (a dumb monster might try to read a scroll of fire and burn itself to death). At any rate, more intelligent than the current definition of “having hands and neither mindless nor animal”.

Special monster AIs/strategies for golems. Likely requiring a general AI overhaul. The strategy for an individual golem could be selected from a set of possible directives when the monster is created. They follow this directive completely and literally, which may result in some interesting behaviors. The player can #chat to the golem to have it mumble its directive.

  • Kill all humans - golem attacks the nearest human(oid) it can find, not necessarily the player.
  • Gather gold - golem pathfinds to the nearest gold on the level. If that happens to be carried by a monster, attack it.
  • Build a castle - golem seeks out boulders and tries to pick them up and pile them into one small collection of spaces on the level. If you destroy or move them, it becomes hostile.
  • Get corpses - golem tries to collect corpses, but will not hesitate to make more if there aren’t any more on the level.
  • Build more of myself - golem tries to collect things made out of the material it’s made of. It attaches these to its body, increasing its HP and maximum HP; when its maxHP is high enough, it splits into two golems like a blue jelly.

“Leaders” of a group of monsters (loosely defined as a M2_LORD or M2_PRINCE monster, when several monsters of the same monster class are nearby) will try to put the group between them and the player. The presence of a leader could also buff the strategy or intelligence of the group it is in.

Very intelligent monsters calculate whether it is more advantageous in terms of damaging the enemy versus taking damage themselves to pursue a target in melee, keep a safe distance and attack from range, or flee. Complex solutions would involve the monster storing lots of data about which attacks it has seen its opponents perform; however, this might get memory-intensive and expand save files quite a bit. A possible algorithm that relies only on game state and is based on FIQhack’s dragon AI algorithm is as follows:

   If able to attack at range (spit/breathe/shoot missiles/use items/etc):
     If the target is in range but not adjacent:
       Attack at range.
     Else if the target is adjacent, and is at least as fast as the monster:
       Attack in melee, or use ranged attacks point blank.
     Otherwise:
       Try to move somewhere aligned with the target, as far away as possible while still being in range.
   Else if the monster is unable to attack at range but will be able to soon (dragon):
     Stay out of line with the target.
   Otherwise:
      Close to melee range.

Cantrips are level 0 spells that cost d2 or d3 power to cast. In order not to let them be unbalancing, they don’t train skill and are mostly useless, except in certain circumstances or for low-Pw spellcasters who can’t do much of the bigger stuff yet. ais523 suggests that good candidates for cantrips might be things that have little combat use, and whose effects could be duplicated by backtracking or other tedious things, but would be useful to avoid boredom. Given their cheapness, they should probably not train skills, and may not even need spell schools.

Most ideas for cantrips seem to be a little too powerful and would do better off as normal spells (and may be listed as independent YANIs for normal spells); however, those that seem like they would fit are listed here.

  • Increase the odds of monsters dropping a corpse in the next few turns.
  • Create an empty unlocked chest. (This would need some restriction so you can’t farm and sell them; perhaps you can only create up to 10 or 20 chests per game with this.)
  • Mark a map square with a symbol, perhaps a comma, that is no different from normal floor but shows up on #overview and the normal map view.
  • Deal some small damage, such as d5 or d6, to a nearby creature. (Acid Bubble from D&D is a nice corresponding cantrip.)
  • Dig out a single square.
  • Create a cancelled hostile yellow light. It cannot explode at you since it is cancelled, so it becomes an autonomous light source of radius 1, which can’t follow you down levels like a pet can. Killing it should not grant you any experience; otherwise this would be easily farmable.
  • Light a radius 2 or 3 area permanently, like a weak form of the spell of light.
  • Mage hand: you indicate a direction and the nearest item on the floor in that direction, assuming it’s under 100 weight or so, is brought to you and is placed in your inventory. This can be used > to get things out of pits.
  • Create an illusion of yourself at your spot. The illusion never moves. Monsters that see it assume it is you and will attack whichever one is nearer (the illusion is instantly destroyed if attacked).

#3933

 · 
vanilla

Monsters with AT_EXPL kamikaze attacks are excluded from the regular is-this-foe-too-strong-for-me level checks. The point of those checks is to prevent a monster from attacking something too strong and getting hurt in retaliation, and if the attacker’s modus operandi is to blow itself up at the enemy, that isn’t relevant.

New monster “aballin”, from D&D. It is a mobile j-class monster that can appear as a pool of water when not actively moving, and can possibly appear as a water elemental when moving. They can eat organic items like gelatinous cubes, though perhaps not instantly like gelatinous cubes, instead dissolving them some time after engulfing them. They are incapable of climbing stairs, and typically sit dormant imitating a pool until a monster draws near, at which point they become active.

#3722

 · 
vanilla

Spellcasters who have summoned insects or nasties can sometimes also cast a spell that makes the summoned monsters explode at you.

#3706

 · 
vanilla

A random set of monsters, deterministic based on their ID number, will not throw a weapon that is usable for both melee and throwing (e.g. dagger, spear) if they have no other melee weapon. Probably over half of monsters should behave like this, but some monsters will indeed continue to throw their last dagger at you.

#3684

 · 
vanilla

Make it possible to define a “retreat point”, or a set of retreat points, for a warping boss monster. They will warp to that point to retreat, rather than always picking the upstairs. Possibly, if they have multiple retreat points, they will only ever use the first one they randomly select.

#3603

 · 
vanilla

Spellcasting monsters that want to go through a locked door can cast a monster-spell version of knock that unlocks it. Theoretically they should also be able to do this from a distance if lined up with the door, but monster decision-making does not decide to go through a non-adjacent door.

#3568

 · 
vanilla

Rarely, a player monster will be generated as following a random conduct or conducts. This influences both their gear (e.g. a nudist player monster will not have armor, a zen player monster will wear a blindfold) as well as their behavior (a pacifist player monster will not attack).

A more in depth stealth mechanic. Involving hiding in containers, possibly on the ceiling if you can levitate, making monsters behave as if they can’t see you even in line of sight, creating illusions or using displacement to make diversions.

#3540

 · 
vanilla

If there is a scroll of scare monster in a container, monsters will still open the container, but will not take any items out of it.

#3531

 · 
vanilla

Defeating the quest nemesis causes a “rout”. As a temporary effect, monsters that are part of the normal quest generation flee from you.

#3425

 · 
vanilla

A monster, possibly called a “maid”, that cleans up the dungeon. It will pick items lying around on the floor, move chests and boxes into corners, wipe out engravings it finds on the floor, and so forth.

#3394

 · 
vanilla

Piercers can actively perform their falling attack from an adjacent space, rather than passively waiting for the player to step onto their space. After falling, they can only make a weak claw attack against the player, and instead of engaging will try to pathfind to a wall. Once they get adjacent to a wall, they return to the ceiling and become able to use their falling attack again.

A further change to make them more interesting than just discovering them and hitting them would be to make them too high to hit in melee while on the ceiling, unless the player is in a Huge form or larger.

#3360

 · 
vanilla

Dragons that generate at level creation time also spawn a hoard of gold beneath them, similar to how concealing monsters generate items to hide beneath. Possibly, their AI recognizes the horde as theirs and they are reluctant to stray off of it or far from it as long as there is gold there.

#3301

 · 
vanilla

When a corpse (possibly only a fleshy, blood-bearing corpse?) falls into water, any nearby sharks and/or piranhas become “frenzied”, gaining bonuses, for some time. Possibly they could also try to converge on the space containing the corpse and maybe eat it.

#3226

 · 
vanilla

In variants where a monster can grab the Amulet on Astral and attempt to ascend with it: they gain the ability to shove monsters out of their way while pathfinding towards their high altar, but they are grudged by all monsters who are crossaligned with them.

#3200

 · 
vanilla

Add a flag for monsters indicating “has seen/encountered the player yet”, which is set to true when first coming in line of sight of the player or being next to them. This is used to possibly change their initial peaceful/hostile state when they see you; for instance, if you’re an orc polymorphed into an elf, any orcs that generated peaceful will turn hostile when they sight you for the first time, and vice versa for elves that generated hostile.

#3180

 · 
vanilla

When a monster has multiple spears, it considers them as ranged weapons and will throw them. When it only has one left, it stops considering them as a ranged weapon and will only use it in melee.

#3156

 · 
vanilla

Aligned priests in a coaligned temple attempt to pick up corpses lying around and sacrifice them.

#3151

 · 
vanilla

Ghosts left behind by coaligned players are peaceful and grudge against hostile-to-the-player monsters. Ghosts killed by brainlessness do not behave like this, nor do ghosts not generated with bones.

#3125

 · 
vanilla

When a foocubus is affected by conflict, it will not attempt to seduce the player, instead just hitting them in melee normally. (The balance ramification of this is that conflict is now able to prevent all seduction.)

#2992

 · 
vanilla

Faction system, which lays the groundwork for more complex monster interaction rules:

  • Every monster stores an integer which represents its faction ID.
    • Faction ID 0 is used for the player and tame monsters; others are sequentially assigned as needed.
    • Other groups of shared faction IDs would be things such as “all gnomes in the mines”, “all dwarves in the mines”, “all orcs in Orcish Town”, etc.
    • If a group of monsters spawns, they all share a faction ID.
  • There is a data structure which stores a list of two faction IDs and an associated rule (fight, peace, etc)
  • Monsters of the same faction don’t attack each other, unless possibly they grudge one another.
  • Monsters of different factions interact as normal, unless the data structure specifies that their behavior should be overridden.
  • When a monster in a faction is attacked by something it didn’t previously want to attack, the data structure is added to with a (attacker faction, defender faction, “hostile”) piece of data. E.g. if a kobold throws a dart and hits an orc in a group, all the orcs now hate that kobold.
    • Possibly, if only some monsters see the act of aggression, they split off into a new faction (which is aggressive, while the old one remains non-aggressive), and the data structure is set so that when any monster in the old faction sees a monster in the new faction, it automatically changes to the new faction.
  • Monsters that read cursed genocide or create monster could then have the summoned monsters’ faction be hostile to the summoner, for symmetry with players.

#2977

 · 
vanilla

Zapping a wand requires touching it, so unless you are wearing gloves, this causes you to incur any effects, such as silver damage, from handling something of its material. Conversely, monsters usually won’t use a wand that will hurt them (unless they’re wearing gloves), and will incur material effects if they do.

#2924

 · 
vanilla

A fleeing monster will not stop to pick up and equip items as long as it thinks you are somewhere nearby it.

#2923

 · 
vanilla

Amorphous monsters that are huge or gigantic cannot squeeze under doors, or through iron bars.

#2851

 · 
vanilla

If you’re wearing some orcish armor, some orcs may see you as another orc and be peaceful. Possibly the chance of this happening is higher for each piece of orcish armor you are wearing.

Remove covetous warping entirely. However, a change like this would need to take into account that it makes the vast majority of boss fights a lot easier and more boring in that they would tend to consist just of the hero and boss standing next to each other hitting each other until the boss dies, so it would need to come with some improvements to boss fights, such as more interesting tactical AI where they will disengage momentarily and multiple forms (i.e. you “kill” it and then it becomes stronger before finally being defeated).

#2801

 · 
vanilla

Monsters will try to loot bags of tricks along with other types of containers (receiving a bite for their trouble). On the other hand, this goes against the implicit rule that monsters know all item identities.

#2784

 · 
Grudge Patch

Monsters on the receiving end of a one-way grudge flee from monsters that grudge them.

#2772

 · 
vanilla

Remove the graveyard flag from the Castle level, but make it so that undead cannot follow you upstairs past the Valley of the Dead, preventing wraith luring. (Could also apply this restriction to levelport and branchport).

#2751

 · 
vanilla

If a wood nymph is near a tree, or a water nymph is near a fountain, they won’t wander very far from it. Specifically, their AI would tell them to consider any space more than X distance from a fountain to be invalid.

They also don’t teleport away from fountains, unless they’re scared or carrying stolen items. When they do teleport, their destination is biased towards any trees or fountains that are on the level, respectively.

#2681

 · 
vanilla

If Astral denizens are able to steal the Amulet from you and try to ascend with it: The amulet-bearer uses a special AI algorithm which pathfinds towards their high altar, using a shortest-path algorithm that avoids monsters if possible but if none are available will plot a path that goes through the minimum amount of monsters. They will only attack when the next square on their path is occupied by a monster, and they will only attack that monster.

#2670

 · 
SpliceHack SLASH'EM

When you toss a grenade, intelligent monsters flee (away from the grenade’s location, not you, if possible).

#2654

 · 
vanilla

Certain monsters will seek out certain types of items and pick them up even when peaceful. For instance, hobbits will find and pick up rings, especially rings of invisibility.

#2582

 · 
vanilla

Low-level sapient creatures avoid you and will not attack if you are visibly equipped with top-tier gear such as dragon scale mail or artifact weapons, unless they decide they have some advantage with which to beat you.

A much more fleshed out interaction system for sapient monsters. It is initiated by chatting, which opens up a menu offering four key verbs: Ask, Tell, Show, and Give.

Ask is used to gain information from a monster; this could be a whole bunch of things, from rumors to identification to information about the dungeon. Each type of monster you can ask things of has a limited knowledge base, and this knowledge base may contain some inaccurate information. Especially interesting is the possibility that you can ask someone for identification, and they tell you what they think it is - which could be right or wrong, but a good clue either way. You can also ask someone to join you, and pay them some gold to tame them for a certain amount of time.

Tell is currently a less developed part of this idea; the only thing suggested so far is that you can tell a creature about traps you’ve discovered, which will make those traps known to the creature. You can also use “tell calm” on your pets to make them refrain from attacking peacefuls.

Show lets you select any item from your inventory to show to the monster. This can be used for intimidation (e.g. showing a stack of iron skull caps to a goblin).

Give lets you give items to a monster, which in some cases, depending on the AI, lets you test the effects of items.

Note that a potential pitfall of such a system is that if it’s complex enough to do interesting things with, it is probably going to be hard to use without spoilers. And if it’s uncomplex enough, it runs the risk of most possible responses being “I don’t know/care about that”, which also makes it hard to use without spoilers. A middle ground between these is likely to require an enormous amount of work.

#2474

 · 
vanilla

Before you first enter the Valley, demons and undead (chosen from the graveyard monster algorithm, though perhaps excluding wraiths) continually spawn in the maze on the right of the Castle and try to path towards the upstairs. Also before it is set, in the Valley, awake demons and undead will try to path to the upstairs if they have nothing better to do.

#2460

 · 
vanilla

Conflict doesn’t work if a monster can’t see you.

#2318

 · 
vanilla

Wielding a wand will give you an accuracy or damage bonus with that wand. Or if the Wands Balance Patch is implemented, you get the effects of the wand at the next skill level. Monsters will always wield wands they intend to use, so you will usually see them doing so before they get a chance to take you by surprise with a fire or death ray.

#2003

 · 
vanilla

Wolfsbane lying on the floor has a similar effect to werecreatures as garlic has on undead: they won’t step on that space.

#1818

 · 
vanilla

G-class monsters will pick up tools if they wander onto them. (They won’t specifically seek them out and pathfind to them though).

#1815

 · 
vanilla

Allow monsters to hallucinate (mostly from the same sources that cause the player to hallucinate, e.g. exploding black light). Hallucinating monsters will, after choosing a target, refuse to attack it 90% of the time (because it sees it as a fellow hostile monster). They also will not pathfind to items on the floor because they cannot see them clearly.

#1814

 · 
vanilla

Ants can dig and tunnel out corridors when there is an anthole on the level, eventually turning the whole level into an anthole-like network of corridors. The tunneling AI prioritizes connecting up existing corridors rather than just destroying rock indiscriminately.

#1801

 · 
vanilla

Zombies can’t open doors, but if there are multiple adjacent zombies on one side of a door, they can bust it down.

#1794

 · 
vanilla

Monsters only spend their turns on picking up items and equipping weapons and armor if they don’t think you are close by. So when fighting a group through a choke point, you don’t get free hits on every monster that steps onto the pile of dropped loot and begins to equip themselves from it.

#1786

 · 
vanilla

Dwarf and gnome kings will never pick up worthless glass or gray stones on the ground (they continue to pick up all valuable gems).

#1778

 · 
vanilla

Monsters will only pick up projectile ammo if they are carrying an appropriate launcher; they will otherwise ignore it. (This does not apply to darts and daggers and other non-launcher missiles.)

#1770

 · 
vanilla

Fiery monsters and possibly some demons get healed by fire traps and will deliberately jump onto them in order to heal up.

#1767

 · 
vanilla

When a vampire is killed in shapeshifted form and reincarnates in its normal form, it comes back at half health. Due to this, vampire AI sometimes chooses to stay in normal form at full health.

#1757

 · 
vanilla

Monsters that hide under objects can also hide under or behind various types of terrain, such as sinks, ladders, thrones, and gravestones.

#1748

 · 
vanilla

Golems will pick up (and add to their body?) any item made up of the same material as them.

#1735

 · 
vanilla

Spiders can spin webs as they move along (cave spiders with less frequency than giant spiders.) This chance is boosted if they move into a doorway or choke point.

#1734

 · 
vanilla

Priests object to you locking the door of their temple, and will unlock it if you try. If they cannot for some reason, they get angry.

#1723

 · 
vanilla

Dwarves don’t go within two spaces of a tree if they can help it. (This is an Order of the Stick reference.)

#1702

 · 
vanilla

MZ_GIGANTIC monsters cannot enter any space that has nonwalkable terrain on at least one pair of opposite sides in any direction (like a doorway, with walls on opposite sides). MZ_HUGE monsters cannot enter any space that has nonwalkable terrain on 2 (or maybe 3) pairs of opposite sides (like a corridor).

#1681

 · 
vanilla

If you attack a spellcasting monster that is currently at full potential to cast a spell, it may cast a counterspell to ward off your attack.

#1680

 · 
vanilla

New monster strategies:

  • Completely sessile. Not immobilized, may even be able to fight, but does not move.
  • Stay near a fixed point like altar priests do but with a variable radius.
  • Repeatedly select a random point on the map and pathfind to it.

#1662

 · 
vanilla

Sandestins, when they can see the player, examine the player’s worn equipment and try to shapechange into something that the player appears to be vulnerable to.

#1647

 · 
vanilla

Aggravate monster from a ring (and only from that) gives pets a special behavior: as they are aggravated, they will attack enemies with no regard to their current HP or the enemy’s level, basically ignoring the checks that exist. Enemies might also attack pets of their own volition (which they don’t do under normal circumstances except in retaliation).

#1643

 · 
vanilla

Satyr, a h monster that is either chaotic or lawful (either could fit), are always male, generate with booze frequently, and chase after any nymphs nearby (who flee or teleport from them). Appear in the Ranger quest frequently.

#1638

 · 
vanilla

Will-o-the-wisps: gray or possibly bright blue y-class monsters that spawn individually, leave no corpse, and have no attacks except a passive blindness attack. They emit light radius 0 so you can see them, but no surrounding squares, across a dark area. Not infravisible, and could have teleportitis to replicate their folkloric effect of suddenly vanishing. Spawn rarely in swamp rooms and may not spawn at all in a lit area. Most importantly, they have a special AI that causes them to avoid the player and orbit around treasure (occasionally) or around hazards like monsters or traps (commonly).

#1635

 · 
vanilla

Itinerant merchants who, if chatted with, offer one of several non-renewable trades. Generate on stairs, path to the opposite stairs, and once they reach them they disappear forever from the game. Generated with the requisite inventory to make all their trades. Always peaceful. Tougher than shopkeepers, since they have to defend themselves out in the dungeon. If you kill one, no more will ever spawn.

Dwarves don’t tunnel within Minetown limits (they can dig up the outer areas of the level just fine).

Improvements to secret doors:

  • When the player discovers a secret door, monsters still don’t know about it unless they see it open.
  • Monsters know about some secret doors and passages in their native area, and will use them as if they were normal doors/floor. If the player sees a monster traveling through one (defined as being able to see the actual square of the door), it becomes unhidden. The proposed implementation for this is to have some monster types (the Wizard, angels, etc) have full knowledge of all secret doors everywhere, and all other monsters have a bit that represents whether they know about secret doors, which sometimes gets set when they are generated and always gets set when they see some other monster use a secret door. A cruder implementation is just to convert the secret feature into a normal one when used by a monster.
  • There are fewer or no hidden doors between the upstairs and downstairs on a Dungeons of Doom level.
  • Less of a Dungeons of Doom level’s loot appears on a direct or near-direct path between staircases, and more of the loot appears in rooms hidden behind secret doors.
  • Remove secret passages from the game; they don’t add much of relevance and it’s harder to find ways to make them relevant.

#1543

 · 
vanilla

Covetous warpers can only warp to the location of the item they covet. This means that if you are carrying it, they can warp to you all they want, but they can’t warp back and forth to the stairs.

#1502

 · 
vanilla

Bats flee upstairs whenever possible in Gehennom, because they are bats outta hell.

#1423

 · 
GruntHack EvilHack Zombie Apocalypse Patch

Not all zombies are hostile; only the hungry ones are. Thus, some zombies might be generated peaceful. However, a nonhungry zombie has a small chance of turning hungry each turn.

#1228

 · 
vanilla

Engraving (or ward) that is bad/cursed, and it causes bad things to happen on or around it. Anti-Elbereth of sorts. Monsters may deliberately engrave it to hurt the player.

#1224

 · 
vanilla

Ravens flee from straw golems, who are basically scarecrows.

#1214

 · 
vanilla

Ghosts lose their physical touch attack in favor of a reusable attack that scare-paralyzes you. Possibly, if this is unflavorful due to it just being the same ghost, change their AI to make them turn invisible after a certain amount of time being visible and not next to the player. Then they path towards you, and if you either stumble into them or they are next to you and get a move, they turn visible, paralyzing you. Since the actual action of them appearing out of nowhere would be what frightens you, see invisible would negate the effect.

#1050

 · 
vanilla

Ideas about nerfing the player’s ability to scare off a large group of Yendorian Army troops at once:

  • Non-fleeing troops grudge fleeing ones (they’re deserters).
  • Troops are immune to fleeing (possibly only immune to fleeing triggered by low HP, and still capable of fleeing from other causes) if they can see a higher-ranking military monster nearby.
  • It’s harder to scare troops if there are others nearby (they have effectively a higher resistance).
  • Troops recover faster from being scared if there are others nearby.

This doesn’t necessarily have to be only the Yendorian Army; the rule could be extended to all monsters being “supported” by other monsters of their same species, with some special cases for things like all orcs supporting each other.

#855

 · 
vanilla

Blind or eyeless monsters aren’t affected by invisibility or displacement.

You can convince peaceful intelligent monsters to join your cause (taming them) by chatting with them. The outcome depends on several factors: your respective alignments (lawfuls have a very hard time recruiting chaotic monsters), respective levels, respective races, your Charisma (which should be a large factor), and possibly others. Failing might turn the monster hostile, or do nothing. You only get one attempt per monster; if they don’t want to join you, trying again will never work. More complex behavior could possibly be implemented with the monster demanding something from you or making you do something before they will follow you. E.g. “I’ll only join you for 100 zorkmids,” or “Bring me the helms of three goblins to prove your worth!”

Internally, this would probably work by having a new flag “recruitable” on a monster, which is only set to true when a monster generates as peaceful (and is not set at all for certain monster types like shopkeepers and priests). Chatting first checks this flag: a taming attempt is only made if it is true, and it is set to false regardless of the taming outcome. Some peaceful monsters of a recruitable species could also generate with the recruitable flag as false.

To avoid this conflicting with existing #chat, there are a few options:

  • Recruitment attempts only happen when you use the m movement prefix before chatting. This has the disadvantage of not being very discoverable.
  • Chatting to recruitable monsters could bring up a menu of possible things to discuss with them, one of which is recruiting and another of which is regular chatting. This has the advantage of being extended to other possible interactions in the future.
  • After the regular chat interaction occurs, you are asked if you would like to try recruiting them. There could be an option that disables this prompt.

#797

 · 
vanilla

Elves can engrave Elbereth and use it on the player, scaring them.

#762

 · 
vanilla

Gelatinous cubes specifically seek out scrolls labeled YUM YUM to eat.

#745

 · 
vanilla

Covetous monsters can warp to the up stairs only if they know where the up stairs are. Demon lords would know this in their own lairs, but not otherwise, and monsters randomly spawned on a level may or may not.

#663

 · 
vanilla

Augment the stealth system by adding a monster AI attribute representing “hasn’t sensed you yet, or has lost sense of you”. Also allow players to take a deliberate action to conceal themselves. This would allow for players to hide in (or flee into) a corner or closet and allow a monster to pass them by, then get the jump on them afterward (perhaps in the form of a bonus for attacking an unsuspecting monster). Some monsters should ideally be able to conceal themselves as well, perhaps even by casting illusions that make a door appear as a wall or something to the hero, until discovered.

Vampires can’t step onto sinks, because they “can’t cross running water”.

#591

 · 
vanilla

Every spellcaster should have its own list of spells it can cast. (Archons and possibly nalfeshnees should be casting clerically aligned spells rather than mage spells.)

#576

 · 
vanilla

Demon lords that accept a bribe don’t actually go anywhere. They get out of the way to the stairs if they were previously in the way, but otherwise they have their movement points set to 0 and cease warping for as long as they are peaceful.

#555

 · 
vanilla

Squares containing burning candles ignite flammable monsters (such as golems) that move onto them. However, such monsters should stay away from spaces they can see have a burning candle.

When a monster decides whether you are peaceful and makes race or alignment checks to do so, they do it based on polyform, current alignment, and when they first spot you as opposed to when they are first created. If the player polymorphs into an orc and some other orcs are hanging out in an unexplored room across the level, they should be peaceful to the character as long as the character is polymorphed into an orc (but will turn hostile when she changes back).

#522

 · 
vanilla

When tame shapechangers polymorph, they attack creatures based on their current monster level (or perhaps the maximum of their current level and their new form’s level), not blindly use the new form’s level.

Monster spell that creates a wall, or possibly just a boulder, to block the hero’s progress.

#489

 · 
vanilla

Monsters who can use items and estimate that they are strong enough will attack crossaligned unicorns to get the horn.

#462

 · 
vanilla

Zombies always try to path in a straight line towards the player (assuming they can see or otherwise are aware of the player), and get stuck on terrain.

#360

 · 
vanilla

Certain monsters (intelligent ones like Elvenkings that are smart enough to realize you probably will kill them) turn peaceful or generate peaceful depending on your XL.

#326

 · 
vanilla

Wearing gloves prevents you from making touch attacks. Affects monsters too, so monsters that have touch attacks will avoid wearing gloves.

#320

 · 
FIQHack

Ordinary monsters should attack any player monster with the same priority as the actual player.

#292

 · 
vanilla

“Omnicidal” monster attribute: it attacks peaceful, hostile, tame, and possibly other omnicidal monsters. Suggested in relation to monsters reading cursed genocide or creating monsters.

Player monsters, crossaligned priests, and hostile angels on the Astral Plane are able to steal the Amulet from you. Should they get it, they will try to make a beeline to their high altar to sacrifice it. The player is also able to steal the Amulet back, though; and wearing the Amulet acts as one turn of protection against it being stolen; an attempt to steal it will just remove it from your neck. If something else ascends, your game ends in an escape. However, all these monsters are hostile towards the Amulet-bearer, not you; so if it gets stolen from you, the pressure will let up a bit.

#214

 · 
FIQHack

Monsters that are in a “wait for the player” state should use different AI for decision-making (i.e. not using their teleport control to attack the player).

#193

 · 
vanilla

Add some region code preventing monsters from generating in (or even better, moving into) the pit corridors in Sokoban until the level is solved.

#180

 · 
vanilla

If you eat the corpse of something and a monster of that same class sees you eating it, it becomes angry. (This is from ADOM).

#146

 · 
vanilla

A new “illusion” or “disguise self” monster spell, which makes the caster or an allied monster appear as another monster of its choice until something disrupts the illusion (it gets attacked, otherwise takes damage, or it makes an attack). Monsters specifically cast it when you cannot see the target monster. It might be possible to implement this spell to be player-castable as well, but this would be less effective. (you could use it to fool monsters into thinking you’re another hostile monster so they don’t attack you, but not much else).

The illusion favors nasty monsters, but low-level spellcasters may only be able to create illusions of somewhat higher-difficulty monsters. A potentially evil addendum is that high-level spellcasters may use the spell to make themselves or other powerful monsters appear to be weaker monsters.

Perhaps if you have extrinsic see invisible (and only extrinsic), you can see through such illusions.

#136

 · 
vanilla

Bards as a monster, who spawn in a group of same-race monsters with a (sometimes but not usually) magical instrument, and they keep their distance and play songs to buff their allies.

#123

 · 
vanilla

Mind flayers seek out your pets to eat their brains and turn them into thralls, which makes them effectively a pet of the mind flayer instead.

Asmodeus and Baalzebub demand gold proportional to their difficulty or monster level, not the player’s wallet. Possibly, if the player does not pay, they remain on the downstairs and will not move until the player has paid, which allows the player to return with the requisite amount of gold (and may charge interest for the time you spent keeping them waiting). However, they will get angry if you get below their lair in any way (possibly measured by testing your lowest level reached each time you enter the lair).