Emergency evacuation simulation

Hello guys!

I want to simulate an emergency evacuation of an office floor using a multi agent system. Basically every human in the building will be an agent and he will interact with agents that he meets on his way.

My first issue is how to find a path from where the agent is when the evacuation starts, to the “safe” location. I thought about memorizing locations on the map so the human can go from one point to another (like a graph), avoiding the walls between his location and the exit. I will probably use MotionPath.
Now, if I want the agents to interact when they collide I have to use Physics.

Is it possible to use MotionPath and Physics at the same time?

The humans will be models without joints, they will not be animated.

What kind of control should I use for the humans and what kind of objects(Kinematic or Dynamic)?

I am new to jMonkey so now I am researching, any advice will be very appreciated :slight_smile:

Thank you!

Why a MotionPath and not just a list of Vector3f’s? Optional pathfinding.
Agent tries to get to next point in list. When close enough, remove it from the list.

I’d say that’s the easy part of the simulation. Worry more about collision avoidance than collision. People tend to want to walk around obstacles (and each other)

1 Like

For collision avoidance and path following and much more character steering behaviors you can take a look at JME Steer library.

http://jmesteer.bdevel.org/

https://jmonkeyengine.github.io/wiki/jme3/advanced/steer_behaviours.html#toolbar

And for path finding you can use JME-AI

In JME Cookbook

You can find tutorial for using JME-AI path finding or implementing your own A* path finder.

1 Like