Mühle online: was es kostet und wie ich es bauen würde

Der Prototyp läuft bereits und ist spielbar. Hier steht, was noch fehlt, wie viel Zeit das braucht und wo die eigentlichen Risiken liegen.

22.07.2026, nach Recherche zu Marktumfeld, verfügbaren Bausteinen und Werkzeugfrage

Was schon steht

Ein spielbarer Prototyp mit der vollständigen Mühle: alle drei Phasen, Mühlenerkennung über alle sechzehn Reihen, die Schutzregel beim Schlagen, Springen ab drei Steinen und beide Verlustbedingungen. Dazu ein Computergegner mit drei Spielstärken, der mit Alpha-Beta-Suche rechnet.

Die Regeln habe ich nicht nur von Hand geprüft: ein Testlauf über 120 Partien Computer gegen Computer bestätigt, dass jeder erzeugte Zug regelkonform ist, die Steinzähler nie auseinanderlaufen und die Schutzregel greift. Alle Prüfungen sind bestanden.

Rechts neben dem Brett steht die eigentliche Idee als Vorschau: ein Gegenüber mit Namen, Ort, Themen und einem Gesprächsfaden. Der Chat ist dort noch simuliert.

Ein Befund aus dem Testlauf, der für später zählt. 33 von 120 Partien endeten nach 400 Zügen ohne Entscheidung. Zwei gleich starke Spieler können in der Zugphase endlos hin und her schieben. Ein echter Betrieb braucht deshalb eine Remis-Regel: Stellungswiederholung oder eine Zugobergrenze ohne Schlag. Das ist eine halbe Stunde Arbeit, aber ohne sie hängen online Partien fest.

Das Marktumfeld, mit Zahlen

Die Nische ist besetzt, aber unsauber. Das hilft mehr, als es schadet: die Nachfrage ist bewiesen, die Unzufriedenheit auch.

AppBewertungWas auffällt
Mills (donkeycat) 4.6 bei rund 91'000 Der Platzhirsch. In den Rezensionen wiederkehrend: Werbung mitten im Spiel, Premium-Währung, Abo für 18 Dollar im Jahr, wörtlich „Cash Grab"
Nine Men's Morris Multiplayer (lochmann) 2.9 bei rund 3'700 Über 100'000 Installationen. Hat bereits Chat, Freundesliste und Herkunftsanzeige, wird aber schlecht bewertet
Nine men's Morris (LITE Games) gemischt Dreizehn Sprachen, Rangliste, breit aufgestellt und dadurch für niemanden speziell
Ultimate Mill (henschit) 4.2 bei 94 Rezension dort: „Best Mills app, no ads, just a simple board game." Winzige Spielerbasis, der Entwickler schreibt selbst, online sei es eher für Freunde gedacht

Der Schluss daraus. Die werbefreie Variante wird nachweislich geschätzt, sie findet nur keine Spieler. Der Platzhirsch findet Spieler, wird aber für sein Geschäftsmodell abgestraft. Genau dazwischen liegt der Platz.

Zum USP, ehrlich betrachtet

„Man kann miteinander reden" allein trägt nicht: die lochmann-App hat Chat, Freundesliste und Länderanzeige seit Jahren und steht bei 2.9 Sternen. Chat als Funktion ist kein Unterschied.

Was tatsächlich einen Unterschied macht, ist die Zusammensetzung der Leute und der Ton. Und da ist deine Beobachtung der eigentliche Hebel, nur anders gefasst: nicht wer draussen bleibt, sondern wer sich angesprochen fühlt. Deutschsprachig, ohne Werbung, ohne Abo, ruhiges Tempo, Vorname statt Nummer, Profil mit Region und Themen. Wer sich für die Rangliste interessiert und drei Sekunden pro Zug braucht, ist woanders besser aufgehoben.

Das ist auch die belastbarere Positionierung nach aussen. Eine Abgrenzung nach Herkunft wäre weder im Play Store haltbar noch rechtlich sauber, und sie beschreibt das Ziel schlecht. Ein Spiel für Leute, die beim Spielen auch reden wollen, beschreibt es genau.

Was das konkret bedeutet, damit es nicht Absicht bleibt

Gibt es etwas zum Übernehmen?

Ich habe die verfügbaren Umsetzungen angeschaut. Kurz gesagt: für die Spiellogik lohnt sich das Übernehmen nicht, für alles rundherum schon.

