Virtual Guns system #86

Closed
opened 2026-08-25 19:12:11 +02:00 by SirStone · 0 comments
Owner

Parent

#80

What to build

System where every registered gun fires a virtual bullet every tick. Track each gun's hit rate via wave-based detection and a rolling window of the last N=100 virtual shots.

Wave-based detection: track expanding circle at bullet speed, check if enemy crosses at predicted angle. O(1) per tick per wave.

The active gun (including TOPO_Gun with loaded weights) runs as a virtual gun too — it competes on equal footing. Active gun = whichever virtual gun has the highest rolling hit rate. No threshold logic, no manual switching.

Currently only TOPO_Gun exists, but the system is ready for additional guns to be registered.

Acceptance criteria

  • Virtual bullets fired every tick for each registered gun
  • Wave-based hit detection: expanding circle, enemy position check at wave crossing
  • Rolling window of last 100 virtual shots per gun, hit rate computed from buffer
  • Active gun is always the one with highest rolling hit rate
  • Active gun participates as a virtual gun (no special-casing)
  • Self-check: when isMainModule with doAssert validates wave hit detection with known geometry

Blocked by

## Parent https://git.fossellini.top/SirStone/SirRoboGarage/issues/80 ## What to build System where every registered gun fires a virtual bullet every tick. Track each gun's hit rate via wave-based detection and a rolling window of the last N=100 virtual shots. Wave-based detection: track expanding circle at bullet speed, check if enemy crosses at predicted angle. O(1) per tick per wave. The active gun (including TOPO_Gun with loaded weights) runs as a virtual gun too — it competes on equal footing. Active gun = whichever virtual gun has the highest rolling hit rate. No threshold logic, no manual switching. Currently only TOPO_Gun exists, but the system is ready for additional guns to be registered. ## Acceptance criteria - [ ] Virtual bullets fired every tick for each registered gun - [ ] Wave-based hit detection: expanding circle, enemy position check at wave crossing - [ ] Rolling window of last 100 virtual shots per gun, hit rate computed from buffer - [ ] Active gun is always the one with highest rolling hit rate - [ ] Active gun participates as a virtual gun (no special-casing) - [ ] Self-check: `when isMainModule` with `doAssert` validates wave hit detection with known geometry ## Blocked by - https://git.fossellini.top/SirStone/SirRoboGarage/issues/84
SirStone added the ready-for-agent label 2026-08-25 19:12:11 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#86