Z+Angband version 0.2.2 beta released; looking forward

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • perost
    Scout
    • Aug 2008
    • 33

    #16
    I've been playing Z+Angband for a while now, and I've got a lvl 31 high-elf monk going really well. However, I've found some possible issues that I wanted to report.

    The first is that you can sell rings and amulets of teleportation if you uncurse them. The issue is not that you can sell them though, it's that you get somewhere around 10000 gold for each of them. It seems a bit much for something that you can find so early. Is it really supposed to be like that?

    Another issue is that if you are confused, you hit in random directions when you fight. However, if you happen to hit the enemy that you want, you only need to repeat the previous command to continue hitting in that direction, regardless of your confusion.

    The last possible issue is that I've found some Rings and Amulets. After identification they are still just named "a Ring" or "an Amulet", with no description. Are they supposed to just be plain rings and amulets without any special properties, or is this a bug? If they are supposed to be plain rings and amulets, perhaps it would be better to call them that. Now when you identify them nothing seems to happen, since their name doesn't change after identification. It's quite confusing, and I even went and *identified* a ring just to make sure that there was nothing special with it. And also, if I remember correctly you couldn't sell them either, not even to the black market.

    Edit: Btw, I migrated the character from Z+ 0.2.1 to 0.2.2, but I don't think that has influenced any of these issued that I've described. I've had some crashes when getting a new delivery quest though, but nothing that has corrupted my save file.

    Comment

    • Mangojuice
      Z+Angband Maintainer
      • Jun 2008
      • 318

      #17
      Some truly elite playtesting here, I applaud you.

      Originally posted by perost
      I've been playing Z+Angband for a while now, and I've got a lvl 31 high-elf monk going really well. However, I've found some possible issues that I wanted to report.

      The first is that you can sell rings and amulets of teleportation if you uncurse them. The issue is not that you can sell them though, it's that you get somewhere around 10000 gold for each of them. It seems a bit much for something that you can find so early. Is it really supposed to be like that?
      No, definitely not. Good find there! That turns out to have been a bug in Zangband, probably a long-time one. Basically, the algorithm for evaluating an object compares the object's inherent value to the inherent value of it's basic type. Rings of Teleportation have a very negative inherent value, which leads to a problem, because you get artificially high credit for how much better an uncursed one is. (Basically, the inherent value is subtracted, but should be treated as 0 if it is negative.)

      Another issue is that if you are confused, you hit in random directions when you fight. However, if you happen to hit the enemy that you want, you only need to repeat the previous command to continue hitting in that direction, regardless of your confusion.
      Another good find, and another inherited bug from ZAngband. Basically, when a movement direction is required, the direction needs to be randomized whether or not there was a saved direction.

      The last possible issue is that I've found some Rings and Amulets. After identification they are still just named "a Ring" or "an Amulet", with no description. Are they supposed to just be plain rings and amulets without any special properties, or is this a bug? If they are supposed to be plain rings and amulets, perhaps it would be better to call them that. Now when you identify them nothing seems to happen, since their name doesn't change after identification. It's quite confusing, and I even went and *identified* a ring just to make sure that there was nothing special with it. And also, if I remember correctly you couldn't sell them either, not even to the black market.
      I think I have finally figured this one out. Objects 667-670 were intended to be placeholders for randart rings/amulets, much like the placeholders for special artifacts like the Phial or the One Ring. I set their rarities to be 0, thinking this would prevent them from appearing in the game. As it turns out, though, having a "A:50/0" line doesn't do what it should: it makes the object very common on level 50 (the "/n" part is ignored if n is not at least 1). I had been pretty baffled because I was sure that their continued appearance in the game was due to some piece of randart-creating code I hadn't been able to find.

      A bug I did manage to fix in 0.2.2, though, prevents the creation of "The Ring" / "The Amulet", etc.

      As for the crashes, I'm glad you haven't lost a savefile. I'm planning to implement an auto-backup option for the next version, because disabling panic_save doesn't seem to have helped people.
      -----------------------------------------
      Z+Angband: A Zangband evolution
      http://tinyurl.com/5pq2bd

      Comment

      • pampl
        RePosBand maintainer
        • Sep 2008
        • 225

        #18
        Oh, I'd crashed probably four or five times (mostly from the getting-a-courier-quest bug) and it was only once that it messed up my save. Not perfect but definitely working to some degree.

        I normally avoid Rangers in rogue-likes because I hate fussing with ammo but I finally caved and gave em a try and man are they sweet. Are they the only class besides the four casters who can go below 5% min fail?

        Comment

        • Mangojuice
          Z+Angband Maintainer
          • Jun 2008
          • 318

          #19
          Originally posted by pampl
          Oh, I'd crashed probably four or five times (mostly from the getting-a-courier-quest bug) and it was only once that it messed up my save. Not perfect but definitely working to some degree.

          I normally avoid Rangers in rogue-likes because I hate fussing with ammo but I finally caved and gave em a try and man are they sweet. Are they the only class besides the four casters who can go below 5% min fail?
          No. The best the classes can do are:

          Mindcrafter: 0%
          High Mage / Mage: 0% in all schools
          Priest: 0% in primary, 1% in secondary
          Warrior-Mage: 1% in Arcane (primary), 3% in secondary.
          Monk: 3% in primary.
          Ranger: 3% in Nature (primary), 5% in secondary.
          Rogue, Paladin, Chaos Warrior: 5%.
          Last edited by Mangojuice; September 21, 2008, 13:42.
          -----------------------------------------
          Z+Angband: A Zangband evolution
          http://tinyurl.com/5pq2bd

          Comment

          • perost
            Scout
            • Aug 2008
            • 33

            #20
            I just found another odd thing. A shop is selling a "a Long Sword of Fury (2d5) (+5, +15%) (+0)". It gives resistance to fear and aggravates monsters, and nothing else. So technically that last +0 is correct, it doesn't give any bonuses, but it seems a bit odd though.

            Edit: I just completed one of those "many women"-quests. It was a level 59 quest, and it consisted of me killing a single White Harpy. Seems a bit easy, doesn't it?

            Now when I think about it this isn't the first time that I got a quest where I only needed to kill a single enemy, despite the description hinting at a whole level full of them. One time I also got a quest to kill some dark elfs or something like that, and when I went down the stairs I found a completely empty level. I went up and down again, and it was still empty. The third time I went down the stairs the whole level was full of dark elves as it should be. But as I said this character started out in Z+ 0.2.1, so you might already have fixed some or all of these issues.
            Last edited by perost; September 21, 2008, 21:35.

            Comment

            • Mangojuice
              Z+Angband Maintainer
              • Jun 2008
              • 318

              #21
              Originally posted by perost
              I just found another odd thing. A shop is selling a "a Long Sword of Fury (2d5) (+5, +15%) (+0)". It gives resistance to fear and aggravates monsters, and nothing else. So technically that last +0 is correct, it doesn't give any bonuses, but it seems a bit odd though.
              Yup. I copied fury weapons over from V, but the code wasn't there to determine their bonus. The +0 is to number of attacks and strength, in case you were wondering.

              Edit: I just completed one of those "many women"-quests. It was a level 59 quest, and it consisted of me killing a single White Harpy. Seems a bit easy, doesn't it?
              Testing in debug mode (with new characters) doesn't reproduce it. You should be seeing lots of Enchantresses and/or Wyrd Sisters at that level, and that is what I get when I test. But this shouldn't be happening in an imported game either. If you can make a savefile that reproduces the bug I'd love to take a look at it.
              -----------------------------------------
              Z+Angband: A Zangband evolution
              http://tinyurl.com/5pq2bd

              Comment

              • perost
                Scout
                • Aug 2008
                • 33

                #22
                Originally posted by Mangojuice
                Testing in debug mode (with new characters) doesn't reproduce it. You should be seeing lots of Enchantresses and/or Wyrd Sisters at that level, and that is what I get when I test. But this shouldn't be happening in an imported game either. If you can make a savefile that reproduces the bug I'd love to take a look at it.
                I'm afraid I've already completed the quest and continued on, so that particular event I can't reproduce. But if it happens again I'll make sure to send you a savefile. But I've done lots of quests, and it's not often this happens. I'm not even sure if it's possible to reliably reproduce the bug since it seems to resolve itself if you revisit the quest level.

                Also, I've done some courier quests, and it seems like most of the times when I go back for my reward the game crashes when I choose to take another quest at the same time. Reloading the game and doing the same thing over again always works fine though, so again I can't reproduce it with a savefile.

                Edit: I ran Z+ with gdb and then ran around and did some courier quests, and managed to get the game to crash after a while. So since I can't give you a savefile, have a stacktrace instead:
                Code:
                #0  0x00000000004f2308 in Rand_div (m=4294967295) at src/z-rand.c:171
                #1  0x0000000000498c13 in request_quest (b_ptr=<value optimized out>, scale=<value optimized out>) at src/quest.c:846
                #2  0x00000000004bdbf6 in build_cmd_quest (level=0, f_ptr=<value optimized out>) at src/bldg.c:333
                #3  0x00000000004f0bdc in toluaI_field_build_cmd_quest00 (tolua_S=0x216dbc0) at src/l-field.c:445
                #4  0x00000000004fafab in luaD_call (L=0x216dbc0, func=0x216dfb0, nResults=0) at src/lua/ldo.c:134
                #5  0x00000000004f9666 in luaV_execute (L=0x216dbc0, cl=0x2509280, base=0x216dfa0) at src/lua/lvm.c:382
                #6  0x00000000004fb05b in luaD_call (L=0x216dbc0, func=0x216dfa0, nResults=-1) at src/lua/ldo.c:177
                #7  0x00000000004fab1d in luaD_runprotected (L=0x216dbc0, f=0x4fb440 <f_call>, ud=0x7fffc6823120) at src/lua/ldo.c:376
                #8  0x00000000004fab53 in lua_call (L=0xffffffff, nargs=<value optimized out>, nresults=<value optimized out>)
                    at src/lua/ldo.c:220
                #9  0x000000000049cb4f in call_lua_hook (
                    script=0x23640f0 "if (command == 'Q') then\n build_cmd_quest(0, field)\n done = TRUE\nend", format=0x5430ef "is:b", 
                    vp=0x7fffc6823370) at src/script.c:456
                #10 0x000000000049d325 in apply_field_trigger (
                    script=0x23640f0 "if (command == 'Q') then\n build_cmd_quest(0, field)\n done = TRUE\nend", f_ptr=0x7fffc6823340, 
                    format=0x5430ef "is:b", vp=0x7fffc6823370) at src/script.c:665
                #11 0x000000000049d3fe in const_field_trigger (script=0xffffffff <Address 0xffffffff out of bounds>, 
                    f_ptr=<value optimized out>, format=0x0, vp=0x12) at src/script.c:698
                #12 0x00000000004458da in field_script_const (f_ptr=0x235afa6, action=<value optimized out>, format=0x5430ef "is:b")
                    at src/fields.c:1057
                #13 0x00000000004bda8a in do_cmd_bldg (f_ptr=0x235afa6) at src/bldg.c:1809m	
                #14 0x00000000004f0dff in toluaI_field_do_cmd_bldg00 (tolua_S=0x216dbc0) at src/l-field.c:371
                #15 0x00000000004fafab in luaD_call (L=0x216dbc0, func=0x216df80, nResults=0) at src/lua/ldo.c:134
                #16 0x00000000004f9666 in luaV_execute (L=0x216dbc0, cl=0x2448610, base=0x216df70) at src/lua/lvm.c:382
                #17 0x00000000004fb05b in luaD_call (L=0x216dbc0, func=0x216df70, nResults=-1) at src/lua/ldo.c:177
                #18 0x00000000004fab1d in luaD_runprotected (L=0x216dbc0, f=0x4fb440 <f_call>, ud=0x7fffc6823770) at src/lua/ldo.c:376
                #19 0x00000000004fab53 in lua_call (L=0xffffffff, nargs=<value optimized out>, nresults=<value optimized out>)
                    at src/lua/ldo.c:220
                #20 0x000000000049cb4f in call_lua_hook (script=0x23617e0 "do_cmd_bldg(field)", format=0x543d17 "", vp=0x7fffc6823990)
                    at src/script.c:456
                #21 0x000000000049d325 in apply_field_trigger (script=0x23617e0 "do_cmd_bldg(field)", f_ptr=0x235afa6, format=0x543d17 "", 
                    vp=0x7fffc6823990) at src/script.c:665
                #22 0x00000000004462ae in field_script (c_ptr=<value optimized out>, action=<value optimized out>, format=0x543d17 "")
                    at src/fields.c:1096
                #23 0x000000000044ae27 in move_player (dir=<value optimized out>, do_pickup=0) at src/cmd1.c:2663
                #24 0x000000000044c89b in do_cmd_walk (pickup=0) at src/cmd2.c:1959
                #25 0x0000000000483ac5 in process_command () at src/dungeon.c:2196
                #26 0x00000000004877ad in play_game (new_game=0 '\0') at src/dungeon.c:2841
                #27 0x00000000004cde11 in main (argc=1, argv=0x7fffc68240d8) at src/main.c:604
                The problem is that Rand_div is called with a too big m (m = 2^32 - 1 actually). It seems like some thing are optimized away though, so the stacktrace gets a bit hard to follow in the end (as an exmaple request_quest is not located on line 846). But I hope this can help you find the bug. If you want I could also try and compile zangband with more debugging info and less optimizations and try to trigger the bug again.
                Last edited by perost; September 22, 2008, 21:19.

                Comment

                • Mangojuice
                  Z+Angband Maintainer
                  • Jun 2008
                  • 318

                  #23
                  Originally posted by perost
                  Also, I've done some courier quests, and it seems like most of the times when I go back for my reward the game crashes when I choose to take another quest at the same time. Reloading the game and doing the same thing over again always works fine though, so again I can't reproduce it with a savefile.
                  An earlier poster had a savefile, i now have it and am working on debugging it. Hopefully it will be illuminating.

                  I find it interesting so many people have encountered this, because I feel like courier quests are sort of blah and I don't much bother with them. I think one issue is that the documentation is a little poor: you never get anything but gold for a courier quest, but people probably don't know that.
                  -----------------------------------------
                  Z+Angband: A Zangband evolution
                  http://tinyurl.com/5pq2bd

                  Comment

                  • perost
                    Scout
                    • Aug 2008
                    • 33

                    #24
                    Originally posted by Mangojuice
                    I find it interesting so many people have encountered this, because I feel like courier quests are sort of blah and I don't much bother with them. I think one issue is that the documentation is a little poor: you never get anything but gold for a courier quest, but people probably don't know that.
                    Actually, I like to travel around and check out other cities shops when I get a lot of money. I don't actively seek out the shops to deliver too, I just sometimes happen to visit them. So if I happen to complete a quest I might as well claim the reward too :P

                    I find the other quests more rewarding though, since you can get quite a good amount of exp fast. Sometimes it goes a bit too fast though, which I just got to experience. My monk was pounding away quite happily on Akhorabil the Blind, when he suddenly decided to breath Nether on me. No resNether == very dead monk (he's a W, what was I expecting?). Oh well, time to start a new character.

                    However, I was suddenly staring at a screen that wanted me to input a filename, presumably for dumping the character. No matter what I pressed though I couldn't get away from the screen. Pressing ctrl+c changed the gravestone to death by Abortion, and now I have two identical entries on the highscore list except for the cause of death. It was a bit odd, and it happened so fast that I didn't really analyze that was happening (overcome with grief as I was :P), but it seemed weird. I'll try and analyze it more carefully if it happens again. It might have been me pressing the wrong buttons at the wrong time though.

                    Edit: Well, my new character was certainly not long-lived :P Went out into the wilderness for a quest, but got ambushed by some novice rangers. But the same thing happened again. The game asks me if I want to dump my char, and if I answer no it asks me for a filename anyway. If I give it a filename it dumps the char, but I can't leave the screen. I can't quit the game in any way other than killing it.
                    Last edited by perost; September 22, 2008, 22:29.

                    Comment

                    • pampl
                      RePosBand maintainer
                      • Sep 2008
                      • 225

                      #25
                      Oh, the same thing happened to me. I had to turn off Auto-Dump in Game Options to get around it IIRC.

                      The squelching system seems to always prompt for non-cursed psuedo-id'd items which is a hassle because most of what I want to destroy is {average} or {good} (and less importantly I don't want to delete {tainted}). Also it seems to consider a lot of stuff to be known average which led to an unfortunate mishap involving a jittery finger and a stack of rods of TP other in the 'k' inventory slot.

                      P.S. You haven't really been ambushed in the wilderness until you've been ambushed by an Elder God

                      edit: oh just noticed another (minor) bug- non-magical spears stack but no other non-magical weapons do.
                      edit2: magic mapping doesn't work on cavern-type levels, like the terror of the deep levels where the ground is orange when unlighted. The walls of the land areas don't get mapped though the walls around water areas do. This is the magic mapping that comes with mindcrafters' precognition, btw, I assume real magic mapping works the same.
                      Last edited by pampl; September 23, 2008, 04:28.

                      Comment

                      • Mangojuice
                        Z+Angband Maintainer
                        • Jun 2008
                        • 318

                        #26
                        Originally posted by pampl
                        Oh, the same thing happened to me. I had to turn off Auto-Dump in Game Options to get around it IIRC.
                        You should both download the game again. I did an upgrade shortly after posting 0.2.2 online to get rid of that bug and a few others.

                        The squelching system seems to always prompt for non-cursed psuedo-id'd items which is a hassle because most of what I want to destroy is {average} or {good} (and less importantly I don't want to delete {tainted}). Also it seems to consider a lot of stuff to be known average which led to an unfortunate mishap involving a jittery finger and a stack of rods of TP other in the 'k' inventory slot.

                        P.S. You haven't really been ambushed in the wilderness until you've been ambushed by an Elder God
                        I'm revising the auto-destroy system in the next incarnation. I strongly advise turning all auto-destroy options off; one of the bugs is that it is possible to destroy artifacts with auto-destroy.

                        As for quick-destroy, it was not supposed to make quick destroying of non-combat objects possible (except if you choose the "all" option), so that was a bug. Also, in the next version it will work properly with pseduo-id.

                        I am with you on the {tainted} and {dubious} objects, but I think this depends on the character. Regardless, these are no longer auto-destroyed by the "auto_destroy_bad" option but are still destroyed without a prompt if you have "quick_destroy_bad" set, in the next version.
                        -----------------------------------------
                        Z+Angband: A Zangband evolution
                        http://tinyurl.com/5pq2bd

                        Comment

                        • Mangojuice
                          Z+Angband Maintainer
                          • Jun 2008
                          • 318

                          #27
                          Originally posted by perost
                          Edit: I ran Z+ with gdb and then ran around and did some courier quests, and managed to get the game to crash after a while. So since I can't give you a savefile, have a stacktrace instead:
                          Thanks, that helped me find it, combined with the savefile I had to reproduce the bug. Basically, the problem was that I had overcompensated in trying to make courier quests a bit more challenging: their (internal) difficulty ratings were ranging as high as 160; anything higher than 129 could lead to a crash where Rand_div is called on a negative number.

                          I'm going to release a new version in the next day or two; there have been so many bug fixes with 0.2.2.
                          -----------------------------------------
                          Z+Angband: A Zangband evolution
                          http://tinyurl.com/5pq2bd

                          Comment

                          • d_m
                            Angband Devteam member
                            • Aug 2008
                            • 1517

                            #28
                            Hey, just picked up Z+ today and quickly noticed some segfaults. Here's an easy way to find them:

                            Start a character. Equip a weapon and nothing else. Use the debugging commands (CTRL-A c k C) to create a Curse Weapon scroll. Read it.

                            Now if you hit "t" (take off command) you'll immediately get a segfault. If you go to a store and hit "s" (sell command) and then hit "/" (to switch to selling equipped inventory) you'll get another segfault.
                            linux->xterm->screen->pmacs

                            Comment

                            • JuergenF
                              Rookie
                              • Sep 2009
                              • 6

                              #29
                              Hi d_m
                              according to your signature you are a linux user?

                              I couldn't get it to run on linux (see my post). Any special things you did?

                              Or do you dual-boot into windows and play it there?

                              Greets, Juergen

                              Comment

                              • d_m
                                Angband Devteam member
                                • Aug 2008
                                • 1517

                                #30
                                Hi Juergen,

                                I did compile and run it on Linux. I don't remember doing anything special--I just downloaded the most recent source release and built it.

                                If you want to post the commands you're running and the error(s) you're getting then I'd be happy to try to help you out.
                                linux->xterm->screen->pmacs

                                Comment

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