I have a 3D arena map (consider a small island surrounded by water on all sides) for a multiplayer Tank fight game. The moveable areas are marked using a Navigation Mesh made by the Arena designer.

My question is what would be the best way for navigation in such an environment ? Specially considering the case when there is a Bridge at the center of the arena and you could walk under it or even above it ?

enter image description here

If suppose the enemy is standing at the top of the Bridge and my AI is at one of the edges of the map ? How can it know whether the enemy is above or below the bridge and how can it navigate till it ?

  • \$\begingroup\$ Is there something wrong with asking the navigation system to generate a path between the two points on the navigation mesh? \$\endgroup\$
    – Mokosha
    Commented Apr 12, 2013 at 21:33
  • 1
    \$\begingroup\$ I am particularly looking for the case when I am at a point where we can move both under a bridge and above the bridge as well .. \$\endgroup\$ Commented Apr 13, 2013 at 2:53
  • \$\begingroup\$ Under the bridge is not in the same place as over the bridge. I'm not seeing a problem here. Either are simply somewhere on the nav mesh, this is a 3D world after all, with over and under and all that. \$\endgroup\$ Commented Apr 13, 2013 at 3:22
  • 6
    \$\begingroup\$ A nav mesh is just a bunch of connected triangles (the mesh) that say where you can walk. In 3D you can have some of those triangles down in the river and more of those triangles connected over the top on the bridge. There can be holes where no one can walk, disconnected meshes that you would have to fly or jump to (a more complex discussion), and bridges. The path finding code that uses a navmesh doesn't care about anything except what triangle connects to what other triangles and builds you a path one step at a time. \$\endgroup\$ Commented Apr 13, 2013 at 3:56
  • 2
    \$\begingroup\$ ohh ohk! great! I was thinking in terms of a matrix representation of the whole map till now .. so was confused how can I mark two points (up and below) at a single cell in the matrix. Now I understand its more like a graph with neighbor nodes connected to each other. Thanks a lot @PatrickHughes \$\endgroup\$ Commented Apr 13, 2013 at 4:37

1 Answer 1


There is a lot to nav mesh generation, navigation and agent steering. However, it is one of those subjects whereby you decide "how deep the rabbit hole goes", it is an interesting subject and the more you learn from it, the easier it will be for you to implement/hack.

I found these resources helpful and might get you on the right track:

https://en.wikipedia.org/wiki/Johnson%27s_algorithm - Check all the pairs of the shortest paths

http://www.red3d.com/cwr/steer/ - Solutions and concepts on navigation intelligent agents.

http://www.ai-blog.net/archives/000152.html - Examples and applications of nav meshes and steering.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .