Jaringan di game strategi real-time

10

Apa state-of-the-art saat ini untuk jaringan game strategi real-time?

Saya ingat beberapa tahun yang lalu, beberapa judul AAA hanya mentransmisikan input pemain (Starcraft 1, Age of Empires). Karena ini mengharuskan Anda untuk menjaga segala sesuatu yang lain benar-benar deterministik, apakah ini masih pilihan yang layak? Menyinkronkan generator angka acak tampaknya layak, tetapi bagaimana dengan perbedaan halus dalam implementasi FPU dll.?

Atau apakah game strategi menggunakan sesuatu yang lebih dekat dengan jaringan game aksi, di mana entitas individu ditransmisikan sebagai gantinya (dengan beberapa bentuk prediksi dan kompresi (delta))?

Jika demikian, bagaimana item volatile seperti proyektil diperlakukan?

Bagaimana dengan klien / server versus peer-to-peer? Saya menduga bahwa semua ini sangat saling terkait.

Terima kasih atas waktu Anda!

ltjax
sumber
Duplikat dari RTS Game Protocol - ya ini masih bagaimana hal itu dilakukan. Adapun perbedaan implementasi FPU, lihat di sini dan di sini .
BlueRaja - Danny Pflughoeft

Jawaban:

5

http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php Ini masih bagaimana jaringan dilakukan dalam game RTS. P2P juga merupakan cara normal menangani koneksi. Menggunakan model timestep kunci namun menghasilkan kasus menjengkelkan dari desync dan penanganan curang. Ada cara yang baik untuk memulihkan ketika desync terjadi dan semua game RTS hanya mengatakan "Keluar dari pertandingan". Bug tracing desync error juga merupakan mimpi buruk.

Peter Ølsted
sumber
1
Artikel bagus lainnya tentang permainan jaringan timestep yang terkunci: altdevblogaday.com/2011/07/09/…
tenpn
1

Ini adalah bacaan yang bagus, dan akan menjawab banyak pertanyaan Anda:

http://udn.epicgames.com/Three/NetworkingOverview.html

Dalam permainan strategi / menara pertahanan saya, saya menggunakan model klien / server dan saya bisa menjaga semuanya deterministik sejauh ini. Klien hanya mengirim permintaan server untuk melakukan hal-hal (tetapi tidak pernah benar - benar melakukan apa - apa), dan server mengirimkan pembaruan, kreasi, dan penghapusan ke klien ketika ada perubahan. Meskipun permainan saya saat ini bersifat deterministik, saya tidak pernah mempercayai klien saya untuk melakukan sesuatu dengan benar, server adalah bos dan memiliki kontrol penuh atas permainan. Klien hanyalah terminal bodoh.

Untuk membuat semuanya benar-benar sederhana, saya menggunakan kombinasi Reflection dan Eventing untuk menjaga entitas saya sepenuhnya dalam kegelapan tentang sisi jaringan hal. Saya juga menggunakan konsep Aktor dan "Kekuatan" (sebagai lawan Aktor dan Gadai dalam FPS seperti Unreal). Ini memungkinkan enkapsulasi yang sangat bagus dan tempat untuk menyimpan uang dan barang-barang Force.

John McDonald
sumber