BausteinÜbernehmen?Begründung
Spielregeln und Brett selbst Ist bereits gebaut und getestet. Das Regelwerk ist überschaubar, die Fehlerquellen liegen in der Schutzregel und den Speichenreihen, und die sind abgedeckt
Computergegner selbst Läuft. farindk/morris hat eine deutlich stärkere Suche, steht aber unter GPL und in C++. Beides passt nicht zu einer Web-App, die im Store landen soll
Verbindung zwischen zwei Spielern fertige Dienste Hier steckt der Aufwand. Ein eigener Server dafür wäre vermeidbare Arbeit
Konten und Anmeldung fertige Dienste Nichts daran ist spielspezifisch
Store-Verpackung vorhanden Steht bei dir schon, siehe unten

Zur Einordnung: die beste offene Web-Umsetzung, die ich gefunden habe, ist eine Bachelorarbeit mit React, Django, PostgreSQL und Redis. Technisch sauber, aber als Grundlage schwerer als ein Neubau, und es fehlt genau das, was den Unterschied ausmachen soll.

Zuerst Web, dann App: ja, und du hast den Weg schon

Das ist nicht nur die schnellere Reihenfolge, es ist bei dir die eingespielte. Kantonsheld liegt als Trusted Web Activity im Play Store: die App enthält kein eigenes Spiel, sie zeigt die Website im Vollbild. Neue Spielstände gehen über einen Deploy der Website live, ohne neue App-Version.

Was daran für Mühle zählt:

Für iOS gilt das so nicht. Apple lässt reine Web-Verpackungen ungern durch. Falls iPhone dazukommen soll, ist das ein eigener Entscheid und ein eigener Aufwand, und ich würde ihn erst treffen, wenn Android zeigt, dass Leute das Spiel nutzen.

Technischer Unterbau für das Gegeneinander

Empfehlung: Cloudflare Workers mit Durable Objects. Der Grund ist die Bauart einer Partie. Zwei Leute teilen sich einen Zustand, beide müssen jeden Zug sofort sehen, und der Zustand muss auch dann noch da sein, wenn einer kurz das Netz verliert. Genau dafür ist ein Durable Object gemacht: ein kleines Objekt pro Partie, das den Brettzustand hält und beide Verbindungen bedient.

AufgabeWomitKosten pro Monat
Website und Spiel ausliefernCloudflare Pages0
Partie, Zugübertragung, ChatWorkers mit Durable Objects5 Dollar
Profile, Freundesliste, StatistikCloudflare D1im Obigen enthalten
AnmeldungVorname und Gerätekennung, später E-Mail0
Laufende Kosten im Testbetrieb5 Dollar

Der Play-Console-Zugang kostet einmalig 25 Dollar und ist bei dir bereits bezahlt. Erst bei mehreren tausend gleichzeitigen Partien wird der Unterbau spürbar teurer, und dann ist die Frage ohnehin eine andere.

Ein Punkt, den ich bewusst hervorhebe: die Zugprüfung gehört auf den Server. Wenn nur der Browser prüft, ob ein Zug erlaubt ist, kann jeder mit offener Entwicklerkonsole schummeln. Die Regel-Engine läuft deshalb an beiden Enden, im Browser für die schnelle Rückmeldung und im Worker als Entscheidung. Weil beides dieselbe Sprache ist, ist es derselbe Code.

Ist der Server, auf dem sich die Leute finden, auch Cloudflare?

Ja, alles davon. Und es gibt dabei einen Gedankensprung, der die Sache erst klar macht: es gibt gar keinen Server im gewohnten Sinn. Keine Maschine, die läuft und auf die man sich einloggt. Stattdessen gibt es benannte Objekte, die Cloudflare startet, wenn jemand sie anspricht, und wieder schlafen legt, wenn niemand mehr da ist.

Der Ort, wo sich die Leute finden, ist ein einziges solches Objekt mit dem Namen lobby. Wer einen Gegner sucht, meldet sich dort an. Sobald zwei zusammenpassen, erzeugt die Lobby ein neues Objekt für die Partie und schickt beide dorthin. Danach hat sie mit dem Spiel nichts mehr zu tun.

BausteinWofürWie viele
PagesSpiel und Website ausliefern, also genau das, was du im Prototyp siehsteine Seite
WorkerDer Eingang. Nimmt jede Anfrage an, prüft wer da klopft, und reicht sie weitereiner
Objekt lobbyDie Partnersuche. Wer wartet gerade, wer passt zu wem, wer hat wen blockierteines für alle
Objekt je PartieBrettzustand, Zugprüfung, Chat dieser einen Partie. Verschwindet, wenn die Partie fertig isteines pro laufendem Spiel
D1Profile, Freundesliste, gespielte Partien, eingegangene Meldungen. Alles, was eine Partie überdauerteine Datenbank

