Fix the bots' corner bias; settle seat order and RULES v0.9 (6.2, 6.8)
Bots now pick their start square and break path ties in their own corner's frame; the absolute tie-break made corners 1 and 2 win 25-28%. With that fixed, seat order is within target at 4 players, and a +1 stripe first-player bonus (new switch) gains only ~1 point, so no compensation. RULES.md v0.9 lists the tested alternatives; the plan has the 6.8 consolidation run and the seat-order study. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+11
-1
@@ -17,7 +17,7 @@ from dojo.events import (
|
||||
TurnStarted,
|
||||
)
|
||||
from dojo.metrics import KUMITE_SECONDS, TURN_SECONDS, GameMetrics, measure, summarize
|
||||
from dojo.rules import DEFAULT_RULES, Card
|
||||
from dojo.rules import DEFAULT_RULES, Card, RulesConfig
|
||||
|
||||
HOME_0 = Pos(0, 1) # quadrant 0
|
||||
|
||||
@@ -106,6 +106,16 @@ def test_kiai_decides_a_fight_only_when_the_result_flips_without_it(
|
||||
assert summary.exam_kiai_decided_rate == decided
|
||||
|
||||
|
||||
def test_first_player_bonus_is_counted_from_the_start() -> None:
|
||||
config = RulesConfig(first_player_bonus=1)
|
||||
|
||||
metrics = measure(
|
||||
[GameOver(None, 1)], config, (0, 1), ("balanced", "farmer"), scenario="t", seed=0
|
||||
)
|
||||
|
||||
assert metrics.final_track == (1, 0)
|
||||
|
||||
|
||||
def test_standings_are_sampled_at_turn_ends() -> None:
|
||||
metrics = run(
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user