Soweit ich weiß, verwenden die meisten großen Spiele feste Zeitschritte, um eine stabile Simulation zu erhalten.
Welche "Framerate" legen sie für den Spieleserver fest ? Oder anders gesagt: Welchen festen Zeitschritt tendieren sie dazu?
Ich weiß, dass viele sagen würden: "So schnell sie durchkommen können". Ich würde gerne wissen, wie schnell das ist, wenn Sie direkte Erfahrung mit etabliertem MMORPG haben.
mmo
fixed-timestep
Fabio
quelle
quelle
Antworten:
Second Life implementiert mithilfe von Havok die Physik auf der Serverseite und sperrt Aktualisierungen auf 45 pro Sekunde.
https://community.secondlife.com/t5/General-Discussions/SIM-FPS-is-maxed-out-at-45/td-p/181120
Frühere Versionen um 2005-2006 ließen die Physik-Updates so hoch schweben, wie es der Server erlauben würde. Ein unkomplizierter Bereich mit wenigen Skriptobjekten kann mit 800 Aktualisierungen pro Sekunde ausgeführt werden. Aus Gründen der Effizienz und Konsistenz wurde er später auf 45 gesperrt.
(In Second Life hängt die Bildrate von der CPU und der Grafikleistung jedes Clients ab. Die Genauigkeit der Welt hängt von der Netzwerkleistung ab.)
quelle
Ich habe an einigen Spieleservern gearbeitet, darunter eine Suite für ein MMO.
Im Allgemeinen haben sie überhaupt keine Physik. In den wenigen Situationen, in denen Physik notwendig ist (hauptsächlich Springen), lassen wir die Kunden ihre eigene Physik berechnen und bestreiten einfach alles, was zu ausgefallen ist (Spieler bewegen sich zu schnell für zu lange, gehen viel höher, als sie hätten springen können). etc).
Server haben normalerweise auch keine "Zeitschritte". Normalerweise denken sie überhaupt nicht in "Bildern pro Sekunde". Stattdessen wissen wir, wann wir das letzte Mal von jemandem gehört haben und was er damals tat, und wenn wir etwas später wieder von ihm hören, erfahren wir, was er jetzt tut, und aktualisieren unseren internen Status entsprechend . Es ist nicht erforderlich, alles serverseitig rigoros zu simulieren. Wir können einfach die Dinge aufzeichnen, die die Kunden uns sagen, und einige Überprüfungen durchführen, um sicherzustellen, dass das, was die Kunden sagen, für uns plausibel erscheint.
quelle
perTick * ticksSinceLastUpdated
- einfach und effizient.Neben den anderen guten Antworten möchte ich die Tatsache erwähnen, dass einige Aspekte der Physik normalerweise nicht vom Server gesteuert werden oder sogar vom Server bekannt sind. Dies ist ein häufiger Trick, um die Welt reicher erscheinen zu lassen, ohne den Netzwerk- oder Server-Aufwand zu erhöhen Nebenbearbeitung.
Zum Beispiel kann es Trümmer geben, die Sie auf dem Boden herumwerfen oder im Wind herumblasen, der mit anderen Objekten interagiert, oder Sie können tote Körper herumschieben.
Wenn die Physik rein dekorativ ist und weder die Bewegung noch das Gameplay in irgendeiner Weise beeinflusst, kann dies auf der Clientseite vollständig geschehen.
Verschiedene Spieler werden die Dinge unterschiedlich sehen (wenn Sie eine Dose auf den Boden schießen und sie wegfliegt, sehen andere Spieler möglicherweise nicht, dass sie wegfliegen kann), aber es gibt viele Fälle, in denen es nicht darauf ankommt, dass die Erfahrung nicht stimmt. Es ist für alle Spieler gleich, und durch clientseitige Physiksimulationen kann das Erscheinungsbild des Onlinespiels erheblich verbessert werden.
quelle
EVE Online, ein MMO mit einer einzigen Scherbe und bis zu mehreren tausend Spielern in großen Weltraumschlachten, steuert seine Physik mit einem 1-Hz-Tick, dem so genannten "Schicksals-Tick".
http://community.eveonline.com/news/dev-blogs/fixing-lag-drakes-of-destiny-part-1-1/
Das sogenannte "Bloodbath of B-R5RB" ist der bislang größte aufstrebende Spielerkampf in einem Online-Spiel ("der 21-stündige Konflikt betraf insgesamt mehr als 7.548 Spielercharaktere und maximal 2.670 Spieler im B-R5RB-System auf einmal ", laut https://en.wikipedia.org/wiki/Bloodbath_of_B-R5RB ).
quelle