The patterns we describe here assume that your gamelet program has a collection of entities called agents that exist in a space, can change their appearance and state, and move around. These agents are typically organized in a grid. At each grid location there is a stack of agents. We also assume that agents communicate by sending messages to one another, and that an agent responds to a message by executing a sequence of actions called a method. For more advanced patterns we’ll also assume that agents can have numerical attributes. These concepts and terminology fit the Agentsheets system, but can be used to organize programs in any object-oriented framework.
Although we use concepts appropriate to Agentsheets here, we will not present a complete introduction to that system. Tutorial materials can be found on the Web at http://www.agentsheets.com/support/index.html.