Improve MakeGoalReachable using global regions, by leveraging the fact that we can easily know which goal regions we can reach. Particularly for point-goals, it becomes almost instant.
This does not change hashes.
(D53 outtake)
Differential D1835
Hierarchical Pathfinder - Add Global Regions / Optimise MakeGoalReachable (D53 outtake) wraitii on Apr 20 2019, 10:19 AM. Authored by
Details
Improve MakeGoalReachable using global regions, by leveraging the fact that we can easily know which goal regions we can reach. Particularly for point-goals, it becomes almost instant. (D53 outtake) Review code, maths and logic.
Diff Detail
Event TimelineComment Actions Build failure - The Moirai have given mortals hearts that can endure. Link to build: https://jenkins.wildfiregames.com/job/differential/1238/display/redirect Comment Actions Spliced from D1834 - this is the global region introduction + some MakeGoalReachable changes that don't actually changes hashes (assuming D1829). I ran some profiling, on a giant map this adds about 2ms per update it seems, which all things considered is pretty low. The impact on MakeGoalReachable seems to be exactly the opposite, so it comes out a little on top of the new code. Furthermore, this lets us do interesting things in the future, such as sending the global regions to the AI or calling MakeGoalReachable more often. Comment Actions Build failure - The Moirai have given mortals hearts that can endure. Link to build: https://jenkins.wildfiregames.com/job/differential/1323/display/redirect Comment Actions Rebased, clean up comments.
Comment Actions Build failure - The Moirai have given mortals hearts that can endure. Link to build: https://jenkins.wildfiregames.com/job/differential/1389/display/redirect Comment Actions Build failure - The Moirai have given mortals hearts that can endure. Link to build: https://jenkins.wildfiregames.com/job/differential/1470/display/redirect Comment Actions @Itms Dumbfounded by this build error... Maybe the diff script is trying to be too clever and the tests are compiled against an old header-file ? I can't reproduce this, it compiles just fine on my computer. Comment Actions Build failure - The Moirai have given mortals hearts that can endure. Link to build: https://jenkins.wildfiregames.com/job/differential/1474/display/redirect Comment Actions Only happens in release mode... Can't think of anything that would make it fail and it works on my system, so I would appreciate if somebody else (@Stan , @vladislavbelov) could reproduce the bug (or not) Comment Actions There is your issue. I haven't fully reviewed the rest yet.
Comment Actions Successful build - Chance fights ever on the side of the prudent. Link to build: https://jenkins.wildfiregames.com/job/differential/1508/display/redirect Comment Actions Successful build - Chance fights ever on the side of the prudent. Linter detected issues: Executing section Source... source/simulation2/components/tests/test_HierPathfinder.h | 25| class·TestHierarchicalPathfinder·:·public·CxxTest::TestSuite | | [MAJOR] CPPCheckBear (syntaxError): | | Code 'classTestHierarchicalPathfinder:' is invalid C code. Use --std or --language to configure the language. source/simulation2/helpers/HierarchicalPathfinder.h | 34| ·*·is·defined·as·a·region. | | [MAJOR] CPPCheckBear (syntaxError): | | Code 'template<...' is invalid C code. Use --std or --language to configure the language. Executing section JS... Executing section cli... Link to build: https://jenkins.wildfiregames.com/job/docker-differential/364/display/redirect |