Orbit Wars v14 — 1224-Elo Reference Agent + Cross-Game Fix
What happened with v13
v13 scored 579 Elo (below starting 600) because of a critical bug: the opponent profiler mutated global constants across games. On Kaggle, the agent process persists across multiple matches. After a few games against passive opponents, the agent's defense ratio dropped to 0.15 (from 0.28) and stayed there — making it defenseless against real opponents.
What v14 is
v14 is the proven 1224-Elo reference agent (Builder-Neekhil/orbit-wars-agent) with one critical addition: a cross-game state reset. When a new game starts (detected by obs.step resetting), ALL global parameters and the profiler state are reset to defaults.
Key features (3,588 lines)
- settle_plan: Iterative ship-count refinement (tests multiple ship counts to find optimal)
- best_probe_aim: Multi-probe targeting (generates 15+ candidate ship counts per shot)
- min_ships_to_own_by: Binary-search exact ownership requirement at any future turn
- Gang-up missions: Attack after inter-enemy battles
- Elimination missions: Focused kill of weakest enemy (1.5x bonus in 4P)
- Rescue missions: Save planets before they fall
- Recapture missions: Retake just-lost planets
- Crash exploit: Arrive after inter-enemy fleet collisions
- Opponent profiler: Adapts 20+ parameters mid-game (with proper cross-game reset)
- Total war endgame: Dump all ships at weakest enemy in final 55 turns
- finalize_moves: Safety net preventing over-sending
Test results
| Matchup | Result |
|---|---|
| V14 vs Random | Eliminated in ~100 steps |
| V14 vs Starter | Eliminated in ~166 steps |
| V14 vs V12 | 2/2 wins |
| Multi-game stability | All globals reset correctly between games |
Download
submission.py
Upload this file to Kaggle as your submission.