Coder Transparency - Procedurally generated NPC short descriptions

Started by nessalin, December 14, 2018, 04:54:49 PM


A few weeks ago a feature was addded allowing builders to have NPCs generate
semi-random short-descriptions when created.  An NPC is created when the game
boots, a staff member loads the NPC, a zone resets where the NPC should exist
(but currently does not), from scripts, and so on.

In the past each NPC had a single short description.  This meant if four
different gith were needed for an encounter someone had to, at the least, copy
a gith four times into new slots and then then update each one of those copies
to vary their short descriptions.

The new system allows a single NPC to have a pattern the game will apply
randomly to generate a short description each time the NPC is loaded.

An example would be setting a value of:
a [red|brown|black]-eyed, [bald|braided] gith

Would generate one of the following each time that NPC is loaded:
a red-eyed, bald gith
a red-eyed, braided gith
a brown-eyed, bald gith
a brown-eyed, braided gith
a black-eyed, bald gith
a black-eyed, braided gith

Further these values can be nested infinitely:
a [shaved|[black|brown|red]-haired] gith

Would generate one of the following each time the NPC is loaded:
a shaved gith
a black-haired gith
a brown-haired gith
a red-haired gith

Or even:
a [shaved|[black|brown|red[ish brown|]]-haired|[dragon|snake|[desert |]rat]-tattooed] gith

Would generate one of the following each time the NPC is loaded:
a shaved gith
a black-haired gith
a brown-haired gith
a red-haired gith
a reddish brown-haired gith
a dragon-tattooed gith
a snake-tattooed gith
a desert rat-tattooed gith
a rat-tattoed gith

With infinite nesting, limited only by the game's memory when generating the
short description is generated, the variations get complex without too much
effort.  All other values on the NPC (gear, skills, tribe values, etc..) remain
the same, it only looked different.

That said, two NPCs that use same values to generate the same 30 possible
short-descriptions could have very different skills and stats.  This would
lead the NPCs being less predictable purely based on short description.
"Unless you have a suitcase and a ticket and a passport,
The cargo that they're carrying is you"


But will it give random backgrounds for those hordes of NPCs we slaughter? I want to know OOCLY, that they had a family!

That is pretty fucking amazing.

Nice work!  ;D

I worked for a mobile video game company that did something similar for the various opponents in poker.  It went so far to have icons for the players generated.

I was the custom support team, and I sometimes would receive emails from players who were convinced the randomly generated NPCs each had a different personality and poker play style, and would comment how the players enjoyed the variety in the AI we created.

In reality, there was no difference in code for the randomly generated AI, but the players were fully convinced there was.

This is an amazing and awesome addition to the game!

New Players Guide: http://gdb.armageddon.org/index.php/topic,33512.0.html


Quote from: Morgenes on April 01, 2011, 10:33:11 PM
You win Armageddon, congratulations!  Type 'credits', then store your character and make a new one

Love it.
Wynning since October 25, 2008.

Quote from: Ami on November 23, 2010, 03:40:39 PM
>craft newbie into good player

You accidentally snap newbie into useless pieces.


Discord:The7DeadlyVenomz#3870

Y'all know I'm a massive fan of this. I'm also excited for the possibilities it opens up for future updates.

Procedurally generated item sdescs, anyone...? :D

It would be great for the deserts and out of doors places, but I found having it on the npc half-giant soldiers, drew a lot more attention, to just how MANY there are. I would maybe keep it, generally, for the faceless hoards pcs tend to engage a lot with, but in a shallow sort of way.

It would add some character to them, even if it's only in passing.

Seeing four half-giant soldiers, all with a slight variation of hair, standing around... I don't know why, but I found it a little jarring, even though, technically, it would make having to fight them easier to process, from a combat POV.
"Mortals do drown so."

The old Shadows of Isildur game had a system like this.  It was used less for soldiers and more for randomly wandering peasants, and i think IIRC they may have been what drove the 'random' purchases in shops, if I'm remembering correctly.

I like this idea. I guess I understand what Vex means, but to me its kind of cool.

Random peasants would also be cool, having a bunch of dirty/disheveled, red/brown/black-haired woman/man/elder would be kind of neat. It would mentally make it easier to kill them all during the next blight, like a plague or comet or something, because you put less work into them.
https://armageddon.org/help/view/Inappropriate%20vernacular
gorgio: someone who is not romani, not a gypsy.
kumpania: a family of story tellers.
vardo: a horse-drawn wagon used by British Romani as their home. always well-crafted, often painted and gilded