Saya tertarik membuat game yang saat ini saya punya pengalaman co-op, namun saya ingin tahu tentang metode terbaik untuk mengimplementasikan ini dalam HTML5.
Saya telah membuat game sebelum menggunakan soket C lurus, dan juga dengan perpustakaan Net untuk SDL.
Apa saja pilihan terbaik saya untuk melakukan ini di lingkungan berbasis kanvas?
Saat ini, yang bisa saya pikirkan adalah solusi AJAX / database (dengan refresh rate yang tinggi), atau entah bagaimana mengimplementasikan server PHP yang akan menyalurkan data melalui soket.
Gameplay keseluruhan akan menjadi jenis permainan platformer-ish 2.5D, sehingga kedua klien perlu terus diperbarui dengan posisi pemain, posisi musuh, proyektil, data lingkungan, dll.
networking
multiplayer
html5
engkau
sumber
sumber
Jawaban:
Socket.IO menawarkan sistem yang dibangun di atas beberapa lapisan lainnya (termasuk soket web, lampu kilat, teknik komet) dengan pemilihan yang anggun.
Node.js adalah salah satu opsi untuk menjalankannya di sisi server.
sumber
Lihat jawaban ini :
sumber
" Komet " mungkin adalah istilah umum yang bisa Anda manfaatkan di sini. WebSockets akan menjadi opsi yang lebih diinginkan (ketika mereka senang bahwa itu aman).
sumber
Node.js adalah jawabannya. Saya telah menggunakannya untuk mengembangkan game menembak multiplayer waktu nyata, dan butuh sekitar 1 bulan dari awal hingga selesai. Ini menghadirkan beberapa tantangan unik, sehingga perlu memiliki latensi minimal, dan semua pemain harus tetap sinkron dengan yang lain agar konsep itu berfungsi.
Sisi klien, dan sisi server keduanya ditulis dalam javascript dan berbagi kelas / logika antara satu sama lain. Itu mulai diperhitungkan ketika mencoba memperbaiki bug, karena Anda tidak harus mengimplementasikan semuanya dua kali.
Permainan telah berjalan, selama sekitar 2 bulan, tanpa restart dan ribuan pertandingan telah dimainkan.
Socket.io adalah implementasi soket dan menggunakan node.js, namun terlalu gembung pada saat ini untuk permainan. Ada implementasi websocket lain di github untuk node.js dan juga contoh game yang menggunakannya.
sumber
Anda selalu bisa menggunakan AJAX dan semacam antrian pesan. ActiveMQ adalah contoh yang bagus. Anda menjalankan ActiveMQ di server, maka JavaScript Anda dapat mengirim dan menerima pesan. Buat saja setiap pemain memiliki nama yang unik, dan kirim pesan ke pemain lain.
sumber
Anda dapat mencoba menggunakan http://easywebsocket.org/ , mudah diimplementasikan dan merupakan solusi serverLess berdasarkan websocket :)
sumber
Saat ini saya menggunakan ini: http://code.google.com/p/phpwebsocket/ sebagai server socket saya untuk diuji. Itu membuat panggilan ke soket C Anda gunakan untuk. Mungkin ada beberapa layanan.
sumber
Kami telah mengerjakan platform multi-pemain yang mungkin menarik bagi Anda. Anda dapat melihat proyek kami di www.16cubes.com - kami menyediakan lapisan javascript sederhana untuk melakukan komunikasi peer to peer. Ini agak didasarkan pada prinsip Comet, dan kami memiliki rencana untuk pindah menggunakan soket web karena menjadi sedikit lebih terstandarisasi. Di sisi lain, kami menyediakan beberapa fitur dari rak .. seperti pencocokan lawan otomatis, obrolan game, teman facebook undangan sekali klik dll.
Kami memiliki demo tic-tac-toe, Anda mungkin bisa mendapatkan ide yang lebih baik jika Anda melihatnya. Dan ya, Anda juga bisa bermain secara anonim. Tidak diperlukan pendaftaran, jika Anda tidak mau. Ada kurang dari 10 API javascript yang perlu Anda kode, dan tersedia di www.16cubes.com/documentation
Kami secara aktif mencari umpan balik, jadi beri tahu kami baik dan buruknya
sumber
Lihat kerangka ini yang saya buat khusus untuk membuat game html5 multiplayer waktu nyata menggunakan node.js dalam pendekatan Klien / Server. Di mana server menjalankan simulasi game, dan pemain hanya mengirim input.
demo: http://vimeo.com/24149718
repo: https://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
sumber