Fractional blows

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    Fractional blows

    I've published an initial implementation of fractional blows:

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


    At the moment it is almost identical in gameplay terms to 3.1.2 - I have converted the blows table from blows to energy, but have not changed anything, so the actual number of blows is identical.

    p_ptr->state.num_blow is now 100x the actual number of blows. I have not yet addressed any display code, so the blows shown are 100, 500 etc.

    The only reason I'm bothering to mention it this early is because I have created a truly horrible bug: monsters now occasionally get a double move when they most definitely shouldn't. I was experimenting fighting Ungoliant with a char at +32 speed, and after a few rounds of 5 blows I got a 6th blow. This is expected, given the gradual accumulation of extra energy from my extra speed ... but then she got a double move immediately afterwards. This really needs to not happen.

    Any thoughts appreciated.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    #2
    Ok, the display of blows is now fixed (to one decimal place), and tables.c has been re-written to smooth out the progression (which was the whole point of doing this in the first place). The early game is now a little easier, as you can start with 1.3 blows etc., but the late game is harder - you now need 18/200 dex to max blows, not 18/150. Yes, I'm aware that this hurts warriors more than other classes - happy to discuss this when people have tested it.

    The double-move bug is probably still extant: grateful for any reports from testers.
    Last edited by Magnate; October 9, 2010, 13:35.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

    Comment

    • Magnate
      Angband Devteam member
      • May 2007
      • 5110

      #3
      Originally posted by Magnate
      The double-move bug is probably still extant: grateful for any reports from testers.
      Yes, it is - but I have at least worked out why. We can't allow @ to spend more than 100 energy, even if he has enough energy to do so. That's what lets monsters get double moves, even if they are slower than @. So we limit the blows calculation to spend no more than 100 energy, and occasionally @ will get a double move instead. Will fix today.
      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

      Comment

      • Magnate
        Angband Devteam member
        • May 2007
        • 5110

        #4
        Right, done. We now have a working implementation of fractional blows (but be warned, the master repo has broken birth, so when testing you'll need to keep using characters based on the previous one).

        Any chance someone could build this for Windows? It seems like 99% of our testing community use Windows. I'll happily upload it to github so people can test it.
        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

        Comment

        • Derakon
          Prophet
          • Dec 2009
          • 9022

          #5
          Given that most classes rely on melee anyway, I'm not too worried about warriors for this change. Extending the utility of DEX to 18/200 is a good idea IMO. Plus it makes the game a bit harder.

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #6
            Originally posted by Derakon
            Given that most classes rely on melee anyway, I'm not too worried about warriors for this change. Extending the utility of DEX to 18/200 is a good idea IMO. Plus it makes the game a bit harder.
            Yeah, I thought it was about time we did a few moves in that direction ...
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • Sirridan
              Knight
              • May 2009
              • 560

              #7
              I'll build it and post the windows compile today. I'm curious as to how this is working.

              Comment

              • fizzix
                Prophet
                • Aug 2009
                • 3025

                #8
                Originally posted by Derakon
                Given that most classes rely on melee anyway, I'm not too worried about warriors for this change. Extending the utility of DEX to 18/200 is a good idea IMO. Plus it makes the game a bit harder.
                Allowing warriors to get 6 blows with 30 lbs weapons and max STR, DEX would balance out any penalty they get from the fractional blows change.

                Probably the class hurt the most are priests, provided that they now only get half blows or so with mauls.

                Comment

                • Sirridan
                  Knight
                  • May 2009
                  • 560

                  #9
                  Built for win32

                  And here we go, built it for win32 for all you windows testers (I go both ways... hah).

                  Anyway, it compiled for windows under vs2010, it just took some messing around with the code, just moving variable declarations to the start of functions which VS doesn't like for some reason. Anyway, here we go!

                  Since character creation is borked, I added a human male character of each class so you can mess around.

                  To save space, I deleted all sounds, graphics, and icons. You can grab em back from any other copy of V.

                  Comment

                  • Magnate
                    Angband Devteam member
                    • May 2007
                    • 5110

                    #10
                    Originally posted by Sirridan
                    And here we go, built it for win32 for all you windows testers (I go both ways... hah).

                    Anyway, it compiled for windows under vs2010, it just took some messing around with the code, just moving variable declarations to the start of functions which VS doesn't like for some reason. Anyway, here we go!

                    Since character creation is borked, I added a human male character of each class so you can mess around.

                    To save space, I deleted all sounds, graphics, and icons. You can grab em back from any other copy of V.

                    http://www.mediafire.com/?ykliaej97brw56a
                    Thank you. I will shortly merge in takk's fixes for the birth/menu stuff, so it will be easier to test.

                    @fizzix: everyone gets minimum of one blow. I didn't consciously calculate the weights at which warriors can now get 6 blows, but it should be no less than the previous 24lb. With light weapons they can now get up to 6.67 blows (15 epb).

                    EDIT: Ok, I've updated my fracblows branch with takk's fixes to the birth and menu code, so it should now be a lot easier to test. To save someone having to build a windows version for me every time I do this, I am investigating setting up auto-builders to do that. In the meantime, a new Windows version would be most appreciated.

                    For warriors with 18/200 DEX, 17 epb (5.88 blows) is available at P=5, which means 24lbs max. 16 epb (6.25 blows) is available at P=8, which means 15lbs max. So with really heavy weapons warriors are slightly worse off than they were before, but with lighter weapons they're better off. Except that they're still capped at 6 blows in class.txt ... oops.

                    I think after some testing the table will need tweaking, because at the moment priests and mages can get 4 blows with any weapon they can lift if they have 18/200 DEX, regardless of STR, and I'm not sure we want that.
                    Last edited by Magnate; October 12, 2010, 22:31.
                    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                    Comment

                    • ewert
                      Knight
                      • Jul 2009
                      • 707

                      #11
                      So, with the blade of chaos it is a downgrade for warriors, with scythe and disruption an upgrade ... Dunno, I always felt that warriors should have 6 blows with SoS and MoD with maxed str/dex, my 2cents. =P

                      Comment

                      • fizzix
                        Prophet
                        • Aug 2009
                        • 3025

                        #12
                        Originally posted by Magnate
                        For warriors with 18/200 DEX, 17 epb (5.88 blows) is available at P=5, which means 24lbs max. 16 epb (6.25 blows) is available at P=8, which means 15lbs max. So with really heavy weapons warriors are slightly worse off than they were before, but with lighter weapons they're better off. Except that they're still capped at 6 blows in class.txt ... oops.
                        I propose an incredibly ugly hack. Find the maximum weight at which warriors can get 6 blows. Treat all weapons above that weight as having that weight as far as blows calculations are concerned.

                        Less ugly: reduce all weapon weights so that no weapon actually has more weight than the warrior can get 6 blows with.

                        Having fractional blows at all makes the only-5-blows-with-heavy-weapons problem much less severe. After all, 5.7 is better than 5.0. But it still bothers me that every class can get max blows with all weapons except for the one class that specializes in melee.
                        Last edited by fizzix; October 13, 2010, 16:08.

                        Comment

                        • Sirridan
                          Knight
                          • May 2009
                          • 560

                          #13
                          Originally posted by Magnate
                          In the meantime, a new Windows version would be most appreciated.
                          Will do tomorrow when I get off hell, er my job.

                          Comment

                          • ewert
                            Knight
                            • Jul 2009
                            • 707

                            #14
                            Originally posted by fizzix
                            But it still bothers me that every class can get max blows with all weapons except for the one class that specializes in melee.
                            My sentiment as well ... well rogue does not get 5 with MoD, but that is sort of okay.

                            Comment

                            • PowerDiver
                              Prophet
                              • Mar 2008
                              • 2820

                              #15
                              Originally posted by fizzix
                              Having fractional blows at all makes the only-5-blows-with-heavy-weapons problem much less severe. After all, 5.7 is better than 5.0. But it still bothers me that every class can get max blows with all weapons except for the one class that specializes in melee.
                              What's wrong with my old proposal that everybody uses the same formula, and then you modify by class? Then the same stats are required by everybody for max blows, but warriors simply get more blows at max.

                              Comment

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