feature/monster

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9634

    feature/monster

    I'm currently working on a thorough re-examination of monster behaviour and the monster list. I'm planning to do this in two parts:
    • Implementation of new required code and
    • Actual list redo.

    The first part should contain some new monster attack types, more complex group behaviour, wandering monsters (awake, but not aware of the player), monster shapechanges, and maybe some other stuff. My current aim is to have this done and out for examination once the current competition is finished, so January 2019. Then the list rework will happen gradually, and with more frequent public updates.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.
  • Philip
    Knight
    • Jul 2009
    • 909

    #2
    I'll probably have some thoughts on this later, but first, before I forget, I wanted to link the thread about Hounds that you asked us to remind you about way back when.

    While looking through old threads to find that one (I vaguely remember there being such a thread, and that's basically it) I also found a thread about monster and object density, in which you suggested you would take a look at monster density in the late game.

    The main argument I would like to make as regards monsters is that if monsters are going to be more interesting (not all of them have to be, of course, but some will), players need to have a good reason to fight them at depth, or encounter some sort of difficulty in getting rid of them without a fight. If you make dragons very interesting to fight at depth, but the reward is the same as that for killing a pack of orcs or trolls two rooms over, then the mechanical reward and fun are dragging the player in different directions. There are a couple ways of dealing with this. You could make all monsters interesting at depth primarily as a tactical obstacle to get around, though this would likely be a bit boring. You could filter out weak monsters from deeper levels. You could force objects to drop at the level of the monster and not the dungeon. You could use the O system where OOD monsters drop gold instead of their normal drop. Personally I think tying drops to monster level and not dungeon level is the most elegant method, but it's possible that filtering out weak monsters late in the game will turn out to be desirable anyway.

    Comment

    • Pete Mack
      Prophet
      • Apr 2007
      • 6883

      #3
      Always keep in mind that a fully balanced game is a recipe for grinding. It is the imbalances that make for interesting game economy.

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #4
        Originally posted by Pete Mack
        Always keep in mind that a fully balanced game is a recipe for grinding. It is the imbalances that make for interesting game economy.
        I would argue instead that a game that requires grinding is imbalanced against the player. But more generally, the game needs to give the player opportunities to succeed. As a game designer, it's easy to get into the mindset of "monsters should be smart, they should be able to counter the player's tactics", but what you really want is for monsters to be fun. Smart monsters is (potentially) one avenue to fun, but it isn't historically one that Angband has relied on.

        Comment

        • Adam
          Adept
          • Feb 2016
          • 194

          #5
          Hello,
          I would give some thoughts about things which bothered me while playing. I know that some are probably too much (either dev time or balance) so feel free to just ignore those
          Some of the below is maybe already discussed or even changed recently, most of my experience is from 4.0.3.

          1) Make groups work as a group. Protecting the boss/caster instead of fleeing, act and move together (so you can't wake them up one by one and lure and kill them separately).
          2) Intelligent monsters could behave more intelligently. Don't cast the 3rd fire spell or breathe fire against an @ having iFire. Try to find the holes in @ resistances when casting spells and with some chance prefer those spells which hurt. But we also should not make Morgoth cast mana storm each turn...
          3) There are some monsters which almost never worth fighting. But if they were guarding something it would make the players at least think. The other day I found an oval vault full of various hounds and 6 items in the middle protected by a wall. Probably introduced in 4.1.3 as I never seen it before and upgraded to this version just recently. I cleared the vault hoping that I find something useful - but nothing. Next time I'll probably just skip such places. But if I know that the treasure is something nice it would worth it. I know it's a little offtopic but higher level potions/scrolls/wands are useful for anyone so if such monster groups would guard those things with higher chance then it could pay off visiting them.
          4) As more challenge I would also see not only randarts but random monsters. Breathe fire replaced by a random base element with some chance, breathe high elements with another one in a similar way. Spells also with a same level spell attack. Yes, this could result in strange things like both red and blue dragons breathe fire but actually I would not have a problem with that. But we could also leave out some monsters from this change (don't randomize elemental hound/dragon/vortex breaths etc). Also randomize which elements the monsters resist.
          5) This is probably a too big change but I would like monster inventories being used. Intelligent monsters use that healing potion if they have it etc. Define a set of items which could be used, they should not banish @ though This also means a rebalancing of those items in drop rates. Additionally player attacks should also destroy items in monster inventory, not only on the floor. I don't even mind monsters wearing the gear they would drop but that's probably too much code change. Though it would make sense if a humanoid monster started using the bow he will drop but this would lead too far - why don't all archers drop a bow together with the rest of the ammo etc? Also attacks and resistances are probably for monster types, not for individual instances so that's just really a crazy idea.

          Comment

          • wobbly
            Prophet
            • May 2012
            • 2629

            #6
            Sounds... interesting... I think my view depends a lot on what "interesting" means.

            An example of AI I find interesting: Sils pack monsters circling round behind you.

            An example of AI I don't find interesting: NPPs Umber Hulk. These things do a perfect parallel of the corridor. Does it look natural? Is it actually interesting? Fun? Some people probably like it but for me it looks crazy robotic & emphasizes that Kill_Wall is as fast as moving in an empty space. Something that's livable for simplisity's sake until you shove it in the players face by making the AI abuse it.

            I think as long as the AI is done around making things behave naturally looking, orcs behaving like orcs etc. it's going to be an improvement. As soon as it's difficulty for difficulty's sake it'll look robotic. The amusing thing is it can be incredibly robotic (Sil's is) but not look it.
            Last edited by wobbly; December 12, 2018, 15:57.

            Comment

            • Sky
              Veteran
              • Oct 2016
              • 2321

              #7
              I second that kill_wall should be an action.
              "i can take this dracolich"

              Comment

              • Derakon
                Prophet
                • Dec 2009
                • 9022

                #8
                One of the main reasons why kill_wall takes the same amount of time as moving through empty space is that it makes monster pathfinding considerably easier. Effectively there's two kinds of pathfinding: one that routes around walls, and one that takes a straight-line path to the player (or maybe it routes around permanent walls, I forget). But that latter only works so long as monsters have no preference between going through walls vs. not going through walls. As soon as you change that, you'll see monsters "stupidly" spending large amounts of time trying to take a straight-line path through a wall to get to the player, when they could instead take a shorter path through open air.

                It's certainly possible to fix the pathfinding, but it can be surprisingly tricky to make pathfinding that scales well to handling hundreds of monsters on a grid with tens of thousands of cells. It's very easy to accidentally make something that slows even modern computers to a crawl. That said, I believe the authors of Brogue published an article or two on techniques for "smart but simple" pathfinding, which might well be worth stealing for incorporation into Angband.

                Comment

                • Nick
                  Vanilla maintainer
                  • Apr 2007
                  • 9634

                  #9
                  Originally posted by Adam
                  1) Make groups work as a group. Protecting the boss/caster instead of fleeing, act and move together (so you can't wake them up one by one and lure and kill them separately).
                  This is exactly the sort of thing I was meaning by "more complex group behaviour".

                  Originally posted by Adam
                  2) Intelligent monsters could behave more intelligently. Don't cast the 3rd fire spell or breathe fire against an @ having iFire. Try to find the holes in @ resistances when casting spells and with some chance prefer those spells which hurt. But we also should not make Morgoth cast mana storm each turn...
                  IMHO Angband currently has pretty good intelligent spellcasting, but not all monsters use it. I will be looking at it again.

                  Originally posted by Adam
                  3) There are some monsters which almost never worth fighting. But if they were guarding something it would make the players at least think. The other day I found an oval vault full of various hounds and 6 items in the middle protected by a wall. Probably introduced in 4.1.3 as I never seen it before and upgraded to this version just recently. I cleared the vault hoping that I find something useful - but nothing. Next time I'll probably just skip such places. But if I know that the treasure is something nice it would worth it. I know it's a little offtopic but higher level potions/scrolls/wands are useful for anyone so if such monster groups would guard those things with higher chance then it could pay off visiting them.
                  I know the vault you mean, and it frequently has very good treasure. The fact that it didn't this time is just down to randomness.

                  Originally posted by Adam
                  4) As more challenge I would also see not only randarts but random monsters. Breathe fire replaced by a random base element with some chance, breathe high elements with another one in a similar way. Spells also with a same level spell attack. Yes, this could result in strange things like both red and blue dragons breathe fire but actually I would not have a problem with that. But we could also leave out some monsters from this change (don't randomize elemental hound/dragon/vortex breaths etc). Also randomize which elements the monsters resist.
                  This was thought about for a while, but in the end it was decided that it was too much trouble for not enough improvement. My feeling, in fact, is that the design of the monster list is something better not left to randomness.

                  Originally posted by Adam
                  5) This is probably a too big change but I would like monster inventories being used. Intelligent monsters use that healing potion if they have it etc. Define a set of items which could be used, they should not banish @ though This also means a rebalancing of those items in drop rates. Additionally player attacks should also destroy items in monster inventory, not only on the floor. I don't even mind monsters wearing the gear they would drop but that's probably too much code change. Though it would make sense if a humanoid monster started using the bow he will drop but this would lead too far - why don't all archers drop a bow together with the rest of the ammo etc? Also attacks and resistances are probably for monster types, not for individual instances so that's just really a crazy idea.
                  There are games which do this sort of thing - Nethack, for example. I wouldn't rule it out forever from Angband, but I think there are a bunch of more obvious changes to try first.
                  One for the Dark Lord on his dark throne
                  In the Land of Mordor where the Shadows lie.

                  Comment

                  • Voovus
                    Adept
                    • Feb 2018
                    • 158

                    #10
                    Originally posted by Nick
                    My feeling, in fact, is that the design of the monster list is something better not left to randomness.
                    I agree that randomising monster characeristics is probably unnecessarily difficult to get right. However, Angband has a huge monster list. In principle not all monsters have to be allowed to spawn in any given playthrough. If only, say, half the monsters could be generated, this might add variety between games. Alternatively, some monsters (or monster groups) could be assigned a "very common" flag during game generation. For instance, you might end up with three times as many ancient dragons, in which case suddenly Slay Dragon might actually be useful... just don't triple the number of hounds, please.

                    Comment

                    • wobbly
                      Prophet
                      • May 2012
                      • 2629

                      #11
                      Originally posted by Voovus
                      I agree that randomising monster characeristics is probably unnecessarily difficult to get right. However, Angband has a huge monster list. In principle not all monsters have to be allowed to spawn in any given playthrough. If only, say, half the monsters could be generated, this might add variety between games. Alternatively, some monsters (or monster groups) could be assigned a "very common" flag during game generation. For instance, you might end up with three times as many ancient dragons, in which case suddenly Slay Dragon might actually be useful... just don't triple the number of hounds, please.
                      What's wrong with ZZZs?

                      Comment

                      • fph
                        Veteran
                        • Apr 2009
                        • 1030

                        #12
                        Originally posted by Nick
                        There are games which do this sort of thing - Nethack, for example. I wouldn't rule it out forever from Angband, but I think there are a bunch of more obvious changes to try first.
                        I, for one, am not really too eager to see here the infamous Nethack "killed by a gnome with a wand of death" level of monster AI.
                        --
                        Dive fast, die young, leave a high-CHA corpse.

                        Comment

                        • bio_hazard
                          Knight
                          • Dec 2008
                          • 649

                          #13
                          I generally agree that randomness in monsters isn't all that helpful, but maybe there are some places where it could be interesting...

                          - maybe a few uniques, to make them a little more exciting. It could even be just giving some random resists or vulnerabilities that the player would have to find out in game rather than just having it all be metagame knowledge.
                          - maybe some spell casters, where their spell inventory has some variation.


                          Regarding different AIs, maybe special rooms with tethered or chained monsters. And this might be too far into the "puzzle room" for Vanilla, but you could have monsters in cages that can only hit you with ranged attacks, and some kind of specialist keepers that rather than fighting, run to the cages to unlock.

                          Comment

                          • Philip
                            Knight
                            • Jul 2009
                            • 909

                            #14
                            If there's one monster that would be hilarious having a random selection of abilities, it is Kavlax the Many-Headed (specifically he should have a random set of breaths). There are a couple others who I imagine would not be entirely out of the question (randomizing a couple spells within a pool on the ringwraiths). No other unique seems like it would be better for the game if it were less consistent, but I may just be missing something.

                            Comment

                            • bio_hazard
                              Knight
                              • Dec 2008
                              • 649

                              #15
                              Heck, give one or two of the Orc uniques a random branded attack.
                              Let Kim and Ibun each be randomly missing a resistance.

                              These are pretty cosmetic and we've survived 25+ years without randomized monsters, but I'm having a hard time seeing a big downside.

                              I think the game would need to indicate to players in the monster description that whatever component is randomized.

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