Saat ini saya sedang mengerjakan game berorientasi fisika singleplayer di mana saya ingin fisika disimulasikan di sisi server. Ini karena permainan akan memiliki papan pemimpin, perkembangan pemain yang gigih, dan sebagainya dan saya ingin mencegah segala jenis kecurangan - pada dasarnya arsitektur client-server murni, klien itu "bodoh" dan hanya menampilkan apa yang ingin ditampilkan oleh server.
Namun masalahnya adalah bahwa game tersebut kemungkinan besar akan dimainkan oleh ratusan (mungkin ribuan) orang pada saat yang bersamaan. Ini mengkhawatirkan saya, karena kemungkinan besar akan membunuh daya pemrosesan server jika saya harus melakukan dan memelihara ratusan negara pada saat yang sama.
Saya tidak akan memiliki masalah memindahkan semua simulasi fisika ke sisi klien, tetapi kemudian saya benar-benar membutuhkan cara untuk memvalidasi jika hasil simulasi klien valid. Namun, saya tidak tahu caranya.
Saya telah berpikir tentang menjalankan simulasi sisi server sesekali untuk memvalidasi jika klien masih bermain adil, tetapi saya benar-benar ingin server memiliki ketegangan sesedikit mungkin.
Fisika akan menjadi serumit demo GDC 2011 oleh Glenn Fiedler , bahkan mungkin lebih sederhana. Namun, lebih banyak benda bertubrukan kaku yang selalu bertabrakan akan berada dalam satu adegan dan mereka semua akan terlihat sekaligus.
Saya mengalami kesulitan mendapatkan jawaban untuk kasus khusus ini, karena sebagian besar sumber daya di web - lagi-lagi, situs Glenn Fiedlers menjadi yang hebat - berbicara tentang fisika jaringan skala kecil (mis. FPS dengan 30 pemain, seperti Halo).
Setiap saran, situs web, makalah atau sejenisnya tentang hal itu akan sangat dihargai.
Rekap pertanyaan yang ingin saya jawab:
- Seberapa layak model klien-server? Apakah kekhawatiran daya pemrosesan server saya sah dan membumi?
- Apakah mungkin untuk memvalidasi simulasi fisik yang dijalankan oleh klien di server dengan andal? Jika ya, bagaimana caranya?