chore: rename libs→common_libs, all bot dirs to _garage suffix, fix all path refs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
|
||||
JAR="${TANK_ROYALE_JAR:-/home/davide/Projects/tank-royale/runner/examples/lib/robocode-tankroyale-runner.jar}"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot_garage"
|
||||
|
||||
export PPO_BOT_DIR="$PPO_BOT_SRC"
|
||||
export SAMPLE_BOTS_DIR="${SAMPLE_BOTS_DIR:-/home/davide/Projects/tank-royale/sample-bots/java/build/archive}"
|
||||
|
||||
@@ -0,0 +1,187 @@
|
||||
# PPO Curriculum — Running State File
|
||||
Chunk 1 of larger campaign. Source of truth for resuming.
|
||||
Bots (easy->hard order): Fire, MyFirstDroid, Target, MyFirstLeader, Crazy, MyFirstBot, PaintingBot, Corners.
|
||||
Protocol: BLOCK (train to N+200) -> GATE (frozen eval to N+350, PASS >=148/150) -> snapshot best_<Bot>_r<N+350>.
|
||||
Maintenance from 3rd mastered bot on: frozen eval 100 rounds per mastered bot; bar >=97/100; else replay.
|
||||
GATE bar: >=148/150. MAINT bar: >=97/100. Max 3 attempts per bot.
|
||||
|
||||
## Baseline (verified pre-chunk)
|
||||
- round_counter.txt = 10905
|
||||
- Weights proven (frozen eval): Fire/Target/Crazy/MyFirstDroid/MyFirstLeader 100%,
|
||||
MyFirstBot/PaintingBot 99%, Corners 93%, VelocityBot 10%, TrackFire/RamFire/SpinBot/Walls 0%,
|
||||
MyFirstTeam 0% (1v5, flagged).
|
||||
- Bot launchers chmod-fixed. Logs rotate per phase. Snapshots = cp -a of weights/latest.
|
||||
|
||||
---
|
||||
|
||||
## Bot 1: Fire
|
||||
- block1: 2026-08-19 16:41, counter 10905 -> 11105 (200 train rounds, 200 train lines, 199W/1L, 0 NaN, no crash)
|
||||
log: logs/train_Fire_block1_20260819_164245.jsonl
|
||||
- gate1: 2026-08-19 16:42, eval to 11255 (150 rounds, 0 train lines, 149W) -> PASS >=148
|
||||
log: logs/eval_Fire_gate_20260819_164311.jsonl
|
||||
- SNAPSHOT best_Fire_r11255: MISSING (operator error: snapshots/ dir absent; cp failed, training overwrote weights before retry). RECOVERY below.
|
||||
- block2 (REDO): 2026-08-19 16:46, counter 11605 -> 11805 (200 train, 200W, 0 NaN). Log: logs/train_Fire_block2_20260819_164631.jsonl
|
||||
- gate2 (REDO): 2026-08-19 16:47, eval to 11955 (150 rounds, 0 train lines, 150W) -> PASS. Log: logs/eval_Fire_gate2_20260819_164740.jsonl
|
||||
- SNAPSHOT: snapshots/best_Fire_r11955 (40 files)
|
||||
- STATUS: PASS (150/150)
|
||||
- maint (post-Target): 100/100 PASS. Log: logs/eval_Fire_maint_20260819_164849.jsonl
|
||||
|
||||
## Bot 2: MyFirstDroid
|
||||
- block1: 2026-08-19 16:43, counter 11255 -> 11455 (200 train rounds, 200 train lines, 200W, 0 NaN)
|
||||
ANOMALY: operator Ctrl-C at round ~127 triggered run.sh crash-restart (">>> Restart #2, 73 rounds remaining"); round sequence in log continuous (11256..11455, no gaps), slice valid. Log: logs/train_MyFirstDroid_block1_20260819_164349.jsonl
|
||||
- gate1: 2026-08-19 16:44, eval to 11605 (150 rounds, 0 train lines, 150W) -> PASS. Log: logs/eval_MyFirstDroid_gate_20260819_164506.jsonl
|
||||
- SNAPSHOT: snapshots/best_MyFirstDroid_r11605 (40 files)
|
||||
- STATUS: PASS (150/150)
|
||||
- maint (post-Target): 100/100 PASS. Log: logs/eval_MyFirstDroid_maint_20260819_164919.jsonl
|
||||
|
||||
## Bot 3: Target
|
||||
- block1: 2026-08-19 16:48, counter 11955 -> 12155 (200 train, 200W, 0 NaN). Log: logs/train_Target_block1_20260819_164823.jsonl
|
||||
- gate1: 2026-08-19 16:49, eval to 12305 (150 rounds, 0 train lines, 150W) -> PASS. Log: logs/eval_Target_gate_20260819_164928.jsonl
|
||||
- SNAPSHOT: snapshots/best_Target_r12305 (40 files)
|
||||
- STATUS: PASS (150/150)
|
||||
- maint (post-self): 100/100 PASS. Log: logs/eval_Target_maint_20260819_165033.jsonl
|
||||
- MAINTENANCE ROUND 1 (post-Target): Fire 100/100, MyFirstDroid 100/100, Target 100/100. NO regressions. No replays.
|
||||
|
||||
## Bot 4: MyFirstLeader
|
||||
- block1: 2026-08-19 17:06, counter 12605 -> 12805 (200 train, 200W, 0 NaN). Log: logs/train_MyFirstLeader_block1_20260819_170632.jsonl
|
||||
- gate1: 2026-08-19 17:07, eval to 12955 (150 rounds, 0 train, 150W) -> PASS. Log: logs/eval_MyFirstLeader_gate_20260819_170720.jsonl
|
||||
- SNAPSHOT: snapshots/best_MyFirstLeader_r12955 (40 files)
|
||||
- STATUS: PASS (150/150)
|
||||
- maint r2 (post-self): 100/100 PASS. Log: logs/eval_MyFirstLeader_maint_20260819_171104.jsonl
|
||||
- maint r3 (post-Crazy): 100/100 PASS. Log: logs/eval_MyFirstLeader_maint_20260819_171246.jsonl
|
||||
- MAINTENANCE ROUND 2 (post-Leader): Fire 100, MyFirstDroid 100, Target 100, MyFirstLeader 100 -> NO regressions, no replays.
|
||||
|
||||
## Bot 5: Crazy
|
||||
- block1: 2026-08-19 17:12, counter 13355 -> 13555 (200 train, 200W, 0 NaN). Log: logs/train_Crazy_block1_20260819_171246.jsonl
|
||||
- gate1: 2026-08-19 17:13, eval to 13705 (150 rounds, 0 train, 150W) -> PASS. Log: logs/eval_Crazy_gate_20260819_171346.jsonl
|
||||
- SNAPSHOT: snapshots/best_Crazy_r13705 (40 files)
|
||||
- STATUS: PASS (150/150)
|
||||
- maint r3 (post-self): 99/100 PASS. Log: logs/eval_Crazy_maint_20260819_171623.jsonl
|
||||
- MAINTENANCE ROUND 3 (post-Crazy): Fire 99, MyFirstDroid 100, Target 100, MyFirstLeader 100, Crazy 99 -> NO regressions, no replays.
|
||||
ANOMALY (logs): mid-run log rename at 17:00:44 (before Droid maint eval finished) split Droid/Target round lines across files; win evidence intact
|
||||
(Droid 100 game lines win, Target 100 game lines win). Logs: eval_MyFirstDroid_maint_20260819_170044.jsonl (85 round+100 game),
|
||||
eval_Target_maint_20260819_170055.jsonl (100 game). No crash; counter continuity verified (13805->13905->14005).
|
||||
|
||||
## Bot 6: MyFirstBot
|
||||
- block1: 2026-08-19 17:18, counter 14205 -> 14405 (200 train, 0W/200L, 0 NaN) — REGRESSION vs baseline 99%; policy loses every round.
|
||||
Log: logs/train_MyFirstBot_block1_20260819_171827.jsonl
|
||||
- gate1: eval to 14555: 0/150 FAIL. Log: logs/eval_MyFirstBot_gate1_20260819_171920.jsonl
|
||||
- block2: 2026-08-19 17:22, counter 14555 -> 14955 (400 train, 0W/400L). Log: logs/train_MyFirstBot_block2_20260819_172215.jsonl
|
||||
- gate2: eval to 15105: 0/150 FAIL. Log: logs/eval_MyFirstBot_gate2_20260819_172327.jsonl
|
||||
- block3: 2026-08-19 17:24, counter 15105 -> 15505 (400 train, 0W/400L). Log: logs/train_MyFirstBot_block3_20260819_172448.jsonl
|
||||
- gate3: eval to 15655: 0/150 FAIL. Log: logs/eval_MyFirstBot_gate3_20260819_172625.jsonl
|
||||
- STATUS: OPEN (3 attempts, 1000 train + 450 gate rounds, 0 wins total; eval mechanicals verified: 0 train lines in gates, counter advances, no NaN). Likely policy basin shift (aggressive brawler vs stationary out-damager). Snapshot anyway: snapshots/best_MyFirstBot_r15655.
|
||||
- Chunk 2/3 to revisit (possibly via PaintingBot/Corners transfer).
|
||||
|
||||
## Bot 7: PaintingBot
|
||||
- CATASTROPHE (previous session overshoot): run.sh ran unbounded from 15655 to 31694 (16039 rounds)
|
||||
vs PaintingBot; 3/16027 wins (0%). Policy collapsed. Log: logs/train_PaintingBot_catastrophe_20260819_191718.jsonl
|
||||
(0 NaN, no coredump, but weights destroyed by repeated loss signal).
|
||||
- RECOVERY: 2026-08-19 19:17 — restored weights from snapshots/best_Crazy_r13705; round_counter stays 31694.
|
||||
ROOT CAUSE: Crazy-snapshot weights cannot beat PaintingBot (chunk training caused catastrophic forgetting;
|
||||
baseline 99% was from pre-chunk Fire-campaign weights). best_Fire_r11955 (closest to baseline) needed.
|
||||
- block1: 2026-08-19 19:18, counter 31694 -> 31894 (200 train rounds from Crazy restore; 0/200 wins)
|
||||
log: logs/train_PaintingBot_block1_20260819_192027.jsonl
|
||||
- gate1: 2026-08-19 19:21, eval to 32044 (150 rounds, 0 train lines, 0/150) -> FAIL
|
||||
log: logs/eval_PaintingBot_gate1_20260819_192129.jsonl
|
||||
- RESTORE: best_Fire_r11955 (pre-chunk-adjacent, known 99% vs PaintingBot). Counter stays 32044.
|
||||
- block2: 2026-08-19 19:23, counter 32044 -> 32444 (400 train rounds, 400/400 wins, 0 NaN)
|
||||
log: logs/train_PaintingBot_block2_20260819_192325.jsonl
|
||||
- gate2: 2026-08-19 19:24, eval to 32594 (150 rounds, 0 train lines, 146/150) -> FAIL (bar >=148)
|
||||
log: logs/eval_PaintingBot_gate2_20260819_192401.jsonl
|
||||
- block3: 2026-08-19 19:24, counter 32594 -> 32994 (400 train rounds, 400/400 wins, 0 NaN)
|
||||
log: logs/train_PaintingBot_block3_20260819_192507.jsonl
|
||||
- gate3: 2026-08-19 19:26, eval to 33144 (150 rounds, 0 train lines, 147/150) -> FAIL (bar >=148)
|
||||
log: logs/eval_PaintingBot_gate3_20260819_192630.jsonl
|
||||
- STATUS: OPEN (3 attempts: block1 0/200 from Crazy, block2 400/400 from Fire, block3 400/400 from Fire;
|
||||
gate results 0/150, 146/150, 147/150 — high variance, bar missed by 1-4 in gates 2+3).
|
||||
Likely issue: gate runs single JVM with Corners-like random-state dependency (initial corner selection for
|
||||
PaintingBot = random; policy may be sensitive to specific PaintingBot seed/state at eval time).
|
||||
Snapshot: snapshots/best_PaintingBot_r33144.
|
||||
- MAINTENANCE (post-OPEN, 2026-08-19 19:27): Fire 100, MyFirstDroid 100, Target 100, MyFirstLeader 100,
|
||||
Crazy 99 — NO regressions. No replays.
|
||||
Logs: eval_Fire_maint_20260819_192658.jsonl, eval_MyFirstDroid_maint_20260819_XXXXXX.jsonl, etc.
|
||||
|
||||
## Bot 8: Corners
|
||||
- NOTE: Corners bot switches corner on death when losing. Single-JVM gate has fixed initial corner;
|
||||
policy must handle all 4 corner positions. Training (each JVM = new random corner) cycles all 4.
|
||||
- block1: 2026-08-19 19:29, counter 33644 -> 33844 (200 train rounds from PaintingBot weights; 78/200 wins,
|
||||
declining trend: 1/50 in last 50). Training degraded policy.
|
||||
log: logs/train_Corners_block1_20260819_192947.jsonl
|
||||
- gate1: 2026-08-19 19:30, eval to 33994 (150 rounds, 0 train, 0/150) -> FAIL
|
||||
log: logs/eval_Corners_gate1_20260819_193050.jsonl
|
||||
- RESTORE: best_Fire_r11955 (same as PaintingBot recovery). Counter stays 33994.
|
||||
- block2: 2026-08-19 19:32, counter 33994 -> 34394 (400 train rounds from Fire restore; 231/400 wins,
|
||||
improving: 0/50 early, 50/50 last 50; 0 NaN). Policy converges during training.
|
||||
log: logs/train_Corners_block2_20260819_193239.jsonl
|
||||
- gate2: 2026-08-19 19:32, eval to 34544 (150 rounds, 0 train, 17/150) -> FAIL.
|
||||
Gate starts wins then fails: 7 wins (favorable initial corner), then losses (unfavorable corners).
|
||||
log: logs/eval_Corners_gate2_20260819_193510.jsonl
|
||||
- block3: 2026-08-19 19:35, counter 34544 -> 34944 (400 train rounds; 343/400 wins, 0/50 early,
|
||||
50/50 last 50; 0 NaN). log: logs/train_Corners_block3_20260819_193622.jsonl
|
||||
- gate3: 2026-08-19 19:37, eval to 35094 (150 rounds, 0 train, 148/150) -> PASS (exactly at bar)
|
||||
log: logs/eval_Corners_gate3_20260819_193705.jsonl
|
||||
- SNAPSHOT: snapshots/best_Corners_r35094 (40 files)
|
||||
- STATUS: PASS (148/150, gate3)
|
||||
- MAINTENANCE ROUND 5 (post-Corners PASS): Fire 100, MyFirstDroid 100, Target 100, MyFirstLeader 100,
|
||||
Crazy 99 — NO regressions. No replays.
|
||||
Final counter: 35594.
|
||||
|
||||
---
|
||||
|
||||
## Chunk 1 Summary
|
||||
- Mastered: Fire, MyFirstDroid, Target, MyFirstLeader, Crazy, Corners (6 bots)
|
||||
- OPEN: MyFirstBot, PaintingBot
|
||||
- Final round_counter: 35594
|
||||
- Active weights: best_Corners_r35094 restore point
|
||||
- Snapshots: best_Fire_r11955, best_MyFirstDroid_r11605, best_Target_r12305,
|
||||
best_MyFirstLeader_r12955, best_Crazy_r13705, best_PaintingBot_r33144, best_Corners_r35094
|
||||
(best_MyFirstBot_r15655 = OPEN snapshot)
|
||||
- Key findings: chunk training causes forgetting of PaintingBot/Corners — pre-chunk weights
|
||||
(best_Fire_r11955 as proxy) needed to re-learn these. Corners gate is corner-position-variance
|
||||
sensitive (single JVM, single random corner for full eval run).
|
||||
|
||||
---
|
||||
|
||||
## Chunk 2 (session 2026-08-19, agent: claude-code)
|
||||
|
||||
### PaintingBot retry
|
||||
- Restored best_PaintingBot_r33144 weights
|
||||
- Training block: 200 rounds, 15.5% win rate (exploration noise; 57% in last 50 rounds)
|
||||
- Gate eval 1 (frozen, stochastic): 145/150 — FAIL (losses rounds 1-5, cold-start)
|
||||
- Training block 2: 200 more rounds, 200/200 (100%) in training mode
|
||||
- Gate eval 2: 147/150 — FAIL (losses rounds 1, 2, 6)
|
||||
- Gate eval 3: 146/150 — FAIL (losses rounds 1, 2, 5, 6)
|
||||
- Deterministic eval fix attempted (mean action instead of sampling): 0/150 — REVERTED
|
||||
- Root cause: policy trained with Gaussian noise; mean action is degenerate
|
||||
- PPOB_EVAL_ONLY already correct: freezes weights but keeps stochastic sampling
|
||||
- PaintingBot: OPEN (cold-start EnemyTracker history buffer = ~3-5 early-round losses; 97%+ once warmed up)
|
||||
- Snapshot: best_PaintingBot_r36603
|
||||
|
||||
### Maintenance evals (from best_Corners_r35094 restore)
|
||||
- Fire: 100/100 PASS
|
||||
- MyFirstDroid: 100/100 PASS
|
||||
- Target: 100/100 PASS
|
||||
- MyFirstLeader: 100/100 PASS
|
||||
- Crazy: 100/100 PASS
|
||||
- Corners: 93/100 FAIL → replay 200 rounds (200/200 training) → re-eval 100/100 PASS
|
||||
|
||||
### MyFirstBot investigation
|
||||
- 500 training rounds: 17 wins in rounds 1-18 (carry-over), then 0/482
|
||||
- Total across chunks: ~2400 rounds, near-zero learning signal
|
||||
- Root cause analysis — architectural hard counter:
|
||||
1. No bullet-in-flight state representation → can't correlate fire decisions with dodge response
|
||||
2. Aim space too tight (±12.5% arena around enemy) → can't aim at predicted post-dodge position
|
||||
3. Credit assignment chain too long: fire → bullet travel → hit → dodge → needed different aim
|
||||
4. State[15] (enemy turn rate) CAN detect the dodge, but can't ANTICIPATE it
|
||||
5. MyFirstBot's key mechanic: 90° perpendicular turn on every bullet hit + constant gun sweep
|
||||
- MyFirstBot: OPEN (needs state/action space architecture changes, not more training)
|
||||
|
||||
### Chunk 2 Summary
|
||||
- Mastered: Fire, MyFirstDroid, Target, MyFirstLeader, Crazy, Corners (6/8 — unchanged)
|
||||
- OPEN: PaintingBot (cold-start variance, 97%+ capable), MyFirstBot (architectural gap)
|
||||
- Final round_counter: ~38003
|
||||
- Active weights: post-maintenance with Corners replay
|
||||
- Next steps:
|
||||
- PaintingBot: add EnemyTracker pre-population or warm-up rounds to fix cold-start
|
||||
- MyFirstBot: add bullet-in-flight features to state vector; widen aim space; or accept as beyond current architecture
|
||||
Binary file not shown.
@@ -5,7 +5,7 @@ set -uo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot_garage"
|
||||
|
||||
# Source hyperparams (but we'll override opponent/rounds/log per phase)
|
||||
ENV_FILE="$SCRIPT_DIR/training.env"
|
||||
|
||||
@@ -32,7 +32,7 @@ export LC_ALL=C
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot_garage"
|
||||
|
||||
ENV_FILE="$SCRIPT_DIR/training.env"
|
||||
[ -f "$ENV_FILE" ] && set -a && . "$ENV_FILE" && set +a
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
=== PPO_Bot v2 curriculum retrain — mer 19 ago 2026, 20:56:46, CEST ===
|
||||
|
||||
══ Fire (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
=== PPO_Bot v2 curriculum retrain — mer 19 ago 2026, 21:13:27, CEST ===
|
||||
|
||||
══ Fire (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
=== PPO_Bot v2 curriculum retrain — mer 19 ago 2026, 21:36:42, CEST ===
|
||||
|
||||
══ Fire (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
=== PPO_Bot v2 curriculum retrain — gio 20 ago 2026, 09:52:58, CEST ===
|
||||
|
||||
══ Fire (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (0
|
||||
0/150)
|
||||
|
||||
══ MyFirstDroid (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
=== PPO_Bot v2 curriculum retrain — gio 20 ago 2026, 10:01:06, CEST ===
|
||||
|
||||
══ Fire (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (0/150)
|
||||
|
||||
══ MyFirstDroid (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (141/150)
|
||||
|
||||
══ Target (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (130/150)
|
||||
|
||||
══ MyFirstLeader (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] PASS (150/150)
|
||||
|
||||
══ Crazy (train=200 gate=150) ══
|
||||
[train] 200 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (13/150)
|
||||
|
||||
══ Corners (train=400 gate=150) ══
|
||||
[train] 400 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (0/150)
|
||||
|
||||
══ PaintingBot (train=400 gate=150) ══
|
||||
[train] 400 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (1/150)
|
||||
|
||||
══ MyFirstBot (train=1000 gate=150) ══
|
||||
[train] 1000 rounds...
|
||||
[train] done
|
||||
[eval] 150 rounds...
|
||||
[gate] FAIL (0/150)
|
||||
|
||||
=== curriculum complete — gio 20 ago 2026, 10:24:24, CEST ===
|
||||
@@ -0,0 +1 @@
|
||||
Error: PPO_BOT_DIR env var not set
|
||||
@@ -0,0 +1,503 @@
|
||||
Training: PPO_Bot vs MyFirstBot for 500 rounds
|
||||
Log: /home/davide/Projects/SirRoboGarage/tools/training_runner/logs/myfirstbot_train1_20260819_202913.jsonl
|
||||
Round 1/500 — ticks:533 score:182 win:true
|
||||
Round 2/500 — ticks:414 score:207 win:true
|
||||
Round 3/500 — ticks:604 score:201 win:true
|
||||
Round 4/500 — ticks:561 score:86 win:true
|
||||
Round 5/500 — ticks:588 score:48 win:true
|
||||
Round 6/500 — ticks:757 score:62 win:true
|
||||
Round 7/500 — ticks:526 score:18 win:true
|
||||
Round 8/500 — ticks:754 score:55 win:true
|
||||
Round 9/500 — ticks:560 score:201 win:true
|
||||
Round 10/500 — ticks:636 score:16 win:true
|
||||
Round 11/500 — ticks:603 score:64 win:true
|
||||
Round 12/500 — ticks:568 score:1 win:true
|
||||
Round 13/500 — ticks:622 score:33 win:true
|
||||
Round 14/500 — ticks:523 score:64 win:false
|
||||
Round 15/500 — ticks:454 score:181 win:true
|
||||
Round 16/500 — ticks:746 score:112 win:true
|
||||
Round 17/500 — ticks:604 score:64 win:true
|
||||
Round 18/500 — ticks:677 score:80 win:true
|
||||
Round 19/500 — ticks:663 score:80 win:false
|
||||
Round 20/500 — ticks:638 score:33 win:false
|
||||
Round 21/500 — ticks:595 score:49 win:false
|
||||
Round 22/500 — ticks:599 score:32 win:false
|
||||
Round 23/500 — ticks:607 score:40 win:false
|
||||
Round 24/500 — ticks:551 score:3 win:false
|
||||
Round 25/500 — ticks:466 score:48 win:false
|
||||
Round 26/500 — ticks:673 score:65 win:false
|
||||
Round 27/500 — ticks:409 score:77 win:false
|
||||
Round 28/500 — ticks:604 score:64 win:false
|
||||
Round 29/500 — ticks:635 score:48 win:false
|
||||
Round 30/500 — ticks:635 score:79 win:false
|
||||
Round 31/500 — ticks:792 score:98 win:false
|
||||
Round 32/500 — ticks:747 score:108 win:false
|
||||
Round 33/500 — ticks:657 score:197 win:false
|
||||
Round 34/500 — ticks:764 score:88 win:false
|
||||
Round 35/500 — ticks:635 score:51 win:false
|
||||
Round 36/500 — ticks:416 score:194 win:false
|
||||
Round 37/500 — ticks:534 score:177 win:false
|
||||
Round 38/500 — ticks:663 score:67 win:false
|
||||
Round 39/500 — ticks:597 score:66 win:false
|
||||
Round 40/500 — ticks:786 score:89 win:false
|
||||
Round 41/500 — ticks:749 score:78 win:false
|
||||
Round 42/500 — ticks:574 score:32 win:false
|
||||
Round 43/500 — ticks:569 score:70 win:false
|
||||
Round 44/500 — ticks:518 score:98 win:false
|
||||
Round 45/500 — ticks:680 score:57 win:false
|
||||
Round 46/500 — ticks:805 score:103 win:false
|
||||
Round 47/500 — ticks:678 score:64 win:false
|
||||
Round 48/500 — ticks:749 score:66 win:false
|
||||
Round 49/500 — ticks:812 score:96 win:false
|
||||
Round 50/500 — ticks:679 score:73 win:false
|
||||
Round 51/500 — ticks:661 score:48 win:false
|
||||
Round 52/500 — ticks:684 score:49 win:false
|
||||
Round 53/500 — ticks:558 score:32 win:false
|
||||
Round 54/500 — ticks:767 score:81 win:false
|
||||
Round 55/500 — ticks:694 score:50 win:false
|
||||
Round 56/500 — ticks:631 score:64 win:false
|
||||
Round 57/500 — ticks:639 score:64 win:false
|
||||
Round 58/500 — ticks:630 score:201 win:false
|
||||
Round 59/500 — ticks:589 score:196 win:false
|
||||
Round 60/500 — ticks:586 score:51 win:false
|
||||
Round 61/500 — ticks:709 score:64 win:false
|
||||
Round 62/500 — ticks:694 score:192 win:false
|
||||
Round 63/500 — ticks:529 score:200 win:false
|
||||
Round 64/500 — ticks:538 score:204 win:false
|
||||
Round 65/500 — ticks:611 score:50 win:false
|
||||
Round 66/500 — ticks:609 score:214 win:false
|
||||
Round 67/500 — ticks:479 score:0 win:false
|
||||
Round 68/500 — ticks:669 score:100 win:false
|
||||
Round 69/500 — ticks:788 score:112 win:false
|
||||
Round 70/500 — ticks:640 score:85 win:false
|
||||
Round 71/500 — ticks:423 score:62 win:false
|
||||
Round 72/500 — ticks:786 score:81 win:false
|
||||
Round 73/500 — ticks:509 score:49 win:false
|
||||
Round 74/500 — ticks:685 score:47 win:false
|
||||
Round 75/500 — ticks:310 score:55 win:false
|
||||
Round 76/500 — ticks:695 score:81 win:false
|
||||
Round 77/500 — ticks:668 score:63 win:false
|
||||
Round 78/500 — ticks:710 score:52 win:false
|
||||
Round 79/500 — ticks:611 score:9 win:false
|
||||
Round 80/500 — ticks:465 score:170 win:false
|
||||
Round 81/500 — ticks:521 score:49 win:false
|
||||
Round 82/500 — ticks:634 score:178 win:false
|
||||
Round 83/500 — ticks:787 score:97 win:false
|
||||
Round 84/500 — ticks:660 score:60 win:false
|
||||
Round 85/500 — ticks:390 score:158 win:false
|
||||
Round 86/500 — ticks:756 score:59 win:false
|
||||
Round 87/500 — ticks:607 score:33 win:false
|
||||
Round 88/500 — ticks:607 score:32 win:false
|
||||
Round 89/500 — ticks:613 score:68 win:false
|
||||
Round 90/500 — ticks:770 score:112 win:false
|
||||
Round 91/500 — ticks:483 score:48 win:false
|
||||
Round 92/500 — ticks:665 score:64 win:false
|
||||
Round 93/500 — ticks:708 score:80 win:false
|
||||
Round 94/500 — ticks:526 score:17 win:false
|
||||
Round 95/500 — ticks:641 score:39 win:false
|
||||
Round 96/500 — ticks:709 score:47 win:false
|
||||
Round 97/500 — ticks:676 score:80 win:false
|
||||
Round 98/500 — ticks:593 score:33 win:false
|
||||
Round 99/500 — ticks:839 score:97 win:false
|
||||
Round 100/500 — ticks:637 score:65 win:false
|
||||
Round 101/500 — ticks:792 score:80 win:false
|
||||
Round 102/500 — ticks:611 score:32 win:false
|
||||
Round 103/500 — ticks:639 score:32 win:false
|
||||
Round 104/500 — ticks:622 score:43 win:false
|
||||
Round 105/500 — ticks:396 score:171 win:false
|
||||
Round 106/500 — ticks:674 score:85 win:false
|
||||
Round 107/500 — ticks:410 score:43 win:false
|
||||
Round 108/500 — ticks:634 score:33 win:false
|
||||
Round 109/500 — ticks:734 score:48 win:false
|
||||
Round 110/500 — ticks:707 score:207 win:false
|
||||
Round 111/500 — ticks:700 score:66 win:false
|
||||
Round 112/500 — ticks:754 score:96 win:false
|
||||
Round 113/500 — ticks:703 score:66 win:false
|
||||
Round 114/500 — ticks:637 score:49 win:false
|
||||
Round 115/500 — ticks:677 score:51 win:false
|
||||
Round 116/500 — ticks:656 score:35 win:false
|
||||
Round 117/500 — ticks:441 score:206 win:false
|
||||
Round 118/500 — ticks:653 score:64 win:false
|
||||
Round 119/500 — ticks:517 score:121 win:false
|
||||
Round 120/500 — ticks:750 score:60 win:false
|
||||
Round 121/500 — ticks:609 score:32 win:false
|
||||
Round 122/500 — ticks:807 score:48 win:false
|
||||
Round 123/500 — ticks:640 score:33 win:false
|
||||
Round 124/500 — ticks:385 score:24 win:false
|
||||
Round 125/500 — ticks:860 score:113 win:false
|
||||
Round 126/500 — ticks:734 score:49 win:false
|
||||
Round 127/500 — ticks:757 score:81 win:false
|
||||
Round 128/500 — ticks:630 score:49 win:false
|
||||
Round 129/500 — ticks:587 score:32 win:false
|
||||
Round 130/500 — ticks:702 score:73 win:false
|
||||
Round 131/500 — ticks:564 score:16 win:false
|
||||
Round 132/500 — ticks:632 score:93 win:false
|
||||
Round 133/500 — ticks:692 score:82 win:false
|
||||
Round 134/500 — ticks:743 score:116 win:false
|
||||
Round 135/500 — ticks:758 score:76 win:false
|
||||
Round 136/500 — ticks:575 score:46 win:false
|
||||
Round 137/500 — ticks:386 score:88 win:false
|
||||
Round 138/500 — ticks:626 score:17 win:false
|
||||
Round 139/500 — ticks:821 score:85 win:false
|
||||
Round 140/500 — ticks:640 score:169 win:false
|
||||
Round 141/500 — ticks:735 score:49 win:false
|
||||
Round 142/500 — ticks:558 score:18 win:false
|
||||
Round 143/500 — ticks:654 score:30 win:false
|
||||
Round 144/500 — ticks:604 score:32 win:false
|
||||
Round 145/500 — ticks:710 score:56 win:false
|
||||
Round 146/500 — ticks:688 score:196 win:false
|
||||
Round 147/500 — ticks:714 score:50 win:false
|
||||
Round 148/500 — ticks:690 score:42 win:false
|
||||
Round 149/500 — ticks:387 score:186 win:false
|
||||
Round 150/500 — ticks:911 score:84 win:false
|
||||
Round 151/500 — ticks:653 score:33 win:false
|
||||
Round 152/500 — ticks:681 score:67 win:false
|
||||
Round 153/500 — ticks:605 score:17 win:false
|
||||
Round 154/500 — ticks:734 score:58 win:false
|
||||
Round 155/500 — ticks:793 score:105 win:false
|
||||
Round 156/500 — ticks:784 score:78 win:false
|
||||
Round 157/500 — ticks:620 score:32 win:false
|
||||
Round 158/500 — ticks:713 score:48 win:false
|
||||
Round 159/500 — ticks:669 score:67 win:false
|
||||
Round 160/500 — ticks:594 score:30 win:false
|
||||
Round 161/500 — ticks:558 score:17 win:false
|
||||
Round 162/500 — ticks:609 score:48 win:false
|
||||
Round 163/500 — ticks:658 score:50 win:false
|
||||
Round 164/500 — ticks:596 score:32 win:false
|
||||
Round 165/500 — ticks:684 score:64 win:false
|
||||
Round 166/500 — ticks:579 score:234 win:false
|
||||
Round 167/500 — ticks:827 score:100 win:false
|
||||
Round 168/500 — ticks:562 score:80 win:false
|
||||
Round 169/500 — ticks:727 score:64 win:false
|
||||
Round 170/500 — ticks:865 score:17 win:false
|
||||
Round 171/500 — ticks:704 score:48 win:false
|
||||
Round 172/500 — ticks:533 score:16 win:false
|
||||
Round 173/500 — ticks:684 score:91 win:false
|
||||
Round 174/500 — ticks:600 score:33 win:false
|
||||
Round 175/500 — ticks:786 score:64 win:false
|
||||
Round 176/500 — ticks:767 score:65 win:false
|
||||
Round 177/500 — ticks:877 score:98 win:false
|
||||
Round 178/500 — ticks:734 score:64 win:false
|
||||
Round 179/500 — ticks:592 score:34 win:false
|
||||
Round 180/500 — ticks:730 score:53 win:false
|
||||
Round 181/500 — ticks:672 score:176 win:false
|
||||
Round 182/500 — ticks:484 score:33 win:false
|
||||
Round 183/500 — ticks:600 score:18 win:false
|
||||
Round 184/500 — ticks:628 score:21 win:false
|
||||
Round 185/500 — ticks:729 score:36 win:false
|
||||
Round 186/500 — ticks:822 score:61 win:false
|
||||
Round 187/500 — ticks:764 score:64 win:false
|
||||
Round 188/500 — ticks:715 score:199 win:false
|
||||
Round 189/500 — ticks:556 score:77 win:false
|
||||
Round 190/500 — ticks:574 score:21 win:false
|
||||
Round 191/500 — ticks:708 score:65 win:false
|
||||
Round 192/500 — ticks:580 score:2 win:false
|
||||
Round 193/500 — ticks:771 score:66 win:false
|
||||
Round 194/500 — ticks:692 score:33 win:false
|
||||
Round 195/500 — ticks:759 score:48 win:false
|
||||
Round 196/500 — ticks:829 score:63 win:false
|
||||
Round 197/500 — ticks:767 score:65 win:false
|
||||
Round 198/500 — ticks:246 score:115 win:false
|
||||
Round 199/500 — ticks:642 score:47 win:false
|
||||
Round 200/500 — ticks:712 score:27 win:false
|
||||
Round 201/500 — ticks:711 score:51 win:false
|
||||
Round 202/500 — ticks:752 score:49 win:false
|
||||
Round 203/500 — ticks:654 score:48 win:false
|
||||
Round 204/500 — ticks:602 score:33 win:false
|
||||
Round 205/500 — ticks:556 score:20 win:false
|
||||
Round 206/500 — ticks:799 score:73 win:false
|
||||
Round 207/500 — ticks:874 score:81 win:false
|
||||
Round 208/500 — ticks:917 score:95 win:false
|
||||
Round 209/500 — ticks:615 score:16 win:false
|
||||
Round 210/500 — ticks:776 score:86 win:false
|
||||
Round 211/500 — ticks:869 score:113 win:false
|
||||
Round 212/500 — ticks:887 score:81 win:false
|
||||
Round 213/500 — ticks:675 score:66 win:false
|
||||
Round 214/500 — ticks:541 score:2 win:false
|
||||
Round 215/500 — ticks:717 score:45 win:false
|
||||
Round 216/500 — ticks:817 score:55 win:false
|
||||
Round 217/500 — ticks:760 score:66 win:false
|
||||
Round 218/500 — ticks:688 score:33 win:false
|
||||
Round 219/500 — ticks:658 score:44 win:false
|
||||
Round 220/500 — ticks:492 score:205 win:false
|
||||
Round 221/500 — ticks:753 score:50 win:false
|
||||
Round 222/500 — ticks:882 score:97 win:false
|
||||
Round 223/500 — ticks:782 score:100 win:false
|
||||
Round 224/500 — ticks:650 score:49 win:false
|
||||
Round 225/500 — ticks:712 score:44 win:false
|
||||
Round 226/500 — ticks:734 score:57 win:false
|
||||
Round 227/500 — ticks:580 score:201 win:false
|
||||
Round 228/500 — ticks:708 score:212 win:false
|
||||
Round 229/500 — ticks:710 score:4 win:false
|
||||
Round 230/500 — ticks:655 score:37 win:false
|
||||
Round 231/500 — ticks:677 score:31 win:false
|
||||
Round 232/500 — ticks:549 score:132 win:false
|
||||
Round 233/500 — ticks:474 score:22 win:false
|
||||
Round 234/500 — ticks:819 score:80 win:false
|
||||
Round 235/500 — ticks:872 score:127 win:false
|
||||
Round 236/500 — ticks:691 score:70 win:false
|
||||
Round 237/500 — ticks:680 score:30 win:false
|
||||
Round 238/500 — ticks:645 score:31 win:false
|
||||
Round 239/500 — ticks:628 score:76 win:false
|
||||
Round 240/500 — ticks:681 score:52 win:false
|
||||
Round 241/500 — ticks:555 score:2 win:false
|
||||
Round 242/500 — ticks:811 score:78 win:false
|
||||
Round 243/500 — ticks:777 score:115 win:false
|
||||
Round 244/500 — ticks:649 score:33 win:false
|
||||
Round 245/500 — ticks:500 score:55 win:false
|
||||
Round 246/500 — ticks:751 score:49 win:false
|
||||
Round 247/500 — ticks:847 score:62 win:false
|
||||
Round 248/500 — ticks:726 score:17 win:false
|
||||
Round 249/500 — ticks:639 score:64 win:false
|
||||
Round 250/500 — ticks:696 score:54 win:false
|
||||
Round 251/500 — ticks:757 score:83 win:false
|
||||
Round 252/500 — ticks:860 score:193 win:false
|
||||
Round 253/500 — ticks:596 score:1 win:false
|
||||
Round 254/500 — ticks:765 score:91 win:false
|
||||
Round 255/500 — ticks:748 score:96 win:false
|
||||
Round 256/500 — ticks:841 score:90 win:false
|
||||
Round 257/500 — ticks:675 score:66 win:false
|
||||
Round 258/500 — ticks:573 score:92 win:false
|
||||
Round 259/500 — ticks:762 score:69 win:false
|
||||
Round 260/500 — ticks:678 score:64 win:false
|
||||
Round 261/500 — ticks:647 score:64 win:false
|
||||
Round 262/500 — ticks:668 score:33 win:false
|
||||
Round 263/500 — ticks:752 score:20 win:false
|
||||
Round 264/500 — ticks:774 score:66 win:false
|
||||
Round 265/500 — ticks:642 score:72 win:false
|
||||
Round 266/500 — ticks:668 score:32 win:false
|
||||
Round 267/500 — ticks:678 score:38 win:false
|
||||
Round 268/500 — ticks:603 score:230 win:false
|
||||
Round 269/500 — ticks:711 score:46 win:false
|
||||
Round 270/500 — ticks:937 score:65 win:false
|
||||
Round 271/500 — ticks:683 score:66 win:false
|
||||
Round 272/500 — ticks:755 score:65 win:false
|
||||
Round 273/500 — ticks:554 score:0 win:false
|
||||
Round 274/500 — ticks:750 score:33 win:false
|
||||
Round 275/500 — ticks:901 score:113 win:false
|
||||
Round 276/500 — ticks:812 score:109 win:false
|
||||
Round 277/500 — ticks:704 score:82 win:false
|
||||
Round 278/500 — ticks:663 score:101 win:false
|
||||
Round 279/500 — ticks:636 score:48 win:false
|
||||
Round 280/500 — ticks:484 score:201 win:false
|
||||
Round 281/500 — ticks:634 score:68 win:false
|
||||
Round 282/500 — ticks:766 score:58 win:false
|
||||
Round 283/500 — ticks:886 score:112 win:false
|
||||
Round 284/500 — ticks:676 score:115 win:false
|
||||
Round 285/500 — ticks:530 score:200 win:false
|
||||
Round 286/500 — ticks:531 score:17 win:false
|
||||
Round 287/500 — ticks:463 score:203 win:false
|
||||
Round 288/500 — ticks:599 score:17 win:false
|
||||
Round 289/500 — ticks:636 score:46 win:false
|
||||
Round 290/500 — ticks:832 score:79 win:false
|
||||
Round 291/500 — ticks:557 score:69 win:false
|
||||
Round 292/500 — ticks:763 score:81 win:false
|
||||
Round 293/500 — ticks:566 score:192 win:false
|
||||
Round 294/500 — ticks:807 score:54 win:false
|
||||
Round 295/500 — ticks:698 score:81 win:false
|
||||
Round 296/500 — ticks:694 score:185 win:false
|
||||
Round 297/500 — ticks:806 score:56 win:false
|
||||
Round 298/500 — ticks:852 score:113 win:false
|
||||
Round 299/500 — ticks:681 score:209 win:false
|
||||
Round 300/500 — ticks:530 score:1 win:false
|
||||
Round 301/500 — ticks:508 score:17 win:false
|
||||
Round 302/500 — ticks:220 score:79 win:false
|
||||
Round 303/500 — ticks:712 score:65 win:false
|
||||
Round 304/500 — ticks:709 score:97 win:false
|
||||
Round 305/500 — ticks:792 score:198 win:false
|
||||
Round 306/500 — ticks:825 score:105 win:false
|
||||
Round 307/500 — ticks:710 score:188 win:false
|
||||
Round 308/500 — ticks:655 score:72 win:false
|
||||
Round 309/500 — ticks:807 score:199 win:false
|
||||
Round 310/500 — ticks:659 score:17 win:false
|
||||
Round 311/500 — ticks:744 score:50 win:false
|
||||
Round 312/500 — ticks:674 score:65 win:false
|
||||
Round 313/500 — ticks:713 score:112 win:false
|
||||
Round 314/500 — ticks:699 score:48 win:false
|
||||
Round 315/500 — ticks:753 score:212 win:false
|
||||
Round 316/500 — ticks:832 score:185 win:false
|
||||
Round 317/500 — ticks:617 score:46 win:false
|
||||
Round 318/500 — ticks:839 score:95 win:false
|
||||
Round 319/500 — ticks:718 score:96 win:false
|
||||
Round 320/500 — ticks:369 score:101 win:false
|
||||
Round 321/500 — ticks:532 score:18 win:false
|
||||
Round 322/500 — ticks:570 score:130 win:false
|
||||
Round 323/500 — ticks:476 score:33 win:false
|
||||
Round 324/500 — ticks:548 score:17 win:false
|
||||
Round 325/500 — ticks:693 score:83 win:false
|
||||
Round 326/500 — ticks:498 score:96 win:false
|
||||
Round 327/500 — ticks:782 score:200 win:false
|
||||
Round 328/500 — ticks:500 score:210 win:false
|
||||
Round 329/500 — ticks:685 score:52 win:false
|
||||
Round 330/500 — ticks:579 score:16 win:false
|
||||
Round 331/500 — ticks:751 score:50 win:false
|
||||
Round 332/500 — ticks:649 score:20 win:false
|
||||
Round 333/500 — ticks:512 score:63 win:false
|
||||
Round 334/500 — ticks:681 score:90 win:false
|
||||
Round 335/500 — ticks:656 score:50 win:false
|
||||
Round 336/500 — ticks:647 score:80 win:false
|
||||
Round 337/500 — ticks:639 score:82 win:false
|
||||
Round 338/500 — ticks:592 score:51 win:false
|
||||
Round 339/500 — ticks:552 score:59 win:false
|
||||
Round 340/500 — ticks:738 score:108 win:false
|
||||
Round 341/500 — ticks:677 score:63 win:false
|
||||
Round 342/500 — ticks:793 score:96 win:false
|
||||
Round 343/500 — ticks:907 score:95 win:false
|
||||
Round 344/500 — ticks:644 score:208 win:false
|
||||
Round 345/500 — ticks:438 score:62 win:false
|
||||
Round 346/500 — ticks:760 score:98 win:false
|
||||
Round 347/500 — ticks:605 score:40 win:false
|
||||
Round 348/500 — ticks:639 score:86 win:false
|
||||
Round 349/500 — ticks:510 score:32 win:false
|
||||
Round 350/500 — ticks:184 score:213 win:false
|
||||
Round 351/500 — ticks:590 score:213 win:false
|
||||
Round 352/500 — ticks:977 score:68 win:false
|
||||
Round 353/500 — ticks:639 score:50 win:false
|
||||
Round 354/500 — ticks:547 score:33 win:false
|
||||
Round 355/500 — ticks:597 score:65 win:false
|
||||
Round 356/500 — ticks:828 score:80 win:false
|
||||
Round 357/500 — ticks:640 score:38 win:false
|
||||
Round 358/500 — ticks:663 score:206 win:false
|
||||
Round 359/500 — ticks:678 score:176 win:false
|
||||
Round 360/500 — ticks:561 score:33 win:false
|
||||
Round 361/500 — ticks:614 score:59 win:false
|
||||
Round 362/500 — ticks:744 score:40 win:false
|
||||
Round 363/500 — ticks:653 score:208 win:false
|
||||
Round 364/500 — ticks:665 score:49 win:false
|
||||
Round 365/500 — ticks:593 score:47 win:false
|
||||
Round 366/500 — ticks:782 score:65 win:false
|
||||
Round 367/500 — ticks:665 score:82 win:false
|
||||
Round 368/500 — ticks:647 score:65 win:false
|
||||
Round 369/500 — ticks:629 score:96 win:false
|
||||
Round 370/500 — ticks:534 score:196 win:false
|
||||
Round 371/500 — ticks:715 score:33 win:false
|
||||
Round 372/500 — ticks:635 score:49 win:false
|
||||
Round 373/500 — ticks:627 score:71 win:false
|
||||
Round 374/500 — ticks:792 score:74 win:false
|
||||
Round 375/500 — ticks:599 score:80 win:false
|
||||
Round 376/500 — ticks:788 score:205 win:false
|
||||
Round 377/500 — ticks:729 score:65 win:false
|
||||
Round 378/500 — ticks:484 score:192 win:false
|
||||
Round 379/500 — ticks:562 score:40 win:false
|
||||
Round 380/500 — ticks:367 score:175 win:false
|
||||
Round 381/500 — ticks:638 score:33 win:false
|
||||
Round 382/500 — ticks:636 score:2 win:false
|
||||
Round 383/500 — ticks:663 score:99 win:false
|
||||
Round 384/500 — ticks:860 score:48 win:false
|
||||
Round 385/500 — ticks:672 score:65 win:false
|
||||
Round 386/500 — ticks:347 score:71 win:false
|
||||
Round 387/500 — ticks:684 score:92 win:false
|
||||
Round 388/500 — ticks:907 score:96 win:false
|
||||
Round 389/500 — ticks:690 score:32 win:false
|
||||
Round 390/500 — ticks:876 score:100 win:false
|
||||
Round 391/500 — ticks:451 score:1 win:false
|
||||
Round 392/500 — ticks:478 score:0 win:false
|
||||
Round 393/500 — ticks:666 score:94 win:false
|
||||
Round 394/500 — ticks:734 score:64 win:false
|
||||
Round 395/500 — ticks:681 score:66 win:false
|
||||
Round 396/500 — ticks:682 score:79 win:false
|
||||
Round 397/500 — ticks:588 score:73 win:false
|
||||
Round 398/500 — ticks:638 score:46 win:false
|
||||
Round 399/500 — ticks:619 score:45 win:false
|
||||
Round 400/500 — ticks:369 score:204 win:false
|
||||
Round 401/500 — ticks:614 score:49 win:false
|
||||
Round 402/500 — ticks:786 score:49 win:false
|
||||
Round 403/500 — ticks:1280 score:103 win:false
|
||||
Round 404/500 — ticks:683 score:96 win:false
|
||||
Round 405/500 — ticks:692 score:51 win:false
|
||||
Round 406/500 — ticks:753 score:77 win:false
|
||||
Round 407/500 — ticks:547 score:48 win:false
|
||||
Round 408/500 — ticks:467 score:48 win:false
|
||||
Round 409/500 — ticks:605 score:146 win:false
|
||||
Round 410/500 — ticks:601 score:72 win:false
|
||||
Round 411/500 — ticks:531 score:187 win:false
|
||||
Round 412/500 — ticks:592 score:64 win:false
|
||||
Round 413/500 — ticks:715 score:68 win:false
|
||||
Round 414/500 — ticks:646 score:175 win:false
|
||||
Round 415/500 — ticks:259 score:235 win:false
|
||||
Round 416/500 — ticks:667 score:81 win:false
|
||||
Round 417/500 — ticks:531 score:35 win:false
|
||||
Round 418/500 — ticks:974 score:97 win:false
|
||||
Round 419/500 — ticks:636 score:37 win:false
|
||||
Round 420/500 — ticks:769 score:33 win:false
|
||||
Round 421/500 — ticks:667 score:64 win:false
|
||||
Round 422/500 — ticks:565 score:64 win:false
|
||||
Round 423/500 — ticks:904 score:101 win:false
|
||||
Round 424/500 — ticks:621 score:63 win:false
|
||||
Round 425/500 — ticks:798 score:97 win:false
|
||||
Round 426/500 — ticks:805 score:97 win:false
|
||||
Round 427/500 — ticks:660 score:17 win:false
|
||||
Round 428/500 — ticks:720 score:48 win:false
|
||||
Round 429/500 — ticks:560 score:32 win:false
|
||||
Round 430/500 — ticks:901 score:66 win:false
|
||||
Round 431/500 — ticks:718 score:65 win:false
|
||||
Round 432/500 — ticks:824 score:62 win:false
|
||||
Round 433/500 — ticks:904 score:95 win:false
|
||||
Round 434/500 — ticks:680 score:49 win:false
|
||||
Round 435/500 — ticks:838 score:103 win:false
|
||||
Round 436/500 — ticks:761 score:52 win:false
|
||||
Round 437/500 — ticks:561 score:34 win:false
|
||||
Round 438/500 — ticks:625 score:59 win:false
|
||||
Round 439/500 — ticks:789 score:69 win:false
|
||||
Round 440/500 — ticks:602 score:31 win:false
|
||||
Round 441/500 — ticks:547 score:39 win:false
|
||||
Round 442/500 — ticks:790 score:84 win:false
|
||||
Round 443/500 — ticks:641 score:33 win:false
|
||||
Round 444/500 — ticks:585 score:54 win:false
|
||||
Round 445/500 — ticks:578 score:179 win:false
|
||||
Round 446/500 — ticks:654 score:81 win:false
|
||||
Round 447/500 — ticks:635 score:6 win:false
|
||||
Round 448/500 — ticks:697 score:35 win:false
|
||||
Round 449/500 — ticks:807 score:192 win:false
|
||||
Round 450/500 — ticks:518 score:0 win:false
|
||||
Round 451/500 — ticks:834 score:86 win:false
|
||||
Round 452/500 — ticks:702 score:49 win:false
|
||||
Round 453/500 — ticks:671 score:86 win:false
|
||||
Round 454/500 — ticks:525 score:189 win:false
|
||||
Round 455/500 — ticks:750 score:80 win:false
|
||||
Round 456/500 — ticks:641 score:32 win:false
|
||||
Round 457/500 — ticks:600 score:33 win:false
|
||||
Round 458/500 — ticks:565 score:16 win:false
|
||||
Round 459/500 — ticks:557 score:2 win:false
|
||||
Round 460/500 — ticks:686 score:31 win:false
|
||||
Round 461/500 — ticks:606 score:18 win:false
|
||||
Round 462/500 — ticks:581 score:33 win:false
|
||||
Round 463/500 — ticks:707 score:125 win:false
|
||||
Round 464/500 — ticks:828 score:83 win:false
|
||||
Round 465/500 — ticks:601 score:17 win:false
|
||||
Round 466/500 — ticks:644 score:64 win:false
|
||||
Round 467/500 — ticks:787 score:48 win:false
|
||||
Round 468/500 — ticks:827 score:81 win:false
|
||||
Round 469/500 — ticks:601 score:13 win:false
|
||||
Round 470/500 — ticks:818 score:75 win:false
|
||||
Round 471/500 — ticks:605 score:34 win:false
|
||||
Round 472/500 — ticks:748 score:48 win:false
|
||||
Round 473/500 — ticks:484 score:0 win:false
|
||||
Round 474/500 — ticks:753 score:48 win:false
|
||||
Round 475/500 — ticks:675 score:50 win:false
|
||||
Round 476/500 — ticks:623 score:35 win:false
|
||||
Round 477/500 — ticks:906 score:95 win:false
|
||||
Round 478/500 — ticks:683 score:66 win:false
|
||||
Round 479/500 — ticks:783 score:81 win:false
|
||||
Round 480/500 — ticks:748 score:110 win:false
|
||||
Round 481/500 — ticks:690 score:64 win:false
|
||||
Round 482/500 — ticks:694 score:16 win:false
|
||||
Round 483/500 — ticks:656 score:30 win:false
|
||||
Round 484/500 — ticks:688 score:192 win:false
|
||||
Round 485/500 — ticks:512 score:46 win:false
|
||||
Round 486/500 — ticks:694 score:77 win:false
|
||||
Round 487/500 — ticks:474 score:178 win:false
|
||||
Round 488/500 — ticks:403 score:182 win:false
|
||||
Round 489/500 — ticks:598 score:36 win:false
|
||||
Round 490/500 — ticks:199 score:132 win:false
|
||||
Round 491/500 — ticks:378 score:158 win:false
|
||||
Round 492/500 — ticks:531 score:33 win:false
|
||||
Round 493/500 — ticks:749 score:84 win:false
|
||||
Round 494/500 — ticks:720 score:14 win:false
|
||||
Round 495/500 — ticks:653 score:79 win:false
|
||||
Round 496/500 — ticks:828 score:113 win:false
|
||||
Round 497/500 — ticks:595 score:5 win:false
|
||||
Round 498/500 — ticks:717 score:198 win:false
|
||||
Round 499/500 — ticks:794 score:193 win:false
|
||||
Round 500/500 — ticks:487 score:0 win:false
|
||||
Counter check passed: 38003 == expected 38003
|
||||
@@ -5,7 +5,7 @@ set -uo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot_garage"
|
||||
|
||||
ENV_FILE="$SCRIPT_DIR/training.env"
|
||||
[ -f "$ENV_FILE" ] && set -a && . "$ENV_FILE" && set +a
|
||||
|
||||
@@ -27,7 +27,7 @@ OPPONENT="${1:-${TRAINING_OPPONENT:-Target}}"
|
||||
TOTAL_ROUNDS="${2:-${TRAINING_ROUNDS:-100}}"
|
||||
|
||||
JAR="${TANK_ROYALE_JAR:-/home/davide/Projects/tank-royale/runner/examples/lib/robocode-tankroyale-runner.jar}"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot"
|
||||
PPO_BOT_SRC="$REPO_ROOT/PPO_Bot_garage"
|
||||
|
||||
export PPO_BOT_DIR="$PPO_BOT_SRC"
|
||||
export SAMPLE_BOTS_DIR="${SAMPLE_BOTS_DIR:-/home/davide/Projects/tank-royale/sample-bots/java/build/archive}"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
374720
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
381996
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user