Speed-Modus und der dritte Würfel
Eine schnellere, lockerere Art zu spielen – kürzere Züge, bauen, wo Sie wollen, und ein dritter Würfel, der Sie quer über das Brett teleportiert.

Kurz gesagt
Wenig Zeit, aber trotzdem Lust auf die ganze Partie? Der Speed-Modus ist die Antwort. Züge laufen auf einer knapperen Uhr – rund 45 Sekunden pro Zug –, sodass eine ganze Partie deutlich früher zu Ende ist und der Druck alle wach hält.
Auch das Bauen ist lockerer. In einer klassischen Partie müssen Sie Häuser gleichmäßig über eine Farbgruppe verteilen, eines pro Zug. Im Speed-Modus können Sie alles in eine einzige Straße stecken, eine Stufe pro Feld und Zug. Und wenn Sie ein Grundstück mit einer Hypothek belasten, läuft eine Uhr: Kaufen Sie es rechtzeitig zurück, sonst fällt es an die Bank zurück.
Das Aushängeschild ist der dritte Würfel, der ab Runde 7 mitrollt. Er verändert, wie Sie sich über das Brett bewegen:
- Eine Zahl zählt zu Ihrem Wurf dazu – die beiden weißen Würfel plus der dritte, Sie kommen also weiter.
- Ein Bus lässt Sie Ihren Zug wählen: die volle Summe oder nur einen der weißen Würfel.
- Ein „X“ (Mr. Monopoly) schickt Sie zum nächsten freien Grundstück oder zum nächsten Gegner, an den Sie zahlen müssten.
- Ein Dreierpasch – alle drei Würfel gleich – lässt Sie auf ein beliebiges Feld teleportieren und danach erneut würfeln.
| Klassisch | Speed | |
|---|---|---|
| Zugzeit | ~90 s | ~45 s |
| Bauen | Gleichmäßig, eines pro Zug | Überall, mehrere pro Zug |
| Dritter Würfel | Nein | Ab Runde 7 |
| Hypothek | Dauerhaft | Verfällt nach Ablauf einer Frist |
Für technisch Neugierige
Alle Modi teilen sich eine Engine. Eine neue modes.ts hält MODE_CONFIGS – Startkapital, Zugzeit, Rundenobergrenze, Steuerzeitpunkt und ob ungleichmäßiges Bauen erlaubt ist, jeweils pro Modus –, und der Daemon liest beim Start den Modus der Partie, wählt die passende Konfiguration und reicht sie an initializeGame weiter. Die Frist pro Zug nutzt turnSeconds des Modus; Klassisch behält den vom Admin einstellbaren Grundwert.
// packages/game-engine/src/modes.ts
export const MODE_CONFIGS: Record<GameMode, ModeConfig> = {
classic: { startingCash: 15000, unevenBuild: false, turnSeconds: 90 },
speed: {
startingCash: 30000,
unevenBuild: true, // build any property, multiple per turn
turnSeconds: 45,
speedDie: true,
speedDieFromRound: 7,
},
// ...
};Der dritte Würfel steckt isoliert in speed-die.ts – der Typ SpeedFace, rollSpeedDie, busOptions, isSpeedTriple und die Helfer für das nächstgelegene Grundstück – und ist KEIN Fork. Der gemeinsame Reducer ruft ihn nur auf, wenn state.mode === "speed" ist, und nutzt den normalen Bewegungs- und Landecode weiter, sodass Klassisch unangetastet bleibt und alle früheren Engine-Tests grün bleiben.
Für den Würfel war keine Datenbank-Migration nötig: Der neue Zustand (letzte Speed-Seite, ausstehender Bus / Teleport / Nachwurf) liegt im JSON-Feld engine_state, und der Würfelwert reist in einem optionalen Feld dice_rolled.speedDie mit – keine neue Ereignisart. Migration 0024 hat lediglich create_game gelockert, damit der Modus „speed“ akzeptiert wird; Enum und Spalten gab es bereits.
