Our new agent behaviour
We used the lock down to give crowd:it a new look and have implemented many new features that will be released in the next weeks.
More freedom of movement and decision making for our agents
From now on, an agent can decide for himself when he takes a step or not and is no longer controlled centrally via a simulation clock. In addition, they can move closer together when things get tight, just like in reality (excluding social distancing simulations, of course).
Why did we change the agent behaviour? Never change a running system?
We have a lot planned for our agents in the future and would like to bring as much flexibility as possible into our simulations. In order for our agents to be able to react to externally controlled events in the future, among other things, we have worked out a continuous step decision. Our agents are now able to change their decision for the next step at any time and thus also the target for the next step.
Also new: soft shell, hard core
Another effect: In the course of the continuous step decision, we also adapted the visualization of the collision behavior. Our agents have a hard core surrounded by a soft shell. This allows them to squeeze through even in a tight spot. High densities of up to 9 persons/m² can be reached for a short time, as it is shown again and again in experiments.
What are the advantages of this flexible behaviour?
Greater accuracy: Each agent can take the next step when needed
More flexibility: Via events, agents can react individually to events
Runtime improvement: Agents who do not want to move at the moment do not have to be queried, thus increasing the computing speed
Even more realism: By introducing a soft shell and a "hard" core, agents can squeeze. This allows higher densities to be mapped
What will change?
As always, we have put a lot of time into the validation. With the update, all RiMEA tests are passed as usual, neither the flow rates nor the previous simulation results have changed.
That's normal walking behavior, why is it special?
Simulations model reality, i.e. they reduce or extract reality to its characteristic properties in order to make complex processes tangible and calculable. For this purpose, typical patterns are usually identified via research (e.g. Jülich) and transferred into models that can be mapped by the computer.
Since each computer can compute only discretely (each computation is executed in the clock of the processor) a temporal and spatial discretization takes place inevitably for each computer program of the world. How this is implemented, however, is crucial!
You can find more information about the model in our model description.