Skip to content

Instantly share code, notes, and snippets.

@jackpoz
Last active July 24, 2022 22:29
Show Gist options
  • Save jackpoz/6ad33fccfb2a799d0d83 to your computer and use it in GitHub Desktop.
Save jackpoz/6ad33fccfb2a799d0d83 to your computer and use it in GitHub Desktop.
mmaps dynamic obstacles
https://github.com/memononen/recastnavigation/blob/master/Recast/Source/RecastArea.cpp#L538
https://groups.google.com/forum/m/#!topic/recastnavigation/OqJRHFoiVX8
http://digestingduck.blogspot.com/2012/05/detour-crowd-path-replanning.html
<jackpoz> current main mmaps issue is the time it takes to generate a tile, that's why 1) we do as much as we can work in mmaps_generator and 2) we dont' support dynamic gameobjects
<Rat_> this is https :D
<jackpoz> what if we add a threadpool (pseudo-technical term) where we can queue tile generations at runtime that will be set to the correct place when they are ready to be used ?
<jackpoz> let's say I spawn a gameobject, it queues a tile regeneration, for the next 5 seconds the gameobject has no mmap support, after that the tile is ready and the gameobject has mmap support
<jackpoz> absolute no impact on update diff
<Rat_> in highly populated zones with lots of phasing and stuff it would generate for ever
<jackpoz> then you'll put that in another dedicated server, for all I care
<jackpoz> you can put it on EC2 too
<jackpoz> optional config too
<jackpoz> so if your server sucks, you keep it disabled
<jackpoz> it could have a cooldown too if you are worried about too often regenerations
<jackpoz> we don't need to make it perfect, it's an improvement of current status
<vincent_michael> my db like no frFR xD
<jackpoz> Subv: read up
<Warpten> is subv even here
<Rat_> cant we add pregenerated "tiles" at runtime same like with whole mmap tiles?
<jackpoz> I'm gonna patent my idea and sell it to private servers
maybe all we need is to use dtTileCache, see http://digestingduck.blogspot.com/2011/01/temporary-obstacle-progress.html
Maybe we could have go id in mmap polys near poly flags and pass gos array statuses as parameter for every query, so different instances of the same map can still share the same tile.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment