Temporal Perception

Published January 25, 2005
Advertisement
I was thinking about AI on the bus again this morning, as well as recalling Oluseyi's thread (which seems to have been revived - hurrah!), and something occured to me. I don't follow the AI scene at all, so it's likely I'm reaching conclusions that other people reached a long time ago, but the thought process is good for me all the same.

Drama is really built around characters. That's nothing new; one of the big themes at EDF last year was improving the believability of our game characters for "greater emotional immersion" (try saying that ten times fast). So, yeah - you can't have drama without people. Careful with the word 'people' - I don't just mean humans. Pixar's Luxo Jr is a small drama, and it contains only desk lamps and balls, but the key thing is that the desk lamps are personified (given human qualities). Thus I'm considering them to be people.

The main way of exposing people to your audience is through their behaviour. Sure, you can do a bit with appearance or sound, but most of the work is done by behaviour - skin a guy as fire demon and players may think him evil at first, but have him sell real estate and their opinions may change. (Or not, as the case may be).

Standard behaviour - 'routine' - gives us a little bit of information about the character. "This person is standing up at the front of a class talking - they are probably a teacher." The real meat, though, comes through reactions - it gives us much more information about the quality of the character, their instincts and mindset, and generally provides much more interesting material for the audience's psychology hacking.

Games have got basic reactions down. The small covenant aliens in Halo will 'react' to their squad leader being gunned down, or to getting a plasma grenade stuck to them. The guards in the Thief games will react to hearing noises and the like. But all of these are very basic, "if-then" systems for reaction - only reacting to very specific conditions.

I propose a more general working model for a "reactable situation." A reactable situation is any situation which differs from what the character expects. If the character expects not to find a dead body in the hallway, and proceeds to find a dead body in the hallway, they should react. If a covenant alien expects not to have a grenade stuck to him, and discovers that he *does* have a grenade stuck to him, he should react. If a civilian walking past you in GTA3 expects that you will not pull out a gun and point it at him, and you pull out a gun and point it at him, he should react.

The key word there, to pair with 'react?' 'Expect.' Characters need to be able to formulate theories about their world, about what they expect to find around the corner or what they expect to happen if you shoot them. Some games give their characters a memory; we need to give them precognition.

The model requires that you can query a character for his/her expectations of the current situation, and then compare that result to the reality (uh, virtuality) of the current situation. The difference between the two generates reactions that drive character behaviour. I think it's possible to defer all behavioural decisions to this system - if there is no difference between what the character expects and what they find, they react with confidence and continued pursuit of their goals.

So we end up with a list of nice tasks for further discussion:

  • How to represent 'a situation'
  • How to represent 'a reaction'
  • How to come up with the situation that the character expects
  • How to sample the game world for the character's current situation
  • How to compare the two
  • How to generate a reaction from the comparison
0 likes 2 comments

Comments

noaktree
Is this kind of like in OutLaw Golf 1 and 2 when you aim your shot towards nearby audience members. They gasp and quickly run out of the way to avoid even being aimed at?
January 25, 2005 09:11 AM
superpig
Related to that, certainly - you're defying their expectations of you ("he won't aim the ball at us") and they're also formulating an expectation about what you're going to do in the future (you're going to hit the ball at them). That will have been a hard-coded 'if(player.angle == atMe) { DiveForCover(); }' though - what I'm after is a more general system that results in emergent behaviour.

There's no provision there for which of the two they're reacting to. Hmm. Perhaps the 'predicted future' of a situation should actually be considered a property of the situation? That'd mean that an actor could walk into a room twice and find the room itself exactly the same each time, but would react differently based on what they think is about to happen. I think that makes sense. Given that future predictions would be affected by past experiences and moods and so on - characters that become paranoid, careless, etc - it's particularly nice.
January 25, 2005 12:44 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement