Seberapa sering MMORPG besar memperbarui fisika? [Tutup]


12

Sejauh yang saya mengerti, sebagian besar game besar menggunakan stempel waktu tetap untuk memiliki simulasi yang stabil.

Mengenai server game , "frame rate" mana yang mereka tetapkan? Atau mengatakannya dengan cara lain, stempel waktu tetap apa yang cenderung mereka gunakan?

Saya tahu banyak yang akan mengatakan: "Secepat mereka bisa lolos". Saya ingin tahu seberapa cepat itu, jika Anda memiliki pengalaman langsung dengan MMORPG yang mapan.


Anda seharusnya tidak terlalu memperhatikan apa yang orang lain lakukan. Apa yang berhasil untuk orang lain tidak perlu juga perlu untuk Anda.
Philipp

6
EVE Online memutakhirkan simulasi satu detik sekali, tetapi sistemnya tidak biasa. Lihat bagian pertama artikel ini untuk detail lebih lanjut: themittani.com/features/understanding-eve-online-server-tick
Ross Ridge

1
Jadi ini adalah pertanyaan "menanyakan hal-hal sepele tentang game orang lain yang sudah ada" sebagai lawan pertanyaan tentang pengembangan game?
Trevor Powell

2
Saya tidak akan menyebut ini hal sepele - ini cukup penting. Fakta bahwa beberapa game dapat menggunakan kutu 1 detik, yang tidak saya ketahui, atau yang tidak menggunakan fisika sama sekali, itu sangat penting bagi saya (dan itu harus untuk pengembang mana pun). Pada saat yang sama, jawaban saya kepada Philipp adalah karena implikasinya yang tidak terucapkan bahwa saya menanyakan hal ini karena saya ingin memutuskan FPS saya. Itu tidak masuk akal karena mesin saya memiliki banyak keterbatasan dan saya sudah tahu batas FPS yang dapat saya gunakan (batas bawah dan atas).
Fabio

1
Saya ingat pernah membaca artikel tentang Blizzard yang mengubah kecepatan pemrosesan server WoW untuk acara pertempuran dari setiap 400 MS menjadi "setiap kali mereka masuk". Namun, itu tidak terkait fisika, karena WoW tidak benar-benar memiliki banyak cara fisika karena usianya. Saya juga tidak dapat menemukan sumber untuk ini.
Nzall

Jawaban:


7

Second Life mengimplementasikan fisika di sisi server menggunakan Havok, dan mengunci pembaruan hingga 45 per detik.

https://community.secondlife.com/t5/General-Discussions/SIM-FPS-is-maxed-out-at-45/td-p/181120

Versi sebelumnya sekitar 2005-2006 membiarkan pembaruan fisika mengambang setinggi yang diizinkan server. Wilayah tanpa komplikasi dengan beberapa objek skrip dapat berjalan pada 800 pembaruan per detik ... Untuk efisiensi dan konsistensi yang lebih baik, mereka kemudian menguncinya menjadi 45.

(Dalam Second Life, frame rate tergantung pada CPU masing-masing klien dan daya grafis. Akurasi dunia tergantung pada kinerja jaringan.)


Memang, ini masuk akal. Saya telah menemukan bahkan 30 FPS untuk melakukan pekerjaan yang layak jika integratornya bagus dan deteksi tabrakan cukup pintar. Apakah Anda tahu MMO lain dengan fisika yang tepat, dan tentang waktu berjalan mereka?
Fabio

2
Diterima sebagai satu-satunya yang memberikan contoh dunia nyata, tetapi semua adalah makanan yang baik untuk dipikirkan. Terima kasih kawan
Fabio

24

Saya telah bekerja pada beberapa server game, termasuk satu suite untuk MMO.

Secara umum, mereka tidak memiliki fisika sama sekali. Dalam beberapa situasi di mana fisika diperlukan (melompat, terutama) kami membiarkan klien menghitung fisika mereka sendiri, dan kami hanya menyangkal apa pun yang terlalu aneh (pemain bergerak terlalu cepat terlalu lama, bergerak jauh lebih tinggi daripada yang seharusnya bisa dilompati, dll).

Server juga biasanya tidak memiliki 'timesteps'. Mereka biasanya tidak berpikir dalam "bingkai per detik" sama sekali. Alih-alih, kami tahu kapan terakhir kali kami mendengar dari seseorang dan apa yang mereka lakukan saat itu, dan kemudian ketika kami mendengarnya lagi beberapa saat kemudian, kami mendengar tentang apa yang mereka lakukan sekarang, jadi kami memperbarui keadaan internal kami untuk mencocokkan . Tidak perlu mensimulasikan segala sisi server dengan seksama; kami hanya dapat merekam hal-hal yang dikatakan klien kepada kami dan melakukan beberapa pengecekan untuk memastikan bahwa apa yang klien katakan terjadi tampak masuk akal bagi kami.


