Skip to content

Adaptive Pathfinding in Partially Observable Dynamic Environments - #114

Closed
Avanatiker wants to merge 43 commits into
masterfrom
feature/pathfinder
Closed

Adaptive Pathfinding in Partially Observable Dynamic Environments#114
Avanatiker wants to merge 43 commits into
masterfrom
feature/pathfinder

Conversation

@Avanatiker

@AvanatikerAvanatiker commented Apr 8, 2025

Copy link
Copy Markdown
Member

Introducing an algorithm solving adaptive pathfinding in partially observable dynamic environments using spatial partitioning, iterative pathing using Lazy D* Lite and clearance based path refining using Lazy θ* and Catmull Rom splines.

ToDo:

  • Any angle not yet optimal. Look ahead may go too far and lengthen another shortcut next

@github-actionsgithub-actionsBot added the triage Requires labelling or review label Apr 8, 2025
@Avanatiker
Avanatiker requested a review from CopilotApril 15, 2025 01:24

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 28 out of 28 changed files in this pull request and generated 2 comments.

Comment threadcommon/src/main/kotlin/com/lambda/pathing/dstar/DStarLite.kt Outdated
Comment on lines +95 to +96
// cost == Double.POSITIVE_INFINITY -> BreakMove(checkingPos, hCost, nodeType, currentFeetY, cost)
// (currentFeetY - origin.feetY) > player.stepHeight -> ParkourMove(checkingPos, hCost, nodeType, currentFeetY, cost)

CopilotAIApr 15, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] There is commented-out code for handling special move cases (e.g. BreakMove and ParkourMove). If these are no longer needed, consider removing them to improve code clarity.

Suggested change
// cost == Double.POSITIVE_INFINITY -> BreakMove(checkingPos, hCost, nodeType, currentFeetY, cost)
// (currentFeetY - origin.feetY) > player.stepHeight -> ParkourMove(checkingPos, hCost, nodeType, currentFeetY, cost)

Copilot uses AI. Check for mistakes.
Introduce extensive path consistency tests for scenarios with different graph connectivities and blocked nodes using D* Lite. Add graph pruning logic to exclude nodes marked as blocked and enhance debugging utilities for path validation.
Abstracted grid connectivity into reusable methods for cleaner and more flexible code. Enhanced block update listener to skip redundant updates and improved logging clarity. Simplified pathfinding and traversal checks for better maintainability.
@Avanatiker
Avanatikerforce-pushed the feature/pathfinder branch from 30dd2c6 to 63bc635CompareMay 2, 2025 21:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triageRequires labelling or review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Avanatiker