{"id":18440874,"url":"https://github.com/partysun/hxpathfinding","last_synced_at":"2026-02-12T04:12:20.898Z","repository":{"id":27036355,"uuid":"30501377","full_name":"Partysun/hxpathfinding","owner":"Partysun","description":"Easy to use pathfinding library in haxe language.","archived":false,"fork":false,"pushed_at":"2015-02-27T09:20:04.000Z","size":248,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T17:35:39.793Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haxe","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Partysun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-08T18:47:38.000Z","updated_at":"2025-02-28T03:18:18.000Z","dependencies_parsed_at":"2022-08-31T21:46:21.814Z","dependency_job_id":null,"html_url":"https://github.com/Partysun/hxpathfinding","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Partysun/hxpathfinding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Partysun%2Fhxpathfinding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Partysun%2Fhxpathfinding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Partysun%2Fhxpathfinding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Partysun%2Fhxpathfinding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Partysun","download_url":"https://codeload.github.com/Partysun/hxpathfinding/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Partysun%2Fhxpathfinding/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271299769,"owners_count":24735416,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T06:33:38.053Z","updated_at":"2026-02-12T04:12:15.854Z","avatar_url":"https://github.com/Partysun.png","language":"Haxe","funding_links":[],"categories":[],"sub_categories":[],"readme":"PathFinding (Haxe Library)\n==============\n## The 'KISS' path-finding library in haxe. ##\n\n*Haxe* is awesome language for game development. And Haxe should has the cool *easy to use* pathfinding lib.\n\nInstall\n------\n\n`haxelib git pathfinding git@github.com:Partysun/hxpathfinding.git`\n\nAnd then in your project's hxml build file, add\n\n`-lib pathfinding`\n\n\nUsage\n-----------\n\n`AStarFinder` is the first algorythm in the library.\n\nGridMap example:\n```haxe\nvar map:GridMap = new GridMap(9, 9);\nstart_node = map.getNode(2, 1);\ngoal_node = map.getNode(5, 4);\nmap.getNode(5, 1).walkable = false;\nmap.getNode(2, 2).walkable = false;\nmap.getNode(3, 2).walkable = false;\nmap.getNode(4, 2).walkable = false;\n\nvar pathfinder = new Pathfinding(map);\nvar path = pathfinder.findPath(start_node, goal_node);\n\ntrace(\"Path:\" + path);\n \n```\n\nYou can render debug sprite, if you work with Openfl:\n```haxe\ndebug.clear();\ndebug.draw(map, path);\naddChild(debug.display);\n```\n\nWaypointsMap example:\n```haxe\nimport pathfinding.Pathfinding;\nimport pathfinding.core.WaypointsMap;\nimport pathfinding.core.Node;\nimport pathfinding.core.Path;\n\nvar map = new WaypointsMap();\n// map generation\nstart = map.addNode(new Node(baseX, baseY));\nmap.addNode(new Node(baseX + 70, baseY));\nmap.addNode(new Node(baseX + 150, baseY));\nmap.addNode(new Node(baseX + 150, baseY + 70));\ngoal = map.addNode(new Node(baseX + 270, baseY));\nmap.nodes[0].neighbors.push(map.nodes[1]);\nmap.nodes[1].neighbors.push(map.nodes[0]);\nmap.nodes[1].neighbors.push(map.nodes[2]);\nmap.nodes[2].neighbors.push(map.nodes[1]);\nmap.nodes[2].neighbors.push(map.nodes[4]);\nmap.nodes[4].neighbors.push(map.nodes[2]);\n\n// find path\nvar pathfinder = new Pathfinding(map);\nvar path = pathfinder.findPath(start, goal);\n\ntrace(\"Path:\");\nfor (node in path.nodes)\n{\n    trace(node + \"\");\n}\n```\n\nFor more samples, look at sample directory.\n\nTODO\n-----------\n\n- [ ] More useful tools \n- [x] Debug graphic mode\n- [ ] Add one more algorythm\n- [ ] Add flexeble interface for change a heuristic\n- [ ] Add benchmark (http://www.movingai.com/benchmarks/)\n- [ ] Add Heap or PriorityQueue for the openlist. It's the critical place of lib speed\n\nCHANGELOG\n-----------\n\nv 0.2.1 - 27.02.2015\n\n- Fix backtrace functions. Clear old data\n\nv 0.2.0 - 18.02.2015\n\n- Tools for GridMap. Tools help work with real game world and model of map.\n- Debug mode\n\nv 0.1.0 - 15.02.2015\n\n- Two basic sceanrio: GridMap and WaypointsMap\n- AStar algorythm\n- Manhattan heuristic\n- Openfl sample\n- Tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpartysun%2Fhxpathfinding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpartysun%2Fhxpathfinding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpartysun%2Fhxpathfinding/lists"}