Borg for 320 is running.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • s0be
    Apprentice
    • Jan 2008
    • 96

    Originally posted by s0be
    Thanks, updating. The borg is fun to watch.
    Watching the latest borg (320borg.zip md5sum: 026b3e423b520f01a47684456ce68f4c) he's repeatedly forgetting to unswap his digger, then getting rather confused in town trying to optimize his inventory.

    Comment

    • s0be
      Apprentice
      • Jan 2008
      • 96

      Originally posted by s0be
      Watching the latest borg (320borg.zip md5sum: 026b3e423b520f01a47684456ce68f4c) he's repeatedly forgetting to unswap his digger, then getting rather confused in town trying to optimize his inventory.
      Here's a save file exhibiting this behavior.
      Attached Files

      Comment

      • APWhite
        Adept
        • Jul 2007
        • 244

        Originally posted by s0be
        Here's a save file exhibiting this behavior.
        Excellent. I was able to track down one of the errors using this savefile. I am pretty sure most of the problems would be corrected with today's fix.
        St George Chiropractor
        Angband Borg Homepage

        Comment

        • s0be
          Apprentice
          • Jan 2008
          • 96

          Originally posted by APWhite
          Excellent. I was able to track down one of the errors using this savefile. I am pretty sure most of the problems would be corrected with today's fix.
          Yeah, saw your update, thanks! I suspect that was just a way ridiculous digger.

          Comment

          • s0be
            Apprentice
            • Jan 2008
            • 96

            The borg is confused about everburning lanters again:

            # Waiting for 'Lantern (Everburning)' to Recharge.
            & Key <R>
            & Key <7>
            & Key <5>
            & Key <?>

            Comment

            • s0be
              Apprentice
              • Jan 2008
              • 96

              Originally posted by s0be
              The borg is confused about everburning lanters again:

              # Waiting for 'Lantern (Everburning)' to Recharge.
              & Key <R>
              & Key <7>
              & Key <5>
              & Key <?>
              and a save for good measure
              Attached Files

              Comment

              • s0be
                Apprentice
                • Jan 2008
                • 96

                Your latest version introduces itoa, which is not part of the stdlib on linux. A simple workaround is to use:

                Code:
                char *itoa(long i, char* s, int dummy_radix) {^M
                    sprintf(s, "%ld", i);^M
                    return s;^M
                }
                which works in this case as you're only using base 10.

                Comment

                • fizzix
                  Prophet
                  • Aug 2009
                  • 3025

                  So I've lately found myself staring at the borg instead of staring at my thesis defense. Which is probably a bad plan, but much more entertaining.

                  Anyway, I've been paying a lot of attention to it's inventory management, and I have some questions and possible improvements.

                  It seems that the borg fills up all the free slots of his inventory with random things it finds in the dungeon and then deletes the last entry. This often means that my warrior will be carrying around a magic and priest beginner's handbook and will chuck the broad sword of acid.

                  Easiest solution would be to delete the *first* item in the inventory it doesn't care about. Which would be spellbooks and then mushrooms, things that cell for very little money. A harder solution would be to estimate the cost of the items, and chuck the thing that sells for the least.

                  More on mushrooms. The borg seems to love gathering useless and useful mushrooms and then selling them to the BM for 5 gold. This is bad not only for the reason mentioned above, but also because it blocks better stuff from appearing in the BM by taking up its inventory spaces. A better solution would actually be to buy cheap things in the BM and chuck them, freeing up spaces. This might be hard to code though, so the interim solution would be to throw away all useless mushrooms on sight and never sell anything to the BM.

                  The borg warrior picked up a second rod of door/stairs location and promptly sold it. It's probably a good idea to keep two of each utility rods to protect from electrical damage.

                  The borg doesn't seem to consider Deep Descent scrolls as a means of escape, when it really is one of the most useful means of escape. Maybe that's a good thing though, considering how squeamish it is about running away.

                  I may actually get around to looking at the code at some point. But just wanted to share my thoughts. Thanks for the amazing product!

                  Comment

                  • Magnate
                    Angband Devteam member
                    • May 2007
                    • 5110

                    Originally posted by fizzix
                    Easiest solution would be to delete the *first* item in the inventory it doesn't care about. Which would be spellbooks and then mushrooms, things that cell for very little money. A harder solution would be to estimate the cost of the items, and chuck the thing that sells for the least.
                    Is the borg allowed to cheat? If so it could just call object_value_real() and know which was least valuable. Or it could call object_value() and use only the info it knows about the item.
                    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                    Comment

                    • APWhite
                      Adept
                      • Jul 2007
                      • 244

                      Originally posted by Magnate
                      Is the borg allowed to cheat? If so it could just call object_value_real() and know which was least valuable. Or it could call object_value() and use only the info it knows about the item.

                      The borg is able to correctly estimate the value of an item. If the item is known, or ID'd then he is very accurate in predicting the value. Unknown and unid'd items have a general value of 1gp.
                      St George Chiropractor
                      Angband Borg Homepage

                      Comment

                      • APWhite
                        Adept
                        • Jul 2007
                        • 244

                        Originally posted by fizzix
                        So I've lately found myself staring at the borg instead of staring at my thesis defense. Which is probably a bad plan, but much more entertaining.

                        Anyway, I've been paying a lot of attention to it's inventory management, and I have some questions and possible improvements.

                        It seems that the borg fills up all the free slots of his inventory with random things it finds in the dungeon and then deletes the last entry. This often means that my warrior will be carrying around a magic and priest beginner's handbook and will chuck the broad sword of acid.

                        Easiest solution would be to delete the *first* item in the inventory it doesn't care about. Which would be spellbooks and then mushrooms, things that cell for very little money. A harder solution would be to estimate the cost of the items, and chuck the thing that sells for the least.

                        What you are describing is in borg7.c in borg_crush_junk(). It will sort the inventory and crush the inventory slot which hold the least value. Only I found a mistake in there today after reviewing your post. The warrior borgs were not correctly crushing the first spellbook (it had an inventory index of zero-- same as swap armor.)

                        The borg_crush_junk() was based on depth not on clevel, so in theory a clevel 50 borg on depth 1 would keep daggers. I modified the routine so that the borg will also consider his clevel when looking at what objects he should crush.


                        Originally posted by fizzix
                        More on mushrooms. The borg seems to love gathering useless and useful mushrooms and then selling them to the BM for 5 gold. This is bad not only for the reason mentioned above, but also because it blocks better stuff from appearing in the BM by taking up its inventory spaces. A better solution would actually be to buy cheap things in the BM and chuck them, freeing up spaces. This might be hard to code though, so the interim solution would be to throw away all useless mushrooms on sight and never sell anything to the BM.
                        I have thought about doing a BM buy-out a few times. He has plenty of money by the time he's about clevel 37. It is not very hard to program, actually. I could get it done in about 2 hours of work. I haven't done so because I have never really found it to be that advantageous. I have only found stat potions to be the only BM ware of any interest. Now, if randarts showed up in the BM, that would be cool. Do you guys buy-out the BM and if so, what types of things do you look for?

                        Originally posted by fizzix
                        The borg warrior picked up a second rod of door/stairs location and promptly sold it. It's probably a good idea to keep two of each utility rods to protect from electrical damage.
                        Ya, that is not hard to do. It's probably a good idea to carry to Rods of Recall as well.
                        St George Chiropractor
                        Angband Borg Homepage

                        Comment

                        • s0be
                          Apprentice
                          • Jan 2008
                          • 96

                          In your latest update, there's an error in borg5.c

                          This:

                          Code:
                              /* Note (r_info[kill->r_idx].name)*/
                                  borg_note(format("# Creating a monster '%s' at (%d,%d), HP: %d, Time: %d, Index: %d, Danger: %d",
                                               (r_info[kill->r_idx].name),
                                               kill->y, kill->x, kill->power, kill->when, kill->r_idx), p);
                          should be:

                          Code:
                              /* Note (r_info[kill->r_idx].name)*/
                                  borg_note(format("# Creating a monster '%s' at (%d,%d), HP: %d, Time: %d, Index: %d, Danger: %d",
                                               (r_info[kill->r_idx].name),
                                               kill->y, kill->x, kill->power, kill->when, kill->r_idx, p));
                          line 1690 (final ')' for format is too early)

                          Comment

                          • fizzix
                            Prophet
                            • Aug 2009
                            • 3025

                            Originally posted by APWhite
                            I have thought about doing a BM buy-out a few times. He has plenty of money by the time he's about clevel 37. It is not very hard to program, actually. I could get it done in about 2 hours of work. I haven't done so because I have never really found it to be that advantageous. I have only found stat potions to be the only BM ware of any interest. Now, if randarts showed up in the BM, that would be cool. Do you guys buy-out the BM and if so, what types of things do you look for?
                            If I'm going for a speedy game I will use excess cash to buy out cheap slots in the BM so that something more useful (usually hoping for consumables) will get stocked there. I don't think it's worthwhile for the borg to do that. However, it shouldn't sell things to the BM unless there is a lot of money to be made (which is nigh impossible.)

                            Comment

                            • Tobias
                              Adept
                              • Dec 2009
                              • 172

                              With this char the borg stops working immediately after starting. Borg version 31.oct.
                              Attached Files
                              My Angband videos : http://www.youtube.com/view_play_lis...385E85F31166B2

                              Comment

                              • APWhite
                                Adept
                                • Jul 2007
                                • 244

                                Originally posted by Tobias
                                With this char the borg stops working immediately after starting. Borg version 31.oct.
                                Thanks, I forgot to check for identification in the new borg_equips_item() The bubbling potion in the inventory is a !Hero and he thinks he is allowed to use it.

                                I got it fixed and will upload right away.
                                St George Chiropractor
                                Angband Borg Homepage

                                Comment

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