Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > Advanced MUD Concepts
Click here to Register

Reply
 
Thread Tools
Old 01-25-2003, 02:06 PM   #1
Lodes
New Member
 
Join Date: Apr 2002
Location: California
Posts: 15
Lodes is on a distinguished road
Send a message via AIM to Lodes
Smile

Hello,

 Muds often do not have any good Artificial Intelligence. The only interaction with npc's and players are through some extremely simple scripts. I do believe it is also why a lot of muds that require rp, like Mushes and such, do not create npc's but player assume they are around. My mud is required to have npc's and thus I would like to get some ideas into making the interaction much better.

 I was thinking that there could two (or even three if you take a middle) to approach the problem. The first approach would be to create a much more advanced scripting system where the problem of AI would rest in the builder's hands. To make npc's much more interactive we need a way for them to remember and thus I would propose that builders could create their own kind of little database with scripting, by storing some important information. Then another mob in another area or the same area or even the same mob, could fetch that information from the database, and give an appropriate response. The major flaws I see from this approach are that it is an extreme amount of work for the builder, and still has a lot of limits.

 Another approach might be to give each npc's some sort of occupation, and each would try go to specified rooms and maybe have some sort of scripted text so that they can interact with other npc's but yet this doesn't solve how they can interact with the player. But yet, we have to remember that not the entire world interacts with you. Like if you are walking down the street, maybe the most interaction you have is say hi, once in a while.

  So all you'd have to do is only make some mobs remember, and make them all have some sort of occupation. One could just be there to walk the streets, another one could be a waiter, who can remember you if you come back enough and maybe give you a free drink (thanks to saving what happens in a text file).

  I am sorry, but I had a hard time expressing my ideas. But how could AI be approached in a particular zone. (Like not AI from mobs that create their own cities, but AI from a city that already exists and that will probably never grow or shrink to any detectable proportions.)

Thank you,
                                                     Lodes.
Lodes is offline   Reply With Quote
Old 01-25-2003, 02:49 PM   #2
shadowfyr
Senior Member
 
Join Date: Oct 2002
Posts: 310
shadowfyr will become famous soon enough
shadowfyr is offline   Reply With Quote
Old 01-25-2003, 03:31 PM   #3
OnyxFlame
Member
 
Join Date: Aug 2002
Posts: 153
OnyxFlame is on a distinguished road
Post

OnyxFlame is offline   Reply With Quote
Old 02-22-2003, 08:09 PM   #4
xanes
New Member
 
Join Date: Feb 2003
Posts: 29
xanes is on a distinguished road
Very clever ideas about fear and want.

There must be simple (fast) ways to evaulate risk/reward because unlike the real-world's parallel processing in everybodies head, the MUD has one central brain.  

Level ranges would suffice in most situations to determine combat risk.  Some amout of unique detail would also be required.  For instance, Joe the NPC would only be venturing to the pub because his alcohol requirement had inched above his stationary thresh-hold.  I.e. he decided it was worth it to pop in for a pint.

Now, as is so often the question, we wonder how much detail to we want? Will eating and sleeping be sufficient to power a dynamic world?  Would mating be worth implementing?  Offspring?  There's no end to the "realistic world wish-list", is there?  

Well, I'm rambling and not really making any new points, so I'll get about my business:

While catch-alls are fine for generic mobs "citizen" "field-mouse" etc., some serious scripting would be required for every mob with any kind of AI.

As for Eliza and the other NLP bots, I haven't seen a way to make them do anything but add flimsy phony atmosphere that completely decays if you step outside their lexical analysers.  And RP is hard enough to enforce w/o completely banning colloquialism.

Well, that's all I can think to say.

-Xanes -=- Lone Programmer WinterMUTE
xanes is offline   Reply With Quote
Old 02-23-2003, 11:48 AM   #5
OnyxFlame
Member
 
Join Date: Aug 2002
Posts: 153
OnyxFlame is on a distinguished road
Post

Well, there's several other "wants" I can think of right off hand that'd work well. Given, most of them rely heavily on concepts included in the MUD I play, but some of them could be used anywhere.

