Martok - Di 01.03.11 23:40
Titel: Serverkonzept für Spiel
Hi!
mittlerweile haben wir ja doch einige (semi-)&professionelle Spieleentwickler. Das trifft sich gut, ich will nämlich mal wiessen wie ihr das löst.
Ich hab einige nette kleine Spielideen, aber meistens scheitert die Implementation daran dass ich eine brauchbare Methode bräuchte, ohne viel Codeverdopplung Multiplayerfähig zu sein. Als schönes Kommunikationsframework hat sich
Narses' NBFPA erwiesen (mit ein bisschen Code drumrum). Das ist also nicht das Problem, eher die grundsätzliche Modul-Aufteilung.
Bisher sehe ich da 3 Möglichkeiten:
- Einzelspieler mit PC-Gegner und Mehrspieler völlig getrennt bauen (Minecraft, glaube ich)
- Eingebauter Server und für Einzelspielerpartien auf localhost verbinden (in ProjektH/M, für Tester von damals)
- Dedicated Server und diesen für Einzelspielerpartien mit Parametern starten (SA:MP)
Ist aber alles doof; entweder wenig Benutzerfreundlich oder unpraktisch zu programmieren.
Generell möchte ich aber vermeiden, den Server nur als Spiegel zu benutzen, weil es dann ja doch einfacher wird zu cheaten (wenn kein "authoritativer" Spielzustand existiert).
Also, wie gesagt: was macht man da am Besten?
Danke schonmal,
Martok
BenBE - Mi 02.03.11 01:02
Du hast eine ganz entscheidende Methode noch vergessen (oder aber ich hab sie in deiner Beschreibung grad nicht gefunden):
Server in die Anwendung einbauen und im Einzelspieler einfachmit Pseudo-Sockets mit diesem reden. Im Grunde also
Narses' NPFBA auf Pipes im Backend. Und da Du dann Code-Dopplungen dort hättest, tauscht Du einfach den Low-Level-Socket-Support gegen eine Klasse aus, die entweder Socket oder Pipe ist.