Jump to content
Posted 17 March 2004 - 07:20 PM
Posted 17 March 2004 - 07:30 PM
Posted 17 March 2004 - 09:58 PM
Posted 17 March 2004 - 10:46 PM
All subsequent quotes are of irbrian
Consider that the world contains a male, human NPC (let''s call him John). John is one of roughly fifty NPCs that live active, believable lives in the village. Some are farmers, others are merchants, authority figures, etc.
John, however, is none of these things. The pre-generation of John''s character defined him as greedy, lazy, opportunistic, sneaky, and cowardly, yet charismatic.
With these tendencies, John has a habit of sneaking into other villagers'' houses to relieve them of their more precious belongings -- whatever John believes will be most valuable.
Suspicion mounts among the other NPCs that John is the culprit.
As the belief that John is guilty is shared among them
a group belief evolves that John must be confronted
if he''s guilty, punished.
John, fearing what may be done to him
packs up his relocated goods and moves off in the middle of the night to one of the nearby caves.
It turns out that John has amassed a small but loyal group of pretty tough friends among the NPC villagers. These friends join him at the cave and vow to protect him.
Posted 17 March 2004 - 10:54 PM
Original post by irbrian
For years I''ve been fascinated with the idea of developing a game involving a persistent virtual world whose makeup and events evolve through the actions of NPCs. Individual and Group relationships, motivations, and beliefs, all facilitate the process. Utlimately the player is placed within the virtual world, the state of which is dynamically defined (at least in part) by the behavior of the NPCs. A story develops -- it is not "generated" but simply occurs based on the behavior of all the agents working together.
Posted 18 March 2004 - 08:28 AM
Posted 18 March 2004 - 11:42 AM
quote:Not necessarily, but yes, that''s the most likely use of this kind of scenario. The idea is to create a world, and a society, that behaves in a believable manner.
Original post by mikeschuld
Obviously a game like this would be an MMORPG
quote:Again, the idea is that the world is populated by agents that act in a beliable manner. This applies in particular to NPCs, but the technology would have vast potential in all aspects of a virtual world if done properly.
My implementation of it was not exactly all NPC based. I have plans on allowing NPC''s to have the same jobs and ranks in society as PC''s do...
quote:The graphics engine sounds great. I''m not too interested in graphics at this stage though -- I figure that graphics are a pretty standard science these days, whereas AI and adaptive world technologies are primitive and mostly theoretical. I''m interested in developing games, but the stuff I''m talking about is more theory. And I''m always interested in discussing these ideas with anyone else who''s interested.
I have begun working on an engine for this game, but being new to game and directx programming has made it a slow process. Currently I have a flashy particle engine, basic mesh and object loading and rendering, and a very simple terrain rendering model. If you need someone to brainstorm with about ideas for your NPC''s I would love to chat with you.
quote:This is the most humorous element of your post, considering the novelette that opened this thread.
Sorry bout the lengthy post
Posted 18 March 2004 - 11:46 AM
quote:Absolutely. Which is why I assert that I'm mostly interested in theory for now... implementation is hardly 'just around the corner.'
Original post by Luctus
First of all, I think that what you want is very hard to accomplish. If it is even possible, I imagine it would be at a very basic level.
quote:I think pattern recognition would be very important on an individual level, especially when you consider the questions posed by Timkin. But on a larger scale, what you're saying makes sense. Thanks for your input here.
I don't think neural networks are useful here, I've read some about them and played a bit with implementing them. You can get pretty impressive results, but; A) They don't scale well. and B) Neural networks strength lie in pattern recognition, and I don't see much pattern here.
quote:I'm sure you're right about that, but I'd be especially interested to know of any funded academic or commercial projects are focusing on this kind of technology.
I doubt you're the first on to think of the idea.
Posted 18 March 2004 - 11:51 AM
Original post by Timkin
First, don''t think about the tools needed yet... just think about the problem. Defining the problem specifically is at least 50% of the work! Solutions to these problems will dictate the algorithms used (somewhat) in your game.
quote:These are all excellent, thought-provoking questions, and frankly exactly the kind of thing I''m interested in. I''ve put a great deal of thought into most if not all of these issues, but it helps to have them stated bluntly like that; I''m better able to pinpoint specific issues and flesh out possible solutions. So if you''ve got any more, feel free to unleash ''em.
How will you determine what mix of roles a village will have?
How will it depend on the size of the village?
Will the presence of one archtype corelate with the presence or absence of other archtypes? (Design issues)
How will these attributes affect the decisions made by John (AI issue)?
How will the decisions of others, with respect to John, be affected by John''s attributes (design/AI issue)?
How does John select a house? How does John avoid detection?
How does John know if the house is safe/empty?
How does John evaluate the value of items? (AI issues)
How did the other NPCs acquire information that lead them to this belief?
How did they make the inference that John was the culprit? (AI issue)
What is the mechanism for discourse and information sharing among NPCs? (design/AI issues)
Does each person hold this belief, or does each person belief everyone else believes this? (design/AI issue)
How is guilt inferred? (AI issue)
How will fear be implemented as an emotion that affects action?
What other motivations will be open to NPCs?
What other emotions will they have that might perturb these motivations? (design/AI issue)
How does John choose a cave?
Why does he choose a cave over say buying a tent and pitching it in the open fields? (AI issue)
How did John amass friends?
What motivates them to follow John and protect him?
What effect will this have on the friends and family of these friends who are left behind in town? (design/AI issue)
Sit down and think about a few of these issues and give them some more detailed thought. Take one of them - for instance emotions - and think about every aspect of emotion in this world. Who has them, what affects them, how do they affect agents, how might they be modelled? This will give you a better sense of the size of the problem and how you might go about breaking it into parts and tackling them.
Posted 18 March 2004 - 12:01 PM
quote:I understand what you''re saying. But what you''ve got to remember is that this is an interactive, persistent world we''re talking about. The player isn''t inserted at one particular point, the story doesn''t "begin" or "end" -- things just happen. The world is alive, doing its own thing, and that''s the whole point. In a MMOG, thirty players may walk through the village and discover that the scene is quite like what you described in your Hobbit scenario. They''d stop to buy weapons, food, or whatever, and move on to greater adventure -- dungeons that need conquering, wars that need fighting, guilds that need whipping into shape, whatever. The thirty-first player might walk into the very scenario I''ve described. But the scenario could be reversed -- the player could be the root cause of it all, and John (rather, a different John who''s much more noble and courageous) could be the hero! Otherwise life in the Shire goes on much as it always has, and no one''s the worse for it. There is always adventure to be had elsewhere.
Original post by Predictor Yes, this is a fascinating idea that takes the simulation idea to its logical conclusion. What I wonder, though, is how much fun it would really be. It''s really your last sentence that I''m stuck on, "A story develops...".
Posted 18 March 2004 - 12:05 PM
quote:Precisely.. this is more or less what I was saying. In my previous post, the 2nd Tier you mention is simply the will of the designer. Automated methods would be an interesting, if even more complex, alternative. Perhaps the automated "story-finder" agent tracks semi-ordinary patterns in NPC and Group behaviors, and alerts the system when those patterns change sharply.
Original post by Kylotan
Predictor; I once thought that it would be interesting to have a 2-tier approach to the problem you speak of. Basically it revolves around the fact that it might be easier to recognise the potential for a good story than to deliberately create a good one. So the first tier generates situations and events, much like the one in the first post. And the second tier sifts through these events to find the interesting ones, fit to become a story. It might even be possible to use some sort of search algorithm such as GAs to power this 2nd tier. Just an idea.
Posted 18 March 2004 - 04:22 PM
Posted 18 March 2004 - 04:38 PM
Posted 18 March 2004 - 06:43 PM
Posted 19 March 2004 - 02:20 AM
Posted 19 March 2004 - 08:35 AM
Posted 20 March 2004 - 02:54 AM
Original post by Luctus
I don''t think neural networks are useful here, I''ve read some about them and played a bit with implementing them. You can get pretty impressive results, but; A) They don''t scale well. and ...
Posted 20 March 2004 - 02:45 PM
Posted 20 March 2004 - 07:53 PM
quote:Thanks, I'll look into those resources.
Original post by Timkin First, irbrian, from your description of the deductive logic you wish to employ, I urge you to take a look at 'NAG', the Nice Argument Generator developed by Ingrid Zuckerman, Kevin Korb and colleagues. It is an automated argument generator that has been turned to solving problems (so far) in a 'whodunnit' scenario. The basis of the technology is a Bayesian Network layered over a Semantic Network, which permits causal, logical and probabilistic deductions and inferences. There are several publications you can read on it... start either with a Google search, or check out the CSSE website at Monash Uni. Through their publications you should be able to find references to other relevant work in the field.
quote:The 'sinks' you're referring to are an interesting solution. But I'm not sure that I yet understand the necessity, or rather the problem you're describing. If NPCs always shared everything they knew with other NPCs, then of course NPCs would very quickly learn everything there was for an NPC to know... but that's not very realistic behavior, is it. I feel that NPCs should only share Conclusions -- Beliefs that have been arrived upon after the series of deductive steps I outlined above. Of course they needn't share every conclusion, either. Perhaps instead of 'forgetting' their Beliefs, they 'forget' to tell the other NPC about them -- or even decide not to share the information with the other NPC. Or they decide which Conclusions are most important or of most interest, and share those. All complex issues, but I'm still talking theory here.
As to the discussions about sharing information (conversing) and influencing the traits of others (socialising), one must remember something very important in information dissemination systems... that, in the absence of the input of new information (and assuming that NPCs begin with some knowledge), there is only one possible limit state for knowledge: every NPC knows everything. This is because information dissemination is a diffusive process. Given this, one can design some obvious alterations to the basic diffusion process to avoid this undesirable outcome.
The most obvious is to use information 'sinks'. That is, NPCs that 'forget' information, so that it is not passed on. The natural extension to this is to limit the amount of information that any one NPC can store. So, to utilise the Luctus' icon system, one could limit the number of other NPCs that an NPC holds icons for. Obviously though, this introduces problems when the NPC meets new people and they are already at their limit.
If you do implement information sinks, then you must also implement information 'sources', lest you lose all information from the system.
quote:More useful links, thank you. Naturally I always search for relevant discussions before posting, but face it -- this is a huge forum, and the possibility of finding the specific needle in the haystack, even with a good deal of luck in the keyword-selection process, is slim.
This topic has come up several times in the past few years and there was an excellent, very long thread on NPC information systems several years ago in which I first mentioned this problem...I also urge you to utilise the forum search feature to see what others have written in the past. There's some hidden treasures of ideas in the archives that people often overlook!
Posted 21 March 2004 - 01:42 AM