Path Planning : Bat Guy Vs. The Clown
Max Omdal
This Path Planning project is an interactive simulation with several interactive parts. Primarily a superhero and supervillain play a game of cat and mouse. Batma... err.. "Bat Guy" and "The Clown" are caught in this battle. As Bat Guy, you have the ability to control bats by dropping signaling devices that they will navigate their way through a maze of water towers to reach. You also will need to make use of your other Super gadgets, like explosive projectiles, and miniature self-driving probes. Read on to learn about all the features in this application, as well as how it was implemented.
Features
- 3D rendering and smooth camera navigation
- Improved Agent & Scene Rendering
- Orientation Smooth
- User Scenario Editing
- Realtime User Interaction
- Multi-Agent Planning
- Crowd Simulation
- Press P to open Debug Mode
Controls
- To orbit the camera, use the arrow keys
- To move your character use WASD keys
- Use the left mouse button to set destinations and launch probes
- Use the right mouse button to throw explosive projectiles
- Press Q to drop a bat signal
- Press ENTER to activate bat signal. Uh Oh! The Clown has a tag on our bat signal, and when we activate it, he'll track us down!
Path Planning & 3D Rendering
This program uses the A* search algorithm with a probabilistic roadmap to provide a planning graph and a system for an agent to travel from a start position to a goal position. The obstacles in the scene are all cylindrical. The bats are simulated using a boids algorithm, and a global tethering point is progressed along a path. A force is then applied to the boids to move it towards the tether point. Because the path planning does not directly place each individual boid out of the way of obstacles, we also check for collisions with the obstacles to avoid.
Note that while the rendering is in 3D, the path planning is still in 2 Dimensions. This reduces the complexity of our roadmap, and lets us approximate each obstacle/agent as a circle.
Crowd Simulation
There are two techniques used here for crowd simulation. The time-to-collision technique is used to handle interactions between the probes and The Clown. When The Clown isn't moving, try sending a probe to his location. You will see how it's path is blocked. Then, as already mentioned all bats are simulated with the boids algorithm. They will all successfully avoid each other and obstacles. Multiple bats can share a single path, so
3D Modeling
Most of the 3D environment was made by myself, but for the characters, I started with a base model on Free3D made by Prodigy114 I rigged, added some materials, and gave bat guy a cloak and mask.
Conclusions and Future Work
This demonstrates several concepts of Crowd simulation and Path planning. There are some known problems. Sometimes, if you do not place at least one of the bat signals during each turn, it may crash the program. Future work on this project could involve higher fidelity animated models, using voronoi maps for the bats to increase their spacing between objects, and creating a response system to handle when the enemy is hit by one of the player's weapons.