Game Engines - Resistance 3 and Nav Meshes


Navigation Meshes

    Today in class we continued to discuss the concept and practice of navigation meshes, and how they are important. We discuses and watched presentations on how they are designed and implemented in games, as well as different approaches or changes to the idea that are made in the industry to accomplish desired results. 
    A navigation mesh is a simplified version of the environment geometry that is fed into the A* path finding algorithm, that greatly reduces the processing and logic needed to compute a path to a given destination. It is extremely beneficial to create a Nav mesh instead of using the world geometry for the path finding since the designer can provide essentially the same data and receive the same result from the path finding algorithm with a greatly reduced cost. A Nav mesh can contain information about special linked nodes, special information regarding designers implemented path, and other various information that an engine can interpret  For the most part a Nav mesh just consists of a very basic set of geometry defining paths and traverse-able area for AI path-fining computations. 

http://x9productions.com/blog/wp-content/uploads/navmesh_UDK-1024x582.PNG
Example of a game nav mesh consisting of stripped environment geometry 

   Designers should be given specific tools to design and develop a specific game level's Nav mesh, since additional information or tricks is often required. In most situations a basic geometry parser outputs a simplified version, but the designers would need to go through and fix or place planes or nodes to allow for the desired placements and interactions. 

https://developer.valvesoftware.com/w/images/3/35/Nav_split.jpg
Example of Designer Nav Mesh tools in game engines


    Taking a look at more efficiency, the A* algorithm implementation can be optimized some more to save CPU. A technique called hierarchical pathing consists of breaking the entire path down into sections, for example different rooms, and going from room entrance - exit before taking into consideration obstacles blocking the path near the end or close to the destination.

   Nav meshes are important given the fact that there are hardware limitations. It has always been a challenge to develop fun and lifelike intelligent AI, but optimizing concepts and implementing tricks to simulate end goals can work great for finished projects.

   Insomniac games states that modified Nav meshes are extremely important for implementing immerse and fun NPCs, giving them personality and complete function in navigating, and perceiving movements. They also state that changing the system to develop as well as the importance of a Nav mesh is to remove some burden on the designers, and allow for scripted AI to act more dynamically with less work.

http://wikicheats.gametrailers.com/images/0/03/L4dCornFieldRunning.jpg
Optimized nav mesh and path finding techniques allow for a lot of instances


   Insomniac also set up their AI to use navigation meshes in an interesting way. They set up the following steps: Set up the Nav Requirements (Current position vs where need to go), next is to use the navigation mesh to calculate the path needed to get to the destination, smooth the path, Steer around obstacles with tangents and corner specific cases, translate the path into velocity and angles for the game animation system to interpret the simulated velocity and direction to look and animate normally.  

   In conclusion, Nav meshes are an open concept that can be molded into a variety of specific scenarios, as well as how complex tasks can be simplified or broken into sections and still provide the same result.

Comments

Popular posts from this blog

Game Engines - Phyre Engine Audio

Game Engines - Roboy Phyre Engine 1