Combat practice. Frank the NPC has all these weapons and nothing to do with him, so he decides he wants to spar. So he wanders towards the nearest person (PC or NPC) and asks them to spar. (Of course this would require other NPC's to be able to respond to this.) If they say yes, a fight ensues until one or the other decides they have better things to do. If they say no, then Frank wanders around until he either finds someone else to spar or finds something else he'd rather do.
(Of course the way DM works, Frank wouldn't be able to change his combat allocs unless they did some SERIOUS tweaking, so there's only so much he could learn anyway. But it might work for other less complicated systems.)

Crafting practice. It'd be too much of a pain in the ass for every NPC who wanted to craft to go grow a crop of flax or piddle around in the mine, so here's my idea. They look in nearby shops for materials needed for their practice, and if the stuff isn't there, they wander around telling every passing PC what they want and how much they're willing to pay for it. Of course once they get it, nothing's stopping some other PC from stealing their stuff, or killing them.

And of course some would want to buy clothes or armor or weapons, in which case they'd use the same method as wanting materials to craft with.

Thief type NPC's could wander around trying to rob people, sneak through town, etc. Mage NPC's I'm not quite sure how they'd work, at least with DM's setup, because I don't think our magic system could be scripted into an NPC very well, but with other setups you might see random mage NPC's practicing or going to buy reagents or blowing stuff up.

The main problem I see with highly developed NPC's in a skill-based MUD is this: how much do they know? Do they know that you have to craft x before you're good enough to craft y? Do they know that this room is too bright for them to hide in and some PC is gonna kill them if they see them? You could probably code in knowledge of all the difficulties of stuff they're likely to experience, but then all the PC's would have to do is watch the NPC's wander around doing stuff in order to figure out the most efficient way to do it.

So it looks like I've run into a wall. Not because my ideas have no merit or can't be coded, but because players in general will do anything they can to get ahead, even when they're not supposed to be doing so. A good lot of them won't look at all these NPC's running around acting just like PC's and say wow cool. They'll just think hmmm I bet he has money and kill them.

Which may be a good part of the reason that these aren't common features on MUDs.
OnyxFlame is offline   Reply With Quote
Old 02-23-2003, 12:05 PM   #6
Eagleon
Member
 
Join Date: Apr 2002
Location: Milwaukee, WI
Posts: 147
Eagleon is on a distinguished road
Send a message via ICQ to Eagleon Send a message via Yahoo to Eagleon
How about making NPCs, hrm, difficult to kill? This relies on the idea that PCs and NPCs are the same, just with people or computers behind them. Make them just as hard to defeat as a player of the same skill.

Maybe have NPCs the same type of object as PCs somehow. Would make a demon possesion spell (or something similar) a snap to code.
Eagleon is offline   Reply With Quote
Old 02-23-2003, 12:14 PM   #7
OnyxFlame
Member
 
Join Date: Aug 2002
Posts: 153
OnyxFlame is on a distinguished road
Post

OnyxFlame is offline   Reply With Quote
Old 03-10-2003, 04:00 PM   #8
Lindahl
New Member
 
Join Date: Feb 2003
Location: California, US
Posts: 5
Lindahl is on a distinguished road
I suggest using a needs-based AI approach, utilizing Maslow's heirarchy of needs:
Self-Actualization - sense of indentity, strive for uniqueness, self-fulfillment, etc.
Esteem - positive attention
Social - acceptance
Security - safe environment
Physiological - physical health

Dump the needs into these heirarchy levels, prioritizing the needs in each category. We then define a minimum level of satisfaction for each need. As we travel through the list of needs for one level of a heiarchy, we attempt to satisfy all needs that have not met this level of satisfaction. If all needs located in a particular level of Maslow's heirarchy have been satisfied, we move up to the next level. The final level, self-actualization, never has a minimum level of satisfaction, and thus, if the NPC has all it's needs met, it strives for self-actualization, which would be finding a sense of identity (i.e. striving to understand the world, acquiring knowledge, interpretting the world through expressive concepts, think cultural anthropology here).

Next, we pull out the needs that we need to satisfy and breakdown these needs into simpler needs, until we reach a accessible level of detail. By accessible, I mean something that the AI can interpret and execute on.

We allow for specialization of three major properties of needs-based AI:
1) breakdown of complex needs
2) satisfaction for simple needs
3) minimum satisfaction levels of needs

The specialization can be done by applying specific species, personality-type and even individual soft or hard code.

For example, an artist personality may have low minimum satisfaction levels, thus explaining why the particular artist personality has such a strong need for self-fulfillment, or interpretation of the world.

You could even have each NPC have a set of generated personality traits, and have needs specialization code pertaining to each personality trait. A need's specifications are derived from a composition of all specifications for that particular need expressed by each personality trait.

For example, an aggressive NPC may have a low satisfaction for social needs, and a high satisfaction level of security needs. But an aggressive artist would have an incredibly low satisfaction for social needs, a normal level of security needs, and a low level for all other needs, making him strongly adamant in his needs based from the self-fulfillment level in Maslow's heirarchy.

Brian Lindahl
Development Director
The Cathyle Project
Lindahl is offline   Reply With Quote
Reply


Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 05:25 AM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2022