Saya ingin membuat server gim multipemain sederhana untuk gim sederhana:
Permainan ini seharusnya mirip dengan Command & Conquer, Anda memiliki beberapa tank dan beberapa prajurit. Anda dapat memilih satu prajurit dan klik pada peta, ke tempat prajurit itu harus pergi. Jika prajurit itu datang ke suatu daerah di mana dia tidak bisa pergi, dia berjalan berkeliling. Dan tentara dapat ditembak jatuh oleh musuh.
Bagaimana saya harus menyusun server game, dan apa yang harus dilakukan pada klien?
Yaitu jika seorang prajurit bergerak dari X ke Y tetapi di sekitar bangunan Z, saya kira server harus dapat menghitung dengan tepat di mana tentara itu berada (jika ada musuh yang menembaknya), dan klien juga harus mengetahui posisi untuk melukis prajurit itu.
Apa yang harus dilakukan di server dan saya pikir saya harus desing protokol untuk ini. Saya pikir server harus melacak keadaan permainan dan waktu. Adakah yang punya saran tentang cara melakukan ini? atau dapat merekomendasikan beberapa bacaan?
sumber
Pada dasarnya ada dua pendekatan:
Klien tepercaya sedikit lebih kompleks, tetapi memiliki keuntungan bahwa Anda dapat membongkar banyak perhitungan Anda dari server. Biaya pengoperasian server adalah salah satu masalah terbesar untuk gim multipemain dan akan secara serius mengurangi skalabilitas Anda.
Pendekatan yang baik (untuk pemula) adalah membiarkan setiap pemain menangani kliennya sendiri. Pada langkah selanjutnya Anda dapat menggunakan siklus cadangan untuk membiarkan pemain klien memverifikasi tindakan klien lainnya. Server seharusnya tidak perlu melakukan lebih dari bertukar pesan, menjaga sinkronisasi dan memastikan kegigihan (mis. Database).
Jika Anda berencana melakukan semacam lobi atau obrolan, maka peganglah masing-masing topik ini di server tambahan. Ini akan membuat segalanya jauh lebih mudah di jalan.
sumber