[Ohrrpgce] SVN: james/8798 Pathfinding now breaks ties with distance squared

Ralph Versteegen teeemcee at gmail.com
Fri Jun 2 20:45:03 PDT 2017


On 3 June 2017 at 15:28, Ralph Versteegen <teeemcee at gmail.com> wrote:

>
>
> On 3 June 2017 at 07:02, <subversion at hamsterrepublic.com> wrote:
>
>> james
>> 2017-06-02 12:02:15 -0700 (Fri, 02 Jun 2017)
>> 50
>> Pathfinding now breaks ties with distance squared
>> ---
>> U   wip/pathfinding.bas
>> U   wip/pathfinding.bi
>
>
> You didn't notice that I added v_heappush and v_heappop?
>
> Also, I didn't notice before that your cost_before_node function is
> insane. You need to store the cost of the node in the node, not recompute
> it constantly. That is why pathfinding is so incredibly slow.
>

(That, and the use of v_sort, which amplifies the problem)

Also, the result of guess_cost_after_node should also be stored in the node.

Also, why did you make _pathfinder_obj a global instead of a file-local
(shared) variable?

Also, you could get rid of _pathfinder_obj altogether, by storing
cost_a/cost_b from close_node_compare/open_node_compare in the node as
well, to avoid recomputing that too. This has its own costs, but FB does
squaring using floating point and pow(), so avoiding doing that repeatedly
should also be a good improvement.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20170603/a56a9452/attachment-0001.htm>


More information about the Ohrrpgce mailing list