Originally Posted by
V4MPiR1
Go to original post
I've made a post in this regard before. The world engines are not WYSIWYG. What is displayed to you, the player, visually, is not what the program "sees"/processes. The program "sees" a wireframe polyhedral plane (navmesh), each facet/surface of which is assigned a degree of permeability. If this is what would be displayed to the player, it would look like a 1990's video game. Transposed over this is a non-functional, cosmetic skin, under which, similarly, specific regions can be assigned a degree of transparency. A compromise is made between providing a "world" that is simple enough for the program to process quickly, and complex enough for the player to enjoy visually. This compromise is functional, but noncollinear. That is why, at times, you might visually perceive "open" areas that are "impenetrable", and "closed" areas that are, in fact, "transparent" to enemy AI/NPCs. You will have undoubtedly first experienced this when cornering, having a clear LOS on target, firing, and seeing your rounds ricochet in front of your muzzle, as opposed to landing on target.
Moreover, as Kunning stated, enemy NPCs can, apart from "cheating" in "seeing" the world as it is, as opposed to how it is displayed for us, be assigned greater navmesh penetration and other abilities to compensate for AI that is inferior to human cognition.
The only recourse we have until better world engines are developed, is to familiarize ourselves with the maps, be vigilant any time we are in close interaction with the navmesh/objects, and prepared to adapt under a significant disparity between reality and perception. This may result in player character "death", and is why GM/permadeath modes should be attempted after attaining a degree of familiarity (spec. post main campaign run-throughs).