feat(*): Update rewards and terminal conditions after 265 million timesteps

This commit is contained in:
Josh Creek
2023-10-09 22:46:07 +01:00
parent d446013449
commit f5657ec565
2 changed files with 18 additions and 2 deletions
+16
View File
@@ -58,6 +58,22 @@ Reward functions at this point are as below, along with their scale:
The primary goal is to get the model to learn to kickoff, and generally aim to be ball chasing, with a plan to get the ball into the opposing goal. The primary goal is to get the model to learn to kickoff, and generally aim to be ball chasing, with a plan to get the ball into the opposing goal.
Terminal conditions for the first 265million steps:
- TimeoutCondition(fps * 30)
- NoTouchTimeoutCondition(fps * 10)
- GoalScoredCondition()
After 265 million steps I changed the terminal conditions and reward weightings.
- TimeoutCondition -> fps * 300
- VelocityPlayerToBallReward -> 1
- TouchBallReward -> 10
- LiuDistanceBallToGoalReward -> 50
This is to try to get the bot to gain experience in other areas of the game now it has vaguely got the hang of what a kickoff is.
### Stage 2 ### Stage 2
Learn the strategies for playing each game mode. To do this I will make the bot train in each game mode in series, or possibly in parallel if I can configure it to run different game modes in different instances of Rocket League. Learn the strategies for playing each game mode. To do this I will make the bot train in each game mode in series, or possibly in parallel if I can configure it to run different game modes in different instances of Rocket League.
+2 -2
View File
@@ -87,11 +87,11 @@ if __name__ == "__main__": # Required for multiprocessing
AlignBallGoal(), AlignBallGoal(),
KickoffReward(), KickoffReward(),
), ),
(0.1, 1.0, 1.0, 1.0, 0.1, 0.2, 0.1, 0.2, 1.0, 0.1, 10.0), (1.0, 1.0, 50.0, 1.0, 0.1, 0.2, 0.1, 0.2, 10.0, 0.1, 10.0),
), ),
spawn_opponents=True, spawn_opponents=True,
terminal_conditions=[ terminal_conditions=[
TimeoutCondition(fps * 30), TimeoutCondition(fps * 300),
NoTouchTimeoutCondition(fps * 10), NoTouchTimeoutCondition(fps * 10),
GoalScoredCondition(), GoalScoredCondition(),
], ],