Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

My map voxelstorm11 has incomplete navmeshes for small classes #2926

Open
sweet235 opened this issue Feb 17, 2024 · 4 comments · May be fixed by #2947
Open

My map voxelstorm11 has incomplete navmeshes for small classes #2926

sweet235 opened this issue Feb 17, 2024 · 4 comments · May be fixed by #2947

Comments

@sweet235
Copy link
Contributor

For example, do

/navedit enable level0
/setviewpos 1730 8874 3853

Strangely, reducing the cellSizeFactor in voxelstorm11.navcfg can give complete navmeshes. But the tiles are so small that the search is far too slow at bot runtime.

The map is here: https://users.unvanquished.net/~sweet/pkg/map-voxelstorm11_1.dpk

Notice that the map is big, but not very huge.

@sweet235 sweet235 changed the title My map voxelstorm11 has imcomplete navmeshes for small classes My map voxelstorm11 has incomplete navmeshes for small classes Feb 17, 2024
@sweet235
Copy link
Contributor Author

Here is a screenshot of the level4 navmesh at this place:

unvanquished_2024-02-18_103848_000

And here is the level0 navmesh:

unvanquished_2024-02-18_103915_000

Notice how the level0 navmesh ends at the upper right corner in this image.

@DolceTriade
Copy link
Member

Is this an artifact of the stair size? is this something that happens in all maps with stairs?

@sweet235
Copy link
Contributor Author

Is this an artifact of the stair size? is this something that happens in all maps with stairs?

I have no idea about the exact cause. But I am convinced it is not the stair size.

Something similar happens at some maps with considerable vertical extent, like map-cube.

In situations like this, we can simply use the level4 navmesh for all classes. This is not optimal, but not too bad either: one simply copies the file voxelstorm11-level4.navMesh to voxelstorm11-level0.navMesh. But at some point in the future, the server will overwrite these files.

Notice how we moved the responsibility for this from the mapper to the server.

@sweet235
Copy link
Contributor Author

sweet235 commented Mar 5, 2024

In nav.cpp, there is

d_->tcparams.maxTiles = d_->tw * d_->th * EXPECTED_LAYERS_PER_TILE;

Multiplying this by 4 seems to solve these problems. What is the proper value?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants