[018] FlowField Pathfinding

[30h] Goal Based Pathfinding using Godot Tilemap

v2.0 Update - https://quietgodot.itch.io/027-flowfield-pathfinding-v2

[Dec 15] 3h - AStar Pathfinding Review
[Dec 16] 5h - FlowField Study
[Dec 18] 2h - FlowField Units
[Dec 20] 7h - Godot Tilemap Collisions
[Dec 21] 11h - Math / UI / Controls
[Jan 13] 2h - Upload and Cover


# TODO ERRORS
# better block avoidance    (can still go through walls)
# possible to get stuck        (due to Kernel Convolusion)


# Base Flow Field pt. 1            [youtu.be/UAlYELsxYfs]
# Base Flow Field pt. 2            [youtu.be/TFk-fO3SWcg]

    # DISTANCE FOUR
    # generate distance map
        # target has distance of 0
            # distance + 1
            # loop target neigbours (N, S, E, W)
                # if blocked, skip
                # if has distance, skip

                # else, add distance
                # add tile to tile list

        # loop tile list (until tile list size = 0)
            # distance + 1
            # remove tile from tile list
            # loop tile neigbours (N, S, E, W)
                # if blocked, skip
                # if has distance, skip

                # else, add distance
                # add tile to tile list

    # DISTANCE LOWEST
    # loop each tile
        # get eight neighbours
        # get which has lowest distance
        # point direction to that tile


# Flow Field Pathfinding        [youtu.be/ZJZu3zLMYAc]
    # IGNORE THE EXPLANATION ON KERNEL CONVOLUTION (USELESS)

    # Manhattan     10 | 20
    # Euclidian        10 | 14
    # Chebyshev        10 | 10

    # DISTANCE EIGHT
        # loop target neighbour nodes (all)
            # distance_step()

        # loop tile list, repeat until empty
            # loop neighbour of tile
                # distance_step()
            # remove tile from tile list

        # distance_step()
            # if blocked, skip
            # if has distance
                # if distance > tile_distance + step_distance            # current bigger than new
                    # distance = tile_distance + step_distance           # current = new

            # else
                # distance = tile_distance + step_distance
                # add neighbour to tile list

    # DIRECTION
        # loop each tile
            # get eight neighbours
                # use Kernel Convolution for average                     # youtu.be/C_zFhWdM4ic
                # smallest distance



# Segmented Flow Field            [youtu.be/smmQ0ONzs50]
# Blog w/ Good Explanasion        [leifnode.com/2013/12/flow-field-pathfinding
# Thousand Entites                [gamedev.stackexchange.com/questions/202443]
Updated 25 days ago
StatusReleased
PlatformsHTML5
AuthorQuietGodot
Made withGodot

Leave a comment

Log in with itch.io to leave a comment.