O-Combat

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

    O-Combat

    The birth_percent_damage option, which was kind of an experimental stub in 4.2.0, is now (essentially) full-blown O-combat. So, I'll give a brief summary of how this works.

    The quick version is that all bonuses in combat (melee, missiles, or thrown weapons) are incorporated into the dice, rather than added on afterwards. To be more precise: +to-dam, slays and brands give extra sides to the weapon's damage dice, and critical hits add extra dice, and then the enhanced dice are rolled to give the total damage. For reference, regular Angband combat rolls the dice first, then multiplies by slays/brands, then adds on the to-dam, then multiplies/adds stuff for critical hits.

    I have got this out nice and early in the journey toward 4.2.1 so people can play with it and see how it works, and I can make necessary adjustments. It is intended to lead to pretty similar difficulty of play overall, but with local differences (big-dice weapons tend to be better, slays and brands are more valuable).

    I'm keen to hear opinions
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.
  • Huqhox
    Adept
    • Apr 2016
    • 145

    #2
    Thanks Nick. I'll be keen to see how this plays
    "This has not been a recording"

    Comment

    • Voovus
      Adept
      • Feb 2018
      • 158

      #3
      I've tried it in 4.2.0 a few times, and found that it made the early game tougher and the end game easier (for melee based characters), and shooting almost useless.

      I'm glad M wasn't actually using this thingy on me:

      the Mighty Hammer 'Grond' (9d9) (+5,+25) [+10]
      ...
      6.7 blows/round.
      Average damage/round: 11635.3 vs. undead, 11635.3 vs. dragons, 11635.3 vs. demons, 6985.7 vs. trolls, 6985.7 vs. orcs, 4661 vs. animals, 4661 vs. evil creatures, and 2336.2 vs. others.

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #4
        For me the big issue with O combat has always been understanding the impact that any given change has on my damage. It had this "deadliness" stat that had extremely unclear effects on damage; clearly more was better but I didn't know what kinds of decisions to be making.

        I guess what I'm saying is, documentation on the forums is fine, but documentation in-game is even better, especially if it's part of the item description.

        Comment

        • DavidMedley
          Veteran
          • Oct 2019
          • 1004

          #5
          What does O combat stand for?
          Please like my indie game company on Facebook! https://www.facebook.com/RatherFunGames

          Comment

          • Derakon
            Prophet
            • Dec 2009
            • 9022

            #6
            OAngband-style combat. OAngband, among other things, did a significant revamp of the combat system. As I recall the main changes were:

            * As mentioned, all damage derived ultimately from your dice rolls. Magical enhancements improved those dice rolls, or multiplied the results, rather than applying extra damage directly.
            * Consequently, the bigger the dice on your weapon, the more damage you did, almost without exception.
            * Extra blows were much harder to come by, and capped at IIRC 4 blows/round, but most characters started with 2 blows per round.

            This is all fine; my issue was with a lack of clarity in the mechanics that achieved the above results, not so much with the results themselves. Though of course there's some concern if, say, the *thanc daggers are completely outclassed by an average battleaxe.

            Comment

            • Nick
              Vanilla maintainer
              • Apr 2007
              • 9637

              #7
              Originally posted by Voovus
              I've tried it in 4.2.0 a few times, and found that it made the early game tougher and the end game easier (for melee based characters), and shooting almost useless.
              Yes, the option as in current 4.2.0 is completely broken. It is now close to balanced, I think.
              One for the Dark Lord on his dark throne
              In the Land of Mordor where the Shadows lie.

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9637

                #8
                Originally posted by Derakon
                For me the big issue with O combat has always been understanding the impact that any given change has on my damage. It had this "deadliness" stat that had extremely unclear effects on damage; clearly more was better but I didn't know what kinds of decisions to be making.

                I guess what I'm saying is, documentation on the forums is fine, but documentation in-game is even better, especially if it's part of the item description.
                So I'm going to answer this by documentation in the forums ... but it is worth saying that inspecting weapons is probably in practice the most useful way of understanding the combat system (as well as taking most of the coding effort).

                So, I will give a blow-by-blow (as it were) description of how damage is calculated, and hopefully that will convince everyone just to use the 'I' command.
                1. Start with the original dice; I'll use d for the number of dice and s for the number of sides.
                2. When dice are rolled, the average damage from a single die is (s + 1) / 2; I'll call this number (which will increase as we include bonuses) a, and use it to represent how big each die is rather than the actual number of sides.
                  Code:
                  a = (s + 1) / 2
                3. First, any slay or brand multiplier m is applied to the die average. Multipliers are a bit smaller than for regular combat (although a bit larger than in Oangband) - 1.5 for evil, 1.7 for animals, 2.5 for other slays, 3.5 for *slay*s.
                  Code:
                  a = a * m
                4. Next, apply the +to-dam (called deadliness in Oangband). This adds a percentage p to the die average, which starts as 5% for +1 but diminishes with higher to-dam values - so +10 to-dam adds 40%, +20 adds 70%, +30 adds 100%.
                  Code:
                  a = a * (100 + p) / 100
                5. Now turn the die average back into a number of sides, by undoing our first equation (note that this might not get an exact number of sides, in which case we randomly round up or down according to which is closer).
                  Code:
                  s = 2 * a - 1 (rounded)
                6. Check for a critical hit, which can add n extra dice where n is between 1 and 5 for melee combat, between 1 and 3 for ranged combat.
                  Code:
                  d = d + n
                7. Now the damage is calculated as a regular damage roll of d dice with s sides.
                8. Finally there is a bonus (fudge factor) for slay and brands of a flat (m * 10) - 10, which is fairly negligible at high levels, but at low levels makes weapons with relevant slays and brands much better than weapons without.

                Here's a sample calculation, hitting an orc with a Broad Sword of Slay Orc (2d5) (+5, +5):
                1. Original dice are d = 2, s = 5
                2. Die average is a = (5 + 1) / 2 = 3
                3. Multiply by m = 2.5, to get a = 2.5 * 3 = 7.5
                4. Add the deadliness factor, +5 is (from a table in the code) 22%, so a = a * (100 + 22) / 100, which comes out to 9.15
                5. Turn this back to sides, s = 2 * 9.15 - 1 = 18.3, and we'll round, probably to 18
                6. Check for criticals, let's say we get a good hit for +1 die, so d = d + 2 = 3
                7. So now our damage roll is 3d18, which on average will get us 3 * 9.5 = 28.5; let's say 28
                8. Add the slay bonus of 15 to get 43

                So, there a few consequences to note from this.
                • Size of dice is important - dice with lots of sides get more variable damage than dice with fewer, although having many dice tends to make it balance out
                • Slays / brands and deadliness are multipliers to the number of sides, which stack, and so can be thought of as just straight multipliers to the damage (plus a bit because of the flat bonus)
                • Criticals are (randomly) calculated based solely on to-hit bonus and the player's (melee, launcher or throwing) skill to-hit, so better to-hit gets you more likelihood of hitting *and* better average damage on top of that
                • Missile damage just multiplies the die average at 3 or 4 by the launcher multiple; throwing weapons get a straight multiplier to their number of dice before the damage roll.

                Again, questions or comments welcome, although now you have a sense of what the response might be
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • Derakon
                  Prophet
                  • Dec 2009
                  • 9022

                  #9
                  Ahh, there's the issue I was trying to remember: deadliness has diminishing returns! With +to-dam it's pretty straightforward; if deadliness were just a straight percentile improvement that would be more complicated but still fairly learnable. Diminishing returns have to be explained to everyone though IME. Is there at least somewhere (presumably the 'I' or 'C' screens) in-game that shows what your true multiplier due to deadliness is?

                  Do you have guidelines for how many dice weapons should have, and how big those dice should be, prior to applying all these multipliers? 3d18 is pretty spiky damage, and that's for an early-game weapon. Are late game attacks going to be more like 3d50 or 6d25? I guess by that I mean: do damage dice get significantly more numerous on deeper weapons?

                  Speaking personally, I prefer heavily weighted distributions over flat ones, though I recognize others may feel differently. I guess that's more of an "aesthetics of systems design" kind of gripe.

                  Comment

                  • Nick
                    Vanilla maintainer
                    • Apr 2007
                    • 9637

                    #10
                    Originally posted by Derakon
                    Ahh, there's the issue I was trying to remember: deadliness has diminishing returns! With +to-dam it's pretty straightforward; if deadliness were just a straight percentile improvement that would be more complicated but still fairly learnable. Diminishing returns have to be explained to everyone though IME. Is there at least somewhere (presumably the 'I' or 'C' screens) in-game that shows what your true multiplier due to deadliness is?
                    There isn't currently, but there could be - in the 'I' and/or 'C' screens, and/or even the weapon name (Broad Sword of Slay Orc (2d5) (+5, +22%)).

                    And with my philosophy for this thread of too much detail is barely enough, here's the deadliness table (starting at +1, 10 per line):
                    Code:
                        5,  10,  14,  18,  22,  26,  30,  33,  36,  39,
                        42,  45,  48,  51,  54,  57,  60,  63,  66,  69,
                        72,  75,  78,  81,  84,  87,  90,  93,  96,  99,
                        102, 104, 107, 109, 112, 114, 117, 119, 122, 124,
                        127, 129, 132, 134, 137, 139, 142, 144, 147, 149,
                        152, 154, 157, 159, 162, 164, 167, 169, 172, 174,
                        176, 178, 180, 182, 184, 186, 188, 190, 192, 194,
                        196, 198, 200, 202, 204, 206, 208, 210, 212, 214,
                        216, 218, 220, 222, 224, 226, 228, 230, 232, 234,
                        236, 238, 240, 242, 244, 246, 248, 250, 251, 253,
                        255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
                        255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
                        255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
                        255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
                        255, 255, 255, 255, 255, 255, 255, 255, 255, 255
                    Originally posted by Derakon
                    Do you have guidelines for how many dice weapons should have, and how big those dice should be, prior to applying all these multipliers? 3d18 is pretty spiky damage, and that's for an early-game weapon. Are late game attacks going to be more like 3d50 or 6d25? I guess by that I mean: do damage dice get significantly more numerous on deeper weapons?
                    Well, look at the dice in object.txt and artifact.txt. Extra dice only happen from criticals, so I think the simple answer is more sides. For example, Calris at 3d7 (+0, +20) is +69% for deadliness, so about 3d12, or 3d18 against evil, or 3d30 against demons and trolls, or 3d42 against dragons. But get a critical and that's probably 4d42 or 5d42, or if you're really lucky up to 8d42.

                    On the other hand Aulë at 18d1 (+19, +21) is +72% deadliness, so about 18d2, or about 18d4 with the acid brand or against demons or undead, 18d2 or 18d3 against evil, and 18d6 against dragons.

                    Originally posted by Derakon
                    Speaking personally, I prefer heavily weighted distributions over flat ones, though I recognize others may feel differently. I guess that's more of an "aesthetics of systems design" kind of gripe.
                    If you mean what I think you mean then you would favour Calris
                    One for the Dark Lord on his dark throne
                    In the Land of Mordor where the Shadows lie.

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      #11
                      1d100 is a flat distribution (equal chance of any value); 34d2 is heavily weighted (very unlikely to deal either min or max damage). Of the two I would tend to prefer the latter, though they have almost exactly the same average damage. In a long fight they're effectively equivalent, because you make many attacks so even a flat distribution gets a pretty good spread of hits. But in short fights the flat distribution can, rarely, lead to things like your level-50 warrior failing to kill a kobold in a single blow. Like I said, it's pretty much just an aesthetic thing.

                      Anyway, thanks for the added details. As for the display, while I initially liked the idea of putting the +% in the weapon's stat line, after further consideration I think that would combine confusingly with off-weapon bonuses -- should a Ring of Damage +10 also say +39% on it, even though it plus a +10 weapon would actually be +69% damage? Or does the weapon give its innate bonus and then show the percentile effect from all of your +deadliness bonuses? Either way it's weird. It's a bit clunky, but I think the best bet at least for now is to just put something like "The +X deadliness bonus this weapon gets increases its damage by Y%" in the weapon's 'I' screen. Basically the same thing we do with speed: display the total plus, and then the actual effect.

                      Comment

                      • Voovus
                        Adept
                        • Feb 2018
                        • 158

                        #12
                        Originally posted by Nick
                        This adds a percentage p to the die average, which starts as 5% for +1 but diminishes with higher to-dam values - so +10 to-dam adds 40%, +20 adds 70%, +30 adds 100%.
                        Whyyyyyy?

                        Is there any reason not to have a nice and clean +5% per to-dam value? It's not like we can enchant anything past +12 or so anyway.

                        Personally, I'd also prefer much more discrete increments: e.g. +1 to-dam = +50%, +2 = +100%, +3= +150%, and let basic Enchant scrolls only enchant up to +1, and *Enchant* up to +2 (and make both more rare).

                        It would also be nice to have a simpler formula for the slay bonuses: 1.5, 1.7, 2.5, 3.5 aren't exactly intuitive.

                        Comment

                        • Nick
                          Vanilla maintainer
                          • Apr 2007
                          • 9637

                          #13
                          Originally posted by Voovus
                          Whyyyyyy?

                          Is there any reason not to have a nice and clean +5% per to-dam value? It's not like we can enchant anything past +12 or so anyway.

                          Personally, I'd also prefer much more discrete increments: e.g. +1 to-dam = +50%, +2 = +100%, +3= +150%, and let basic Enchant scrolls only enchant up to +1, and *Enchant* up to +2 (and make both more rare).

                          It would also be nice to have a simpler formula for the slay bonuses: 1.5, 1.7, 2.5, 3.5 aren't exactly intuitive.
                          The deadliness table I imported directly from Oangband; the slays and brands I did the same, but then adjusted a bit to give better looking numbers. I'm not averse to changing either of these depending on how the balance looks, but it seemed like a sensible starting point.
                          One for the Dark Lord on his dark throne
                          In the Land of Mordor where the Shadows lie.

                          Comment

                          • Ingwe Ingweron
                            Veteran
                            • Jan 2009
                            • 2129

                            #14
                            Originally posted by Nick
                            The deadliness table I imported directly from Oangband; the slays and brands I did the same, but then adjusted a bit to give better looking numbers. I'm not averse to changing either of these depending on how the balance looks, but it seemed like a sensible starting point.
                            Have you a comparison of the current method and the new method across a number of cases? That would be interesting to see.
                            “We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
                            ― Tom Stoppard, Rosencrantz and Guildenstern are Dead

                            Comment

                            • DavidMedley
                              Veteran
                              • Oct 2019
                              • 1004

                              #15
                              Originally posted by Voovus
                              Personally, I'd also prefer much more discrete increments: e.g. +1 to-dam = +50%, +2 = +100%, +3= +150%, and let basic Enchant scrolls only enchant up to +1, and *Enchant* up to +2 (and make both more rare).
                              Isn't this virtually impossible in a system running parallel with vanilla combat? At best you'd take all the current plusses, divide and round them, and then plug them into a conversion to percentages anyway. I think it only makes sense to have the same "fineness" of bonuses.

                              That said, if we've already got the average calculated, why not just make the % bonus = plus damage / average damage? Should a 1d4+1 weapon and a 4d5+1 weapon be translated into 1d4*1.05 and 4d5*1.05? I presume they've accounted for this in OAngband but the object list will stay the same whether this option is on or off, right?

                              Sorry if I've misunderstood.
                              Please like my indie game company on Facebook! https://www.facebook.com/RatherFunGames

                              Comment

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