Pls correct me if I'm wrong. But here is what I learned from the pathfinder module:
[statements]
s1) While routing through different maps this lua.pathfinder takes control.
s2) While routing within a map, proShine pathfinding algorithm takes control
[deduction]
d1) Each map is treated as distance 1 from another connected maps
d2) no distance calculation for the real path is applied
d3) since the actual movement path is not calculated, then the different undergrounds are not weighted
[resulting behaviour]
r1)
r2) moving through viridian forest mazelike path is treated equally as moving through Route 2's straight line shortcut
r3) moving on water is treated equally fast as moving on bike
[possible solutions]
Splitting pathing calculation in "on-map" and "between-maps" makes double the code (a lua and c# pathfinding implementation) and prevents this module from being "correct" - at least in it's current implementation.
- either proshine has to enrich it's interface with: movement (l,r,u,d) and underground (ice, grass, water...) methods, so lua.pathfinder can route "on-map" as well or
- proshine has to implement the whole routing alltogether
Pls correct me if I'm wrong. But here is what I learned from the pathfinder module:
[statements]
s1) While routing through different maps this lua.pathfinder takes control.
s2) While routing within a map, proShine pathfinding algorithm takes control
[deduction]
d1) Each map is treated as distance 1 from another connected maps
d2) no distance calculation for the real path is applied
d3) since the actual movement path is not calculated, then the different undergrounds are not weighted
[resulting behaviour]
r1)
r2) moving through viridian forest mazelike path is treated equally as moving through Route 2's straight line shortcut
r3) moving on water is treated equally fast as moving on bike
[possible solutions]
Splitting pathing calculation in "on-map" and "between-maps" makes double the code (a lua and c# pathfinding implementation) and prevents this module from being "correct" - at least in it's current implementation.