mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-13 20:32:11 +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:
@@ -358,6 +358,11 @@ def parse_args():
|
||||
"--ground-tilt-penalty", type=float, default=None,
|
||||
help="Low-altitude-only tilt cost that fades to zero by the handling-height threshold",
|
||||
)
|
||||
curriculum.add_argument(
|
||||
"--non-forward-penalty", type=float, default=None,
|
||||
help="Overrides ShipAIController.non_forward_penalty (low-altitude dense cost on sideways/reverse "
|
||||
"planar velocity, independent of the ball)",
|
||||
)
|
||||
curriculum.add_argument(
|
||||
"--speed-reward-weight", type=float, default=None,
|
||||
help="Overrides the orientation-agnostic own-speed reward (generation 5 handling sets it to zero)",
|
||||
@@ -391,6 +396,7 @@ def _curriculum_kwargs(args) -> dict:
|
||||
"team_size": args.team_size,
|
||||
"ai_tilt_penalty": args.tilt_penalty,
|
||||
"ai_ground_tilt_penalty": args.ground_tilt_penalty,
|
||||
"ai_non_forward_penalty": args.non_forward_penalty,
|
||||
"ai_velocity_to_ball_weight": args.velocity_to_ball_weight,
|
||||
"ai_forward_velocity_to_ball_weight": args.forward_velocity_to_ball_weight,
|
||||
"ai_ball_distance_penalty": args.ball_distance_penalty,
|
||||
|
||||
Reference in New Issue
Block a user