Closed LukasBleile closed 4 years ago
Dies sind die Überlegungen von Dominik T. und mir zu den noch fehlenden funktionalen Anforderungen für die Lobby-Verwaltungsstruktur. Wir bitten um Rückmeldung.
Zum zweiten Punkt: Im Lastenheft unter 1.1 Komponenten und Architektur steht "Einstellungen für eine konkrete Partie werden über eine Partie-Konfiguration vorgegeben. Die Partie-Konfiguration bestimmt u.a., ... bis die Bedingung für überlange Partien eintritt. Der Server bekommt auch das Szenario übergeben, das gespielt werden soll." Wir vermuten, dass sich das Wort 'auch' im letzten Satz auf die Partie-Konfiguration bezieht, das würde bedeuten, dass der Server sowohl das Szenario als auch die Partie-Konfiguration übergeben bekommt.
Also der Server bekommt die Configs vom Client übergeben? Macht für mich auch Sinn, dann machen wir das so.
Client erstellt Lobby, dabei werden Konfigurationen festgelegt. Entweder beim Erstellen der Lobby oder beim Start der Spielpartie auf Server hochgeladen. Wenn die Dateien schon beim Erstellen der Lobby hochgeladen werden, dann kann eine Vorschau vom Szenario und Partiekofigurationen angezeigt werden. Die ersten beiden Clients, die beitreten (also Lobby-Ersteller und erster anderer Client der beitritt), sind im Standardfall die Spieler, alle weiteren Clients die beitreten sind Zuschauer. Zahl der Spieler auf 2 begrenzt -> Nur wenn ein Spieler die Rolle zu Zuschauer wechselt, kann jemand anderes Spieler werden. Lobby wird gelöscht, wenn keine Clients mehr verbunden sind. Konfigurationen können ausgewählt werden aus lokal vorliegenden Dateien. Mit dem Editor werden Konfigurationsdateien erstellt. Lobby kann aus der Lobby-Übersicht erstellt werden. Dialog zum Lobby-Erstellen notwendig. Beide Spieler können das Spiel starten, eventuell müssen beide Spieler vorher Spielbereitschaft anzeigen, mit Schaltfläche. Können eventuell Zuschauer auch während laufender Spielpartie beitreten ? Wenn nein, dann können Lobbys mit Spielstart gelöscht werden, wenn ja, dann müssen Lobbys, dessen Spielpartie schon läuft, speziell markiert in der Lobby-Liste angezeigt werden.