Fix weapon weights?

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

    #16
    Well, the simple answer is to divide all in-game weights and the player's carrying capacity be 3
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • Grotug
      Veteran
      • Nov 2013
      • 1637

      #17
      It's high time I make some kind of contribution to Angband and since the current weapon system has bothered me for a couple of years now I'd like to take a stab at overhauling it (as a proposal).

      Now, when I say I'd like to work on this problem, I don't mean I'm offering my coding services to fix it, but rather, I'll make a comprehensive post with all the weapons' weights improved and a detailed description of how each weapon performs with various STR/DEX combinations so that if someone who can code thinks my changes are useful they can easily just use my data and go in and make the necessary changes to the code without the burden of rebalancing the whole system (something I hope to achieve).

      I'll be working on this problem bearing this thread's discussion in mind: my main goals will be to try to solve the problems of weak characters wielding heavy weapons early on and light weapons being useful deep into the dungeon. And making weapon weights closer to realism.

      The overall effect of this overhaul should be that the weapons are much more interesting to the player; and that finding and using weapons should be more fun. This should be the case, regardless of the fact that the weapons will be more logical/realistic.

      There's a good chance I'll fail and give up, but I think it's worth a shot, and since I'm unemployed right now, will be a fun challenge.

      My first question: how much STR/DEX are currently required to achieve max blows with fists?
      Beginner's Guide to Angband 4.2.3 Part 1: https://www.youtube.com/watch?v=m9c9e2wMngM

      Detailed account of my Ironman win here.

      "My guess is that Grip and Fang have many more kills than Gothmog and Lungorthin." --Fizzix

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #18
        Didn't wobbly spend a lot of time on this very subject? I suggest talking with them before you dedicate too much effort, just to ensure you don't retread already-covered ground.

        Comment

        • wobbly
          Prophet
          • May 2012
          • 2631

          #19
          I played with it for a while before being distracted by real life stuff. I haven't got back into learning any code yet, got some things I need to sort out 1st. Anyway at 1 stage I had the weapons closely balanced but in a way that was boring because they all were pretty much the same. Made me realise there was a fundamental problem in that as long as weapons are pretty much just damage numbers (I'm ignoring stat sticks for the moment), it's hard to make them interesting - daggers can do more then long swords or vis versa or they can be identical but getting them to have a unique feel is hard without complicating the combat system. I'm yet to come up with a solution I like.

          Mostly I'd be interested in what Grotug comes up with though I'm fine with answering questions if that's what he/she wants.

          Originally posted by Grotug
          My first question: how much STR/DEX are currently required to achieve max blows with fists?
          So if there's going to be a lot of questions like this I'd suggest you can save yourself a lot of time by just learning to read the table (in player-calcs.c). It's a little intimidating but not so bad once you're used to it.

          So below this line:
          static const int blows_table[12][12] =
          in the bottom right corner is a 16, that's 6 blow(100/16)

          see how it's column 11? That's 18/200+ dex, from this table:
          Stat Table (DEX) -- index into the "blow" table

          It's row 11. This is trickier, for the warrior you'll need this:
          * Warrior --> num = 6; mul = 5; div = MAX(30, weapon_weight);
          & this:
          * To get "P", we look up the relevant "adj_str_blow[]" (see above),
          * multiply it by "mul", and then divide it by "div", rounding down.
          *

          So any weapon below 30 deci-pounds (includes fist) counts as 30 deci-pounds for the warrior. Looking at the equation above & keeping in mind we are working in reverse order:
          11 (row) * 30 (div) / 5 (mul) = 11 * 6 = 66 (adj_str_blow)

          Reading this table:
          * Stat Table (STR) -- help index into the "blow" table

          18/50+ str
          Last edited by wobbly; February 7, 2019, 04:24.

          Comment

          • Grotug
            Veteran
            • Nov 2013
            • 1637

            #20
            Shoot me now or forever hold your piece. sigh

            Where/how do I find "player-calcs.c"? (on a lark, I downloaded MinGW in the hopes that this might be how I find "player-calcs.c", but I'm pretty mystified on how/what I'm supposed to do after running setup, I tried to follow the directions as best I could:

            Get MinGW and MSYS here: ​http://www.mingw.org/
            Try using the automated installer.
            Click through the installer, accepting the defaults until you get to "Choose components".
            Tick the "MingGW Make" entry.
            Enter the shell for your environment (in the case of MinGW, this is the Windows command prompt) and get into the src/ directory of the game.
            Run make -f makefile.win. Add " MINGW=yes" to the end of that iff you're using MinGW.
            So the "shell for my environment" is simply the windows run thingy? What does "src/ directory" mean? Is that the angband folder? or something else? When I type into the windows 10 run command: "c:\angband-4.1.3\make -f makefile.win MINGW=yes" I get the "Windows cannot find 'C:\Angband-4.1.3\make' message. Is MinGW supposed to make a 'make.exe' file?


            -----------

            Well, I don't intend on making all the weapons equally good; and at some level I will aim to preserve the good/bad weapon balance that already exists in the current system (although hopefully not in the current less than optimized way). There probably will still be some junk weapons (awl-pike might still be the ultimate bad weight to dice ratio weapon; just as I hope to keep the katana as the best dice to weight weapon). Incidentally, why have I never found a 4d5 or 5d5 katana? It seems, aside from the standart katana, I never find memorable randart katanas, or ego katanas; or memorable katanas period. Is there something in the code that prevents them from being buffed because of their good dice to weight ratio?
            Beginner's Guide to Angband 4.2.3 Part 1: https://www.youtube.com/watch?v=m9c9e2wMngM

            Detailed account of my Ironman win here.

            "My guess is that Grip and Fang have many more kills than Gothmog and Lungorthin." --Fizzix

            Comment

            • wobbly
              Prophet
              • May 2012
              • 2631

              #21
              Originally posted by Grotug
              Shoot me now or forever hold your piece. sigh

              Where/how do I find "player-calcs.c"? (on a lark, I downloaded MinGW in the hopes that this might be how I find "player-calcs.c", but I'm pretty mystified on how/what I'm supposed to do after running setup, I tried to follow the directions as best I could:
              You need the source code rather then a pre-compiled version. Alternatively it's here:



              Edit: Interesting, it's slightly different in my copy (feature/monster branch). I didn't realise that had been changed?
              Edit 2: No just a reading comprehension error on my part, the columns aren't lined up properly in wordpad without changing the settings.
              Last edited by wobbly; February 7, 2019, 16:17.

              Comment

              • Grotug
                Veteran
                • Nov 2013
                • 1637

                #22
                Thanks wobbly! I'll study this over the next few days.
                Beginner's Guide to Angband 4.2.3 Part 1: https://www.youtube.com/watch?v=m9c9e2wMngM

                Detailed account of my Ironman win here.

                "My guess is that Grip and Fang have many more kills than Gothmog and Lungorthin." --Fizzix

                Comment

                • Pete Mack
                  Prophet
                  • Apr 2007
                  • 6883

                  #23
                  There is a sticky thread in the Development forum that describes this process

                  For MINGW build, see here:


                  Note: you must cd to .../angband/src directory for this to work, and run the executable from the parent dir.

                  Magnate: can you update the sticky thread so the first post shows how to build on windows? Or could someone else make a new sticky thread that shows current practice (including SDL2.)

                  Comment

                  • RogerN
                    Swordsman
                    • Jul 2008
                    • 308

                    #24
                    I would hazard a guess that the weapon weights (inherited from Moria?) were originally based on Weight + Speed Factor from weapons found in the first edition of AD&D. The numbers match up very closely. Small tweaks here and there for balance reasons can explain minor differences.

                    Comment

                    • Geordieboy84
                      Rookie
                      • Jul 2012
                      • 2

                      #25
                      Originally posted by wobbly
                      Cross-posting from another thread:



                      I'm going to suggest a halving of weapon weights which I think are too heavy to start with. This only solves part of Bandobras issue but I'm pretty sure the id mini game is less painful when you're not at -spd. Currently I recall more then I'd like to, just to dump a bunch of junk weapons at shop 3.

                      As long as the ratios between weapon weights stay identical you can change their weights & maintain the same balance by making the same adjustment in tunnelling, criticals & blows. So this would be a change to encumbrance + cosmetics.

                      Unless people like the current balance between weapon weight & encumbrance? I don't.
                      If you roll a character with low strength then you have low strength. That is your character. You will have other bonuses which help you in the game,e.g. intelligence. It's a trade off. If you can't carry it then drop it. It you want more strength mage then get rid of your intelligence at birth! :-)

                      Personally I think the weights are fine but enchantment should be size dependent. e.g. A 2 lb weapon should have +2 hit/ damage max. A 30 lb weapon should have +30 hit/damage max. You may get more hits per turn with a low level weapon but each hit shouldn't be similar to a weapon several times the weight. e.g. dagger = tap * 5 + 5 * little bonus while a great hammer = massive crush * 2 + 2 * larger bonus. With increased strength the great hammer will get more blows per turn and be better than any dagger. Who wants to hit Morgoth with a dagger!?!?! I want to feel earthquakes when hitting Morgoth at the end game. You hit Morgoth with a ***BONECRUSHING*** crush.
                      Last edited by Geordieboy84; February 19, 2019, 01:40.

                      Comment

                      • wobbly
                        Prophet
                        • May 2012
                        • 2631

                        #26
                        So I've got a solution I like enough to try:
                        • Halve the weapon weights
                        • Blows calculated with effective weight = weapon weight + 5

                        What this does is pushes all the weights closer together so instead of a longsword being 11 dagger weights it is now 2. You can get a rough idea of how this works out by comparing to the old weapon blows.
                        • New dagger: blows of old spear
                        • New rapier: blows of old trident
                        • New tulwar: Old tulwar
                        • New longsword: Old cutlass
                        • New Zweihander: Old broadsword
                        • New MoD: Old Lochaber Axe

                        I'm thinking I'll also make whips 1d4 & daggers 1d5 then adjust the bottom of the str range (via the adj_str table) to put half troll warriors damage with a +0,+0 dagger to it's old position & adjust the end of the str range so that Maces of Disruption max. out at the same pt. Just need to look a little closer at the numbers 1st

                        Anyway I'll be putting this into coffeeband which I've restarted (in a more organized way). For the 1st version I'll put up a copy that is just angband-master with the new blow system for anyone who wants to see how this would play out in V.

                        Comment

                        • wobbly
                          Prophet
                          • May 2012
                          • 2631

                          #27
                          Ok this is what it would look like for a level 1 human warrior if I don't adjust the str table & just run with half-weight weapons, blows based on weight + 5 lb & every 1 dice weapon gaining a damage side.

                          Code:
                           [Angband 4.1.3 Character Dump]
                          
                           Name   Test         Age             20          Self  RB  CB  EB   Best
                           Race   Human        Height        6'4"   STR:     17  +0  +3  +0  18/20
                           Class  Warrior      Weight    13st 2lb   INT:     10  +0  -2  +0      8
                           Title  Rookie       Turns used:          WIS:     10  +0  -2  +0      8
                           HP     18/19        Game           181   DEX:     18  +0  +2  +0  18/20
                           SP     0/0          Standard        18   CON:     10  +0  +2  +0     12
                                               Resting          0
                          
                           Level                  1    Armor        [8,+2]    Saving Throw     20%
                           Cur Exp                0                           Stealth          Bad
                           Max Exp                0    Melee        1d5,+3    Disarm - phys.   29%
                           Adv Exp               10    To-hit        24,+4    Disarm - magic   22%
                                                       Blows      2.0/turn    Magic Devices     19
                           Gold               48726                           Searching        11%
                           Burden           80.0 lb    Shoot to-dam     +0    Infravision     0 ft
                           Overweight      -63.9 lb    To-hit        19,+4    Speed         Normal
                           Max Depth           Town    Shots      0.0/turn
                          
                           You are one of several children of a Landed Knight.  You are a well
                           liked child.  You have blue-gray eyes, curly blond hair, and an
                           average complexion.
                          
                          
                          rAcid:............. Nexus:.............
                          rElec:............. Nethr:.............
                          rFire:............. Chaos:.............
                          rCold:............. Disen:.............
                          rPois:............. pFear:.............
                          rLite:............. pBlnd:.............
                          rDark:............. pConf:.............
                          Sound:............. pStun:.............
                          Shard:............. HLife:.............
                          
                          Regen:............. Stea.:.............
                            ESP:............. Sear.:.............
                          Invis:............. Infra:.............
                          FrAct:............. Tunn.:.............
                          Feath:............. Speed:.............
                          S.Dig:............. Blows:.............
                          ImpHP:............. Shots:.............
                           Fear:............. Might:.............
                          Aggrv:............. Light:.............
                          
                          
                            [Character Equipment]
                          
                          a) a Dagger (1d5) (+0,+0)
                               An inheritance from your family
                               
                               Combat info:
                               2.0 blows/round.
                               With +1 STR and +0 DEX you would get 2.3 blows
                               With +0 STR and +2 DEX you would get 2.3 blows
                               Average damage/round: 12.
                               
                          f) a Wooden Torch (5000 turns)
                               An inheritance from your family
                               
                               Intensity 2 light.
                               
                          g) Soft Leather Armour [8,+0]
                               An inheritance from your family
                               
                          
                          
                          
                          
                            [Character Inventory]
                          
                          a) a Ration of Food
                          b) a Potion of Berserk Strength
                          c) a Scroll of Word of Recall
                          d) a Rapier (1d7) (+3,+5)
                               Bought from a store
                               
                               Combat info:
                               1.6 blows/round.
                               With +1 STR and +0 DEX you would get 2.0 blows
                               With +0 STR and +2 DEX you would get 2.0 blows
                               Average damage/round: 20.
                               
                          e) a Tulwar (2d4) (+6,+3)
                               Bought from a store
                               
                               Combat info:
                               1.6 blows/round.
                               With +2 STR and +0 DEX you would get 2.0 blows
                               With +0 STR and +2 DEX you would get 2.0 blows
                               Average damage/round: 18.4.
                               
                          f) a Scimitar (4d2) (+0,+0)
                               Bought from a store
                               
                               Combat info:
                               1.3 blows/round.
                               With +1 STR and +0 DEX you would get 1.6 blows
                               With +0 STR and +2 DEX you would get 1.6 blows
                               Average damage/round: 12.1.
                               
                          g) an Executioner's Sword (4d5) (+3,+1)
                               Bought from a store
                               
                               Combat info:
                               1.3 blows/round.
                               With +4 STR and +0 DEX you would get 1.6 blows
                               With +0 STR and +2 DEX you would get 1.6 blows
                               Average damage/round: 21.8.
                               
                          h) an Awl-Pike (1d9) (+2,+1)
                               Bought from a store
                               
                               Combat info:
                               1.3 blows/round.
                               With +2 STR and +0 DEX you would get 1.6 blows
                               With +0 STR and +2 DEX you would get 1.6 blows
                               Average damage/round: 12.1.
                               
                          i) an Awl-Pike (1d9) (+0,+0)
                               Bought from a store
                               
                               Combat info:
                               1.3 blows/round.
                               With +2 STR and +0 DEX you would get 1.6 blows
                               With +0 STR and +2 DEX you would get 1.6 blows
                               Average damage/round: 10.7.
                               
                          j) a Trident (1d11) (+0,+0)
                               Combat info:
                               1.6 blows/round.
                               With +2 STR and +0 DEX you would get 2.0 blows
                               With +0 STR and +2 DEX you would get 2.0 blows
                               Average damage/round: 14.9.
                               
                          k) a Beaked Axe of Venom (2d6) (+2,+4)
                               Bought from a store
                               
                               Branded with poison.
                               
                               Combat info:
                               1.3 blows/round.
                               With +2 STR and +0 DEX you would get 1.6 blows
                               With +0 STR and +2 DEX you would get 1.6 blows
                               Average damage/round: 37.9 vs. creatures not resistant to poison,
                               and 18.8 vs. others.
                               
                          l) a Whip (1d4) (+0,+0)
                               Bought from a store
                               
                               Combat info:
                               2.0 blows/round.
                               With +2 STR and +0 DEX you would get 2.3 blows
                               With +0 STR and +2 DEX you would get 2.3 blows
                               Average damage/round: 11.
                               
                          m) a Maul (4d4) (+0,+0)
                               Bought from a store
                               
                               Combat info:
                               1.3 blows/round.
                               With +2 STR and +0 DEX you would get 1.6 blows
                               With +0 STR and +2 DEX you would get 1.6 blows
                               Average damage/round: 17.5.

                          Comment

                          • wobbly
                            Prophet
                            • May 2012
                            • 2631

                            #28
                            Did a bunch of tweaking pushing it back towards the original balance. This will be ready for testing in about as long as it takes for me to work a shift and refresh myself on to use git.

                            Comment

                            • wobbly
                              Prophet
                              • May 2012
                              • 2631

                              #29
                              Ok source is here:

                              GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.


                              More from patient instructions from Quirk, then my own skill I'm afraid. Thanks again Quirk. Downloaded & it compiles on mine. I'll put up a compiled version for windows & start a proper thread for this in variants in the coming days. I've had enough of trying to wrestle with Git for one day.

                              Comment

                              • wobbly
                                Prophet
                                • May 2012
                                • 2631

                                #30
                                From the changelog of Angband v2.5.0-beta
                                • Minimum weight for multiple attack calc reduced from 5 to 3

                                So no weapon was faster then the spear in the original.

                                Comment

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