Advertisement

Radiant AI - The way it's ment to be

Started by January 08, 2006 07:08 AM
49 comments, last by lucky_monkey 18 years, 10 months ago
I heard that one of the beta-testers earlier on in development killed an NPC and guards from all over the entire Oblivion world ran to kill the player. That's pretty cool, however that would HAVE to be fixed... how are we supposed to steal stuff? Either way I cannot wait for this game.
What we do in life... Echoes in eternity
Quote: Original post by Sharlin
Umm, I don't know what's so amazing in that demo. The events were obviously heavily if not completely scripted to fit what the narrator is speaking about. Maybe the AI is good, maybe not, but that promo video isn't telling us anything about its real capabilities. And about the NPCs' dynamic attitude towards the player character, we had that in Fallout 8 years ago.


Did you watch and listen to the video? It's not scripted at all.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Advertisement
I would not and will not trust anything the narrator says in promo videos like that. 99% of that stuff is always marketing bullshit; as I said, we know nothing at all about the AI's true capabilities until we get to play the game ourselves.

Anyway, *IF* (that's one huge if) the behaviour in the video is truly non-scripted, I have to say I prefer a scripted approach over that because that was some most unbelievable AI for a long time. The bookstore woman setting her dog on fire, for goodness sake???? I for sure pity your pets if you think that is acceptable human behaviour!

Also, it seems that the poor woman suffers from attention deficit disorder, not being able to consentrate on one thing for more than five seconds at a time (how utterly convenient indeed that she does so much stuff in such a short time span so that the narrator can boast about all the kewl features...)
Maybe I'm being pedantic and this isn't really an AI problem but I wish she would literally pick up the food and atleast do something with it instead of it 'disappearing'. I do love the idea though that the NPC's can train up their skills etc the same as you.
What we do in life... Echoes in eternity
After watching the movie, we can see a few things:
-the quest dialog we heard was started by a proximity trigger
-the ai system is motivation based, just like in the sims
-there are friend/foe levels, also borrowed from the sims
-each ai in the world knows about the objects and mobs within its sensory range
-each ai acts to fulfill its desires set by its motivations
-since this game has a storyline, the main motivations are set by the storywriters

We can't see it, but we can assume:
-unimportant characters are frozen or switched to a fixed schedule upon leaving a zone
-main characters not in our active zone are simulated only on the level of main motivations/decisions

Let me give a possible rule set:
-the dog:
-if sees its owner: greet the owner
-if hungry and no food is seen: ask for food
-if hungry and food is seen: eat the food
-if eaten some food: start playing
-if badly hurt: run away
-the lady:
a) downstairs:
-scripted wait within opening hours for arrival of the hero
-on first contact: greet the hero
-various chat scripts based on decision tree and friend/foe ratings
-if she is friendly with us and we talked about the quest: invite us upstairs (scripted walk)
b) upstairs:
-if arriving upstairs: activate desires (1:practice archery, 2:read a book)
-if arriving upstairs: activate jobs (1:eat, 2:sleep, 3:take care of the dog)
-if arriving upstairs: set priority levels (1:hunger, 2:tiredness, 3:dog, 4:practice achery, 5:read a book)
-if she is idle: pick up highest priority job if none is found: highest priority desire
-if her dog is greeting her: greet the dog
-if her dog is asking for food and she doesn't have food: find the food
-if her dog is asking for food and she has food: give the food to the dog
-if she is tired and she is not angry at the dog and the dog is not standing: attack the dog with low level spell, get angry to the dog
-if she is tired and she is angry at the dog and the dog is not standing: attack the dog with high level spell
-if hungry and not at the table: go to the table
-if hungry and at the table: eat food (decrease hunger)
-if practicing archery and miss rate too high: look for powerups and use them
-if practicing archery and hit rate is good: temporarly decrease desire level for practicing archery
-if tired: try to rest
-if trying to rest and not in bed: locate bed and lay down
-if trying to rest and in bed and dog is not moving: go to sleep
-if rested: get up
-on time tick: if archery level low: increase desire level to practice archery
-on time tick: increase desire level to read a book
-on time tick: increase hunger
-on time tick: if not resting: increase tiredness
-on time tick: if resting: decrease tiredness

Essentially the action scheduler picks up the highest priority action (job) and tries to do it according to the state of the ai and the world. Doing something usually changes the state, which triggers a reschedule. By using good rules we can even get an ai to look scripted.

If the rule set it not complete, like in my case, we can do odd things, and most ai-s will just stand there confused or simply ignore our non rational behaviour. If the developers want to decrease the number of rules they can try to use rules that effect multiple mobs (lady+dog) and trigger scripted events. If the ai is not cheating then taking the potion from the table before the lady can drink it will cause her to practice archery until she is tired or hungry and gives up to eat and sleep. This can be tested once the game is out. It's extremly easy to break such rule systems when there are logical holes (missing common sense). Imho this is one of the main problems with the development of the game called stalker. (it's delayed because of bugs in its similar motivation based ai)

Viktor

ps: The earliest examples that comes to my mind were the unit ais in dune II, where harvesters tried to harvest around a given point until the field was empty and then tried to locate new fields by using the map. If they were attacked by ground troops they tried to crush them, otherwise they run or asked for air help. Also some of the ground units ran off (retreated) when they lost too much hit points under a given time. They also had scripted pack beaviour based on attack wave scripts written for each level. (which made them too stupid and deterministic) The combat ai was based on the basic search and destroy principle with preset levels of agression.
yup, they're triggered behaviors, and they're triggered by the NPC's levels. This is different to scripting, where scripting is understood as an NPC going step-by-step trough a scripted scene. Since the following behavior changes depending on current state, it's not scripted :)

oh and... "Radiant AI"? heh, marketing types kill me XD
But then again, they got people buzzin', so I guess it works :-/

About setting the dog on fire... yeah it's unrealistic for a real world scenario... but its okay for limited, game-oriented AI (at least, I feel this way).
Working on a fully self-funded project
Advertisement
Behavior based on conditions is not script.

A script is a set path.

----------------------------------------------------------Rating me down will only make me stronger.----------------------------------------------------------
Individual scripts can be triggered by conditions. That's still 'script'.
then what would you call real AI?

Something that reacts intelligently to certain conditions?

:
Be careful not to contradict yourself.
----------------------------------------------------------Rating me down will only make me stronger.----------------------------------------------------------
Someone once said, wisely, that intelligence is the process of solving a problem for which we, humans, do not know how to find a solution.

This topic is closed to new replies.

Advertisement