Skip to content
26 April 32011 / Robin Wellner

Modelling Agent Beliefs in Games

Kicking of with a bit of a warning: this post is rather theoretical compared to its usual content.

The post proper starts with a generic question: how does one model belief states for NPCs/agents in games?

Why would you want to model belief states? I’m not talking about things like “last know position” here, which is neat but not what I want to discuss.

This is about social simulation games, where it is important for agents to act believably. Letting the agents have subjective models of the world in their “heads” could potentially be a huge benefit.

In the game series The Sims, little attention is paid to agent world view: the Sims have relationships with other Sims, but that’s still rather one-dimensional. There are different elements in the different games in the series, but other world view elements are given rather limited attention. For instance, interests in The Sims 2, which decide what the Sims like to talk about, but they don’t influence game play very much.

In OpenTown, I want to do things rather differently. Relationships consist of multiple elements, for example: how much John trusts Jack is independent from how much John likes Jack. Although they are independent properties, they are related and mutually connected. Also related is how much John trusts Suzie and how much Suzie trusts Jack (or at least: what she tells John about that). So relations are complex, dynamic and influenced by groupthink.
What more: people prefer to talk to people that agree with them. I expect groups to form, hopefully preventing the town to become a homogeneous paste. In The Sims, this is resolved by letting Sims do stupid and rather OOC things like randomly picking fights with strangers, which I really don’t like.

There is a lot to OpenTown belief state which I’m glossing over, one thing I do like to mention is Doubt. Every believe has a Conviction and a Doubt quantity attached. The Conviction is simply how much the person believes a certain claim to be true. -1 is “most certainly false”, 1 is “most certainly true”, 0 is “I have no clue whatsoever either way” and the rest sits somewhere in-between. Doubt is more of a meta-belief: it goes from 0 to 1, it says how much the person suspects their own belief is false.

How does that work in theoretical practice?
Put a firm believer in Red Is Better Than Blue (R>B) in a circle of people who all believe Blue Is Better Than Red (B>R). When they converse, sometimes the subject of Red vs Blue comes up. The Conviction of either party is raised, because that is the typical response of humans. But the Doubt is raised too. The kind hosts can lower their Doubt by talking amongst themselves about B>R, while their guest has no such luxury. After a while, the Doubt of the guest begins to overtake their Conviction, and the latter starts dropping, while the Doubt starts rising even faster (of course, once Doubt reaches 1, it will not rise anymore). Once Conviction crosses the 0, their Doubt starts dropping, and it won’t take long now before the guy who thought R>B at first now completely believes B>R.

This is all very complicated and, if implemented, might provide for very interesting situations.

For another game, I wanted to do something similar, but less complicated, since (believable) social dynamics was not the primary goal of that game.

The working title of that game is Tribe. In it, you lead a tribe, consisting of unique individuals. There is more to it, but I’ll just discuss the belief system I want to use there. That system uses certainty factors. The tally there is how much the receiving person trusts the claimant. This does away with the whole double Conviction/Doubt system and I have no justification for it as I have for the OpenTown system.

This post is getting a bit long, and there is so much more to say on this subject. You can consider this the first part of a series. Probably.



Leave a Comment
  1. Tommy Brunn / Apr 26 2011 21:56

    Very interesting read! Do you have any more information on OpenTown available somewhere? I would love to help out, in whatever capacity I can, if you’d like me to.

    • Robin Wellner / Apr 26 2011 22:53

      Thanks! I don’t have a lot of information on OpenTown out there, I have some (very) early thoughts about it on my blog, from when it was still called OpenLife. It has very little to do with the current OpenTown, though. Help is very much welcome, although not much is currently happening. In the meanwhile, you (and anyone else, for that matter) are welcome to hack away at my current code. It’s mostly a collection of experiments around a small library-like code base, at this point.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: