Ok so i want to implement custom pathfinding to better fit my game and i read up on the algorithms on the roblox wiki and i have a few questions about the code and all so below is the puesdo code of the best-first algorithm so if anyone could answer my questions below or break down what is happening here that would be awesome.
function best_first(start, finish) closed = set({}) open = set({start}) score_of = {} score_of[start] = calculate_heuristics(start) while not open.is_empty do -- find node with minimum f current = min(open, function(node) return score_of[node] end) if current == goal then --reconstruct the path to goal return create_path(current) end closed.add(current) open.remove(current) for neighbor in current:neighbors() do if not closed.contains(neighbor) then --calculate the heuristics for neighboring node score_of[node] = calculate_heuristics(neighbor) --add neighboring node to open set open.add(neighbor) end end end -- there is no path to the goal end
so now onto my questions
first what is a node exactly i think its the voxel that is being checked but i could be wrong and how could that be implemented in roblox?
second i am confused about the closed and open tables does closed have the path that is used or does open?
third if there is no path to the goal is there a way to recalculate it and get a different path or will this method check all possible paths?
thanks for the help.