Ich möchte einen einfachen Multiplayer-Spieleserver für ein einfaches Spiel erstellen:
Das Spiel soll Command & Conquer ähneln, Sie haben ein paar Panzer und ein paar Soldaten. Sie können einen Soldaten auswählen und dann auf die Karte klicken, wohin der Soldat gehen soll. Wenn der Soldat in ein Gebiet kommt, in das er nicht gehen konnte, geht er herum. Und Soldaten können von Feinden abgeschossen werden.
Wie soll ich den Spieleserver strukturieren und was soll auf dem Client gemacht werden?
Das heißt, wenn sich ein Soldat von X nach Y bewegt, aber um Gebäude Z herum, muss der Server wohl genau berechnen können, wo sich der Soldat befindet (falls ein Feind auf ihn schießt), und der Kunde muss auch die Position für kennen den Soldaten malen.
Was sollte auf dem Server getan werden und ich denke, ich muss ein Protokoll dafür entwerfen. Ich denke, der Server muss den Spielstatus und die Uhrzeit verfolgen. Hat jemand Vorschläge dazu? oder könnte man etwas lesen empfehlen?
quelle
Grundsätzlich gibt es zwei Ansätze:
Der vertrauenswürdige Client ist etwas komplexer, hat jedoch den Vorteil, dass Sie einen Großteil Ihrer Berechnungen vom Server auslagern können. Die Kosten für den Serverbetrieb sind eines der größten Probleme bei Multiplayer-Spielen und verringern Ihre Skalierbarkeit erheblich.
Ein guter Ansatz (für Anfänger) besteht darin, jedem Kundenkunden seine eigenen Einheiten zu überlassen. Im nächsten Schritt können Sie Ersatzzyklen verwenden, damit Spieler-Clients die Aktionen anderer Clients überprüfen können. Der Server sollte nicht mehr tun müssen, als Nachrichten auszutauschen, die Synchronisierung aufrechtzuerhalten und die Persistenz sicherzustellen (z. B. Datenbank).
Wenn Sie eine Lobby oder einen Chat planen, können Sie jedes dieser Themen auf einem zusätzlichen Server behandeln. Es wird die Dinge auf der Straße viel einfacher machen.
quelle