117 lines
7.0 KiB
Markdown
117 lines
7.0 KiB
Markdown
# Advanced preview
|
||
|
||
The user explicitly authorized a clearly labeled unfinished Advanced mode on
|
||
21 September 2026. This changes access to the existing development game, not
|
||
the rules-completion or publication criteria.
|
||
|
||
## Select and start
|
||
|
||
1. On the home page, choose **Rules → Advanced preview**, then **Create a room**.
|
||
2. Choose the desired expansion families, then invite players or add AI seats.
|
||
Games support two through six players from the selected families and classics.
|
||
3. Optionally choose **Leader Skills**, **Ecaz Treachery Cards**, **Nexus Cards**,
|
||
**Discoveries**, **Homeworlds**, **Tech Tokens** (three or more players) or
|
||
**Stronghold Cards**. Supported module/roster combinations use their existing
|
||
setup; unsupported selections reject at start with a reason.
|
||
With native CHOAM, classic factions and exactly the CHOAM and Ix decks, the
|
||
host may instead select the unfinished printed-Kull preview without other
|
||
optional modules. Its effect-specific duration and combination limits are
|
||
shown in the lobby and remain provisional.
|
||
4. Each human chooses **Ready for Advanced preview**. The host chooses
|
||
**Begin Advanced preview**.
|
||
|
||
The host can also change **Rules** in an existing lobby. Changing modes or module
|
||
selections clears human readiness; native AI seats remain ready. Switching to
|
||
Basic removes unused Stronghold Cards and keeps Tech Tokens. Rules cannot change
|
||
after setup starts. Joining a room uses that room's existing rules.
|
||
|
||
The warning remains visible throughout Advanced play, including older Advanced
|
||
development saves. Games use the existing room save, reconnect and private seat
|
||
system. Basic remains the default.
|
||
|
||
## Simultaneous victories
|
||
|
||
When multiple unallied players qualify for ordinary victory, Advanced compares
|
||
their stronghold counts and awards the higher count before checking a Bene
|
||
Gesserit prediction. Equal highest counts provisionally share the win; a set of
|
||
all three Tech Tokens counts as one additional stronghold in this comparison.
|
||
Qualifying alliances and the separate Ecaz Homeworld victory retain their
|
||
existing shared-winner treatment. Basic retains its existing behavior.
|
||
|
||
The authorized revised rules also permit qualifying players or alliances to
|
||
agree to play another turn and optionally raise the stronghold target. The
|
||
provisional preview offers this on turns 1–9 when at least two distinct sides
|
||
qualify and one is an alliance. Every member of those sides responds in storm
|
||
order. The first may finish or propose another turn with a whole-number target
|
||
increase from zero through 20; each later member accepts that exact proposal or
|
||
finishes. These ordered controls and the input cap are online conventions.
|
||
Finishing resolves the original result and any correct private prediction;
|
||
unanimous acceptance continues without revealing that prediction.
|
||
|
||
The increase adds to the ordinary solo and alliance stronghold targets, while
|
||
independent Ecaz joint-occupation and Homeworld special-victory conditions stay
|
||
separate under the provisional interpretation. The original Mentat phase
|
||
continues unless CHOAM's completed end-of-Mentat opportunity was the source,
|
||
in which case the next turn begins. Turn-ten extension, equal-solo-only
|
||
agreements and broader special-victory cases remain unfinished.
|
||
[Source and interpretation](RULE_DECISIONS.md#advanced-simultaneous-solo-stronghold-victories--27-october-2026).
|
||
|
||
## Admission and saved behavior
|
||
|
||
Normal room creation already stores `advanced: boolean`; the same request format
|
||
and exact tab retry are retained. The host-only lobby action
|
||
`{type: 'rules', advanced: boolean}` changes the mode. The ordinary start action
|
||
must contain `advancedPreview: true` for Advanced; a bare start remains rejected.
|
||
Core Advanced starts record `Game.advancedPreview: true`, projected as a boolean.
|
||
Expansion/module starts retain their own setup markers instead: some module
|
||
profiles deliberately exclude the core-only marker. The explicit Advanced
|
||
opt-in remains required for every Advanced start.
|
||
|
||
Start calls the genuine shared setup pipeline, including prediction, Traitors,
|
||
starting forces, advisors, elites and the starting Treachery deal at their normal
|
||
stages. Public starts now call the same genuine setup entries as development
|
||
tools; this is not permission to dispatch arbitrary initializer/profile names.
|
||
Fresh-lobby and unused-module checks still prevent accidental redealing. Restored
|
||
core preview markers must match their mode and roster. Mode changes and ordinary
|
||
continuation retain the existing version/CAS fence and private views.
|
||
|
||
The 17 October lobby-access pass opens expansion factions and supported optional
|
||
modules as previews; it does not remove their existing composition guards.
|
||
Skills and the independent Ecaz cards use lobby-only selections consumed during
|
||
start; the other modules retain their existing undealt lobby shape. Every
|
||
selected module must be honoured or the start rejected. Ecaz selections must
|
||
also support their mandatory allied Arrakis Occupy battle; fresh Ecaz/classic
|
||
Homeworlds now compose that path, with or without the supported Skills entry.
|
||
Special development profiles remain separate. No pending rules ruling or
|
||
complete-mode/publication gate is resolved by opening these controls; see the
|
||
[decision index](RULE_DECISIONS.md).
|
||
|
||
## Evidence and limits
|
||
|
||
- `advanced-preview.test.ts`: normal explicit starts, strict authority/admission,
|
||
readiness, Basic fallback, genuine setup for all 57 base rosters with each of
|
||
four existing legal AI profiles, card/force custody, JSON and private views.
|
||
- `advanced-preview-controls.test.ts`: visible mode/warning/host controls and
|
||
exact Advanced create-request restoration.
|
||
- `advanced-preview-recovery.test.ts`: production room SQL, fresh module reload,
|
||
both private seats, unchanged rejected requests and start/rules CAS races.
|
||
- `advanced-preview-http.test.ts`: normal authenticated endpoints, explicit
|
||
opt-in, origin/authority checks, readiness, duplicate start and refresh.
|
||
|
||
An Advanced six-seat sample exposed an Intrusion save boundary: a shipment
|
||
without an accompanying-advisor offer stored `followup: undefined`, which JSON
|
||
removed and changed the restored private views. Ordinary and Junction shipment
|
||
calls now omit that field when no follow-up exists. Focused regressions cover
|
||
both routes and every seat across JSON restoration. The same genuine six-seat
|
||
seed then completed at turn 10 after 1,531 actions and 41 restores. A separate
|
||
ten-game Basic/Advanced base-roster matrix (two through six seats) completed
|
||
with no rejected actions; these samples do not certify all Advanced interactions.
|
||
|
||
The private checkpoint directory records final check/build/HTTP results, ordinary
|
||
preview-start complete-game samples, browser checks and saved-game preservation.
|
||
These are development samples, not AI calibration or complete interaction coverage.
|
||
Advanced base powers and timing audits remain unfinished, including the recorded
|
||
Guild/special-Karama boundaries and advisor interactions. Stronghold Cards and
|
||
Tech Tokens retain their existing implementation limits. Full visual acceptance,
|
||
complete rules compliance and publication remain open.
|