2026
Grand Line
Deterministische, replay-fähige Rules-Engine für ein Sammelkartenspiel
Pure Reducer mit seeded RNG, Karteneffekte als Daten-DSL, rund 200 Karten, 57 Tests, Browser-Match gegen eine KI.
- ~200 Karten
- 57 Tests
- seeded RNG
- pure reducer
- JavaScript
- Node
Problem
Ein Sammelkartenspiel hat hunderte Karten mit eigenen Regeln, die sich gegenseitig beeinflussen. Wer eine Engine dafür baut, bekommt schnell Code, den niemand mehr testen kann – und Spiele, die sich nicht reproduzieren lassen, wenn ein Fehler auftritt.
Lösung
Die Engine ist ein reiner Reducer: Zustand rein, Aktion rein, neuer Zustand raus, keine Nebeneffekte. Der Zufall kommt aus einem Seed, legalActions() ist die einzige Quelle für erlaubte Züge, und Karteneffekte sind Daten in einer kleinen Beschreibungssprache statt handgeschriebener Sonderfälle. Kartendaten kommen über eine Ingest-Pipeline aus einer öffentlichen API.
Ergebnis
Rund 200 Karten, 57 Tests, und jedes Spiel lässt sich aus Seed und Zugfolge exakt wiederholen. Im Browser spielt man gegen eine KI. Das Projekt ist mein Beleg für Architektur- und Testdisziplin – dieselben Prinzipien, nach denen ich Kundenprojekte baue.