Praktisch heisst das: eine Konfigurationsdatei, ein Befehl zum Veröffentlichen, ein Konto, eine Rechnung. Keine Maschine, die nachts durchläuft und aktualisiert werden will.

Was dabei nicht Cloudflare ist

Zwei Dinge lassen sich nicht dort erledigen, und beide sind klein:

Beides fällt erst in Stufe zwei an. Für den Test mit Einladungslink braucht es weder das eine noch das andere.

Ein Punkt, den man vor dem ersten Befehl entscheiden muss

Sobald Profile und Chatverläufe gespeichert werden, sind das personenbezogene Daten von Leuten in Deutschland, Österreich und der Schweiz. Cloudflare lässt sich anweisen, Objekte und Datenbank ausschliesslich in der EU laufen zu lassen. Bei den Partie- und Lobby-Objekten geht das jederzeit über eine Zeile im Code. Bei der Datenbank ist es nur beim Anlegen möglich und danach nicht mehr änderbar. Wer das vergisst, muss später die Datenbank neu aufbauen und die Daten umziehen. Das ist der eine Punkt, den ich vor dem ersten Befehl setzen würde, nicht danach.

Der Aufwand, in zwei Stufen

Ich schlage vor, den Test wirklich als Test zu bauen. Stufe eins beantwortet die Frage „spielt das jemand und reden die Leute miteinander" mit einem Bruchteil des Aufwands. Erst wenn die Antwort ja ist, lohnt sich Stufe zwei.

Stufe 1: herausfinden, ob es trägt

40 Stunden rund vier Arbeitstage
  • Prototyp fertig polieren, Remis-Regel ergänzen
  • Partie zu zweit über den Server, mit Einladungslink
  • Echter Chat während der Partie
  • Vorname, Region, Themen als leichtes Profil
  • Melden und sperren
  • Als Website unter eigener Adresse, installierbar

Stufe 2: richtiger Betrieb

80 Stunden zusätzlich
  • Partnersuche für Leute ohne Einladungslink
  • Konten, die ein Gerätewechsel überlebt
  • Freundesliste, Revanche, Verlauf
  • Benachrichtigung, wenn der Gegner gezogen hat
  • Play-Store-Verpackung und Veröffentlichung
  • Moderationswerkzeuge und Datenschutzunterlagen
Aufschlüsselung in ganzen Stunden, Puffer ist im Gesamtwert enthalten und nicht auf die Zeilen verteilt
BausteinStufe 1Stufe 2
Spiel fertig polieren, Remis-Regel, Bedienung am Handy84
Server, Partiezustand, Zugprüfung, Wiederverbinden148
Chat mit Verlauf und Meldefunktion86
Profile, Vorname, Region, Themen610
Partnersuche und Warteschlange014
Konten und Gerätewechsel010
Benachrichtigungen08
Play-Store-Verpackung und Veröffentlichung08
Datenschutz, Nutzungsbedingungen, Moderationsregeln46
Testen auf echten Geräten und Abnahme610
Summe mit Puffer4080

Was passiert bei 10 oder 100 Spielern gleichzeitig?

Kurze Antwort: nichts. Beides läuft im enthaltenen Kontingent, du zahlst in beiden Fällen die 5 Dollar Grundgebühr und keinen Rappen mehr. Die längere Antwort ist trotzdem interessant, weil sie zeigt, wo die Grenze wirklich liegt.

Warum Mühle so genügsam ist

Ein rundenbasiertes Brettspiel erzeugt fast keine Last. Zwischen zwei Zügen passiert minutenlang gar nichts, und ein Zug ist eine Nachricht von unter hundert Zeichen. Zum Vergleich: ein Actionspiel schickt dreissig Zustandsbilder pro Sekunde, Mühle vielleicht sechs Züge pro Minute.

Dazu kommt der Kniff, der das Ganze billig macht. Ein Durable Object, das über die Hibernation-Schnittstelle arbeitet, wird nach zehn Sekunden ohne Ereignis aus dem Speicher genommen, ohne dass die Verbindungen der Spieler abreissen. Solange es schläft, läuft keine Zeitabrechnung. Bei Mühle heisst das: während einer zehnminütigen Partie ist der Server insgesamt vielleicht drei Sekunden wach.

