Advertisement

Dynamic World-Generated NPCs

Started by February 24, 2001 05:30 PM
27 comments, last by Nazrix 24 years ago
Taking this a step or two farther, NPCs could have long-term/short-term goals which could be set initially by the computer. Perhaps new goals could be added as the game progresses. The ways they choose to attain their goals would have to do w/ the attributes I previously mentioned. They would likely pick the underhanded ways of attaining a goal if they were underhanded, or the more honest routes if they were honest.





Need help? Well, go FAQ yourself.
What a plight we who try to make a story-based game have...writers of conventional media have words, we have but binary numbers
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
I think that designer-created NPCs are always going to be superior to generated NPCs, no matter how good the generator. But a generator could be critical when populating a city. In this case, I feel that many of the inhabitants the player interacts with should still be designer-created. These critical NPCs should be the same each time the game is played.

For example, the bartender of a frequently visited tavern should be designer created, for obvious reasons. But this bartender could act as a source of information to the player. When the player hears about a generated NPC, for instance, the bartender could provide the NPC''s background. "That''s Theodore Dobbins," the bartender might say. "That guy''s so full of himself, his house is built in the shape of his initials: TD. When the gods look down on this land, they''re always confronted with the knowledge that Theodore Dobbins lives here."

This may be a bit more work than resources allow, but it might be an interesting approach.

~~Jonathon


Jonathon[quote]"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush"When a nation is filled with strife, then do patriots flourish." - Lao Tzu America: Love it or leave it ... in the mess it's in. [/quote]
Advertisement
Well, the way I''m planning on implementing this, NPCs would have schedules and occupations. So, the bartender would be a bartender because the game would choose his occupation as a bartender and set his daily schedule up to tend to the bar so many hours per day.

Then, I wanted to take things farther by making NPCs be able to have attributes such as morality and goals. So, let''s say the bartender is a dishonest man and he likes stealing money from others. So, he might go sneak into houses at night stealing things from people. Then, if any other NPCs know about the fact that the bartender does that, he could get a reputation for it. Then if the player asks about him other NPCs might mention that he''s a thief.



Need help? Well, go FAQ yourself.
What a plight we who try to make a story-based game have...writers of conventional media have words, we have but binary numbers
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
This all sounds mighty familiar, Nazzy
quote:
Original post by Anonymous Poster

This all sounds mighty familiar, Nazzy


I realize it''s probably not something no one''s thought of before, but it''s still worth discussing

Did you bring this up in a previous thread?



Need help? Well, go FAQ yourself.
What a plight we who try to make a story-based game have...writers of conventional media have words, we have but binary numbers
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
The problem is, when you interact with a randomly generated character, what do they say to you? With an infinate number of possible events that could happen, it''d be difficult to get a computer to state these events very well. The text for each variation of an event would have to be manually entered and then selected and pieced together by the computer.

Plus, any one event could take a while to solve. (ie: a robbery) so if events were placed far between, there''s be periods of time where nothing happens and you''d just be standing around. If they''re close together, there''d be to much to do.

E:cb woof!
E:cb woof!
Advertisement
Not to rain on the parade Naz (and I do enjoy having company in this thoughtspace)...

but what made this idea tough for me was the implementation issues. Yes, some people advise not to think about this until later, but I try to do both in parallel...

Search space. You''re going to have a very large search space, with a lot of agents sifting through it in pursuit of their goals. (I''m no expert, btw, so I could be completley off-base here, but from what I''ve seen and the few AI programmers I''ve talked to this seems a legitimate concern).

This should not discourage you, btw. (I''m not letting it discourage me )

It simply means that you''re going to have to be damned clever in how you represent this. I think a bad idea would be hundreds of autonomous agents running around chasing very fuzzy goals. Why? Because in terms of implementation it becomes very difficult (or so I''ve been told) to figure out why agents are doing whatever they''re doing-- and why they''re not doing what they''re supposed to be doing.

Consider that you have a bigger problem domain than even a real-time strategy game (because of the RPG additions), so you may want to consider some ways to make representation easier.

For example, I want it to appear that there are characters and factions in league with and against the player. But rather than solving for solutions to behavior, I''m going to try to use "random encounters" in a sensible, logical way. I only want the appearance of intelligence. So if you''re thwarted, it''s not so much because the AI out-thought you, but because the rules allowed for it. Since this is an RPG, not a strategy game, this kind of cheating is more tolerable.

I still plan on sort of doing what you''re talking about in town (in system, for me): Autonomous characters flying around, responding to their environment and different stimuli. But this is theoretically a smaller problem to solve than long term planning. A character that docks his ship because he needs fuel is a lot easier to put together than one who sets up an elaborate conspiracy against you because you killed her brother. Better, I think, to leave this intricacy to a plot thread generator that ties in to your world.

--------------------
Just waiting for the mothership...
--------------------Just waiting for the mothership...
quote:
Original post by Wavinator
Search space. You're going to have a very large search space, with a lot of agents sifting through it in pursuit of their goals. (I'm no expert, btw, so I could be completley off-base here, but from what I've seen and the few AI programmers I've talked to this seems a legitimate concern).



That is a problem whether you have random-generated NPCs or not though. Furthermore, there are ways around it. Such as, updating goals of NPCs that are further in larger chunks or less often.

quote:

Because in terms of implementation it becomes very difficult (or so I've been told) to figure out why agents are doing whatever they're doing-- and why they're not doing what they're supposed to be doing.



The way I'm thinking, when the NPCs are initially created, some sort of schedule would be created as well. Then alterations could be made in the schedule on-the-fly due to things that are happening in the game world.

quote:

I still plan on sort of doing what you're talking about in town (in system, for me): Autonomous characters flying around, responding to their environment and different stimuli. But this is theoretically a smaller problem to solve than long term planning. A character that docks his ship because he needs fuel is a lot easier to put together than one who sets up an elaborate conspiracy against you because you killed her brother. Better, I think, to leave this intricacy to a plot thread generator that ties in to your world.



As for goals...Yes, long-term goals are tricky. At least, it could be possible for NPCs to have a constant goal that can run the course of the game i.e. steal stuff, protect townspeople, etc. It would be their prime directive that would be a constant goal. I'm sure more complex goals are possible, but tough. I think Morfe has a way to do it, but it's too compex for my feeble mind

Actually, the fact is that most of this stuff I was planning on doing before anyway, but the randomness could offer a lot more interesting situations.




Need help? Well, go FAQ yourself.
What a plight we who try to make a story-based game have...writers of conventional media have words, we have but binary numbers


Edited by - Nazrix on February 27, 2001 1:18:14 AM
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
Well Nazzy, it was me, the one and only Luna Zerana, that posted that message

And as for giving NPC''s a long-term goal: it is possible, off course. It just depends on how you program it.
quote:
Original post by Anonymous Poster

Well Nazzy, it was me, the one and only Luna Zerana, that posted that message



Ah yes, It was our discussion that prompted this thought-process

You should register...I'm sure you would find this forum interesting

quote:

And as for giving NPC's a long-term goal: it is possible, of course. It just depends on how you program it.



Well everything depends on how you program it







Need help? Well, go FAQ yourself.
What a plight we who try to make a story-based game have...writers of conventional media have words, we have but binary numbers


Edited by - Nazrix on February 27, 2001 1:50:42 PM
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi

This topic is closed to new replies.

Advertisement