Closed ghost closed 2 years ago
Maybe you can rebase on current master, which has updated libRecast (and new assert code if I'm right).
So we'd just have to hope there isn't a map where a crouching passage is shorter in distance, but takes a long time to traverse.
So we'd just have to hope there isn't a map where a crouching passage is shorter in distance, but takes a long time to traverse.
Yes, this is an issue. Ideally, we would want to have the crouch information inside the navmesh, and while we would be there (just had the idea), have navmesh generated to note when a jump would be required, so that those informations could be used by the path finding code. Unfortunately, I do not (yet?) know how to put those info in navmesh, nor if it is even possible.
It is possible to workaround "jumpable areas" by manually adding navmesh connections (they suffer from the same problem about lack of metadata though), but this does not apply for "crouch areas", which effectively makes places unreachable at all. This is why I think this solution (generating navmesh for "crouch area") is worth the problems it might create (I know no map which would suffer from it, but I clearly don't know all the maps). If this is really a problem, I suppose we would have to re-patch daemonmap to re-change the value :S (ideally, this should be a parameter, I know, but same for the mins/maxs anyway: they should not be hard-coded).
Another solution would be to generate several navmeshes, but this would require more patching game-side, and would probably have other drawbacks.
OK, seems worth a shot.
This should not be used until bots are able to duck, though.