In many existing crowd simulation systems, crowds are specifically engineered for a single environment. The internal logic knows the location of interesting objects in the environment and the proper way to interact with them, and assumes those objects are actually there. This means that crowds can only rarely be re-used for other environments, and a new crowd has to be made for every new environment.
This problem is becoming increasingly important for the creation of Video Surveillance applications. In order to be able to test them, with either human operators or algorithmic solutions, scenarios must be available. However most of the data that is available is staged by actors, and as a consequence rarely has a long duration. Due to the large range and variety of environments observed by Video Surveillance, being able to place the same crowd in many virtual environments would be highly advantageous. It would not be necessary to have a single crowd for every environment, but the same crowd would work for every museum or aiport terminal. Other areas, such as gaming or evacuation planning, may benefit from such ‘crowd templates’ as well.
My research attempts to tackle this problem by using the notion of semantic objects to control a crowd. Each individual or group in the crowd will have a set of behaviours, which result in one or more goals of the agent (for example; ‘I need to board the airplane’). Using the semantics in the world, an agent determines which sub-objectives it needs to achieve, before being able to complete its goal. For the boarding example, in order to be able to board, the agent would need to get its passport and ticket checked, as well as get past the TSA. In order to get past the TSA, the agent needs to check in, and so forth. The agent (initially) does not know anything about how to achieve its goal. The semantically tagged objects in the environment provide services that help achieve its goals, but may require other objectives to be achieved first.
Due to the semantic nature of this approach, the actual motion of the agent is almost completely decoupled from its behaviour. The behaviour (and the objectives resulting from the semantic environment) will affect the destination of the agent as well as the speed with which it wants to go there, but little more. The only snag is grouping behaviour. Since we want the simulation to also be able to handle groups, any underlying motion engine would have to be able to handle groups as well. However it is currently still unclear how the semantic crowd engine will handle groups of agents, and may depend on the availability of motion engines that can handle groups.
: J. Kessing, T. Tutenel, and R. Bidarra: Services in Game Worlds: A Semantic Approach to Improve Object Interaction. Entertainment Computing–ICEC 2009, pages 276–281, 2010.