Originally Posted by
Cypher
To address your points:
Pregenerated meshes (if implemented well) should pretty much never get lost or stuck, the rare cases they do can be addressed with a basic collision and climb hack (nothing obvious, just so you don't get caught on signs that pop up or tiny little hills).
If your navmesh is generated by hand it should be recording new points into the mesh as it travels and so would be able to find its way back anyway if it wandered off the beaten path.
Also, the fact you think that a mesh would be mutually exclusive to good collision detection that doesn't rely on what is basically glorified pixel scanning makes me question your methodology.
GameObjects can be detected by enumerating the linked object list, worldobjects by reading the data from the ADTs. If your both is written well it should be able to detect most obstacles, and even if you didn't do that a collision hack is easy to do and possible to implement in a way undetectable by warden (in its current state).
Futhermore, even if you didn't want to do memory reading for collision detection, a simple "i'm at point xyz and am stuck, i'm going to try and avoid the obstacle, moving backwards, strafing, trying again, etc" would get you out with the same accuracy as your 'bitmap method' while allowing you to blacklist the point on your mesh and save the new connections for next time. Basically, a well-generated navmesh coupled with a well-written bot can for the most part 'take care of itself'.