Simulations vs Emergent Behavior

Hi everyone,

I’m at the point in my game development where I want to implement some high-level behaviors. The game is a single-player trading game on a large overhead world. Imagine that you control only a single caravan out of many, each belonging to a cartel, that travel from city to city buying and selling and occasionally skirmishing with each other.

Some of the behavior I would like the player to see while traveling about the game world:

  • Caravans traveling from city to city occasionally staying parked in a city
  • Monthly changing supply/demand prices of commodities
  • Cartels either peaceful, hostile, or at war with each other

Now the tricky thing is that I can see many ways of approaching this task but possible approaches appear to be at polar opposites from each other. For example:

  • Completely random prices versus simulated supply/demand based on past amounts.
  • Highly tuned caravan AI versus simple global rules and emergent behavior.
  • Build the entities from the ground up and then place simulation rules on top versus starting from a coherent system e.g. Conrad’s game of life.

Has anyone developed such a system i.e. simulating a highly active world with behavior continuity? Looking for some general pointers as well as pitfalls to avoid.

Not directly, however I have had a hand in aerodynamic simulators and the thing that stuck with me was that you had to be on the look out for positive feedback loops. Even a minute one can and will eventually become massively destabilising.

I’ve never looked at them, but valve hired an economist that has a blog and some papers that could be interesting.

That seems like pretty advanced AI. I feel that the type of AI you are looking for is pretty close to how things work in SimCity games, but on a smaller scale.

In order to simulate what you are talking about technically you’ll have to create behaviors for each entity you can find in the game to represent each caravan. There were actually a few videos on the subject.

http://aigamedev.com/open/articles/behavior-trees-part1/
http://aigamedev.com/open/articles/behavior-trees-part2/
http://aigamedev.com/open/articles/behavior-trees-part3/

You really can’t do too little research on the market trend is though. Even the stock market by itself is very hard to pin down in terms of research. I would suggest reading general books about marketing and simulating the process. Adding this to the concept of behavior trees can possibly go a long way technically.

If you’re after emergent behaviors, you might want to check out utility-based AI:s - IA on AI has some pretty good introductory posts on it, such as Getting More Behavior out of Numbers.