Files
CosmicClash/training/eval_history.json
T
Josh Creek fca6a46200 fix(training): correct stage-3 eval (locomotion-mask bugfix) and add grounded aggression stage
Re-ran stage-3 (curric-s3-no_draws vs curric-s2-defend) and the missing
stage-4 gate now that the locomotion-mask inference bugfix is in. Both
reverse or contradict the pre-fix bookkeeping: curric-s2-defend (grounded)
beats curric-s3-no_draws 60-26 and curric-s4-mechanics 57-24 when fairly
evaluated, so lifting the locomotion mask in stage 3 was a real regression
in floor play, not the improvement the buggy eval reported.

Adds a stage-5 "aggression" curriculum entry that resumes from stage 2
directly (via new resume_from_experiment/reference_experiment stage-dict
overrides in curriculum.py) instead of compounding the regression through
stages 3-4, keeps the locomotion mask on, and retunes ball-pursuit reward
weights for much more aggressive floor play. Extends train.py with the
three new --velocity-to-ball-weight/--ball-distance-penalty/--ball-touch-reward
flags needed to forward that retune to Godot's existing SHIP_AI_OVERRIDES.

curriculum_state.json and TRAINING.md are corrected/annotated in place
rather than silently rewritten, so the regression stays visible in history.
2026-07-22 12:48:45 +01:00

93 lines
2.9 KiB
JSON

[
{
"timestamp": "2026-07-18T18:27:59+00:00",
"model_a": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/rookie.json",
"model_b": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/rookie.json",
"episodes": 6,
"wins_a": 1,
"wins_b": 0,
"draws": 5,
"win_rate_a": 0.167
},
{
"timestamp": "2026-07-19T12:11:30+00:00",
"model_a": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/run01.json",
"model_b": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/run02.json",
"episodes": 40,
"wins_a": 4,
"wins_b": 1,
"draws": 35,
"win_rate_a": 0.1
},
{
"timestamp": "2026-07-20T18:47:54+00:00",
"model_a": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/run09.json",
"model_b": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/run07.json",
"episodes": 40,
"wins_a": 6,
"wins_b": 9,
"draws": 25,
"win_rate_a": 0.15
},
{
"timestamp": "2026-07-21T15:52:20+00:00",
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/curric-s1-score.json",
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/rookie.json",
"episodes": 100,
"wins_a": 22,
"wins_b": 16,
"draws": 62,
"win_rate_a": 0.22
},
{
"timestamp": "2026-07-21T18:19:44+00:00",
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/curric-s2-defend.json",
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/curric-s1-score.json",
"episodes": 100,
"wins_a": 23,
"wins_b": 16,
"draws": 61,
"win_rate_a": 0.23
},
{
"timestamp": "2026-07-21T20:46:34+00:00",
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/curric-s3-no_draws.json",
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/curric-s2-defend.json",
"episodes": 100,
"wins_a": 44,
"wins_b": 19,
"draws": 37,
"win_rate_a": 0.44
},
{
"timestamp": "2026-07-22T11:36:42+00:00",
"model_a": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/curric-s3-no_draws.json",
"model_b": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/curric-s2-defend.json",
"episodes": 100,
"wins_a": 26,
"wins_b": 60,
"draws": 14,
"win_rate_a": 0.26
},
{
"timestamp": "2026-07-22T11:38:57+00:00",
"model_a": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/curric-s4-mechanics.json",
"model_b": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/curric-s3-no_draws.json",
"episodes": 100,
"wins_a": 26,
"wins_b": 33,
"draws": 41,
"win_rate_a": 0.26
},
{
"timestamp": "2026-07-22T11:40:07+00:00",
"model_a": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/curric-s4-mechanics.json",
"model_b": "/Users/jcreek/Documents/repos/GitHub/CosmicClash/Game/bots/curric-s2-defend.json",
"episodes": 100,
"wins_a": 24,
"wins_b": 57,
"draws": 19,
"win_rate_a": 0.24
}
]