Split The code is public; the app answers only to the crew.

A second place to play: one more layout, and bots that plant on it at a rate you can read #147

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`de_cinder` is a second `MapDef` built from its own areas-and-crates tables through the same `buildMap` — 44 cells square, same `CELL`, two sites on a diagonal (A north-west, B halfway down the east wall) around a courtyard that the rotation between them has to cross, where `de_forge`'s counter-terrorists swap sites along one corridor behind their own spawn. Each site has the long way in and anoth…

shipped merged

opened this

de_cinder is a second MapDef built from its own areas-and-crates tables through the same buildMap — 44 cells square, same CELL, two sites on a diagonal (A north-west, B halfway down the east wall) around a courtyard that the rotation between them has to cross, where de_forge's counter-terrorists swap sites along one corridor behind their own spawn. Each site has the long way in and another way in: the west long and the vents for A, the ramp up from t long and the kiln door for B. The catalogue grew by a union member and a key and nothing downstream changed; scripts/measure.ts gained a --map flag validated against MAP_NAMES, which is the only file outside map.ts, its test and the README that this touches.

The structural tests now run over every map in the catalogue rather than de_forge alone — two sites and two spawns, a plant point on floor and not inside a crate, a walled border, one connected walkable region, every spawn cell pathing to both sites, and two separate doorways into each site — so a third layout is checked the day it is added.

Measured on both maps, --matches 30 --seed 41, same shipped policy: de_forge plants in 63% of rounds (detonated 99 · time 22 · elimination 64 · defused 23, median 123 s), de_cinder in 52% (detonated 83 · time 14 · elimination 88 · defused 19, median 93 s). That eleven-point gap is stated and accepted, not tuned away: the diagonal means no spawn is near both sites, so the counter-terrorists walk 17–28 cells and the terrorists 22–38 and both sides are still moving when they meet, where on de_forge the defence is set (12–22) long before the attack arrives (31–44). Rounds that end on the clock are fewer on the new map, 7% against 11%, and the plants split across A and B the same way on both (16/32 and 15/26 over twelve seeded matches), so this is the geometry rather than a site nobody can take. The de_forge column is a fresh run, not the number that was written down — the bots have moved since #105 and #137.

To look at it: the menu's Map select, and the README's Playing and Measuring the round sections, which now say there are two maps, that the policy was trained on de_forge only, and why its egocentric inputs transfer to the other one anyway. I did not retrain, add a per-map special case, or adjust plan.ts to close the gap.

🤖 Generated with Claude Code

Closes #132

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs