[Navigation] Close e1m3 item reach gaps within the entity budget

Open
#623 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
12/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
game-dev

Research direction

Start with tools/argus_navgen.py and tools/argus_mapgate.py, then the generated graph in src/argus_nav_e1m3.qc(.json) and the new_maps.e1m3 entry in runs/mover-intelligence.results.json. Run native nav_generate with registration disabled, then the strict playability assessment against the generated graph and local BSP to see the 26 reasons. Done means every eligible pickup is reachable from every deathmatch spawn within the edict budget, with engine-proven link evidence.

Written by the indexing model from the issue text.

Description

enhancement maps navigation

This follow-up comes from the 2026-10-31 broader-map study and documentation audit. Session baseline: 777ae0bbc8c439aa9888c6a0c978f428464752cf. New study tools, fixtures and tapes are currently in the local development working tree; the paths below describe that tree, not files already published at the baseline commit. No gameplay binary was installed.

Problem and evidence

The new experimental e1m3 graph is legal but not playable. Corrected allocation and radius refinement yield 175 nodes and 595/600 edicts including world/client slots and the existing 60-entity runtime reserve. Worst-spawn directed reach is about 96% all / 94% ungated, but the strict first-registration gate still reports 26 reasons. The super nailgun is approximately 209 units from a seat and item pockets remain unreachable.

The graph remains absent from src/progs.src and src/argus_nav_dispatch.qc. Ordinary e1m3 study matches use fallback seeking, not this graph. This is additional map support, not a regression in a registered map.

Locations: src/argus_nav_e1m3.qc(.json), tools/argus_navgen.py, tools/argus_mapgate.py, docs/mover-intelligence.md, and runs/mover-intelligence.results.json (new_maps.e1m3). The previous unsafe allocator produced 182 nodes / 602 edicts; do not restore it to recover reach.

Reproduction and acceptance

  • Generate through native nav_generate with registration disabled, then run the current strict playability assessment against the exact generated graph and local BSP.
  • Diagnose missing pickup seats and directed item pockets using current spawn/item distances and routes; make changes through generator/sidecars, not hand-edited generated QC.
  • Keep all infrastructure inside the physical allowance, including the runtime reserve; five spare edicts is a tight budget, not a measured dynamic peak.
  • Every eligible pickup must be reachable from every deathmatch spawn without equipment/skill gates; meet the current distance limits.
  • Obtain matching engine-proven ordinary/jump link evidence before registration. Preserve failed generations and do not lower the gates to promote the map.
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.