mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 08:23:45 +00:00
chore(training): retune stage-4 handling penalties and restart from Stage-3 foundation
Stage 4's upright/forward-motion telemetry plateaued flat across all three blocked attempts because ground_tilt_penalty (0.003) was too weak to matter and nothing penalized sideways/reverse motion at all. Raise ground_tilt_penalty to 0.05 and add a new non_forward_penalty term (ship_ai_controller.gd) that directly costs non-forward planar velocity near the floor, independent of the ball. Delete the three blocked attempts' checkpoints/logs/exports and reset generation5_state.json so the next run starts fresh from the Stage-3 foundation checkpoint instead of continuing from the drifted retry2 weights.
This commit is contained in:
@@ -251,7 +251,7 @@ const SHIP_AI_OVERRIDES := [
|
||||
"ball_touch_reward", "ball_touch_cooldown_ticks", "ball_touch_direction_floor",
|
||||
"velocity_to_ball_weight", "ball_velocity_to_goal_weight", "ball_distance_penalty",
|
||||
"forward_velocity_to_ball_weight", "wall_contact_penalty", "tilt_penalty",
|
||||
"ground_tilt_penalty", "speed_reward_weight", "time_penalty",
|
||||
"ground_tilt_penalty", "non_forward_penalty", "speed_reward_weight", "time_penalty",
|
||||
"airborne_penalty",
|
||||
]
|
||||
|
||||
@@ -312,6 +312,7 @@ func _ai_default(name: String) -> Variant:
|
||||
"wall_contact_penalty": return 0.0025
|
||||
"tilt_penalty": return 0.0005
|
||||
"ground_tilt_penalty": return 0.0
|
||||
"non_forward_penalty": return 0.0
|
||||
"speed_reward_weight": return 0.004
|
||||
"time_penalty": return 0.001
|
||||
"airborne_penalty": return 0.0
|
||||
|
||||
Reference in New Issue
Block a user