| # 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. |
|
|