Daideeonline
Big2 (Daidee) im Browser, mit integriertem Voice- und Textchat.

Problem
Big2 (Daidee) ist das lockere Kartenspiel, mit dem die meisten Hongkonger aufgewachsen sind. Als Erwachsene ist jeder mit dem eigenen Leben beschäftigt, und es wird schwerer, einen echten Anlass zum Austauschen zu finden. Ich wollte eine Version, die Freunden einen Vorwand gibt, sich kurz dazuzusetzen, miteinander zu reden, bei einer Runde zu entspannen und in Kontakt zu bleiben, auch wenn niemand Zeit für ein richtiges Treffen hat.
Ergebnis
- In verschiedenen Freundeskreisen gespielt, mit Sessions, die Runde um Runde laufen. Genau das war das Ziel.
- Schon vor dem Launch etwas organische Traktion, ein echtes Signal für ein kleines soziales Nebenprojekt.
- Abgerundet mit den Funktionen, die das Spiel komplett machen: Soundeffekte, dauerhafte Punktetabelle, Zuschauermodus und weitere.
Technologie
PWA (Browser-first) · WebRTC (Peer-to-Peer Voice) · coturn (STUN / TURN) · WebSocket-Signalisierung · TypeScript
Etwas Kontext zum Spiel
Big2 ist ein Ablege-Kartenspiel für zwei bis vier Spieler, in Asien weit verbreitet. Im Geist ähnlich wie Mau-Mau (Ziel: alle Karten loswerden), nur dass man nicht einzeln nach Farbe ablegt, sondern in Kombinationen wie Paaren, Straßen oder Full Houses. Wer zuerst leer ist, gewinnt die Runde. Schnell, gesellig, gemacht für lockere Sessions, in denen man eigentlich vor allem reden will.
Kurz zur Funktionsweise
Es läuft im Browser als PWA, also bekommen Desktop, Smartphone und Tablet denselben Build, ganz ohne Installation. Der Beitrittsablauf ist bewusst nur ein kurzer Link, ein Name und ein Bereit-Button, weil die Freunde, mit denen ich spielen wollte, keine App für ein Kartenspiel installieren.
Die spannende Architekturentscheidung war, die beiden Echtzeit-Kanäle zu trennen. Voice läuft Peer-to-Peer zwischen den Spielern über WebRTC (mit coturn als Fallback für schwierige Netze), Audio berührt also nie meinen Server. Das hält die Latenz knapp und verhindert, dass Voice die Serverkosten mitskaliert. Der Spielzustand läuft dagegen über einen kleinen, maßgeblichen WebSocket-Server. Der Server ist die einzige Wahrheit darüber, wer am Zug ist und welche Karten auf dem Tisch liegen. So kann niemand desynchronisieren oder durch falsche Nachrichten an die Mitspieler schummeln. Voice direkt, Spielzustand zentral, jeder Kanal auf dem Weg, der zu ihm passt.


