Prototype SNN core and aiming loop #152

Closed
opened 2026-09-12 11:37:20 +02:00 by SirStone · 1 comment
Owner

Question

Build a minimal working prototype: new SNNBot_garage with bot scaffold, SNN engine (LIF neurons, population encoder, 36→6→1 network, membrane readout), aimTo() function, lock radar integration. The bot should connect to Tank Royale, lock radar on SittingDuck, feed bearing through the SNN, and turn the gun toward the SNN's output angle. Weights can be random or heuristic — this proves the plumbing works before learning is added.

Parent map: #147

Blocked by: #149

## Question Build a minimal working prototype: new SNNBot_garage with bot scaffold, SNN engine (LIF neurons, population encoder, 36→6→1 network, membrane readout), aimTo() function, lock radar integration. The bot should connect to Tank Royale, lock radar on SittingDuck, feed bearing through the SNN, and turn the gun toward the SNN's output angle. Weights can be random or heuristic — this proves the plumbing works before learning is added. Parent map: #147 **Blocked by:** #149
SirStone added the wayfinder:prototype label 2026-09-12 12:22:04 +02:00
Author
Owner

Resolution

The SNN forward pass + population encoding + membrane readout produces a usable angle signal that the aimTo() loop tracks correctly.

Confirmed:

  • Gun physically rotates toward SNN output angle each tick (error drops within each aiming cycle)
  • Best errors: 3.2° and 7.3° — gun converges close to target
  • Debug overlay renders: barcode-style spike lines, thickness-encoded weight connections, aiming line legend
  • No learning yet (random weights) — error doesn't improve across cycles, as expected

Changes made during prototype:

  • Upgraded to robocode_tankroyale_botapi v1.0.7 (SVG viewBox fix)
  • Fixed Y-axis mirror in toXY helper
  • Resized debug panel to half arena (width + height)
  • Replaced neuron boxes with barcode-style spike lines
  • Thickness-encoded weight connections (all 216 lines)
  • Added aiming line legend with white text
  • Dynamic aiming line length (distance + 50px)

Commit: c038128

## Resolution The SNN forward pass + population encoding + membrane readout produces a usable angle signal that the aimTo() loop tracks correctly. **Confirmed:** - Gun physically rotates toward SNN output angle each tick (error drops within each aiming cycle) - Best errors: 3.2° and 7.3° — gun converges close to target - Debug overlay renders: barcode-style spike lines, thickness-encoded weight connections, aiming line legend - No learning yet (random weights) — error doesn't improve across cycles, as expected **Changes made during prototype:** - Upgraded to robocode_tankroyale_botapi v1.0.7 (SVG viewBox fix) - Fixed Y-axis mirror in toXY helper - Resized debug panel to half arena (width + height) - Replaced neuron boxes with barcode-style spike lines - Thickness-encoded weight connections (all 216 lines) - Added aiming line legend with white text - Dynamic aiming line length (distance + 50px) Commit: c038128
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#152