Sliding window, replay tape, and normalization #83
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#80
What to build
Data collection layer that runs inside the bot's tick loop. Each tick: record enemy state, normalize it, maintain two buffers.
Sliding window: last 30 ticks of enemy state (lateral_vel, heading_delta, wall_distance) as a flat 90-element buffer + current distance as 91st input. This is the ANN's input vector.
Replay tape: rolling ~2000-tick buffer of full enemy states for offline GA fitness evaluation.
Normalization: per-feature fixed scaling using game constants — lateral_vel / 8.0, heading_delta / π, wall_distance / 1000.0. No runtime statistics.
Acceptance criteria
when isMainModulewithdoAssertvalidates normalization ranges and buffer behaviorBlocked by