Pathfinding for deterministic simulation

I’m doing a RTS game with lock-step deterministic simulation. As float point math isn’t deterministic, I created a custom type for fixed-point math. I want to try to port free version of A* Pathfinding to that (it should be almost as easy as replacing all 'float’s with my custom type name, but not really).

Maybe someone else already did this? Are there any hidden dangers, or maybe deterministic pathfinding library that I can use? Thanks!


I don’t think much in the core of the pathfinding project is non-deterministic. It already uses an Int3 instead of Vector3 for positions and all costs and similar are integer types. The only thing is that the time to calculate a path could vary but that can be solved by using WaitForPath to make sure a path is calculated at a given time. That function is not present in the current version, but it will be included in 3.2. And there is very little danger anyway since there are very few areas where floating point errors have the chance to pile up.

Thanks! I only opened the code and searched for ‘float’ in the source when I posted this, and now I’m slowly gathering understanding how it works… When do you think 3.2 will be released?

Oh, and of course, thanks for your work! I’ll definetly buy the Pro version if we end up using this framework.