4
Ini hanya akan berfungsi jika lingkungan tidak melakukan simulasi tanpa pemain login, kan? Saya sebenarnya berasumsi itu memang umum , tapi mungkin itu tidak penting bagi kebanyakan MMO karena tidak benar-benar "hidup". Terima kasih, ini adalah jawaban yang tidak terduga.
Fabio

2
@Fabio Kebanyakan MMO tidak melakukan apa-apa ketika tidak ada pengamat - bahkan Ultima Online, yang dulu memiliki ekonomi nyata (dan ekologi) melepaskannya sebelum dirilis (meskipun bukan karena alasan teknis). Ada permainan di mana hal-hal terjadi bahkan ketika Anda tidak bermain (misalnya, Haven dan Pos Gizi), tetapi masalahnya adalah bahwa tidak ada yang terjadi sampai hal itu diamati - setiap item aktif mengingat kapan terakhir kali diamati, dan menghitung apa yang terjadi di Sementara itu saat Anda melihatnya lagi. Jadi, alih-alih nilai memperbarui setiap centang, Anda lakukan perTick * ticksSinceLastUpdated- sederhana, efisien.
Luaan

1
Jangan salah sangka; Server MMO akan sering memiliki tugas periodik yang mereka jalankan. Periksa monster yang perlu respawned, pertimbangkan pemijahan node sumber daya, cadangan keadaan game. Mungkin bahkan sesuatu yang lebih mewah jika gim Anda memiliki aktivitas prosedural. Tapi tidak seperti fisika di mana Anda menjalankan 'x' kali per detik bahkan ketika tidak ada orang di sekitar. Anda mungkin memeriksa monster pemijahan beberapa kali dalam satu menit, puncak (atau lebih mungkin, memiliki program eksternal yang melakukan itu, dan hanya menyodok server untuk memberi tahu bahwa sudah saatnya, sehingga server itu sendiri dapat fokus pada penanganan permintaan klien) .
Trevor Powell

11

Selain jawaban baik lainnya yang diberikan, saya ingin menambahkan fakta bahwa beberapa fisika umumnya tidak didorong oleh server atau bahkan diketahui oleh server dan merupakan trik umum untuk membuat dunia tampak lebih kaya tanpa menambahkan overhead ke jaringan atau server pengolahan sisi.

Misalnya mungkin ada puing-puing yang bisa Anda tendang di tanah atau tertiup angin yang berinteraksi dengan benda lain, atau mungkin Anda bisa mendorong mayat.

Jika fisika murni bersifat dekoratif, dan tidak memengaruhi gerakan atau permainan dengan cara apa pun, Anda dapat mewujudkannya di sisi klien sepenuhnya.

Pemain yang berbeda akan melihat hal-hal yang berbeda (seperti, jika Anda menembak kaleng di tanah dan terbang, pemain lain mungkin tidak melihat yang bisa terbang jauh) tetapi ada banyak kasus di mana itu tidak masalah bahwa pengalaman itu bukan ' Hal yang sama berlaku untuk semua pemain, dan memiliki simulasi fisika sisi klien dapat benar-benar meningkatkan tampilan dan nuansa permainan online.


Dalam beberapa permainan jika itu dapat terbang cukup cepat dapat membunuh seseorang. Saya telah melihat video permainan Halo di mana seseorang terbunuh oleh kerucut lalu lintas yang didorong oleh ledakan.
Random832

Jika Anda ingin bisa mempengaruhi gameplay Anda bisa menambahkannya ke dunia fisika yang disinkronkan, tetapi Anda juga bisa memiliki dunia fisika yang tidak disinkronkan di ruang yang sama! Pada dasarnya, dunia fisika yang tidak disinkronkan dapat dipengaruhi oleh pemain dan dunia fisika yang disinkronkan, tetapi itu tidak dapat memengaruhi mereka kembali (:
Alan Wolfe

3

EVE Online, sebuah MMO dengan pecahan tunggal dan hingga beberapa ribu plaers dalam pertempuran ruang besar menjalankan fisika pada kutu 1 Hz, yang disebut kutu "takdir".

http://community.eveonline.com/news/dev-blogs/fixing-lag-drakes-of-destiny-part-1-1/

Yang disebut "Bloodbath of B-R5RB" adalah pertarungan pemain paling besar yang pernah terjadi dalam game online hingga saat ini ("konflik selama 21 jam melibatkan lebih dari 7.548 karakter pemain secara keseluruhan dan maksimum 2.670 pemain dalam sistem B-R5RB pada satu waktu ", menurut https://en.wikipedia.org/wiki/Bloodbath_of_B-R5RB ).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.