Skip to content

Conversation

@sunzenshen
Copy link

To take advantage of the navmesh dispersal pathing as well as misc navmesh fixes/tweaks.

To take advantage of the navmesh dispersal pathing as well as misc navmesh fixes/tweaks.
@sunzenshen
Copy link
Author

sunzenshen commented Dec 26, 2025

Bots would previously get stuck in this shape of corner. My theory was that bots were trying to run after a threat, but the corner was blocking their way, so I made some one way connections such that a bot needs to step away from the sticky corner to pass through the opening.

Screenshot 2025-12-25 212753

Casual testing seems to show that bots no longer get stuck in this corner and they still use it for leaning cover.

Screenshot 2025-12-25 214339

Taking advantage of an implementation detail of bot_retreat_to_cover.cpp, added navmesh splits to the end of the side cover areas between the seating spots to encourage bots to walk to these end notes for cover. The way the retreat logic works is that what I assume is a graph search is looking for navmesh nodes that are not visible from the navmesh node that an attacker is occupying. My theory was that the side inter-seat areas were treated as larger navareas that were still visible from the hallway, so bots would never treat those areas as valid cover, as those navarea were technically visible from the hallway. By adding splits to the end of the interseat areas, the cover finding graph search would evaluate these new individual areas and then confirm that these are not visible from the attacker's occupied navmesh.

Here are some examples of the bots now taking advantage of the obscured side cover points between the seats:

Screenshot 2025-12-25 214111 Screenshot 2025-12-25 214146 Screenshot 2025-12-25 214540 Screenshot 2025-12-25 214057

In my opinion, the navmesh connections near the ladders were all cursed, with incomplete navmesh sections that I needed to splice, as well as needing to rework the one way drop down connections. By making these tweaks I believe the bots drop down the ladder access points in a smoother manner.

Screenshot 2025-12-25 214914 Screenshot 2025-12-25 214938 Screenshot 2025-12-25 215514

Prevent bots from running into the drink cart:

Screenshot 2025-12-25 211709

Prevent the bots trying to climb up on the seats:
(deleted these navmesh nodes)

Screenshot 2025-12-25 211743 Screenshot 2025-12-25 211851

Remove random navmesh modes on the tables:

Screenshot 2025-12-25 212847 Screenshot 2025-12-25 213058

@sunzenshen sunzenshen requested review from a team December 26, 2025 06:29
@sunzenshen sunzenshen changed the title Tweak navmesh on bullet NavMesh Path Dispersal: Bullet Dec 26, 2025
@DESTROYGIRL DESTROYGIRL removed the request for review from a team January 1, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants