Advertisement

why make scheduling so strict?

Started by August 03, 2000 11:45 AM
14 comments, last by C-Junkie 24 years, 3 months ago
maybe the stricter the easier.
But sometimes no... It does detract from gameplay


-Chris Bennett ("Insanity" of Dwarfsoft)

Check our site:
http://www.crosswinds.net/~dwarfsoft/
Check out our NPC AI Mailing List :
http://www.egroups.com/group/NPCAI/
made due to popular demand here at GDNet :)
Advertisement
Yes, stricter is easier to code, but it loses something in implementation.
In "Ultima 7: The Black Gate" (i think?) The NPC would drop everything they were doing and run to the next location they were supposed to be in. For instance, at about 6pm game time, everyone all of a sudden runs into the tarvern and start shouting "Ale", "Meat", etc... (Although it is kindof funny to watch the whole town run in at once)

Whereas, if they slowly streamed in, it would be far more realistic, and tactful... (You know when you killed the whole town just for fun...? Darn Lord British seems to be invincible... and that stupid fellowship guy... and then there''s those omnicent guards who all say the same thing...)

In my opinion, Ultima 7 was one of the best RPG AI''s that I''ve seen, even though it was obviously was scheduled. But, they did a good job of trying to hide the schedule by makeing several different types of "opcodes" for very similiar functions. I think everyone should play that game, and then try to make they''re own AI that does the same thing, but without the Scheduling. THAT would be a great AI. (and get rid of the guard''s "omnicence")

Anyway...
Ok, here''s a bit more of a detailed look at my "layers" algorithm.

Instinct>Memory>(Logic)>Personality>Logic

Instinct: All the basic drives like hunger and Self Preservation.

Memory: This is the most complex layer in the system. The tree contains associations of time to events or places(VERY flexible scheduling), locations of places, People, and many many more things...

Logic: Determines if current situation is a good time for current action, determines concequences for actions, if NPC is able to perform an action, determines if resources needed are available, pathfinding, etc. (Logic) is only a layer if an action is decided upon already and it only revises options.

Personality: Is the next most complex after Memory. This one has to have variables about many different aspects of the NPC. Materialism, Piety, Optomism, Thrift, etc. And makes decisions based on those, or creates a new action.

Basically after a check to instinct, Memory and Personality trade off trying to find an action to perform. then Logic refines it.
C-Junkie (and others): I like the ideas here. Just one thing. Your system doesn''t really leave much room for interesing NPCs. By that I mean ones with goals (i.e. take over the world, the goal of every good villain. ). Maybe I''m missing something. Anyone?

===============
"Or a pointed stick!"
==============="Or a pointed stick!"
A Goal is Memory-Personality driven. A villian who wants to take over the world realizes he wants to take over the world through his peronality. Then the NPC works toward that goal; which, since it is a long-term goal, is stored in the memory as a goal.

As soon as I find the simplest way of showing the (semi-)completed memory tree I''ll post where you can find it.

So far its got: Past, Self-Concept, People, Schedules, Possesions, Objects(food,weapons,etc. The is where the NPC knows an apple can be eaten), Process(how to make bread), Genral info and goals.

This topic is closed to new replies.

Advertisement