Borg update

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • roustk
    Adept
    • Dec 2007
    • 167

    #16
    Originally posted by APWhite
    BTW, how old is the borg code that you are working with. It is updated every few weeks.
    The downloaded zip is dated Aug 11, 10:07. I don't know whether that is the time I downloaded it or whether that is when you posted it, however. Definitely this week, though.

    I have made three changes, and now the borg seems to be dying in typical ways (last good char was fighting a Cherub and ARedD, got in trouble, tele self, landed among a pack of gravity hounds).

    The changes are these:
    * borg5.c around line 3566, in borg_update_map(). PASS_WALL monsters tell the borg nothing about what they are standing on, so leave the map unchanged.
    Code:
                        /* Mark old wall/door grids as probable floor grids */
                        if (!borg_cave_floor_grid(ag))
                            {
                              if (!(ag->kill))
                                ag->feat = FEAT_INVIS;
                              else
                                /* Leave PASS_WALL monsters alone */
                                if (!(r_info[borg_kills[ag->kill].r_idx].flags2 
                                    & RF2_PASS_WALL ))
                                  ag->feat = FEAT_INVIS;
                            }
    * borg6.c around line 10488, in borg_defend_aux_tele_away(). Add an explicit check for monsters standing on FEAT_WALL_SOLID.
    Code:
            /* Never shoot through walls */
            if (!(ag->info & BORG_VIEW)) continue;
            if ((ag->feat & FEAT_WALL_SOLID)) continue;
    * borg6.c, in borg_log_spellpath(). As you point out, they only affect logging, not behavior.

    I'm still shocked at how well the borg does with a horrible character. It is still getting about 1-in-30 artifactless Half-Troll Mages to clvl 40 and dlvl 30, and has gotten several below 2000'. Very good playing logic.

    Comment

    • roustk
      Adept
      • Dec 2007
      • 167

      #17
      Originally posted by roustk
      I have made three changes, and now the borg seems to be dying in typical ways (last good char was fighting a Cherub and ARedD, got in trouble, tele self, landed among a pack of gravity hounds).
      The borg demonstrating why tele self is a last resort. If you walk out of a room and see Bill coming up the hallway towards you, teleport him away, not yourself. This was a level 41 HT Mage at 1750':
      Code:
      & Key <1>
      # Creating a monster 'Bill the Stone Troll' at (10,104), danger: 38, HP: 1100, Time: 1161, Index: 344
      # Loc:9,104 Dep:35 Lev:41 HP:517/517 SP:321/328 Danger:p=2000
      # Protected by Resistance (borg turns:13; game turns:8)
      # Protected by Mystic Shield
      # Protected by PFE
      # Casting Teleport Self (1,5).
      & Key <m>
      & Key <b>
      & Key <f>
      # Danger Level 1.
      The Gravity hound breathes gravity.
      The Gravity hound resists. <3x>
      Gravity warps around you.
      You feel yourself moving slower!
      You have been stunned.
      It breathes gravity.
      Gravity warps around you.
      The Gravity hound breathes gravity.
      Gravity warps around you.
      You have been heavily stunned.
      The Gravity hound breathes gravity.
      Gravity warps around you.
      It breathes gravity.
      Gravity warps around you.
      The Gravity hound breathes gravity.
      The Gravity hound resists. <3x>
      The Giant yellow scorpion disappears!
      The Gravity hound resists. <3x>
      Gravity warps around you.
      The Gravity hound breathes gravity.
      The Gravity hound resists. <2x>
      Gravity warps around you.
      You have been knocked out.
      The Gravity hound breathes gravity.
      The Gravity hound resists.
      Ignoring Messages While KO'd
      The Gravity hound resists.
      Gravity warps around you.
      You die.

      Comment

      • roustk
        Adept
        • Dec 2007
        • 167

        #18
        I don't think I've ever seen a death like this one. I can't fault the borg for this death, however.

        The borg was playing around with a 5-headed Hydra in the moat around a jelly pit on 2150'. It decided, quite reasonably, to shoot-n-scoot. Unfortunately, a phase door landed next to a pile of Death molds. Not quite sure how many, but they got 22 attacks and killed a full-health 571 HP character before the next move.

        Code:
        The 5-headed hydra misses you. <4x>
        # Creating an object '& Iron Shot~' at (153,9)
        # Possibility of being surrounded (2/0)
        # Loc:9,150 Dep:43 Lev:47 HP:571/571 SP:16/287 Danger:p=53
        # Protected by Mystic Shield
        # Protected by PFE
        # Safe to Shoot'N'Scoot. scary squares: 17/100
        # Casting Phase Door (0,2).
        & Key <m>
        & Key <a>
        & Key <c>
        # Shoot N Scoot. (Danger Level 7.1)
        The Death mold releases spores at you. <2x>
        It gestures in shadow.
        Darkness surrounds you.
        The Death mold releases spores at you. <4x>
        You feel your life draining away!
        The Death mold releases spores at you. <3x>
        It gestures in shadow.
        Darkness surrounds you.
        The Death mold releases spores at you. <5x>
        You feel your life draining away!
        The Death mold releases spores at you. <2x>
        You feel your life draining away!
        It gestures in shadow.
        Darkness surrounds you.
        The Death mold releases spores at you. <2x>
        It draws psychic energy from you!
        The Death mold releases spores at you. <4x>
        You die.

        Comment

        • Zikke
          Veteran
          • Jun 2008
          • 1069

          #19
          Have you posted the update that makes it not continue to try to TO when the target is in a wall? I just lost another high level one to that bug
          A(3.1.0b) CWS "Fyren_V" NEW L:50 DL:127 A++ R+++ Sp+ w:The Great Axe of Eonwe
          A/FA W H- D c-- !f PV+++ s? d P++ M+
          C- S+ I- !So B ac++ GHB? SQ? !RQ V F:

          Comment

          • roustk
            Adept
            • Dec 2007
            • 167

            #20
            A couple of these deep mages have been killed by invisible monsters. The message log indicates that they were invisible ("It"), but the borg thought that it could see invisible:
            Code:
            skill 1203 (_SINV) value= 1.
            skill 1347 (_DINV) value= 1.
            Looking through their equipment, I don't see anything that grants SInv (artifactless game).

            I think that this error may be due to an apparent change in the mage spellbooks -- "Detect Invisible" is a one-turn effect, not a timed effect. This means that the borg_see_inv value is probably being set wrong in borg6.c around line 11722.

            I've moved the borg_spell_fail() call below "snap shot" rather than below "long time". Testing whether that helps.

            Edit: The last one killed had this equipment at 2200':
            Code:
            a) a Pike of *Slay Animal* (2d5) (+12,+9) (+2)
            b) a Long Bow of Accuracy (x3) (+18,+10)
            c) a Ring of Resist Poison
            d) a Ring of Intelligence (+5)
            e) an Amulet of Sustenance
            f) a Wooden Torch of Brightness (3225 turns)
            g) Balance Dragon Scale Mail (-2) [30,+8] (charging)
            h) a Cloak of the Magi [1,+10] (+2)
            i) a Large Metal Shield of Elvenkind [5,+13] (+1 to stealth)
            j) a Golden Crown of Serenity [0,+9]
            k) a Set of Leather Gloves of Free Action [1,+8]
            l) a Pair of Soft Leather Boots of Speed [2,+9] (+6)

            Comment

            • Big Al
              Swordsman
              • Apr 2007
              • 327

              #21
              I'll take a look at making a os x version of this in the next couple weeks (if I can find the time). I found a mac screen saver for 306 at http://ridiculousfish.com/angband/ that will probably be a good place to start, I think.

              It's always impressive to watch - thanks for the new version!
              Come play Metroplexity!
              Un, V MX H- D c-- f- PV s- d+ P++ M+
              c-- S I++ So+ B+ ac- !GHB SQ RQ+ V+

              Comment

              • APWhite
                Adept
                • Jul 2007
                • 244

                #22
                Originally posted by roustk
                * borg6.c around line 10488, in borg_defend_aux_tele_away(). Add an explicit check for monsters standing on FEAT_WALL_SOLID.
                Code:
                        /* Never shoot through walls */
                        if (!(ag->info & BORG_VIEW)) continue;
                        if ((ag->feat & FEAT_WALL_SOLID)) continue;
                * borg6.c, in borg_log_spellpath(). As you point out, they only affect logging, not behavior.

                I'm still shocked at how well the borg does with a horrible character. It is still getting about 1-in-30 artifactless Half-Troll Mages to clvl 40 and dlvl 30, and has gotten several below 2000'. Very good playing logic.

                Thanks for you help. The borg is very much a team effort. I have incorporated your proposed edits and expanded
                Code:
                        /* Never shoot through walls */
                        if (!(ag->info & BORG_VIEW)) continue;
                        if ((ag->feat & FEAT_WALL_SOLID)) continue;
                to this:
                Code:
                        /* Never shoot through walls */
                        if (!(ag->info & BORG_VIEW)) continue;
                        [B]if ((ag->feat >= FEAT_RUBBLE) &&
                            (ag->feat <= FEAT_PERM_SOLID)) continue;[/B]
                which might help him on all walls, including rubble, quartz, granite, and perms.
                Thanks again for your input.
                St George Chiropractor
                Angband Borg Homepage

                Comment

                • Skelwing
                  Rookie
                  • Jun 2008
                  • 14

                  #23
                  I've noticed that when the borg encounters a stuck door as opposed to a locked one, he will persist in trying to 'o'pen it rather than 'B'ashing it, tunneling around it, or moving in another direction entirely.

                  Not too serious of a bug, but it seems like it should be simple to fix.

                  Comment

                  • roustk
                    Adept
                    • Dec 2007
                    • 167

                    #24
                    Originally posted by roustk
                    I think that this error may be due to an apparent change in the mage spellbooks -- "Detect Invisible" is a one-turn effect, not a timed effect. This means that the borg_see_inv value is probably being set wrong in borg6.c around line 11722.

                    I've moved the borg_spell_fail() call below "snap shot" rather than below "long time". Testing whether that helps.
                    I haven't seen any more deaths like that, so it seems to have fixed the problem.

                    The borg now seems to be dying in perfectly reasonable ways, so I'm going to be digging into borg.txt (the main config file) to figure out how to:
                    1) Convince the borg to genocide hounds often. A level 30 mage with Kelek's should never die due to Gravity, Time, or other hounds.
                    2) Convince the borg that using *Heal* is better than CCW when below 200HP and facing a big breather.
                    3) Convince the borg to protect its HP a bit more (118 HP, 45 SP, fighting Kavlax -- quaffing !RMana cannot be the correct choice). Lots of other deaths of this ilk -- under 300HP, no !Heal, and the borg does something not immediately helpful.
                    4) Convince the borg to favor CON over INT for these Half-Troll Mages. I haven't seen one with over 625 HP, even though HT Mages can reach 900 HP. At the very least, the borg should favor =CON and =INT over 2 =INT.
                    5) Convince the borg that TeleLevel is a good escape. Of course, first I need to convince myself of that.


                    The borg is still getting about 3% of these artifactless Half-Troll Mages to clvl 40. Roughly 60 of the 2000 run in the last week or so have advanced that far.

                    The six that pased dlvl 50 (2500') died to a Gravity hound, an Ethereal dragon, a Great crystal drake, and three due to Time hounds.

                    The two that died at clvl 50 died to:
                    * an Ancient bronze dragon (trying to walk away with under 100 HP but 300 SP)
                    * a Great crystal drake (waiting for recall with 250 HP).

                    Three others died at clvl 49 but had reached clvl 50:
                    * a Time hound (TeleSelf away from a Master Lich into a pack of Time hounds)
                    * a Time hound (offscreen, after TeleSelf away from a pack of Time hounds into a pack of Cave Trolls)
                    * a Time hound (TeleSelf away from pack of Time hounds into room with an Ancient White and Ancient Black, TeleSelf back to the Time hounds)

                    Comment

                    • roustk
                      Adept
                      • Dec 2007
                      • 167

                      #25
                      Originally posted by roustk
                      1) Convince the borg to genocide hounds often. A level 30 mage with Kelek's should never die due to Gravity, Time, or other hounds.
                      *None* of these mages have ever cast Genocide or Earthquake, even for the experience. It appears that there must be something wrong with Kelek's.

                      Edit: this is based on the "Spells" section of the *.map files.

                      Comment

                      • APWhite
                        Adept
                        • Jul 2007
                        • 244

                        #26
                        Originally posted by roustk
                        I haven't seen any more deaths like that, so it seems to have fixed the problem.

                        The borg now seems to be dying in perfectly reasonable ways, so I'm going to be digging into borg.txt (the main config file) to figure out how to:
                        1) Convince the borg to genocide hounds often. A level 30 mage with Kelek's should never die due to Gravity, Time, or other hounds.
                        2) Convince the borg that using *Heal* is better than CCW when below 200HP and facing a big breather.
                        3) Convince the borg to protect its HP a bit more (118 HP, 45 SP, fighting Kavlax -- quaffing !RMana cannot be the correct choice). Lots of other deaths of this ilk -- under 300HP, no !Heal, and the borg does something not immediately helpful.
                        4) Convince the borg to favor CON over INT for these Half-Troll Mages. I haven't seen one with over 625 HP, even though HT Mages can reach 900 HP. At the very least, the borg should favor =CON and =INT over 2 =INT.
                        5) Convince the borg that TeleLevel is a good escape. Of course, first I need to convince myself of that.


                        The borg is still getting about 3% of these artifactless Half-Troll Mages to clvl 40. Roughly 60 of the 2000 run in the last week or so have advanced that far.

                        The six that pased dlvl 50 (2500') died to a Gravity hound, an Ethereal dragon, a Great crystal drake, and three due to Time hounds.

                        The two that died at clvl 50 died to:
                        * an Ancient bronze dragon (trying to walk away with under 100 HP but 300 SP)
                        * a Great crystal drake (waiting for recall with 250 HP).

                        Three others died at clvl 49 but had reached clvl 50:
                        * a Time hound (TeleSelf away from a Master Lich into a pack of Time hounds)
                        * a Time hound (offscreen, after TeleSelf away from a pack of Time hounds into a pack of Cave Trolls)
                        * a Time hound (TeleSelf away from pack of Time hounds into room with an Ancient White and Ancient Black, TeleSelf back to the Time hounds)
                        I appreciate the comments, but this thread is probably not the best place for it. Sending emails is the best way. I can make some comments on the recommendations above.

                        The borg does genocide Hounds and other "nasties." It is a defence maneuver and also done at the beginning of each depth. It's actually pretty funny to watch a high level mage land on depth 75. The very first thing he'll do is illuminate the dungeon and Genocides all hounds on the level. The borg will also keep a count of certain "nasties" and genocide them if they get too numerous on a level. You can find this in borg6.c search for genocide_nasties, or even just nasties.

                        !*Heal* are treasured by the borg, he really tries to conserve them as much as possible. He is allowed to use them and the heuristic is a bit complex, but he will use them. He is just not very liberal with them. He would rather tport out of danger (and into some) than quaff the !*Heal*.

                        Favoring one stat over another is already programmed into the borg. You can edit the borg.txt under the borg_worships stuff. It is true that mages try to maximize their mana.

                        TportLevel is programmed into the borg. He uses it to flee danger. You can read it in borg_escape() in borg6.c He does know to carry them and even store them. If you have some other recommendations for it, let me know.

                        I am happy to review any .map files of odd deaths (like that mage who walked away with 100hp and 300mana).

                        If you guys ever want to know how to get the borg to do something special, just send an email to me. (I dont get to the forum very often.) I can point you to the exact section of code that needs to be altered. It can save you hours of hunting.

                        Thanks for the input and recommendations. The borg is far more successful now that he was 14 years ago when I took over.
                        St George Chiropractor
                        Angband Borg Homepage

                        Comment

                        • APWhite
                          Adept
                          • Jul 2007
                          • 244

                          #27
                          Originally posted by roustk
                          *None* of these mages have ever cast Genocide or Earthquake, even for the experience. It appears that there must be something wrong with Kelek's.

                          Edit: this is based on the "Spells" section of the *.map files.
                          I will get on this right away. Genocide and Earthquake are common for the borg. He has used them successfully for years.
                          St George Chiropractor
                          Angband Borg Homepage

                          Comment

                          • roustk
                            Adept
                            • Dec 2007
                            • 167

                            #28
                            Originally posted by APWhite
                            I am happy to review any .map files of odd deaths (like that mage who walked away with 100hp and 300mana).
                            Check your email for that example.

                            Comment

                            • Caesum
                              Rookie
                              • Aug 2008
                              • 12

                              #29
                              borg problems

                              A couple of things I've noticed about the latest borg:

                              1/ the borg seems to generate a lot of beeps like it's pressing wrong keys or something?
                              2/ sometimes the borg seems to get stuck on a level and wonders around occasionally digging holes aimlessly and eventually dies of starvation.
                              3/ a few seemingly good borgs have lost all WoR presumably and then tried ascending via stairs and ended up dying of starvation. I think this could be avoided by either carrying more WoR and if they get too few through losses then reading one.

                              Comment

                              • Caesum
                                Rookie
                                • Aug 2008
                                • 12

                                #30
                                one other thing

                                one other bug - i caught him trying to attack a door thinking it was a monster, think he was hallucinating or something but the monster disappeared when i tried to move him?

                                Comment

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