Jump to content

Underwater pathfinding is bugged


Milesand
  • Branch: Live Branch Version: Windows Pending

20190220164409_1.thumb.jpg.c83c37a207878fd6e179d3f13057264a.jpg20190220164355_1.thumb.jpg.81ad9d761c4c6aa9e3a2192621715d4d.jpg

Depending on the dupe's location outside the pool, the dupe's reachable point within the pool changes, even though the said dupe can reach any point outside the pool.


Steps to Reproduce
Build a big pool and make two holes into the pool. Make a dupe move over the pool with its navigation on and observe.



User Feedback


I did a test with this and can expand on the original post in 2 ways:

1) This is a problem with the pathfinding using a heuristic that limits distance in water to a hard coded value while also shortcutting pathfinding by not processing any location that's already been processed. The first half of that is questionable if it's good or bad, but the shortcutting needs to be done or pathfinding would be insanely computation heavy.

2) The original post shows a worst case for reachability, but if the openings were further apart, the dupe could actually go further into the water. This is bad because it means there's an inherent inconsistency that's hard for a player to understand without knowing the specifics of the pathfinding algorithm

I did an image with no water to show the base pathfinding (path1.png). 5c6de1ff58df2_waterpath1.thumb.png.a6cbf0c8e14b6044be61abb62524683f.png

 

The next 2 are to show that ladders up top are the same as tile.

5c6de2044ab1e_waterpath2.thumb.png.d9e59420b949e5169de5745d25e87d17.png

5c6de2095e5a3_waterpath3.thumb.png.69dec459eb50f2e102b3ce25aa5884e9.png

path4 shows that with a slightly wider pool, tiles that existed in the smaller pool but were not reachable are now reachable. It's also pretty easy in that to see how the pathfinding algorithm is working where the new tree starts on the right-hand side going into the water.

5c6de20e5ce90_waterpath4.thumb.png.aa608774ab621852393ed8038455f5a9.png5c6de4a283ec1_waterpath4_LI.thumb.jpg.dfed38a1a63555515da9f65fb96a1bb8.jpg

I'm not sure what the etiquette for proposing a technique to solve a bug is.... I put up a post in the suggestions forum about a potential solution to this bug though:

 

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...