df256b4d3e
sac_train.sh orchestrates chunked self-play via tools/training_runner/ RunTraining.java: weighted opponent sampling per chunk, deterministic eval (SACLSTM_EVAL_MODE=1) every N chunks with win-rate tracking, best checkpoint (weights/sac_best.zip) by eval score, crash-restart loop on the runner's liveness detection. Supporting changes: - integration.nim: opponentKey() keys the NewBattle buffer-clear rule on getBotName(id) with numeric-id fallback (#49 Q14 follow-up); bumpRoundCounter() emits the per-round liveness signal. - SAC_LSTM_Bot.nim: onRoundEnded -> bumpRoundCounter(). - RunTraining.java: BOT_NAME env parameterizes result matching (default PPO_Bot, unchanged behavior for PPO). - Launch packaging: root SAC_LSTM_Bot.json + .sh for the booter; src json name aligned to 'SAC_LSTM_Bot' so self-reported identity matches the booted identity (mismatch = runner connect timeout).
12 lines
315 B
JSON
12 lines
315 B
JSON
{
|
|
"name": "SAC_LSTM_Bot",
|
|
"version": "0.1.0",
|
|
"authors": ["Davide Cappellini"],
|
|
"description": "SAC+LSTM-trained Tank Royale bot (#37) — training/eval launch config",
|
|
"homepage": "",
|
|
"countryCodes": ["IT"],
|
|
"gameTypes": ["classic", "melee", "1v1"],
|
|
"platform": "Nim",
|
|
"programmingLang": "Nim"
|
|
}
|