Upcoming Events
Workshop on Network and Systems Support for Games (NetGames 2009)
11/23 - 11/25 @ Paris, France

LOOP 2009
11/26 - 11/29  

EVA 2009
12/4 - 12/5 @ Buenos Aires, Argentina

ICIDS 2009 Interactive Storytelling
12/9 - 12/11 @ Guimarães, Portugal

More events...


Quick Stats
7062 people currently visiting GDNet.
2341 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

  Intel sponsors gamedev.net search:   

Paris Game AI Conference


Emotion in Game Characters

This session has been presented by Phil Carlisle who’s a British independent game developer and lecturer/researcher at the Bolton University, U.K. He’s been working with Team17 on the Worms franchise.

You have to meet him in person to understand Phil’s charismatic presence whenever he starts to talk. It’s hard not to listen to him when he’s talking about game characters and the need to give them emotions and how they can create emotions. Perhaps it’s for this reason that he’s also the best to inform us about the research that has been done until now and where it probably will head in the future.

His motivation is to create “real” emotion and to understand the gamers emotions with the final target to create actors instead of insensitive, emotionless puppets that are in-game characters now.

To illustrate this, he showed us three video examples: Fallout 3, Team Fortress 2 and Wall-E. While the character shown in Fallout 3 seemed to be completely emotionless, the Heavy of Team Fortress 2 made heavy (sigh) usage of facial expressions and body language. Finally, Wall-E was an example of how to create the impression of deep emotions even without using speech. Sometimes simple movements can express more than 1000 words.

Phil talked to us about “Artificial performance” which should create convincing characters taking into account verbal (language, paralinguistic) and non-verbal communication (facial expression, gaze, posture …)

When talking about the current research, he pointed us to Antonio R. Damasio’s “Descartes’ Error: Emotion, Reason, and the Human Brain”. Phil said: “People are not logical beings. People are emotional beings.” With this he introduced us to the idea that it’s perhaps more important to make usage of recognition systems than logic, because “emotions help regulate what we do.”

Phil told us about different models for emotions, personality and mood used in Psychology:

  • OCEAN (“Big Five”)
  • PAD (Pleasure-Arousal-Dominance)
  • OCC Model of Emotions (Ortony, Clore, & Collins)
He also listed a couple of books which might be interesting when learning about emotions and characters.

Finally he talked about future works in this field and the player's perception of agent communication (verbal and non-verbal), models of emotion, and procedural animation. He shortly described emotional characters and a possible way to include emotions in AI.

He's been talking about much more, and it would take much more than a conference report to elaborate in a more detailed way the different approaches Phil mentioned throughout his speech.

Nevertheless, for those who are interested in learning more about all this, I've added a couple of links:

http://en.wikipedia.org/wiki/Paralanguage
http://en.wikipedia.org/wiki/Descartes'_Error
http://en.wikipedia.org/wiki/Big_Five_personality_traits
http://www.springerlink.com/content/g071r4n59240u537/ (PAD)
http://www.bartneck.de/publications/2002/integratingTheOCCModel/bartneckHF2002.pdf
http://en.wikipedia.org/wiki/Procedural_animation
http://www.actormachine.com/products.html
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.6716

Coordinating Agents with Behavior Trees

Ricard Pillosu is working at Crytek as Lead Game Programmer where he has been working on the Crysis franchise. Ricard used an example behavior tree of a soldier in a first person shooter (what else) as the context for this session to introduce us into the concept of squad and group coordination.

He mentioned that current GFX is creating high expectations to the behavior of the characters on screen, and that the AI has to keep up with the increasing complexity of today's computer games. AI must deal with more information, be easier to debug, permit rapid iteration, use less hardware resources and enable easy coordination of AI agents.

Behavior trees (BT) can be used to handle some, if not all, of the above mentioned issues. BTs display a tree-like view of the complex behavior and thus are more readable.

Before one can make usage of the behavior tree, it's necessary to represent some game data in an abstract way. Ricard used a simple table to represent the agent knowledge. To generate this knowledge, filter functions are used to simplify the world data which is then easy to read, easy to pack and easy to debug.

Typical content of this simplified agent knowledge is i.e.:

  • current_weapon = 3 (UZI)
  • Health = 100
  • Ammo = 60
  • ...
Ricard explained with a little bit more details the construct of a BT which I will not add here (See the links for a more detailed explanation). But let's say that a BT contains actions and conditions that are checked before those actions are executed.

Using the above mentioned example of a soldier, he elaborated where and why to include a branch in the BT to introduce the idea of a squad/group management. The newly included squad/group management is called a "tactic" (i.e. "Flank") and is used when some given conditions (such as "use this tactic if 2-4 agents are available") and the context make sense for this given tactic.

In order to achieve a deeper coordination between the involved characters, a tactic manager is used which monitors the BT activity. The tactic manager analyses the situation, elaborates the list of possible tactical candidates (agents available for any given tactic) and re-evaluates the agent's BTs once a tactic has been triggered.

I would have liked to add a lot of interesting links about this topic but unfortunately, when searching about Behavior Trees, you mostly will find papers related to natural speech processing or similar. The best approach (which is also referenced over and over again) is Alex J. Champandard's BT overview: http://aigamedev.com/open/article/bt-overview



Page 2


Contents
  Introduction & ToC
  Page 1
  Page 2
  Page 3
  Page 4
  Page 5
  Conclusion

  Printable version
  Discuss this article