mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-13 07:52:28 +00:00
fix(training): make uprightness a multiplier on the forward-approach reward
Rounds 2 and 3 showed that tuning grounded_upright_reward's magnitude only slides along a tradeoff instead of resolving it: at 0.015 upright_fraction climbed to 0.331 while goal_rate sagged to 0.542 (then farmed outright at 0.696/0.366), and at 0.004 goal_rate climbed 0.569->0.604 while upright_fraction went flat at ~0.26. An additive uprightness bonus is an alternative to playing well, so the policy just picks whichever is cheaper and no magnitude buys both behaviours. Change the mechanism rather than the number: grounded_upright_reward drops to 0, and uprightness becomes a multiplier inside the nose-led approach term, which already requires moving forward at the ball. Parked-and-upright and fast-but-sideways now both pay zero; only upright, forward, nose-on to the ball pays full. forward-velocity-to-ball rises 0.06 -> 0.15 to offset the ~2-3x expected-value cut from the new factor, and ground-tilt-penalty drops 0.05 -> 0.02 now that uprightness is paid positively during play. Delete the three blocked attempts and reset state to restart from the Stage-3 foundation.
This commit is contained in:
@@ -1,260 +1,6 @@
|
||||
{
|
||||
"stage_index": 0,
|
||||
"attempt": 2,
|
||||
"status": "blocked",
|
||||
"log": [
|
||||
{
|
||||
"stage_index": 0,
|
||||
"stage_number": 4,
|
||||
"stage_name": "handling",
|
||||
"experiment": "20260811-1606-gen5-s4-handling",
|
||||
"attempt": 0,
|
||||
"telemetry_tail": {
|
||||
"rollout/air_touch_fraction": 0.0004399999901652336,
|
||||
"rollout/airborne_fraction": 0.44587357181310655,
|
||||
"rollout/ep_len_mean": 139.7144799041748,
|
||||
"rollout/ep_rew_mean": -5.688299763679504,
|
||||
"rollout/forward_motion_fraction": 0.21974961887300015,
|
||||
"rollout/goal_rate": 0.5693600015640259,
|
||||
"rollout/mean_altitude": 4.424891119480133,
|
||||
"rollout/productive_air_touch_fraction": 7.999999821186065e-05,
|
||||
"rollout/upright_fraction": 0.2615443330407143,
|
||||
"rollout/vertical_thrust_mean": 0.08650099822867197
|
||||
},
|
||||
"telemetry_failures": [
|
||||
"rollout/goal_rate=0.5694 < 0.8000",
|
||||
"rollout/upright_fraction=0.2615 < 0.4500",
|
||||
"rollout/forward_motion_fraction=0.2197 < 0.2500"
|
||||
],
|
||||
"evaluation_goal_failures": [
|
||||
"easy.json: goal_rate=0.770 < 0.800"
|
||||
],
|
||||
"side_balance_failures": [],
|
||||
"eval": {
|
||||
"timestamp": "2026-08-11T21:16:10+00:00",
|
||||
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260811-1606-gen5-s4-handling.json",
|
||||
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/promoted/easy.json",
|
||||
"seed": 1,
|
||||
"episodes": 100,
|
||||
"wins_a": 47,
|
||||
"wins_b": 30,
|
||||
"draws": 23,
|
||||
"side_results": {
|
||||
"a_team_0": {
|
||||
"wins_a": 22,
|
||||
"wins_b": 16,
|
||||
"draws": 12
|
||||
},
|
||||
"a_team_1": {
|
||||
"wins_a": 25,
|
||||
"wins_b": 14,
|
||||
"draws": 11
|
||||
}
|
||||
},
|
||||
"physical_team_wins": {
|
||||
"team_0": 36,
|
||||
"team_1": 41
|
||||
},
|
||||
"win_rate_a": 0.47
|
||||
},
|
||||
"evals": [
|
||||
{
|
||||
"timestamp": "2026-08-11T21:16:10+00:00",
|
||||
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260811-1606-gen5-s4-handling.json",
|
||||
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/promoted/easy.json",
|
||||
"seed": 1,
|
||||
"episodes": 100,
|
||||
"wins_a": 47,
|
||||
"wins_b": 30,
|
||||
"draws": 23,
|
||||
"side_results": {
|
||||
"a_team_0": {
|
||||
"wins_a": 22,
|
||||
"wins_b": 16,
|
||||
"draws": 12
|
||||
},
|
||||
"a_team_1": {
|
||||
"wins_a": 25,
|
||||
"wins_b": 14,
|
||||
"draws": 11
|
||||
}
|
||||
},
|
||||
"physical_team_wins": {
|
||||
"team_0": 36,
|
||||
"team_1": 41
|
||||
},
|
||||
"win_rate_a": 0.47
|
||||
}
|
||||
],
|
||||
"decision": "fail"
|
||||
},
|
||||
{
|
||||
"stage_index": 0,
|
||||
"stage_number": 4,
|
||||
"stage_name": "handling",
|
||||
"experiment": "20260811-2216-gen5-s4-handling-retry1",
|
||||
"attempt": 1,
|
||||
"telemetry_tail": {
|
||||
"rollout/air_touch_fraction": 0.00019999999552965163,
|
||||
"rollout/airborne_fraction": 0.446684571146965,
|
||||
"rollout/ep_len_mean": 135.95963993835448,
|
||||
"rollout/ep_rew_mean": -4.255322490215302,
|
||||
"rollout/forward_motion_fraction": 0.21915800005197525,
|
||||
"rollout/goal_rate": 0.5982800037264824,
|
||||
"rollout/mean_altitude": 4.420792480945587,
|
||||
"rollout/productive_air_touch_fraction": 3.999999910593033e-05,
|
||||
"rollout/upright_fraction": 0.2567908099591732,
|
||||
"rollout/vertical_thrust_mean": 0.1063969987387536
|
||||
},
|
||||
"telemetry_failures": [
|
||||
"rollout/goal_rate=0.5983 < 0.8000",
|
||||
"rollout/upright_fraction=0.2568 < 0.4500",
|
||||
"rollout/forward_motion_fraction=0.2192 < 0.2500"
|
||||
],
|
||||
"evaluation_goal_failures": [],
|
||||
"side_balance_failures": [],
|
||||
"eval": {
|
||||
"timestamp": "2026-08-12T03:24:21+00:00",
|
||||
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260811-2216-gen5-s4-handling-retry1.json",
|
||||
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/promoted/easy.json",
|
||||
"seed": 1,
|
||||
"episodes": 100,
|
||||
"wins_a": 53,
|
||||
"wins_b": 29,
|
||||
"draws": 18,
|
||||
"side_results": {
|
||||
"a_team_0": {
|
||||
"wins_a": 22,
|
||||
"wins_b": 17,
|
||||
"draws": 11
|
||||
},
|
||||
"a_team_1": {
|
||||
"wins_a": 31,
|
||||
"wins_b": 12,
|
||||
"draws": 7
|
||||
}
|
||||
},
|
||||
"physical_team_wins": {
|
||||
"team_0": 34,
|
||||
"team_1": 48
|
||||
},
|
||||
"win_rate_a": 0.53
|
||||
},
|
||||
"evals": [
|
||||
{
|
||||
"timestamp": "2026-08-12T03:24:21+00:00",
|
||||
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260811-2216-gen5-s4-handling-retry1.json",
|
||||
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/promoted/easy.json",
|
||||
"seed": 1,
|
||||
"episodes": 100,
|
||||
"wins_a": 53,
|
||||
"wins_b": 29,
|
||||
"draws": 18,
|
||||
"side_results": {
|
||||
"a_team_0": {
|
||||
"wins_a": 22,
|
||||
"wins_b": 17,
|
||||
"draws": 11
|
||||
},
|
||||
"a_team_1": {
|
||||
"wins_a": 31,
|
||||
"wins_b": 12,
|
||||
"draws": 7
|
||||
}
|
||||
},
|
||||
"physical_team_wins": {
|
||||
"team_0": 34,
|
||||
"team_1": 48
|
||||
},
|
||||
"win_rate_a": 0.53
|
||||
}
|
||||
],
|
||||
"decision": "fail"
|
||||
},
|
||||
{
|
||||
"stage_index": 0,
|
||||
"stage_number": 4,
|
||||
"stage_name": "handling",
|
||||
"experiment": "20260812-0424-gen5-s4-handling-retry2",
|
||||
"attempt": 2,
|
||||
"telemetry_tail": {
|
||||
"rollout/air_touch_fraction": 0.00025999999418854715,
|
||||
"rollout/airborne_fraction": 0.44747342938184737,
|
||||
"rollout/ep_len_mean": 133.66904002380372,
|
||||
"rollout/ep_rew_mean": -2.8346366541385652,
|
||||
"rollout/forward_motion_fraction": 0.22339595240354537,
|
||||
"rollout/goal_rate": 0.6036400033831596,
|
||||
"rollout/mean_altitude": 4.436961054801941,
|
||||
"rollout/productive_air_touch_fraction": 7.999999821186065e-05,
|
||||
"rollout/upright_fraction": 0.2713429524004459,
|
||||
"rollout/vertical_thrust_mean": 0.05840199833672028
|
||||
},
|
||||
"telemetry_failures": [
|
||||
"rollout/goal_rate=0.6036 < 0.8000",
|
||||
"rollout/upright_fraction=0.2713 < 0.4500",
|
||||
"rollout/forward_motion_fraction=0.2234 < 0.2500"
|
||||
],
|
||||
"evaluation_goal_failures": [
|
||||
"easy.json: goal_rate=0.660 < 0.800"
|
||||
],
|
||||
"side_balance_failures": [],
|
||||
"eval": {
|
||||
"timestamp": "2026-08-12T09:31:39+00:00",
|
||||
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260812-0424-gen5-s4-handling-retry2.json",
|
||||
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/promoted/easy.json",
|
||||
"seed": 1,
|
||||
"episodes": 100,
|
||||
"wins_a": 37,
|
||||
"wins_b": 29,
|
||||
"draws": 34,
|
||||
"side_results": {
|
||||
"a_team_0": {
|
||||
"wins_a": 18,
|
||||
"wins_b": 20,
|
||||
"draws": 12
|
||||
},
|
||||
"a_team_1": {
|
||||
"wins_a": 19,
|
||||
"wins_b": 9,
|
||||
"draws": 22
|
||||
}
|
||||
},
|
||||
"physical_team_wins": {
|
||||
"team_0": 27,
|
||||
"team_1": 39
|
||||
},
|
||||
"win_rate_a": 0.37
|
||||
},
|
||||
"evals": [
|
||||
{
|
||||
"timestamp": "2026-08-12T09:31:39+00:00",
|
||||
"model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260812-0424-gen5-s4-handling-retry2.json",
|
||||
"model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/promoted/easy.json",
|
||||
"seed": 1,
|
||||
"episodes": 100,
|
||||
"wins_a": 37,
|
||||
"wins_b": 29,
|
||||
"draws": 34,
|
||||
"side_results": {
|
||||
"a_team_0": {
|
||||
"wins_a": 18,
|
||||
"wins_b": 20,
|
||||
"draws": 12
|
||||
},
|
||||
"a_team_1": {
|
||||
"wins_a": 19,
|
||||
"wins_b": 9,
|
||||
"draws": 22
|
||||
}
|
||||
},
|
||||
"physical_team_wins": {
|
||||
"team_0": 27,
|
||||
"team_1": 39
|
||||
},
|
||||
"win_rate_a": 0.37
|
||||
}
|
||||
],
|
||||
"decision": "fail"
|
||||
}
|
||||
]
|
||||
"attempt": 0,
|
||||
"status": "in_progress",
|
||||
"log": []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user