That sounds weired to me. Refer to what I read, mesh is supposed to be defined as convex polygon, which means obstacles are not supposed to exist between two points within the same mesh. If the obstacles exist on boundry of inter-mesh boundry, then this two mesh is not supposed to be linked, therefore a direct route goes from A to B is not supposed to be returned by the algorithm.
I found that video without too much searching, it may not be the perfect example for what i'm trying to say
What you said is true and i confused cylinder's movement around moving obstacles with algorithmic imperfection.
And to correct my language, I mean I don't understand why defining navmesh can require large amount of manual adjustment, not only for M&B, but in general.
The video has one player cylinder, for moving boxes and an even terrain. M&B games have hundred of moving units with complex models and animations and scenes contain uneven terrain and whatever else. Add the minimum and optimum system requirements to the list of limitations then you have a large amount of complexity for this issue. I wrote this before
I don't mean that pathfinding algorithm is the most resource eating thing. It could have a small effect on performance and there might be more downgrades. I also don't think downgrading pathfinding algorithm must be only motivated by performance concerns. Think about Cyberpunk 2077, players say ai controlled cars can't drive around you when you stand in front of them. Developers may have no time to spare or the current state of code might not allow easy addition of such system. Lots of different possibilities.
I'm talking about the patfinding algorithms in general, not about navmeshes in particular.
It has been long since I learnt about parallel processing and I don't remember much about that. Kind of confused about if M&B was utilizing that, and why if not, since from what I can remember, using parallel processing to do pathfinding is supposed to help performance.
You can split a work into small parts and do each of them on seperate threads. Modern GPU's have way more cores than the CPU's. It takes less time to split time-consuming chores into multiple threads and make them done on GPU. I'm just talking about a general programming idea here.
Edit: A little bit of google search reveals the mechanics of the pathfinding.
Here an old member has a scening tutorial which he explains the mechanics:
A word about AI meshes:
AI meshes are the pathfinding meshes. It walks over these AI meshes to get at an enemy. AI Barriers are used to not make AI's fall of ladders, while players can jump off than, unlike when placing normal barriers.
Best way to make AI meshes on walls and through buildings is by going to Edge mode and extrude them.
If an AI mesh goes through a building, the AI will think they can pass through that building to get at an enemy, so don't do that. If an enemy is on a place without AI meshes, the AI will go to the AI mesh closest to him, and tries to reach him from there. If the bot gets off the AI grid, he will try to get to the closest AI mesh, sometimes being at the other side of the wall, thus bots gets stuck under ladders. Also add AI meshes under ladders that lead them back to the ladder.
There are 2 documentation sites for Bannerlord. One is created by forum member
Ster im March 2020
docs.bannerlordmodding.com.
Other one is the official one.
docs.modding.bannerlord.com. In the official website
bannerlord missions -> what makes a village scene
sections explains how navigation meshes work in bannerlord.
Depending on what's written on these links, i can say both games uses navigation meshes for pathfinding.
I wonder why nobody mentioned that before