mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 00:14:00 +00:00
feat(*): retune scoring incentives and add finishing reps
This commit is contained in:
@@ -18,11 +18,22 @@ extends GameMode
|
||||
# "EVAL_RESULT {...}" line is printed before quitting.
|
||||
|
||||
@export var episode_length_seconds := 30.0
|
||||
@export var goal_reward := 10.0
|
||||
# Run01-vs-run02 eval (see training/eval_history.json) came back 87.5% draws:
|
||||
# with a 30s episode, the dense per-tick terms on ShipAIController can sum to
|
||||
# several times this value before it was raised, so scoring and forfeiting
|
||||
# the rest of the episode's farmable reward was worse than never finishing.
|
||||
# Raised well above that ceiling so a real scoring chance always beats
|
||||
# continuing to farm dense reward for however long is left in the episode.
|
||||
@export var goal_reward := 40.0
|
||||
|
||||
# Episode-start state mix; remaining probability = fully random state.
|
||||
@export_range(0.0, 1.0) var kickoff_state_chance := 0.2
|
||||
@export_range(0.0, 1.0) var ball_near_goal_chance := 0.2
|
||||
# Raised from 0.2: fixing the reward incentive to score (see goal_reward,
|
||||
# ball_touch_reward, time_penalty on ShipAIController) only helps if the
|
||||
# policy also gets enough reps at actually finishing. At 0.2 that scenario
|
||||
# was 1 in 5 episode starts; most training time was spent in generic
|
||||
# midfield play where a finish never comes up.
|
||||
@export_range(0.0, 1.0) var ball_near_goal_chance := 0.35
|
||||
|
||||
# Placement bounds for randomized episode starts, derived from the standard
|
||||
# enclosure (ArenaBoundary). The inset keeps a randomly oriented ship (1x1x4
|
||||
|
||||
Reference in New Issue
Block a user