[MUD-Dev] believable NPCs (was Natural Language Generation)
Malcolm W. Tester II
malcolm.tester at comcast.net
Tue May 25 16:37:17 CEST 2004
Michael Sellers wrote:
> Believable characters OTOH -- with or without NLG -- will make
> gameplay much more immersive and consequential. Imagine asking a
> tavern keeper NPC for info on where to buy good weapons. Consider
> how his responses might differ based on whether he's seen you
> before, whether you tipped well last time, whether and how he's
> heard other NPCs (and PCs) talk about you, and, say, whether he
> heard you were flirting heavily with the blacksmith's daughter
> (whom he happens to be in love with), or were the one to save her
> from ruffians. This goes way beyond script- or knowledge-based
> responses, but provides much more interesting player-related
> context for even the simplest menu-driven interactions.
This whole approach is, in my mind, quite doable. Referring back to
my mud, I have something like this laid out on paper. It's one of
the things not implemented yet. I would say a couple years or so
ago, this may not be possible (reasonably) for an lpmud using the
Amylaar/Ldmud driver. However, with MySQL support (and I've
considered writing code to let it use MS SQL, shouldn't be that
hard), you can store all the data you need quite easily. I've gone
back and forth an actually implementing it, because it really goes
hand in hand with world persistence, IMO. I'm not sold on how far I
should take world persistence. Should they remember until the next
reboot or crash? Should they remember real-time for a month,
several months, forever? It depends on whether the mud in general
works the same way. For my ideas, world persistence is a catch 22.
I need it for shops, economy, etc. However, for quests, I would
have to write much more content. If you take a mish mash of the
two, it could work rather well, but I would have to let go of
realism and hold more to fun, enjoyment, etc.
Anyway, for the above concept, the database would simply have an
entry for each monster/NPC you care to register. You could do this
globally (and thus the green troll in the mountain cave could
remember who killed him, and how many times, and react more
aggressively each time, or run away or something), or just for real
NPCs that aren't for killing, as mentioned above. With a wide
enough variety of cause and effects, the player would really enjoy
it, I think.
To reinforce the idea, I created a monster once where he reacted to
soul emotions, actions, etc. You could kiss him, kick him, kill
him, give him items, whatever. He would react appropriately to each
action. A kick would earn you a swift beating (resulting in real
loss of HPs, maybe being chased out of the room too). Trying to
kill him would earn you a swift death, and a beating any time he saw
you for the next few days. And if you attacked and ran, he would
chase you down. (His theme was that of an older, wiser, more
experienced, "back off" kind of guy. Someone you just don't want to
mess with). Strangely enough, players LOVED him. They would
complain out the wazoo about him, but you'd see gangs of players
taking him out, just to do it. Or interacting with him in other
ways. Very intersting. Sadly, I moved on to other things and he
became outdated in comparison to some of the core mud code, and I
shut him down. That lead to numerous emails requesting him back,
how everyone missed him, etc. I didn't have the time or desire to
code on this mud anymore though, so I never resurrected him. But he
was what lead to my desire to make it world-wide in my mud.
-Malc
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list