Wednesday, June 4, 2014

Player ghosts

I would like to introduce the latest new feature in ADOM: Player ghosts. This is the first big feature for the planned Steam release (and also the fist big Deluxe only feature). More than 2,000 lines of new code hopefully will make player ghosts a memorable and fun feature.

The basic idea was to make players not just an interesting opponent (and they should be due to a very varied set of abilities) but make them a great memory of a past character. Thus individualization and back references to the past character are a big focus. And naturally past character skills will also factor into the abilities of the ghost.

Basically ADOM takes the dead character and derives a player ghost from it (sometimes) due to a complex set of rules and checks. All aspects starting with PV and DV and ending with special abilities (death wail anyone, cough, cough?). Additional the knowledge of the dead player character is taken into account, his abilities and even some of his equipment. Particular care has been taken to provide an individualized and interesting description of each player ghost. The following screenshots provide some samples for ASCII mode:

Encountering a ghost...

Fighting it...

Facing a former warrior...

And later facing the remains of my brave gnomish wizard...

There are many more details and the ghosts of more experienced characters will probably be good for a surprise or two. The real fun IMHO will not only to be visited by memories of former games but by meeting ghosts from other adventurers. I hope you will enjoy it!

The one thing left to be implemented is the actual networking code that in the future will allow Steam players to exchange player ghosts. Or rather: the code that allows ADOM to do so as exchange is a decision of the game and not the player ;-) Thus you suddenly might be forced to fight ghosts of characters from your friends. I'm very much looking forward to interesting highscores entries :-)

BTW, I have tried to take care of the power of player ghosts: There are checks in place to
  • prevent unseemingly dangerous encounters,
  • limit ghost powers somewhat,
  • make ghosts a rare and exciting but not totally unlikely encounter and
  • provide some early experiences with player ghosts.


  1. Do player ghosts haunt the place they died? So if I die in the small cave, my ghost is more likely to appear there for others? That'd be pretty cool - but perhaps quite complex to implement.

    It would make low level characters deaths make for a more 'level appropriate' ghost if they haunt the sites of their demise though - except for wilderness deaths of cause... perhaps they're free to roam.

    1. That's a fantastic idea. I hope that's possible.

    2. They are more likely to pop up in the place where they actually died, yes. But I guess we'll have to experiment a little bit with that as ADOM currently does the following:
      - It internally creates a crypt (the place where all ghosts go).
      - For most locations it checks during the first time a map is created if a ghost should be added (to prevent ghost inflation in long games this is only done the first time).
      - If a ghost is to be placed it prefers ghosts that died in the location to others.

  2. I love the Idea, staying in a plane of existence(their own dimention, or a very similar one?) that still does not give them spiritual peace.

    also I'd like to ask you a few questions...

    1) Would you like a hand to make the descriptions more varied, in a similar way you got some collaboration for the Chaos Knight stories?

    2) What do you think about making a neutral version of ghosts that found a more peaceful rest and just happen to be travelling around the planes?

    1. Regarding #1: Getting help with more varied descriptions is very welcome! I'll do a separate blog post about that although it's kind of hard for me to describe what I need exactly :-D

      Regarding #2: What would their in game use be?

    2. #1

      you might be looking for parts to assemble a mix, right? like for example "his * seems to be % "

      * = eyes, forehead, hands, teeth, etc.

      % = Torn apart, broken, mangled, emiting a stench, in perfect condition, etc.

      and similar terms like:

      seems to be = appears, looks as if it's, has a %(1),(2) aspect

      His = This person's, The spirit's figure, etc.


      What about having a tool called 'inciense' to and when you 'U'se one of these it raises your alignment as you as are giving him a tribute for his soul.

      I also have a second use, if you like it, if you do something in particular for the hero, he might want fuse with your weapon, creating a sentient weapon.

      for example:

      Thwylzid the Mist Elven Priest, became a Heroic Ghost, and decides to incarnate in Thenbyrn, the Dwarven Weaponsmith's Hammer for his noble deeds

      Creating a sentient weapon... The flaming adamantium warhammer of thunder "Thwylzid"

      Do you like it?

  3. "Vile spirit"? May I suggest "fallen hero" or something more along those lines? And please drop the forsaken/loveless/lost suffixes from the name (but still include in description) so the messages don't get as crowded.

    1. I actually love the suffixes. I'll only drop them if a majority of people hates them. Many possible suffixes actually are related to the former PC and indicate something about him. So for now: now, sorry :-) Pet peeve ;-)

    2. These are just examples, after all. I like the suffixes, even if it's saddening to see an old character meet such a dismal fate. :-)

      Another thought--would it be possible for characters killed by vampires or spectres to come back as the same monster type? :-)

  4. Love the idea.

    The motive of the description can also be derived from the alignment and piety level (crowned...)

    So it will make the early game very undead heavy.
    Remember the 80/20 rule, 80% (or move) of the PC die in the SMC/DV/DD/PCave ...

  5. Since there is no upper limit of dead characters you can have, would it be possible to give characters permanent piece and eliminate them from future encounters? Say, if you have more than 100 dead characters.

    There could be also some perks of having your dead character put to rest by someone else. Achievements, etc.

  6. I love this idea too. I just wanted to share a cautionary tale: years ago when I played NetHack all the time, the bones files built up into the dozens and I was encountering the ghost of a past self on almost every level. I didn't like that, and started deleting them from the folder. So please make sure that the probability of encountering a ghost doesn't scale with the number of PCs in the crypt.

  7. Very cool :) I'd recommend making them more likely in the two graveyards, and removing them altogether from the small cave (too nuts!) Make a player ghost a possibility as an arena champion to spice that up too. And always, always include a level 50 corrupted player ghost on D50 alongside the balors :D

  8. Does a ghost possess any of the items of the former hero? I guess no, because it seems too difficult to balance this.

    On the other hand, it would be fun if the player could learn how the other player died. Maybe he could simply read the highscore log? Or some parts of it.
    For example: "he was electrocuted by a magically charged armor". This way, players can even learn something useful from other players' ghosts =)

  9. What if a vampire kills your character? Wouldn't be also nice to face a vampire version of your dead character?

    It would be cool for the vampire getting more powerful depending of his age, how many characters ago he died :D

  10. One of my former heroes has slain many, many of his descendants...