Crowd modeling and swarm modeling have been used in simulation since the 1960s. I recall seeing a swarm model applied to a simulated flock of birds at a SIGGRAPH conference in the early 1990s. It was amazing to see such a realistic looking flock of birds emerge from fairly simple mathematical models. Each bird is an agent following a set of simple rules. The swarm emerges from the interaction of agents with each other with respect to distance, speed or other stimuli. Some swarms are affected by light, movement or chemistry. These kinds of models work well for flocking birds, swarming insects, shoaling fish or herding animals, so why not human crowds?
Discovery Machine, Inc. (DMI) has found that crowds of simple agents do not appear realistic from the ground or the air. The fact is that, unlike birds or fish, humans react differently to the same stimulus depending on their goals, motivations, emotional state, etc. DMI’s crowds emerge from a group of goal-directed individuals each with their own homes, places of work, and missions to attend to. The advantages are twofold: first, the realism from the air is qualitatively recognizable. It looks like people going about their lives; second, the reactions to events such as explosions show people reacting in many different ways. Some run to find their children, others run to help the injured, and most flee the area.
Crowds and swarms are actually a type of “entity aggregation” or a single model of many entities as a group. Entity aggregation is an interesting topic in simulation. Military folks like to treat controlling groups differently than controlling individuals. This is because they work with maps that use MOLE units to indicate companies or battalions. They assume that those units can carry out their orders to perform basic operations. This assumption doesn’t translate well to simulation. In simulation the individuals in the group are not modeled as independent entities but are parts of the group model. A swarm is a simple example where the agents (e.g. birds) are all following the same simple rules. A more complex aggregated behavior might involve a battalion moving through a narrow canyon. Each soldier might follow slightly different rules depending on their role. The real problem with aggregated models is that they typically only simulate the tactical operation as it should be accomplished. Since each individual is only a cog in the behavioral machine, it is not really possible to depict what happens when things go awry. For example, what if a sniper appears and starts firing at one side of the unit, or communication systems are blocked, or one of the units breaks down? Modeling all these factors, and a myriad of other contingencies in the aggregated behavior, gets quite complex.
The truth is that aggregating units is much easier when the individual AI is better. Instead of modeling the aggregate behavior, one can model the individual entities to know their roles, their available reactions, and their communications with other entities. For example, DMI has a squad that follows the player in VBS3 as he patrols a village. These are modeled as individuals with goals, situation awareness, communication abilities and reactions of their own. DMI has also modeled fast attack craft/fast incoming attack craft (FAC/FIAC) to follow-the-leader and harass target ships.
Another key difference is communication. DMI can model communication between entities and have aggregate behaviors emerge from that communication. This is very different from an algorithmic group maneuver. If you model the maneuver as a group algorithm, then interruption in the communications has no effect. Individuals don’t react realistically to attacks that thwart the maneuver. For example, the FAC/FIAC are adversely effected when they can’t see or communicate with one another. This is a more accurate way to model these boats, because it allows trainees to actually affect their behavior by denying those communications. Also, you can’t train as a member of that team because you can’t take the place of one of the aggregated entities. The aggregated entity is acting as a whole rather than as a team of individuals.
All this said, DMI can create a single model that controls many entities at once. This is a more traditional way of aggregating. I think it is an inferior approach, however, and that modeling aggregated action as an emergent property of individuals who understand the mission and their role in the mission is the best approach.