Agent Based Modeling simulates individuals. For instance, if we were to simulate a population, we would have a separate agent for each individual in that population. Each of these agents would have a set of attributes that defined their state. For instance, if we built a predator-prey model, each of the predators might have two states "Hungry" and "Satiated". Which of these two states an agent was in would affect its behavior with the hungry predators seeking prey while the satiated predators would be content to stay where they were.
Insight Maker's Agent Based Modeling supports two types of spatial structure: geographic structure and network structure. Using geographic structure, you can give a position to each agent (as an x, y coordinate). The agents may then interact based on their positions. For instance, an agent may look to find the closest agent to it and then respond in some appropriate way. Agents may also be scripted to move in this geographic space. Network structure represents the connections between agents. Imagine a social network where each agent may have a set of friends and who they know will affect their behavior. This network structure can be dynamically rewired by the model over the course of the simulation.
The following embedded model is a simple illustration of an Agent Based model. It shows the interactions between two types of agents: a consumer and patches of ground. Think of this as illustrating an orchard. Each patch represents a clump of trees that are either fertile (they have fruit) or infertile (they do not have fruit). The consumer agents will move around the orchard seeking fruit trees. When they find a fertile patch they will consume all the fruit, converting it to an infertile patch. Over time, infertile patches will be converted to fertile patches as new fruit matures.