World Cup Design

In its simplest incarnation, a soccer game is a simulation of two teams with a certain number of players in each team. The players are Pursuer Agents with a two-level goal structure. Initially, if they are away from the ball (Goal Agent) then they will try to track down the ball. Players from both teams track the same ball. Once they reach that goal they will have opposing objectives regarding where to kick the ball, i.e. passing the ball to teammates vs. passing it to opponents). The players want to ultimately score a goal for their team, and they do that that by either kicking the ball in the goal post (Goal Agent) if they are close enough or passing it on to a teammate, if that's the better choice. While seemingly passive, the field/grass is a Path Environment Agent that actually helps the team players figure out where to kick the ball.

This particular implementation of The World Cup simulation was developed during the 2002 World Cup Soccer championship and demonstrated in Tokyo.

Category

 * Computer Science: artificial intelligence, collaboration and competition algorithms
 * Math: diffusion

Advanced
The World Cup simulation is based on a Collaborative Diffusion algorithm with:


 * Goal Agents: are pursued by other agents. Goal may be static or mobile. For instance, a refrigerator is a static goal, typically located in a kitchen, pursued by an agent representing a hungry person in a “The Sims”-like game. A soccer ball, in contrast, is a mobile goal attracting soccer players.


 * Pursuer Agents: One or more pursuer agents may be interested in certain goal agents. Multiple pursuer agents sharing interest in the same goal may collaborate or compete with each other. If there are multiple types of goals, such scoring a goal and avoiding an opponent, then the pursuer agent includes a goal selection mechanism determining the priorities of goals being pursued.


 * Environmental Agents: agents in the environment, that typically seem passive, that either help or hinder pursuer agents to reach their goals:
 * Path Environment Agents: A path environment agent enables a pursuer agent to move towards a goal agent. In the soccer simulation a path environment agent is represented in the field/grass agent. A path environment agent is active by participating computationally in the diffusion process that is helping pursuer agents to locate goal agents.
 * Obstacle Environment Agents: Like path environment agents, obstacle environment agents are part of an environment but they deter pursuer agents from reaching their goals. In the soccer simulation, other players interfere with the pursuer's attempt to reach his/her team's goal. The interference may be permanent or temporary, simply causing a delay with the need to navigate around the obstacle; they can also be stationary or mobile.

Objective

 * Explore collaboration and competition control mechanisms to be able to deal with complex goal structures (e.g. kicking the ball, reaching the goal, collaborating with teammates, avoid passing the ball to opponents etc.)

Explorations
right, and the blue team is playing from right to left. The ball, the left, and the right goals, are the Goal Agents. The red and blue team agents are the Pursuer Agents tracking the ball and the goals. The field is covered with about 500 playground agents serving as Environment Path Agents. Playground agents diffuse three different diffusion values (ball, left goal, and right goal) using equation 1. In order to express collaboration and competition the player agents will also diffuse these values but will modulate the surfaces using the Collaborative Diffusion equation 2.
 * Worksheet "Tokyo11x11" is a complete soccer game simulation with eleven players in each team. The red team is playing from left to

Lesson Plans

 * PLEASE CONTRIBUTE

Additional Information
For more on Collaborative Diffusion for AI-based games, please refer to:
 * Repenning, A., Excuse me, I need better AI! Employing Collaborative Diffusion to make Game AI Child's Play. in Proceedings of the ACM SIGGRAPH Video Game Symposium, (Boston, MA, 2006), ACM Press.
 * Repenning, A., Collaborative Diffusion: Programming Antiobjects. in OOPSLA 2006, ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications, (Portland, Oregon, 2006), ACM Press.

Acknowledgements

 * Simulation was built by Alexander Repenning.