Annahmen: eine Partie je zwei Spieler, zehn eingehende Nachrichten pro Minute und Partie (Züge beider Seiten plus Chat), fünf Millisekunden Verarbeitung pro Nachricht, acht Stunden Betrieb an dreissig Tagen. Preise Stand Juli 2026.
GleichzeitigPartien Anfragen im Monatvom Freibetrag RechenzeitKosten im Monat
10 Spieler550'4005 %0.1 %5 Dollar
100 Spieler50504'00050 %1 %5 Dollar
500 Spieler2502'520'000252 %6 %5.23 Dollar
1'000 Spieler5005'040'000504 %12 %5.61 Dollar
5'000 Spieler2'50025'200'0002'520 %58 %8.63 Dollar

Der Freibetrag reicht bis rund 200 durchgehend gleichzeitige Spieler. Darüber kostet jede weitere Million Anfragen 15 Cent. Selbst bei 5'000 Leuten, die acht Stunden am Tag gleichzeitig spielen, landest du bei knapp 9 Dollar im Monat. Die Rechenzeit wird nie zum Thema: davon wäre der Freibetrag erst bei rund 8'700 gleichzeitigen Spielern aufgebraucht.

Die technischen Grenzen, nicht die finanziellen

GrenzeWertWas Mühle braucht
Anfragen je einzelnem Objekt1'000 pro SekundeEine Partie erzeugt etwa 0.2 pro Sekunde. Reserve um den Faktor 5'000
Anzahl ObjekteunbegrenztEines pro laufender Partie
Verbindungen je ObjekttausendeZwei
Speicher je Objekt10 GigabyteEin Brettzustand sind ein paar hundert Byte

Es gibt genau eine Stelle, an der man sich verrechnen kann: die Partnersuche. Wenn alle Wartenden in eine einzige Warteschlange laufen, ist das ein einzelnes Objekt, und für das gilt die Grenze von tausend Anfragen pro Sekunde. Bei hundert oder tausend Spielern ist das weit weg. Sollte es je eng werden, teilt man die Warteschlange nach Spielstärke oder Region auf, und die Grenze verschwindet. Das ist ein bekanntes Muster, kein Umbau.

Ein ehrlicher Zusatz zur Stack-Wahl

Bei hundert gleichzeitigen Spielern würde auch ein kleiner Mietserver für ein paar Franken im Monat locker reichen. Die Empfehlung für Cloudflare kommt also nicht daher, dass es sonst nicht ginge. Sie kommt von drei anderen Punkten:

Der eigentliche Engpass bei hundert gleichzeitigen Spielern ist ohnehin ein anderer: hundert gleichzeitige Spieler zu haben. Das ist Marketing, nicht Technik.

Wie schwer ist das wirklich

Die Spiellogik ist der einfachste Teil, das sieht man am Prototyp. Anspruchsvoll sind drei andere Dinge, und keines davon ist ein Programmierproblem.

Der kalte Start

Ein Spiel gegeneinander ohne Gegner ist kein Spiel. Wer die App aufmacht und niemanden findet, kommt nicht wieder. Deshalb steht in Stufe eins der Einladungslink und nicht die Partnersuche: die ersten Partien laufen zwischen Leuten, die sich kennen. Dazu gehört, dass der Computergegner gut genug ist, damit sich die App auch allein lohnt, und dass eine Partie auch über Stunden laufen darf statt nur in Echtzeit.

Moderation

Sobald Fremde miteinander schreiben können, trägst du Verantwortung dafür. Dafür gibt es einen Lösungsweg, der das Problem grösstenteils auflöst statt es zu verwalten. Er steht im nächsten Abschnitt und ist im Online-Prototyp bereits gebaut.

Dranbleiben

Der Platzhirsch verdient Geld und kann davon Entwicklung bezahlen. Ohne Werbung und ohne Käufe ist das hier ein Projekt, das aus eigener Tasche läuft. Bei 5 Dollar im Monat ist das lange kein Thema, aber der Zeitaufwand für Betrieb und Meldungen ist es. Das gehört in den Entscheid, nicht in die Fussnote.

Reden ohne offenes Mikrofon

Die Frage war: wie kommt der Spass rein, ohne dass Moderation und Jugendschutz zum Klotz werden? Meine Antwort dreht das übliche Vorgehen um. Statt einen offenen Chat zu bauen und dann zu überwachen, was darin passiert, gibt es zwischen Fremden gar kein offenes Feld. Dafür ist alles, was es gibt, gut gemacht.

