Ich habe keine MMO-Spiele mit Fahrzeugen mit realistischer Physik gesehen und das könnte eine hohe Geschwindigkeit erreichen. Warum? Liegt es an Einschränkungen der Netzwerkbandbreite?
Second Life hat Fahrzeuge, aber die Physik ist schlecht und die Höchstgeschwindigkeit ist erbärmlich.
Antworten:
Ja und nein (aber meistens nein).
Jedes MMO-Spiel hat mehrere Einschränkungen, die sich auf seine Physik auswirken. Das wichtigste davon ist die Latenz . Die Latenz ist die Zeit, die ein Client benötigt, um eine Anfrage an den Server zu senden und eine Antwort zurück zu erhalten. Selbst unter den besten Umständen beträgt diese Zeit etwa 50 bis 100 Millisekunden. In der realen Welt kann es bis zu 500 ms betragen. Dies bedeutet, dass ein Spieler, wenn er etwas tut - beispielsweise das Rad seines Autos dreht -, das Spiel erst 100-500 ms später darauf reagieren sieht.
100 ms sind eigentlich ziemlich viel. Jedes Spiel mit so viel Latenz reagiert nicht mehr und 500 ms fühlen sich geradezu unspielbar an. Aus diesem Grund setzen Game-Clients viele Tricks ein, um diese Latenz zu maskieren. Zum Beispiel kann das Auto des Spielers in dem Moment drehen, in dem er das Rad dreht, ohne auf den Server zu warten. Diese Tricks maskieren jedoch nur die Latenz und können sie niemals reduzieren.
Nehmen wir zum Beispiel an, wir haben zwei Spieler in Autos, die gleichzeitig aufeinander zu steuern. Jeder Kunde wird sofort sein eigenes Auto drehen . Das Auto des anderen Spielers dreht sich jedoch nicht - da die Informationen über den Kurswechsel den Kunden aufgrund der Latenz noch nicht erreicht haben. Beide Spieler steuern glücklich ihre Autos und dann bam! - Der Server bemerkt, dass sie tatsächlich ineinander gestürzt sind.
Situationen wie diese können nicht verhindert werden. Egal welche cleveren Vorhersageschemata wir verwenden, wo es andere Spieler gibt, es besteht immer die Möglichkeit, dass etwas schief geht. In jedem MMO-Spiel ist eine halbe Sekunde, die Sie gerade gesehen haben, noch nicht wirklich passiert und kann sich jederzeit ändern. In langsameren Spielen wie herkömmlichen MMORPGs ist eine halbe Sekunde nicht wirklich so lang. Charaktere bewegen sich in dieser Zeit nur ein oder zwei Meter. Wenn es sich jedoch um ein schnelles Autorennen handelt, ist eine halbe Sekunde eine sehr lange Zeit! Sie könnten in einer halben Sekunde dreimal abstürzen (-8
Tatsächlich kann ein schnelles Spiel auch mit diesen Einschränkungen funktionieren. Es würde einige unangenehme Momente geben, aber solange alle Spieler gute Verbindungen haben, wäre es spielbar. So funktionieren Multiplayer-Rennspiele. Es gibt jedoch eine weitere MMO-Einschränkung: die Anzahl der N-Quadrat-Updates.
Stellen Sie sich 10 Spieler vor, die gleichzeitig spielen. Damit sie sich sehen können, muss der Server jedem Spieler Informationen über jeden anderen Spieler senden. Dies bedeutet in unserem Beispiel 10x10 = 100 Informationen zum Vorbereiten und Senden. Das ist die Anzahl der Spieler im Quadrat, daher "N-Quadrat". Diese Zahl wächst ziemlich schnell und selbst traditionelle MMORPGs beginnen zu kämpfen, wenn sich viele Spieler in der gleichen Gegend befinden. Für unser imaginäres schnelles Spiel mit Autos müssen diese Informationen viel schneller gesendet werden als in einem langsameren Spiel. UND sie sind wahrscheinlich selbst größer - Sie müssen nicht nur Positionen senden, sondern auch Geschwindigkeiten, Beschleunigungen, Winkelgeschwindigkeiten usw. Dies bedeutet, dass jedes schnelle Mehrspieler-Spiel nur eine begrenzte Anzahl von Spielern haben kann.
Beide oben genannten Probleme können im Prinzip nicht durch Software gelöst werden, sondern nur bis zu einem gewissen Grad maskiert. Sie können ein wenig reduziert werden, indem die Anzahl der Spieler begrenzt wird. So ist beispielsweise ein Spiel, bei dem schnelle Autos nur in Fällen mit einer begrenzten Anzahl von Spielern verwendet werden, wahrscheinlich machbar. Ich glaube, das hat APB getan. Aber ein komplettes Open-World-MMO-Spiel mit schnellen Autos wird einfach nicht passieren. Erst wenn wir Quanten-Entaglement-Netzwerkschnittstellen haben oder so.
quelle
Ja.
Sie müssen sich mit der Netzwerklatenz befassen und den Spielstatus im gesamten Netzwerk synchronisieren. Je schneller sich die Autos bewegen, desto bemerkenswerter wird die Netzwerklatenz. Spieler können gegen eine Wand stoßen, weil ihr Spielclient den Spielstatus auf dem Server aufgrund von Netzwerkproblemen nicht aktualisiert. Was kein Problem ist, wenn sich Spieler mit Schrittgeschwindigkeit bewegen ;-)
Ein MMO-Server hat mehr Last. Ein Multiplayer-Rennspiel läuft möglicherweise einwandfrei, wenn 10 Personen verbunden sind. Es stürzt jedoch ab und brennt, wenn der Server unter starker Belastung von Hunderten von Benutzern nicht mehr reagiert.
Die Fahrzeugphysik von Second Life ist nur schlecht implementiert. (Lebt das noch?)
quelle
Garry's Mod ist so ziemlich alles Physik. Ich denke nicht, dass es als MMO als solches zählt - obwohl es 32 Spieler pro Server unterstützt - und das hat die realistischste Physik, die ich je gesehen habe (nicht nur Fahrzeuge).
Ich denke, es gab kein MMO, das für die Physik entwickelt wurde.
quelle
Sie versuchten dies in einem großen Misserfolg eines Spiels namens All Points Bulletin zu erreichen. Nun, das Konzept war großartig, die Ausführung nicht so sehr. Zufällige Autos würden aus dem Nichts auftauchen. Sie würden fahren und einfach gegen eine Wand stoßen, die sich dann in ein Auto verwandeln würde. Ich kann sehen, dass es in den nächsten fünf Jahren irgendwie gemacht wird, obwohl mehr CPU weniger GPU.
quelle
Schauen wir uns zuerst Ihre Referenz an.
GTA selbst hat einige Probleme mit dem Mehrspielermodus, aber dies ist zu erwarten. Ein Beispiel ist, wenn die Latenz Ihre Verfolgungsjagd in einen Albtraum verwandelt. Manchmal töten sich die Spieler wegen der Latenz gegenseitig.
Die Latenz ist jedoch nicht das einzige Problem. Sie können ein MMO nicht nur mit Clients ausführen. Sie benötigen Server, und diese Server müssen die meisten, wenn nicht sogar die gesamte Physik verwalten, um Betrüger zu vermeiden.
Stellen Sie sich vor, Sie müssen mit Tausenden von Spielern laufen. Stellen Sie sich auch die Belastung der CPUs bei physikintensiven Aktivitäten vor. Sie können einen Teil der Belastung auf dedizierte GPUs übertragen . Bullet Physics verfügt über eine Implementierung, die auf der CPU ausgeführt wird.
Um jedoch eine Überlastung eines Servers zu vermeiden, müssen Sie einen Mechanismus implementieren, der die Neudefinitionen dynamischer Zonen in Abhängigkeit von der Spielerdichte handhabt. Dies ist in diesem Fall viel wichtiger als in anderen MMOs.
Es ist machbar. Das Problem hierbei ist die Notwendigkeit, das Spiel zu skalieren, um mehr Spieler zu handhaben und die Hauptinstanz des Spiels auf Servern verteilt auszuführen.
Wenn Sie es schaffen, Ihre Physik zu optimieren, Objekte schnell und effizient zwischen Servern zu übertragen und einen Weg zu finden, um Mega-Crowds (z. B. Instanzen) zu vermeiden, können Sie dies aufgrund der MMO-Natur mit ähnlichen Einschränkungen wie Ihre Referenz und einigen anderen tun des Spiels.
Denken Sie daran, dass Sie nicht immer alle Spielstatusaktualisierungen an alle Spieler senden müssen. Nur die Änderungen, die für den Spieler unmittelbar relevant sind, sollten ständig gesendet werden. Der Rest kann mit einer niedrigeren Rate gesendet werden.
quelle
check gta 5 rage mp mode, russian red age oder FiveStar rollplay haben maximal 1200 bis 1600 Spieler auf einem einzelnen Server, ziemlich beeindruckend, aber sie versuchen, den AI-Verkehr mit Version 0.4 nicht wieder hinzuzufügen
quelle