Show HN: L1-path-finder, a fast path planner for grids
mikolalysenko.github.io
mikolalysenko.github.io
PVS/VSD applies to all kinds of problems, its nice to see someone else doing it. Split the world into convex volumes with connectivity information and suddenly the toolbox of algorithms at your disposal explodes... :)
still surprised that games developers don't do it more... there are physics, audio, networking and other optimisations to be had from splitting the world properly and having good connectivity information.
Right now, it's in a weird spot where it's sort of free, since you can offload to other cores that would otherwise remain idle. But as Mantle and other multithreading APIs take off, and engines get smarter about multi core, it's going to go back to being a big bottleneck.
This is the kind of thing that could create a truly EPIC game.
For example in an open-world type MMO or FPS game position is a floating point number. Does the game engine break the area down into smaller polygons?
If so is that mesh 3D? If so what happens if something isn't at the appropriate Z-axis? For example if AI is chasing a player and the player jumps how does the AI know the human player is on the same plane? And how does it differentiate that from the human being on another ground level slightly above/below it?
as well as that there will be some (usually quite off the cuff, hacky) logic to get a character from wherever they are to the nearest node (or its vicinity) and something to avoid them from hitting each other (too much)
there is nothing special about the 3d part, you just make the mesh in 3d and respect the constraints of gravity, player movement etc. so that you can't connect nodes badly
the floating point number thing is not important. any pathfinding can be made to have this 'extra complexity' if you simply go between the points over time smoothly...