[Navigation] Stop bots jumping at a visible item on a ledge above them

Open
#780 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Domain
ai, game-dev

Research direction

Start with the battle item scan that accepts item_armorInv, where Argus_SafeLine is the check that passes, and with the route arrival test that treats the nearest node as reached. The repro data is in runs/ra2_cand_dm3_4.log and runs/ra_cand_dm3_4.log around dm3's red armour platform at x 336, z 264. Done means the bot no longer jumps under the ledge there and dm2 and dm4 pickups still succeed in a matched ladder run.

Written by the indexing model from the issue text.

Description

bug navigation

Problem

A bot that can see an item on a ledge above it steers straight at it and jumps repeatedly underneath instead of following its route. On dm3, bots on the z 264 walkway beside the red armour platform (x about 336, 64u below the item) were logged within 96u of the armour, jumping at it with origins up to z 308, while the route up runs round the other side: runs/ra2_cand_dm3_4.log (22 samples) and runs/ra_cand_dm3_4.log. In runs/ra_cand_dm3_4.log Carmack logged route 0 start '261 -703 328' goal '261 -703 328', stalled, and then grab item_armorInv from the same spot. The battle item scan accepts the item because Argus_SafeLine passes, and the route believes it has arrived because the nearest node is the armour seat itself.

Proposal

Refuse a direct approach or battle grab when the item stands more than a jump's height above the bot's floor with no walkable rise toward it, and do not count arrival at a goal node from a different floor level.

Acceptance

  • No bot stalls jumping under dm3's red armour platform in a matched ladder.
  • No regression in item pickups on dm4 and dm2, where items sit on low ledges.
Dominant language
Rust
Stars
4
Forks
0
Avg merge
30m
Merged PRs (30d)
130

Getting set up

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.

More from saworbit/argus

All issues in saworbit/argus

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.