Please check out Crossroads MUSH !

Member Discussions

terms



[Previous] [Next] [Post] [Reply] [Topics] [Summary] [Search]


1. Artificially Played Characters Tue Jan 10, 2012 [11:43 PM]
harshharsh
Email not supplied
member since: Dec 3, 2011
Reply
How is everyone doing? Are you guys alright? Eaten solid meals? Ready to read? Great.

I'm mainly talking about one thing here: A.I.--which has probably been covered to a great extent in past posts, but I feel too lazy to pore through dusty archives. At the very least, this will bring some ideas up from the murky depths. Punish me for any grammar/spelling infractions; I would deserve the rebuke.

Anyways ...
Lately, I've been fascinated with this system of A.I. for NPCs that I encountered a while ago, although I don't remember where (But thank you, oh mysterious author of the concepts I will now refer to and mutilate with my own theories.)

The joint system proposes that each NPC has several TASKS or NEEDS that he wants to fulfill, whether it's getting his belly full, relieving himself, maintaining social dignity, impressing the king, or trying to ponder the meaning of the universe. These TASKS or NEEDS, which modify STATUS and are dependent on PRINCIPLES, are fulfilled via STRATEGIES that the NPC retains in MEMORY. STRATEGIES have various effects on STATUS.

Let me give a brief example. Three characters are hungry (STATUS). One is a textile merchant, while the other is a thief. The former believes in hard work and following the laws of the city, while the latter has little respect for "fairness" (PRINCIPLES). There are two strategies available to both: steal an apple, buy an apple. The merchant can steal an apple, but it will not sit well with his principles, so he will buy the apple to fulfill his needs and maintain good conscience. The thief will steal the apple because it is a more efficient option (no need to pay money) and because his ethics don't bar him from doing so. Both characters are happy. Now, let us move on to the third character, who is a more complex case. He is in a period of fasting, and although he is hungry, he believes that abstaining from food will give him spiritual enlightenment (PRINCIPLES). He wants spiritual enlightenment (NEED), but he also wants food, to an extent (thus, CONFLICTING NEEDS). Let's suppose his need for enlightenment precedes his need for food. He will not eat food, even though he is hungry.

The main goal of this system is trying to make personas intelligent enough to sustain a game world without any naturally played characters--I think the value of such a world is self-evident. Do you think that this system would work--is the theory flawed, not fleshed out, or impractical, or is it just great?
It's interesting how when you stare into a person's eyes during a conversation, you loose track of what they're saying.


2. RE: Artificially Played Characters Wed Jan 11, 2012 [3:19 AM]
KaVir
Email not supplied
member since: Aug 19, 1999
In Reply To
Reply
The topic has been discussed many times before. It's a good example of a "developer's toy" feature; from a coder's perspective it's a cool concept.

But from a player's perspective, it'd be no different to having mobs that randomly buy/steal apples when hungry. And while that might be amusing the first couple of times, it doesn't actually add anything to the gameplay, and would soon be viewed as nothing more than annoying spam.

(Comment added by KaVir on Wed Jan 11 5:41:27 2012)

I strongly recommend ignoring Jodah. He has very little understanding of mud design, his own projects having resulted in nothing but failure. He just likes to troll forums where he won't get banned (because there is no moderation here) as you'll see for yourself if you take a look through his posts.
God Wars II: http://www.godwars2.org (godwars2.org 3000) Roomless world. Manual combat. Endless possibilities.
MudLab: http://www.mudlab.org


