Saya bermain-main dengan beberapa game gua selebaran kanvas sederhana dan saya ingin membuatnya multiplayer akhirnya. Rencananya adalah menggunakan Node.js di sisi server.
Data yang dikirim akan terdiri dari posisi masing-masing pemain, arah, kecepatan dan semacamnya. Gerakan pemain adalah fisika gaya sederhana, jadi saya harus bisa memperkirakan gerakan sebelum pembaruan berikutnya dari server.
Adakah kiat atau praktik terbaik di sisi komunikasi? Saya kira soket web adalah caranya. Haruskah saya mengirim informasi di setiap lintasan loop game atau dengan interval yang ditentukan? Juga, saya tidak keberatan jika itu tidak bekerja dengan browser lama.
sumber
Saya sarankan untuk memisahkan hal-hal.
Dalam Stendhal yang merupakan MORPG 2D yang ditulis dalam Java, kami melakukan hal-hal berikut dan berhasil dengan baik:
Komunikasi antara klien dan server dilakukan dengan menggunakan tindakan dan persepsi:
Kami melakukan beberapa "trik" untuk mendapatkan kinerja tambahan:
sumber
Gunakan socket.io , ini adalah perpustakaan abstraksi WebSockets yang berguna yang menyediakan cadangan untuk browser yang tidak mendukungnya.
Juga, jika Anda menggunakan model online seperti itu, saya akan merekomendasikan untuk memindahkan pemrosesan game ke server. Dengan begitu Anda hanya perlu mengkomunikasikan perubahan grafis dan input mouse / keyboard. Ini juga membantu sedikit untuk mencegah kecurangan.
sumber