Really Want To Fight Ancestors

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tuppe666
    Rookie
    • Jul 2007
    • 15

    Really Want To Fight Ancestors

    I have played these things for about forever and Angband and its Variants(Zangand really) and the only feature I truly miss is ghosts from my savefile. I have never come close to completing any of these games, and never cheated, but the sting of permanent death lessened by the chance of a killing really fun unique with a good drop.
  • Philip
    Knight
    • Jul 2009
    • 909

    #2
    They are gone now, but O and FA among others still have them. I suggest you look there. Are you perhaps asking for it as an option ala NPP? I don't think that will happen for some reason.

    Comment

    • CunningGabe
      Swordsman
      • Feb 2008
      • 250

      #3
      takkaria is (or at least was) interesting in having them return: see ticket #39 on the issue tracker. http://trac.rephial.org/ticket/39

      Comment

      • d_m
        Angband Devteam member
        • Aug 2008
        • 1517

        #4
        I am also interested in having player ghosts.

        Takkaria and I have tried to figure out a good way to support them without the problems that they (apparently) had.
        linux->xterm->screen->pmacs

        Comment

        • nppangband
          NPPAngband Maintainer
          • Dec 2008
          • 926

          #5
          Originally posted by d_m
          I am also interested in having player ghosts.

          Takkaria and I have tried to figure out a good way to support them without the problems that they (apparently) had.
          Check out NPP. I am happy with the way they are generated, and their strength, and most of the code is clean and "Vanilla Angbandworthy". I think they are finally balanced to 1) dangerous, but not unfair/instadeath, 2) give an appropriate reward that make them worth fighting.

          The only part that extremely ugly code (which I inherited from the old patch) is the way it stores the player_ghost names and depths of death. There are just a bunch of files in a folder that can be loaded. Instead, I want to changed so all of the default ghost templated are in an edit file that is loaded along with everything else in init.2. And then additional ghosts resulting from player deaths are added as a part of the savefile.

          I plan on changing/improving this for NPP 0.6.0 when I break savefile compatibility. Unless, of course, you all beat me to it and do your own player ghost patch. In that case, I will shamelessly piggyback on all your hard work.

          Consistent with with any and all items on the Angband wishlist that are current features of NPP, I will happily code a patch for your consideration.
          NPPAngband current home page: http://nppangband.bitshepherd.net/
          Source code repository:
          https://github.com/nppangband/NPPAngband_QT
          Downloads:
          https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

          Comment

          • Derakon
            Prophet
            • Dec 2009
            • 9022

            #6
            I should note for the record that in my OSX builds of NPPAngband, all ghosts are named "Nobody". I'd guess this has something to do with the ghost files not getting written properly, but I never bothered to investigate.

            In my ideal world, player ghosts' abilities would be based on the class of the character. Otherwise ghosts basically are semirandom unique monsters whose only connection to the dead character is the name. In a really really ideal world, you'd have a template for each class which would apply multipliers to various stats based on the level of the character at death. Then you'd end up with player ghosts that actually fight something like they did when they were alive.

            Of course, that'd mean the early levels would be littered with the ghosts of young mages...

            Comment

            • d_m
              Angband Devteam member
              • Aug 2008
              • 1517

              #7
              Originally posted by nppangband
              Check out NPP. I am happy with the way they are generated, and their strength, and most of the code is clean and "Vanilla Angbandworthy". I think they are finally balanced to 1) dangerous, but not unfair/instadeath, 2) give an appropriate reward that make them worth fighting.

              The only part that extremely ugly code (which I inherited from the old patch) is the way it stores the player_ghost names and depths of death. There are just a bunch of files in a folder that can be loaded. Instead, I want to changed so all of the default ghost templated are in an edit file that is loaded along with everything else in init.2. And then additional ghosts resulting from player deaths are added as a part of the savefile.

              I plan on changing/improving this for NPP 0.6.0 when I break savefile compatibility. Unless, of course, you all beat me to it and do your own player ghost patch. In that case, I will shamelessly piggyback on all your hard work.

              Consistent with with any and all items on the Angband wishlist that are current features of NPP, I will happily code a patch for your consideration.
              Awesome!

              I will totally look at how these work in NPP and maybe try to code up something for V to test out. If I can get ghosts saved into the savefile properly, I will try to make sure NPP can pull this feature back.

              If I have any ideas for how to improve player ghosts I'll definitely bounce those off you first.
              linux->xterm->screen->pmacs

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9647

                #8
                Originally posted by Derakon
                In my ideal world, player ghosts' abilities would be based on the class of the character. Otherwise ghosts basically are semirandom unique monsters whose only connection to the dead character is the name.
                This is how they work in FA/O.

                In a really really ideal world, you'd have a template for each class which would apply multipliers to various stats based on the level of the character at death. Then you'd end up with player ghosts that actually fight something like they did when they were alive.
                Now that is a cool idea. I must put it on one of my lists of things to do...
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • nppangband
                  NPPAngband Maintainer
                  • Dec 2008
                  • 926

                  #9
                  Originally posted by Derakon
                  I should note for the record that in my OSX builds of NPPAngband, all ghosts are named "Nobody". I'd guess this has something to do with the ghost files not getting written properly, but I never bothered to investigate.
                  Yes, this is the one part of the player ghost code taht is garbage. Because I intend to nuke that part of the code in the next month or two, I looked at it, didn't see an obvious problem, and shifted to higher priority items. In windows, it fills us the bones directory with 127 bogus templates. I don't know why.

                  Originally posted by Derakon
                  In my ideal world, player ghosts' abilities would be based on the class of the character. Otherwise ghosts basically are semirandom unique monsters whose only connection to the dead character is the name. In a really really ideal world, you'd have a template for each class which would apply multipliers to various stats based on the level of the character at death. Then you'd end up with player ghosts that actually fight something like they did when they were alive.
                  That's exactly how they work in NPP! When a player dies, it saves a file with the player's name, the depth they died, and their gender, race and class. There are a bunch of ghost race templates (vampire, skepaton, Lich, ghost, skelaton, wraith etc...) in monster.txt. When a player ghost is generated, it looks for a character ghost template that died around the dungeon depth (prepare_ghost function). It reads the player gender, race, and text, and starts making changes to the monster (prepare_ghost_race, and prepare_ghost_class). A troll ghost would get a boost in hit points and the rgeneration flag, a race with resist poison would make a ghost resist poison, the combat damage dice and sides are adjusted with the race's fighting abilities, etc... Then it does the same thing for class. A mage ghost would get spells similar to the mage spellset, depending on the spell level and ghost template level. Priest ghosts get spells similar to their spellset...fighting abilities are adjusted again according to the class's fighting abilities.

                  Essentially, every single race/class combination will produce a different player ghost. And this player ghost will also be different the deeper in the dungeon it is created. This part was rather difficult to balance, but I think after many years it is finally there. Note there are no random numbers involved in these adjustments, so the ghost is the exact same when a player exits/saves the game, then re-opens the savefile.

                  If, when a player ghost monster is created, and there has been no player death in that part of the dungeon, it generates a ghost using the name of one of the maintainers of Angband or NPPAngband. Race and class for the maintainer templates are randomly chosen, and the ghost template is taken from there.
                  NPPAngband current home page: http://nppangband.bitshepherd.net/
                  Source code repository:
                  https://github.com/nppangband/NPPAngband_QT
                  Downloads:
                  https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

                  Comment

                  • CunningGabe
                    Swordsman
                    • Feb 2008
                    • 250

                    #10
                    Originally posted by nppangband
                    That's exactly how they work in NPP! When a player dies, it saves a file with the player's name, the depth they died, and their gender, race and class. There are a bunch of ghost race templates (vampire, skepaton, Lich, ghost, skelaton, wraith etc...) in monster.txt. When a player ghost is generated, it looks for a character ghost template that died around the dungeon depth (prepare_ghost function). It reads the player gender, race, and text, and starts making changes to the monster (prepare_ghost_race, and prepare_ghost_class). A troll ghost would get a boost in hit points and the rgeneration flag, a race with resist poison would make a ghost resist poison, the combat damage dice and sides are adjusted with the race's fighting abilities, etc... Then it does the same thing for class. A mage ghost would get spells similar to the mage spellset, depending on the spell level and ghost template level. Priest ghosts get spells similar to their spellset...fighting abilities are adjusted again according to the class's fighting abilities.
                    That is really, really cool.

                    Comment

                    • buzzkill
                      Prophet
                      • May 2008
                      • 2939

                      #11
                      Originally posted by Derakon
                      Of course, that'd mean the early levels would be littered with the ghosts of young mages...
                      Casper and friends?
                      www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                      My banding life on Buzzkill's ladder.

                      Comment

                      • Nick
                        Vanilla maintainer
                        • Apr 2007
                        • 9647

                        #12
                        The other thing to point out about the O/NPP/FA system (and I think they are all essentially the same) is that the player (a) gets a message when the ghost spawns and (b) has full knowledge of it. These are really important, as they give you a chance to fight, or avoid, or leave the level immediately.
                        One for the Dark Lord on his dark throne
                        In the Land of Mordor where the Shadows lie.

                        Comment

                        • Philip
                          Knight
                          • Jul 2009
                          • 909

                          #13
                          Not instadeath? Well, probably not, but my most succesful character in O, a high-elf assasin, was killed by a Nether Wraith Ranger player ghost. 2 rounds and I was gone. Since it can go into walls, and I didn't know this, I was trying to teleport it. Kinda annoying. Still, player ghosts in the early levels are quite useful to kill, since they have drops. Unless they were a druid and go crazy summoning and stuff.

                          Comment

                          • nppangband
                            NPPAngband Maintainer
                            • Dec 2008
                            • 926

                            #14
                            Originally posted by Nick
                            The other thing to point out about the O/NPP/FA system (and I think they are all essentially the same) is that the player (a) gets a message when the ghost spawns and (b) has full knowledge of it. These are really important, as they give you a chance to fight, or avoid, or leave the level immediately.
                            Excellent points! I knew I forgot something.

                            I actually don't remember where I got the player ghost option from. Was it a patch? Has it always been a part of Oangband? Or may be from the old, old, old Angband source.
                            NPPAngband current home page: http://nppangband.bitshepherd.net/
                            Source code repository:
                            https://github.com/nppangband/NPPAngband_QT
                            Downloads:
                            https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

                            Comment

                            • d_m
                              Angband Devteam member
                              • Aug 2008
                              • 1517

                              #15
                              Originally posted by nppangband
                              Excellent points! I knew I forgot something.

                              I actually don't remember where I got the player ghost option from. Was it a patch? Has it always been a part of Oangband? Or may be from the old, old, old Angband source.
                              I think player ghosts used to exist in V, or at least, code to support them used to exist in V.
                              linux->xterm->screen->pmacs

                              Comment

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