3. RE: Artificially Played Characters Wed Jan 11, 2012 [5:07 AM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply
Everything AI mob related needs to directly affect the
player, whether by ambience or interaction. I think the
previously mentioned ideas are great, and they can provide a
great atmosphere.

From a player perspective, one Kavir wouldn't know about, it
certainly would not be seen as spam if done correctly and
sparsely. If anything, it would hook the player to see what
other cool things they can do. The trick would be to
trigger it at randomly spaced out intervals. Having a mob
busy 24/7 would be annoying, but having him perform his
"job" and then perform whatever else need he might have
would be very interesting.

"it doesn't actually add anything to the gameplay"

Disagree. If done correctly, it most certainly could add to
quests and rp value. I'd love to see this in action.

(Comment added by Jodah on Wed Jan 11 5:55:43 2012)

I'd strongly recommend ignoring Kavir. He is an elitist who
thinks someone with vast player experience is not as great as
someone who gets their own code stolen like he has. In
addition, he has a reputation for discouraging ideas and being
a naysayer at just about every great innovating idea that
comes out. Just read through his past posts and you will see.


4. RE: Artificially Played Characters Wed Jan 11, 2012 [8:03 AM]
plamzi
bedlam@eyecandid.com
member since: Dec 1, 2009
In Reply To
Reply
As usual, J. misses the point. The point is not that you can't create engaging AI-driven interactions. Sure you can. What KaVir argues instead is that you can engage players just as well, and even better, with much simpler scripting. This can save you a ton of work you can invest in other parts of your game.

Consider AI:

If a player encounters an AI-driven mob who is fasting, yet hungry, there's a chance those triggers are not strong enough to move the mob yet. The mob can instead snap into action right when you've left the zone. Whatever coolness they perform is wasted because no-one is watching.

Or, say, a player is around and he/she hears the mob say, 'I'm so hungry, I need to break my fast!'. Would that be enough of a catch phrase to make you follow the mob around? Personally, I'd like to hear something a lot more intriguing and even the best AI in the world can't give that to me because it doesn't know the ending--all it knows at this point is that there are two competing desires.

Consider a script:

Triggered when a player enters the room and when it's fasting season, a mob says 'I'm too hungry to keep my fasting vows. I will need to drink from the Secret Spring again.' Now, that's a *story* that begins with a hook and promises a reward for digging deeper. While the story will keep repeating, it will at least always be utilized by players. Also, it has the potential to be a lot more rich than any AI can currently generate, with plot twists, etc.
Dev: Bedlam, Bedlam Brawl, MUDMaster
http://www.playbedlam.com | telnet://mud.playbedlam.com:9000


5. RE: Artificially Played Characters Wed Jan 11, 2012 [11:07 AM]
Epilogy
Email not supplied
member since: Mar 9, 2006
In Reply To
Reply
Since I can't code AI at all, I've often considered the ways I could simulate it.

In areas populated by many different generic mobs, I'd be able to write scripts where mobs would talk to eachother, picking conversations at random. A fear games have done this, like Elder Scrolls.

Another idea was to script tasks for them to perform in some or no order. A drunk wandering around at random, getting thrown out of shops and restaurants as he hunts for change. A baker, gathering goods and performing multiple steps to make different baked goods, and then sell them to the shop.

This might lead up to its own mini-economy if you took it far enough. Mobs replacing their objects with better things, poor people becoming rich and moving to bigger houses, rich people becoming poor and moving to smaller house, etc.

It would be a ridonculous amount of work and management... but it would still probably be faster and easier to amend than AI that did the same thing.


6. RE: Artificially Played Characters Wed Jan 11, 2012 [11:39 AM]
ryanwstuck
Email not supplied
member since: May 22, 2005
In Reply To
Reply
But from a player's perspective, it'd be no different to having mobs that randomly buy/steal apples when hungry. And while that might be amusing the first couple of times, it doesn't actually add anything to the gameplay, and would soon be viewed as nothing more than annoying spam.


This is exactly what i was thinking.

Some of the first AI that I came across in my early mudding days was the king in midgaard (circlemud)who walked the streets to unlock the gate at a certain time. neat, but dang i don't have all day to wait for his slow ass!
CyberASSAULT
http://www.cyberassault.org
cyberassault.org 11111
A post-apocalyptic, sci-fi MUD.


7. RE: Artificially Played Characters Wed Jan 11, 2012 [3:08 PM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply

Whatever coolness they perform is wasted because no-one is watching.


It's nice that you're Kavir's mouthpiece because he can't speak for himself. Besides, I said the exact same thing. It needs to be for the player benefit. Echo much?


8. RE: Artificially Played Characters Wed Jan 11, 2012 [3:15 PM]
Epilogy
Email not supplied
member since: Mar 9, 2006
In Reply To
Reply
You're trying too hard again.


9. RE: Artificially Played Characters Wed Jan 11, 2012 [3:26 PM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply
Good advice, thanks.


10. RE: Artificially Played Characters Wed Jan 11, 2012 [4:47 PM]
plamzi
Email not supplied
member since: Dec 1, 2009
In Reply To
Reply
Jodah, I'm sorry but you're not even in this conversation.

Picture a scene where a few car designers get together to discuss different transmission alternatives. Just because you've driven a car, doesn't mean you should jump in with such pearls of wisdom like "Transmissions should be for the benefit of the driver" and "They can add a lot to a car." Well, duh.

It doesn't help that, like most people who have never been directly involved in game design, you seem to be confusing AI with clever scripting. The OP proposes a specific framework in which a mob's internal desires/dispositions vs. its perception of the external environment will trigger behavior, and NOT the presence or absence of a human player. The OP clearly states that "the main goal of this system is trying to make personas intelligent enough to sustain a game world without any naturally played characters."

Then you chime in and in fact root for clever scripting triggered by players or at "randomly spaced out intervals", which goes against the grain of what the OP is suggesting: true AI. But your general ignorance of the subject and the need to nay-say people with more experience compel you to "agree" with the OP's exactly opposite view, and disagree with KaVir's view, which you are in fact echoing in a generalized way.

Hopefully this will lift a bit of the fog for you.
Dev: Bedlam, Bedlam Brawl, MUDMaster
http://www.playbedlam.com | telnet://mud.playbedlam.com:9000


11. RE: Artificially Played Characters Wed Jan 11, 2012 [5:11 PM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply

Then you chime in and in
fact root for clever scripting triggered by players or at
"randomly spaced out intervals", which goes against the
grain of what the OP is suggesting: true AI.


If you had any ai experience, but you don't since you still
use stock beastly Fido mobs, you'd know that in fact you
simply echoed everything I was saying. Randomly space out
intervals does not go against the grain at all. Having a
mob pee every 2 seconds would be excessive, you would have
to space it out.

I think the OP's idea is truly great. It almost sounds like
he's trying to create an alive world without any players at
all. Then if a player shows up, all the better. Whether or
not a player sees it is irrelevant. It would still require
restraint, but having villages "alive" because they need to
fulfill NEEDS is innovated. You're just another developer
trying to shoot down another innovated idea.


12. RE: Artificially Played Characters Wed Jan 11, 2012 [5:51 PM]
plamzi
Email not supplied
member since: Dec 1, 2009
In Reply To
Reply

Randomly space out
intervals does not go against the grain at all. Having a
mob pee every 2 seconds would be excessive, you would have
to space it out.


You can either have an intelligent mobile (A), which acts when the environment (restroom availability) and its internal drives (had a lot of water some hours back) create conditions for action. Or you can have a mobile that rushes for the restroom randomly a few times per day (B). If you code A and then impose on it the same restrictions as B, then you've effectively produced B at potentially 100x the cost.

This is for the benefit of others--I don't expect you to get it because it requires a modest amount of analytical thought.

You're just another developer trying to shoot down another innovated idea.


And, if you actually read the OP, you would have known that the person is mostly describing what they saw in a game they don't remember the name of. There are truly *innovative* ideas, and then there are old and tried ideas you think are 'innovated' because your ignorance knows no bounds, and no self-awareness.

There's a reason complex AI in games remains rare, and the reason is not that nobody thought of it before the OP. The reason is there's hardly any pay off for tons of work.
Dev: Bedlam, Bedlam Brawl, MUDMaster
http://www.playbedlam.com | telnet://mud.playbedlam.com:9000


13. RE: Artificially Played Characters Wed Jan 11, 2012 [7:44 PM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply

There are truly *innovative* ideas, and
then there are old and tried ideas you think are 'innovated'
because your ignorance knows no bounds, and no self-awareness.


I admit I still have things still to learn, albeit not very
much. I am humble, unlike you.


14. RE: Artificially Played Characters Wed Jan 11, 2012 [7:56 PM]
plamzi
Email not supplied
member since: Dec 1, 2009
In Reply To
Reply

I admit I still have things still to learn, albeit not very
much. I am humble, unlike you.


If you're humbled even for a moment, then begin by reading other people's posts carefully and by responding only to those you feel you can help with your experience. I'm sure you have valuable things to share, but it is pretty clear these do not include game design. A huge part of wisdom is simply knowing when to keep your mouth shut and listen to others.
Dev: Bedlam, Bedlam Brawl, MUDMaster
http://www.playbedlam.com | telnet://mud.playbedlam.com:9000


15. RE: Artificially Played Characters Wed Jan 11, 2012 [9:27 PM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply
Taking advice from you, you sure know how to make me lol.


16. RE: Artificially Played Characters Wed Jan 11, 2012 [11:33 PM]
pjarosak
Email not supplied
member since: Mar 22, 2009
In Reply To
Reply
I like the concept and have been considering something similar. I think it
gets really interesting if you start adding more complex needs or actions
such as desire for power or wealth. Add some indicator for morality
(personal code of ethics perhaps) and strength of the desire. Now these
values would help to determine if the character would lie, cheat, or even kill
to achieve their goals.

I agree with others that it's not practical for most developers, but personally
believe it depends upon what your goals are. If the mud is ultimately
something that you are creating for you, then I think it's a great idea. If you
are creating it for other players, consider that it will be a lot of work to do it
right.

Personally, I've even considered getting a separate server dedicated for AI
processing. I know that even a few characters will be complex and
potentially resource intensive... now multiply that by 50-100+ NPCs and
you could run into some resource issues, especially during development. I
want to create an environment that will interact with the mud but not
consume all the available resources on the core mud server. While this will
have some overhead as it will connect to the mud in a similar manner to
how a player would connect, I believe there's enough benefits to doing it
this way, that out weigh the negatives. In addition, the AI could potentially
be portable between multiple games if that's something that interests you.


17. RE: Artificially Played Characters Thu Jan 12, 2012 [3:08 PM]
Lyanic
lyanic@gmail.com
member since: Dec 26, 2005
In Reply To
Reply
NPC AI (or AI in general) is a favorite topic of mine. The AI described by the OP sounds like a goal-based agent system. It's a fairly simple (and predictable) system, unless it is hybridized with competing or statistical methods. For instance, if the merchant and the thief each have a single strategy to follow, and do so in a deterministic manner, the outcome will play out the same each time. Even with multiple competing strategies, you'll be forced to make a random selection at some point. The point is that you have to introduce randomness somewhere in the process to keep it functioning in a believable, non-repetitive manner.

I'm actually quite partial to genetic algorithms, bayesian networks and neural networks (not very suitable for NPC behaviors) - all of which deal largely with randomness. Although, a simpler and generally more cost-effective approach is to build complex behaviors through layering of simple atomic behaviors. It's a topic I've written on in the past, both in the MU* community and in academic journals (grad school).

I'm trying to restrain myself from branching the conversation off in too many different directions right now, as I could ramble on forever. It's just rare that the topic of AI comes up around these parts, even in the Advanced design forum.

- Lyanic, Creator/Designer/Administrator
The 7th Plane (7thplane.net 8888)


18. RE: Artificially Played Characters Thu Jan 12, 2012 [4:56 PM]
plamzi
Email not supplied
member since: Dec 1, 2009
In Reply To
Reply
lyanic wrote:

For instance, if the merchant and the thief each have a single strategy to follow, and do so in a deterministic manner, the outcome will play out the same each time. Even with multiple competing strategies, you'll be forced to make a random selection at some point. The point is that you have to introduce randomness somewhere in the process to keep it functioning in a believable, non-repetitive manner.


That makes sense. In the case of an NPC imitating a PC, I think the obvious first place to inject some randomness would be a 'whim' to explore in a certain previously unknown direction.

As the AI scans and stores new locations into its memory, you would then have more alternatives to choose from (the thief is aware of more places to steal from), and then you can introduce another degree of randomness in selecting which strategy to pursue this time around, i. e. the thief can choose a target that is further away from him at the moment, again imitating human whimsy.

It seems to me, though, that randomness in selecting a strategy is really a crutch to prop up a fundamental limitation of AI: the inability to 'prefer' goals based on disparate (and numerous) shards of experience, predisposition, and above all emotion. Basically, randomness is a crutch for 'free will', which drives irrational as well as rational patterns of behavior, and for 'creativity', which can synthesize a new strategy to get the same result (e. g. the thief sees a merchant give merchandise on credit to a noblewoman and decides to disguise herself as that person). I'd be interested to learn what, if anything, your readings in AI theory have to say about that.
Dev: Bedlam, Bedlam Brawl, MUDMaster
http://www.playbedlam.com | telnet://mud.playbedlam.com:9000


19. RE: Artificially Played Characters Thu Jan 12, 2012 [9:10 PM]
Jodah
Email not supplied
member since: Dec 21, 2001
In Reply To
Reply
Let's see, I already mentioned randomness many posts ago and
was called an idiot. Now you mention randomness and it's a
totally brilliant concept. Duplicate standards much?


20. RE: Artificially Played Characters Fri Jan 13, 2012 [5:58 AM]
Lyanic
lyanic@gmail.com
member since: Dec 26, 2005
In Reply To
Reply
plamzi wrote:
It seems to me, though, that randomness in selecting a strategy is really a crutch to prop up a fundamental limitation of AI: the inability to 'prefer' goals based on disparate (and numerous) shards of experience, predisposition, and above all emotion. Basically, randomness is a crutch for 'free will', which drives irrational as well as rational patterns of behavior, and for 'creativity', which can synthesize a new strategy to get the same result (e. g. the thief sees a merchant give merchandise on credit to a noblewoman and decides to disguise herself as that person). I'd be interested to learn what, if anything, your readings in AI theory have to say about that.

It sounds like what you'd be looking for in that case is a hybrid between an expert system and a neural or bayesian network. The expert system maintains the internal knowledge representation of the NPC's life experiences, along with an inference engine to help it move from a task state to a goal state. The neural or bayesian network on the inputs would be used to drive the process by which new knowledge/experience enters the expert system, along with automatic adjustment of weight values (preference), based on back-propagated utility values for the outcomes.

I'd probably go with the bayesian network, since it has the added advantage of ensuring some degree of randomness throughout the lifetime of the process. The neural network could potentially reach a stable state wherein it always prefers the "best" strategy, and thus would always behave in the same manner. Although this would only happen if it encounters the highest possible utility outcome several times early on, or it runs for a very long time or in a simple environment, it is still a drawback to the method. That would just bring us back to square one - high cost to emulate something very simple.
- Lyanic, Creator/Designer/Administrator
The 7th Plane (7thplane.net 8888)


21. RE: Artificially Played Characters Fri Jan 13, 2012 [9:30 AM]
plamzi
Email not supplied
member since: Dec 1, 2009
In Reply To
Reply
Jodah wrote:
Let's see, I already mentioned randomness many posts ago and
was called an idiot. Now you mention randomness and it's a
totally brilliant concept. Duplicate standards much?


You're not an idiot. You're just someone who is a lot less intelligent than he believes he is. For example, you don't see the difference between applying randomness simply to reduce spam (which is what you suggested, and which would effectively obscure any true AI sitting behind it), and randomness applied in strategy selection in order for the AI to auto-learn and shift away from repetitive patterns.

When you read Lyanic's last post carefully, you will begin to sense that even if you apply randomness at a much higher level, the more you resort to it, the more you risk 'reducing' the AI to patterns of behavior you could easily produce with randomness only. Basically, he is making a much more nuanced and informed statement than the simplistic example I gave you earlier about mobs type A and B.

@Lyanic

I haven't really dabbled in true AI because of the huge effort involved, and the risk that I may end up producing something 'invisible' to the end user, as KaVir said. I have, however, been trying to use various 'cheap tricks' to create the illusion of AI.

One of the things I've done and will be doing more of, is using a back-end database to hook certain mobiles to certain very large tables full of 'raw' fact data. For instance, I hooked a certain type of companion NPC to a table of 'famous quotes', which at the moment are triggered very simply - randomly and rarely. My wager is that depending on what the player and the companion are doing at that exact time, the player may see some relevance of the quote to the situation, i. e. project intelligence on the NPC where there is none. I'm curious if your readings in AI theory address this kind of concept in a more formal way.
Dev: Bedlam, Bedlam Brawl, MUDMaster
http://www.playbedlam.com | telnet://mud.playbedlam.com:9000


22. RE: Artificially Played Characters Fri Jan 13, 2012 [9:45 AM]
Istarian
Email not supplied
member since: Jan 11, 2010
In Reply To
Reply
@plamzi

How much more work would it take to add context to your system? I think what your describing would be useful only if the quotes are relevant to the context (location, quest, etc). Presumably the NPC "knows" those variables and can mention any 'quote' or information that they "know" (I'm guessing that you are or could give NPCs different information that they "know" out of the sum of available knowledge that you have in your database) that's related and passes some weighted test for the being the most relevant to the present context. With enough available information, the NPC could mention something else that's different if the context changes, yes?




[Previous] [Next] [Post] [Reply] [Topics] [Summary] [Search]