Repository navigation
docs: balancing-tools overview; fix harness replay + turn cost - #206
Conversation
|
|
||
| Backtick opens a dev console in the running game (native and browser). It | ||
| only appears in dev mode: set `XSOFY_DEV=1` natively | ||
| (`XSOFY_DEV=1 lg main.lg`) or add `?mode=dev` to the web URL. It is |
There was a problem hiding this comment.
I can't remember offhand, does ?mode=admin also permit the console?
There was a problem hiding this comment.
Checked - disconfirmed. admin mode does NOT permit the console. (I wonder why?)
There was a problem hiding this comment.
Leaving as written, per your check: only ?mode=dev and XSOFY_DEV gate the console.
| | `(player)` | HP, max HP, position, depth | | ||
| | `(location)` | Position, depth, turn | | ||
| | `(bench)` | Quick micro-benchmark (3 seeds × 20 turns) | | ||
| | `(help)` | Command list | |
There was a problem hiding this comment.
Another comment just for awareness. If I recall, there's a sugar/convenience path that allows bare commands with no args, like help to be treated as (help).
There was a problem hiding this comment.
Added in 0795542: "Commands that take no arguments also work bare: seed is the same as (seed)." under the console table.
|
@nnunley - Much needed, and nicely done. Thanks for picking it up. |
mparrett
left a comment
There was a problem hiding this comment.
Drafted by Claude for @mparrett; follows the three inline comments above.
Approving. I checked the claims about the tools against current main and they hold: the console whitelist and dev gate, the scenario keys and defaults, mapgen/mapaudit, the lighttest e cycle, and the bench fixtures. The replay fix is right: dispatch/replay builds from a bare world/make-world, so a loadout run has to start from make-loadout-world.
On two of the inline notes, from main:
?mode=admindoesn't open the console.xsofy.input/dev?only checks?mode=devandXSOFY_DEV, so the doc is right as written.- Bare commands work for every whitelisted command, not only
help:run-commandaccepts a bare symbol as well as a list, soseedbehaves like(seed). The console section could mention it in half a sentence.
One nit, not blocking: in balance-harness.md, the section under the new ~13-minute figure still uses the old 20 ms/turn numbers. The heading says "Silent 30-Minute Hang", step 2 estimates "~27 minutes", and "3 runs × 60 turns = 3.6 seconds" would be about 1.8 s at 10 ms/turn. Updating those three would make the section agree with its own figure.
New docs/balancing-tools.md: one-page guide to the balance harness (@nnunley) and the scenario test, map viewer/audit, lighting testbed, native bench, and dev console (@mparrett), each verified on current main. docs/balance-harness.md fixes found while verifying: - Replay must start from make-loadout-world; plain dispatch/replay uses the default starting kit and diverges from the harness run. - Per-turn cost is now ~9-10 ms natively (was documented as 20-25 ms); every derived estimate (smoke-run seconds, the 13-minute default sweep, the scaling example, the sample sweep, balance_explore.lg's banner and docstring) is recomputed from that and re-measured on current main. balancing-tools.md also notes console (bench) reports microseconds while bench/native.lg prints milliseconds, and that console commands work bare.
0734ad2 to
0795542
Compare
|
Timing nit addressed in 0795542. Every figure derived from per-turn cost is recomputed from the measured ~9–10 ms/turn and re-timed on current main:
The estimate is now framed as a worst case ( |
|
Adds
docs/balancing-tools.md, a one-page guide to the dev tools for balance and tuning work:xsofy/balance.lg), by @nnunleyEach tool was run on current main (let-go 1.13):
scenariotest --checkon both scenarios;web-tramplealso played through in tmuxmapgenfor a single seed and a multi-seed run (auditfloating=0 unreach=0)bench/native.lg(all four fixtures, about 9 ms/turn)balance_explore.lgand the doc's REPL snippetlighttest(move, radius, render-mode cycle, quit)XSOFY_DEV=1:(help),(player),(location),(seed),(replay),(bench)Two fixes to
docs/balance-harness.md, found during verification:dispatch/replaybuilds from the default starting kit rather than the loadout, so replaying a harness run crashed. Replay frommake-loadout-worldinstead; that matched the live run's turn, depth, and HP in 3 of 3 runs I tried.Docs only; no code changes.
🤖 Generated with Claude Code