Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

1

02.08.2007, 19:17

Netzwrke: Synchronisation zwischen Clients und Servern

Hallo.

Ich und ein Kollege von mir arbeiten gerade an einem Multiplayer-Spiel und sind auf ein Problem gestoßen.

Es geht darum, ob die Clients Berechnungen für Kollissionserkennung usw. machen oder der Server.

Er sagt der Server, ich sage die Clients.

Ich sage, dass es die Clients machen, da der Server einfach zu stark ausgelastet wird, wenn er die Kolissionserkennungen für alle Clients machen muss.

Er sagt, der Server muss es machen, um z.B. folgendes Szenario zu verhindern.
Szenario: Client A schießt Projektil ab, Client A bleibt dannach für z.B 0.5 Sekunden hängen (Rechenlast was auch immer). Auf dem Anderen Client B ist, weil bei ihm das Game normal weiterläuft das Projektil bereits in eine Wand geschossen. Dann läuft dieser Client B an die Position wo das Projektil laut Client A noch steht. Plötzlich läuft das Spiel bei Client A wieder normal flüssig, er macht einen Kollisionstest, trifft, und teilt dem Server mit dass er Client B getroffen hat. Was ist dann zu machen?

Ich hoffe ihr könnt aus diesem vereinfachten Szenario entnehmen, was unser Problem ist.

Es würde mich freuen, wenn ihr eure Ideen, Vorschläge etc. zu diesem Problem mitteilen würdet.

mfg Philipp

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

02.08.2007, 19:21

Re: Netzwrke: Synchronisation zwischen Clients und Servern

Zitat von »"Phil_GDM"«


Ich sage, dass es die Clients machen, da der Server einfach zu stark ausgelastet wird, wenn er die Kolissionserkennungen für alle Clients machen muss.


Wieso für alle? Er macht doch genau dieselben Kollisionsberechnung wie die Clients, nicht einmal für jeden Client. Ich mache es so: Jeder Client sowie der Server berechnen die Physik, clientseitig werden die Ergebnisse für die Darstellung verwendet, echte Effekte wie Zerstörung, Lebensenergie abziehen etc. passieren auf dem Server.

Sicaine

unregistriert

3

02.08.2007, 20:39

Es wird auf beiden Seiten berechnet. Der Server muss es definitiv berechnen damit unteranderem nicht gecheatet werden kann und der Server als Meister fungiert. Ansonsten hast du naemlich das Problem welcher Client hat recht? CA schiest auf CB und CC auch auf CB. CA berechnet, dass er CB zuerst getroffen hat, CC hingegen berechnet dass er CB zuerst getroffen hat.

Werbeanzeige