All Projects → Barsonax → Pathfindax

Barsonax / Pathfindax

Licence: AGPL-3.0 license
Pathfinding framework

Programming Languages

C#
18002 projects
powershell
5483 projects

Projects that are alternatives of or similar to Pathfindax

algoviz
Codebase for educational tool on algorithms
Stars: ✭ 21 (+5%)
Mutual labels:  astar-algorithm, pathfinding
Baritone
google maps for block game
Stars: ✭ 3,868 (+19240%)
Mutual labels:  astar-algorithm, pathfinding
The-Kraken-Pathfinding
A tentacle-based pathfinding library for nonholonomic robotic vehicles
Stars: ✭ 24 (+20%)
Mutual labels:  pathfinding
tektosyne
The Tektosyne Library for Java provides algorithms for computational geometry and graph-based pathfinding, along with supporting mathematical utilities and specialized collections.
Stars: ✭ 52 (+160%)
Mutual labels:  pathfinding
gruid
Cross-platform grid-based UI and game framework.
Stars: ✭ 67 (+235%)
Mutual labels:  pathfinding
coursera robotics
Contains coursera robotics specialization assignment codes
Stars: ✭ 65 (+225%)
Mutual labels:  astar-algorithm
AI-Companion
Created in Unity 5 for the purposes of learning AI techniques. Features behaviour trees and A* pathfinding.
Stars: ✭ 22 (+10%)
Mutual labels:  pathfinding
cepathfind
a path find for tilebase game in unity
Stars: ✭ 30 (+50%)
Mutual labels:  pathfinding
AStar
A 2D A Star (A*) pathfinding implementation in C# focused on ease of use
Stars: ✭ 66 (+230%)
Mutual labels:  pathfinding
a star on grids
Best practices for implementing A* with a focus on four- and eight-connected grid worlds.
Stars: ✭ 23 (+15%)
Mutual labels:  pathfinding
Pathfinding
A pmmp virion (library) for pathfinding using A*
Stars: ✭ 36 (+80%)
Mutual labels:  pathfinding
Space-Time-AStar
A* Search Algorithm with an Additional Time Dimension to Deal with Dynamic Obstacles
Stars: ✭ 80 (+300%)
Mutual labels:  astar-algorithm
EvOLuTIoN
A simple simulation in Unity, which uses genetic algorithm to optimize forces applied to cubes
Stars: ✭ 44 (+120%)
Mutual labels:  pathfinding
astar-gridmap-2d
A* algorithms for 2D gridmaps. The fastest one, until you prove me wrong
Stars: ✭ 43 (+115%)
Mutual labels:  pathfinding
eastar
A* graph pathfinding in pure Elixir
Stars: ✭ 26 (+30%)
Mutual labels:  astar-algorithm
Rampant
Factorio Mod - Basic AI augmentation using potential fields
Stars: ✭ 39 (+95%)
Mutual labels:  potential-fields
Pathfinding Visualization
A ReactJS project visualizes the path-finding algorithms with additional cool features like speed adjustment, maze generation, mobile support, etc.
Stars: ✭ 14 (-30%)
Mutual labels:  pathfinding
pythonfinder
PythonFinder: Cross Platform Search Tool for Finding Pythons
Stars: ✭ 30 (+50%)
Mutual labels:  pathfinding
path demo
An experimental set of pathfinding algorithms for video games
Stars: ✭ 16 (-20%)
Mutual labels:  pathfinding
CosmosFramework
CosmosFramework is a lightweight plug-in Unity development framework . Has a rich Unity method extensions and toolchain. async/await syntax support, multi-network channel support.Long term support for this project
Stars: ✭ 176 (+780%)
Mutual labels:  astar-algorithm

Pathfindax

Discord NuGet Badge Build Status Azure DevOps tests (branch) Maintainability Rating Reliability Rating Security Rating coverage

Features

Pathfindax is a pathfinding framework that can be used to get a path to a destination in a network of nodes. Currently A*, potential fields and flowfield are implemented. These implementations support the following features:

  • Support for up to 32 collision layers
  • Support for multiple agent sizes
  • Support for movement costs
  • Support for the duality game engine and the tilemap plugin through the Duality.Plugins.Pathfindax.core and Duality.Plugins.Pathfindax.Tilemaps.core nuget packages

Some examples of what pathfindax can do:

Getting Started

Installing

Pathfindax can be installed through the nuget packages which you can find at the bottom of this readme. When using duality there are also some extra packages you can install to make it easier to use pathfindax in duality. If you just want to use pathfindax you only have to install the Pathfindax nuget package.

For more info on how to install nuget packages see this. For more info on how to install duality packages see this.

A Simple example

The following example will show you how to create a nodegrid and find a path through it:

//Setup the nodegrid and pathfinder.
var pathfindaxManager = new PathfindaxManager();
var factory = new DefinitionNodeGridFactory();
var nodeGrid = factory.GeneratePreFilledArray(GenerateNodeGridConnections.All, 3, 3);
var nodeNetwork = new DefinitionNodeGrid(nodeGrid, new Vector2(1, 1));
var pathfinder = pathfindaxManager.CreateAstarPathfinder(nodeNetwork, new ManhattanDistance());

//Request a path.
var pathRequest = pathfinder.RequestPath(nodeNetwork.NodeGrid.ToIndex(0, 0), nodeNetwork.NodeGrid.ToIndex(2, 0));
Console.WriteLine($"Solving path from {pathRequest.PathStart} to {pathRequest.PathEnd}...");

//Poll the status to check when the pathfinder is finished.
while (pathRequest.Status == PathRequestStatus.Solving) { }
switch (pathRequest.Status)
{
	case PathRequestStatus.Solved:
		Console.WriteLine($"Solved path! {pathRequest.CompletedPath}");
		break;
	case PathRequestStatus.NoPathFound:
		Console.WriteLine("Could not find a path");
		break;
}
Console.ReadKey();

More examples can be found here.

Pathfindax inside duality

The duality packages make it easier to use pathfindax by abstracting most of the boilerplate code you see in the example above. A tutorial covering how to use pathfindax in duality can be found here. Additionally some example components can be found here.

Other

Nuget

Library Version
Pathfindax NuGet Badge
Duality.Plugins.Pathfindax.core NuGet Badge
Duality.Plugins.Pathfindax.Tilemaps.core NuGet Badge

Donations

Donations can be done through my Patreon page: https://www.patreon.com/rickthephotogrammer

Licensing

Licensed under AGPL however this might not be fit for all commercial works as it requires you to open source your work if you modify Pathfindax. If you require a different license please contact me.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].