Netzwerk-Konzept
Auf dieser Seite sammeln wir Ideen zu der Netzwerkunterstützung von FreeDoko.
Schwerpunkt ist dabei eine Spielplattform im Internet.
Kommentare und Vorschläge bitte in die Diskussion auf Sourceforge einbringen.
Fragen sind hervorgehoben.
Struktur dieser Seite
- Als erstes wird klargestellt, worum es überhaupt geht.
- Die erste Überlegung ist, was die Erwartungen an dem Netzwerkspiel sind.
- Danach machen wir uns Gedanken, wie die Bedienung aussehen soll.
- Als drittes geht es darum, wie das Gewünschte umgesetzt werden kann.
Definition
Zuerst stellen wir klar, was wir unter der Netzwerkunterstützung verstehen:
- Anstatt gegen den Computer zu spielen können Computergegner durch Mitspieler ersetzt werden, die über das Netzwerk mit dem Spieler verbunden sind.
- Die Spielplattform bietet einen Treffpunkt, bei dem man Mitspieler finden kann.
Konkurrenz
Wie machen das andere?
Spielertypen
Hier listen wir auf, was für Spielertypen es gibt und welche Wünsche diese haben.
Gelegenheitsspieler
Ein Spieler, der mal Lust auf Doppelkopf hat und z.B. in der Arbeitspause ein paar Spiele spielen möchte.
- Sucht Mitspieler für ein paar Spiele.
- Möchte keine Verpflichtung zu längeren Spielen eingehen.
- Kann plötzlich aufhören (z.B. wenn der Chef kommt)
Vielspieler
Ein Spieler, der viel spielt, z.B. immer samstag abends.
- Sucht Mitspieler für ein paar Stunden / ein Turnier Doppelkopf
- Möchte einen Vergleich mit anderen Spielern (Rangliste)
Neuling
Ein (noch-nicht-)Spieler, der seine ersten Schritte mit Doppelkopf macht.
- Möchte das Spiel kennenlernen.
- Möchte in die Spiele hineinschauen.
- Sucht jemanden, der ihm das Spiel erklärt, ihn an die Hand nimmt.
Stammtisch
Eine Gruppe von Spielern, die zusammen (regelmäßig) spielen.
- Möchten zusammen in Ruhe Doppelkopf spielen
Wird das überhaupt benötigt?
Die Spieler können sich schließlich direkt verbinden.
Teams
Teams/Clans, die gemeinsam gewertet werden.
Macht das Sinn?
Im Spiel spielt man nicht unbedingt mit einem Teamkollegen zusammen.
Boni
Als nächstes sammeln wir, was an zusätzlichen Funktionen unterstützt werden können/sollen.
Rangliste
Eine Rangliste der Spieler.
Turnier
Bei einem Turnier treten viele Spieler gegeneinander an, um unter sich einen Gewinner zu ermitteln.
Wie sieht das bei realen Doppelkopf-Turnieren aus?
-
Zu einem Turnier können sich die Spieler anmelden, das Turnier selber findet an einem Tag / über mehrere Tage (z.B. 3 Samstage) statt.
-
Die Spieler werden unter Berücksichtigung ihres Ranges zusammengestellt und nach z.B. 4 Runden werden die Spieler neu verteilt.
-
Bei den Spielen sind ruhige Zuschauer erlaubt.
-
Die Zuschauer können sich untereinander unterhalten.
Unterstützung anderer Doppelkopfspiele
Andere Doppelkopfspiele (z.B. Doppelkopf Professional) können sich auch anmelden.
Bedienung
privat
- Ein Spieler startet den Server
- Andere verbinden sich mit dem Server
- zum Mitspielen (Typ Spieler)
- zum zuschauen (Typ Zuschauer)
- mit einem beliebigen Spieler verbinden, um über die Schulter zu schauen (Typ Schatten)
jede Verbindung muß akzeptiert werden
- die Regeln werden abgeglichen (Server gibt vor, über Chat kann sich abgestimmt werden)
- Spielen
- ausfallende Spieler (Verbindung abgebrochen oder zu lange nicht reagiert) werden durch KI ersetzt
- nach jedem Spiel können Spieler hinzustoßen
- wenn der Server ausfällt übernimmt automatisch ein anderer
Spielplattform
Die Bedienung gliedern wir wieder nach den Spielertypen auf.
- Gelegenheitsspieler
-
- Verbinden mit Spielplattform
- Auflistung der Spiele mit ähnlichen Regeln und ähnlichem Schwierigkeitsgrad
- Auswahl des Spiels / Anbieten eines Spiels
- Spielen
- Vielspieler
-
- Verbinden mit Spielplattform
- Anmelden auf dem Spielplattform (automatisch)
- Auflistung der Spiele mit ähnlichen Regeln und ähnlichem Schwierigkeitsgrad
- Auflisten der Freunde
- Auswahl des Spiels / Anbieten eines Spiels
- Spielen
- Neuling
-
- Verbinden mit Spielplattform
- Auflistung aller öffentlichen Spiele
- Bei einem öffentlichen Spiel zuschauen
- Auflistung aller Betreuer
- An Betreuer anhängen
- Dem Betreuer über die Schulter schauen
- Mit dem Betreuer privat unterhalten
- Stammtisch
-
- Verbinden mit Spielplattform
- Anmelden auf dem Spielplattform (automatisch)
- Anmelden am Stammtisch (automatisch)
- Auflisten der Stammtischfreunde
- neues Turnier starten
- altes Turnier fortsetzen
Prinzipien
Dinge, die bei der Implementation beachtet werden sollen.
-
Gelegenheitsspieler sollen nicht gegenüber Vielspielern benachteilt werden, insbesondere nicht bei der Rangliste.
Implementation
Anmelden
- Ohne Registrierung: anonym
- Mit Registrierung: auf Wunsch automatisch registrieren
- Übertragung des Regelfilters
Registrierung
- Eindeutiger Benutzername
- ein Paßwort (wird automatisch vom Programm übertragen)
- Wenn ein Monat lang nicht angemeldet wurde, verfällt der Benutzername
Vorteil der Registrierung
- kann gesucht werden (auf Wunsch)
- Ranglisteneintrag (auf Wunsch)
- Teilnahme an einem Stammtisch
- kann Daten auf dem Server speichern (s.u.)
Spielangebot
- Spieler bietet Spiel an
- Spieler können auch zwischen den Spielen hinzustoßen
- Verbindungen müssen erst akzeptiert werden (Spieler, Zuschauer)
- Personen/Rechner blockieren
- Zuschauer allgemein zulassen/verbieten
- Kommunikation:
- Spieler sprechen mit Spielern
- Zuschauer sprechen mit Zuschauern
- Zuschauer hören Spieler
Spielsuche
Der Spieler überträgt seine Daten an den Server und bekommt eine Liste von Spielen zurück.
(Finale) Filterung auf Seite des Clients.
- ähnliche Regeln (Einteilung in 'wichtig', 'gerne', 'egal')
- gleichstarke Spieler
- Wertung über Rangliste
- Wertung über Spielerstatistiken
- Profispiel (gute Spieler), zum Zuschauen
Spielablauf
- Regeln werden vom Spielanbieter gesetzt
- Spiel läuft auf allen Rechnern
- Spieler fällt aus, wenn die Verbindung getrennt wird oder er fünf Minuten lang nicht reagiert (keinen Vorbehalt macht, keine Karte spielt, Stich nicht schließt)
- ausfallender Spieler (Chef kommt): wird durch KI ersetzt
- ausfallende Verbindung: Spiel kann lokal zuende gespielt werden
- Einstieg nach jedem Spiel möglich
Betreuung
- Betreuter wechselt mit Betreuer
- privater Chat-Kanal
Unterstützung anderer Doppelkopfspiele
- FreeDoko muß das Protokoll verstehen
Probleme
Rangliste
- gutes Bewertungsverfahren
Turnier
-
Spiel muß bei jemanden vertrauenswürdigen laufen oder der Server im Internet muß das übernehmen (Last auf dem Rechner).
-
Schummeln, da recht einfach alle Blätter sichtbar gemacht werden können.
Um das zu unterbinden darf auf den lokalen Rechnern nicht das Spiel laufen, das geht nur durch größeren Umbau des Programmablaufs.
- Viel Arbeit
andere Doppelkopfspiele
- andere Entwickler sollen zustimmen
-
unterschiedliche Regelunterstützung
z.B. Doppelkopf Professionell:
- FreeDoko unterstützt keinen Joker
- Doppelkopf Professionell unterstützt nur Ansagen, wenn der Spieler am Zug ist
Daten
Während einer Verbindung auf dem Server
- IP-Adresse, Port
- Registrierungsname (falls vorhanden)
Lokal
- Freunde
- Ignorierliste
- Regelgewichtung
Dauerhaft auf dem Server
Nur wenn der Spieler registriert ist:
- Registrierungsname
- Paßwort
- zugehörige Stammrunde
- ob Spieler gesucht werden darf
- Freunde
- Ignorierliste
- Regelgewichtung
Roadmap
Eine grobe Übersicht, was wir in welcher Reihenfolge einbauen.
0.8.0
- Netzwerkspiel mit direkter Verbindung:
Ein Spieler eröffnet Spiel, andere können dazustoßen
1.0
- Spielplattform (Prototyp steht schon)
2.0
- Rangliste
- Betreuung
- Stammtisch (bei Bedarf)
> 2.0
- Turniere
- andere Doppelkopfspiele