| Crowd modeling techniques traditionally take inspiration either from fluid
			systems or particle systems. Both approaches deal with attractive, repulsive
			and frictional forces; in addition, particle systems place motion decision with
			the individual. In the implementation of the CrowdAgent,
			we chose the aggression level of the agents as the grouping characteristic of
			the crowd. An agent will start out with an initial aggression rating,
			'A(0)=Ai', and then migrate towards the aggression level of the agents
			surrounding them. This transition is governed by: 
   
 The first term of the equation guarantees that if the agent is not surrounded
			by other agents it will return to its initial aggression level. If there are
			other crowd agents in the neighborhood, the agent will have its aggression
			level pulled towards the aggression level of each of the surrounding agents.
			The motion of an agent is related to the position of all other agents in the
			sensor range, and what there aggression levels are. The equation of motion used
			is:
 
   
 A similar function is calculated for the 'Y' direction. Once again we are
			summing over all agents in the sensor range, but this time we also generate a
			factor for the attraction between agents. The 'pF' attribute is based on the
			aggression of the agent of interest and the aggression of the agent in the
			sensor range. This is an attractive/repulsive attribute which is defined by the
			piecewise function
 |  |   
 The 'pF' factor will give an attractive influence between 0 and 'pfB', the
			remaining distance will give a repulsive influence. As long as the attractive
			forces are not made too large then the individuals will have the ability to
			separate from a group, and rejoin another group.
 
 As the particle grouping paradigm deals only with the motion of agent in the
			presence of crowds, it was supplemented by a series of heuristics. In the
			absence of other agents, the movement of the agent will perform random
			wandering. If food is detected, the agent moves directly towards the food. The
			agent is reproducing with a random probability whenever the energy level is
			high enough. Finally, a simple heuristic was used for the fighting: the agent
			tries to avoid coming in contact with other agents, but if it comes into
			contact, it will attack. Finally, a simple heuristics is used for obstacle
			avoidance. If an obstacle is in the direction you are trying to move then keep
			turning to the right until you find an open direction and go that way.
 
 In practice we found that there was a need for at least 4 agents of this type
			to get any really dynamic interactions going, and this was also the needed
			level to guarantee a long survival time, the algorithm performing the best with
			6 agents of this type, given the limitations of the environment size.
 |