OpenRA / OpenRA/OpenRA

Pathfinding disregards shroud

Open
#10,340 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Idea/Wishlist Pathfinding
Dominant language
C#
Stars
17.4k
Forks
3k
Avg merge
1d 12h
Merged PRs (30d)
14

Description

In the original series, if you ever command your units to go anywhere in an unrevealed map/terrain, the units would straight walk in (as if, shortest path, and nothing would be standing in their way). Only when new terrain is revealed and their path seems to be blocked the path finding kicks in (a new path is calculated to 'get around the obstacle'.

In short: Path finding assumes shrouded areas are always passable.

In openRA i noticed my units already took the best path possible, even though they had never seen the terrain. This kind of makes the path finding very smart, but I also consider this a bit of cheating.

Revealing shroud would really have an extra effect if you take the shrouded data into consideration when calculating the best path to reach a destination.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue does not name files, tests, or an entry point. Begin by locating OpenRA's pathfinding and shroud-handling code, then trace how a destination is evaluated when terrain is unrevealed. Done means units initially path through shrouded terrain as if it were passable and recalculate only when revealed terrain blocks that route.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.