Der Kern. Zwischen Leuten, die sich nicht kennen, kann nur gesendet werden, was in einer Liste im Code steht. Der Server nimmt eine Kennung entgegen und schickt den Text selbst. Damit ist über diesen Weg keine Beleidigung möglich, keine Telefonnummer, kein Link, keine Anmache. Nicht weil ein Filter sie abfängt, sondern weil es die Zeichen dafür schlicht nicht gibt.

Drei Stufen

StufeWas gehtWann
1. Sätze und Fragekarten Rund zwanzig vorgegebene Sätze plus zehn Fragekarten mit je vier bis fünf Antworten. Einer stellt eine Frage, der andere wählt eine Antwort sofort, in jeder Partie
2. Gegenseitig merken Nach der Partie sagen beide getrennt, ob sie wieder mit dieser Person spielen wollen am Partieende
3. Freier Text Das offene Feld, ohne Einschränkung erst wenn beide auf Stufe 2 ja gesagt haben

Der Trick liegt in Stufe 2. Wer sich danebenbenimmt, wird nicht zurückgewählt und kommt deshalb nie in die Stufe, in der er frei schreiben könnte. Die Moderation macht das System selbst, und zwar bevor etwas passiert statt danach.

Warum das trotzdem Spass macht

Der übliche Einwand gegen vorgegebene Sätze lautet, es fühle sich nach Automat an. Das stimmt, wenn es fünf Sätze sind und alle „Gut gespielt" heissen. Es stimmt nicht mehr, wenn die Karten echte kleine Fragen stellen: woher spielst du gerade, wer hat dir Mühle beigebracht, Kaffee oder Tee, bist du Frühaufsteher. Nach drei Karten weiss man etwas über die andere Person, und genau das war ja das Ziel.

Zwei angenehme Nebeneffekte: die Antworten füllen das Profil ganz von selbst, ohne dass jemand ein Formular ausfüllen muss. Und Leute, die nicht gern tippen, sind trotzdem im Gespräch, was gerade bei älteren Spielern zählt.

Was das für Jugendschutz und Aufwand bedeutet

Ich bin kein Jurist, und die Einstufung im Store sowie die Pflichten nach dem Digitale-Dienste-Gesetz gehören vor einer Veröffentlichung einmal fachlich angeschaut. Was hier steht, senkt den Aufwand deutlich, es ersetzt die Prüfung nicht.

Das ist nicht nur Konzept. Die drei Stufen laufen bereits im Online-Prototyp. Der Server nimmt ausschliesslich Kennungen aus der Satzliste entgegen, freier Text wird abgewiesen, solange sich nicht beide gemerkt haben. Beides ist mit automatischen Tests belegt: der Versuch, einen erfundenen Satz oder freien Text durchzuschleusen, wird abgelehnt.

Wäre Codex dafür ein guter Kandidat?

Für dieses Projekt: kein Grund zu wechseln, und ein möglicher Grund, es ergänzend zu nutzen. Stand Juli 2026 sind die beiden Werkzeuge unterschiedlich stark, nicht gestaffelt.

Für diese ArbeitBesser aufgehoben bei
Spieloberfläche, Brett, Bedienung am HandyClaude Code. Bei Frontend-Arbeit ist der Abstand am deutlichsten, und es ist der grösste Teil des Projekts
Spiellogik über mehrere Dateien hinwegClaude Code. Auf dem härteren der beiden gängigen Prüfsätze liegt es rund zehn Punkte vorn
Server einrichten, Deploy-Abläufe, KommandozeileCodex. Auf Terminal-Aufgaben liegt es klar vorn, rund 83 gegen 78 Punkte
Durchsehen vor dem VeröffentlichenCodex als zweite Meinung. Es fällt positiv auf beim Finden von Randfällen

Praktisch heisst das: bauen wie bisher, und falls du ohnehin ein ChatGPT-Abo hast, Codex vor der Veröffentlichung einmal über den Code schauen lassen. Ein zweites Abo nur für dieses Projekt lohnt sich nicht.

Ein Vorbehalt zur Einordnung: die Zahlen stammen aus Vergleichen von Mai bis Juli 2026, und die Modelle wechseln alle paar Monate. Als Momentaufnahme brauchbar, als dauerhafte Regel nicht.

Was ich als Nächstes machen würde

Der Prototyp ist nicht als Wegwerfstück gebaut. Die Regel-Engine ist von der Darstellung getrennt und läuft unverändert auch im Worker weiter.