SOURCE / PINNED RELEASE
Made of little things.
Poly Dogfight
- Release
- b8511ee374e3…
- Author-recorded commit
- 5579434b9d8b…
- License
- LICENSE
- Author’s source reference
- nostr://npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr/wss%3A%2F%2Fgit.napplet.soy%2F/n-44f63e5422b
Archive hash verified: bcadd2430d8ea2bc…. The source-to-build association is the author’s claim; it has not been independently rebuilt.
# Shared aim assistance
All pilots use shot-time assistance, independent of input device or flight mode.
`GUNS.aimAssistAngle` defaults to five degrees. Each muzzle uses the same prediction
for firing and its HUD cue: linear target velocity, inherited shooter velocity,
300 m/s muzzle speed and the existing 1.4 second bullet lifetime. Choose the
visible wing/tail point with the smallest correction, breaking ties by intercept
time. Exclude dead/self targets, armor-blocked points and blocked world paths.
World checks sample at no more than one metre intervals with a conservative
obstacle radius. Assistance predicts current velocity, not future pilot input;
rounds remain straight and can miss after an opponent maneuvers.
Preserve the existing low-poly scene, cream HUD and app-owned palette. A cream
center sight gains a mint ring when assistance is available; a mint square marks
the predicted world impact point. An X flashes for actual damage; a dashed ring
marks armor contact. Every camera and split-screen view has independent feedback.
These passive overlays require no new controls or minimum size and resize with
their pilot's viewport. Hide them while paused or dead.
This is bundled local simulation and UI only: no new NAP domains, manifest
requirements, network, storage, config schema or interop. Existing optional host
capabilities and fallbacks remain unchanged. Verify predictive hits, angle limits,
obstructions, target choice, dodging and shooter-only confirmations in game tests;
check overlays in the hosted iframe at desktop, small frame and phone sizes.
Performance: filter self/dead/rear targets with a forward dot product, then use
squared range and a generous front cone (including possible transverse travel)
before solving intercepts. Use dot products for the exact angle limit and ranking;
only the winning solution computes an angle. Terrain work follows these filters.
HUD prediction refreshes at 20 Hz; actual shots always calculate a fresh solution.
A local Node benchmark with the real terrain/obstacle field and three opponents
measured ~0.18 ms per in-cone query and ~0.0003 ms for rear/side rejection.
These are desktop microbenchmarks, not a phone frame-rate guarantee.
