Pada dasarnya, judulnya mengatakan itu semua. Saya telah melihat dan bekerja dengan Django, Rails dan sedikit dengan Cake PHP. Saya ingin tahu apakah ada kerangka kerja yang sangat baik untuk mendukung pengembangan game berbasiskan browser 2d. Yang paling dekat yang saya lihat adalah flash, tetapi saya ingin mencari sesuatu open source. Sesuatu yang bisa menangani grafik dan komunikasi ke basis data akan ideal. Ada saran?
browser-based-games
casual-games
Albert Perrien II
sumber
sumber
Jawaban:
Saya mengelola daftar sumber daya yang terkait dengan pengembangan game javascript yang menurut saya bermanfaat, termasuk daftar mesin game dan layanan web yang dapat Anda integrasikan.
Anda perlu melacak dua konsep berbeda: Presentasi sisi klien dan pemrosesan sisi server. Jika Anda mengembangkan game bergaya flash biasa, game yang lengkap mungkin adalah presentasi sisi klien, dicampur dengan beberapa layanan web untuk skor tinggi dan sejenisnya. Namun, jika Anda ingin sering melakukan permainan gaya sosial, mulitplayer, atau mmo, jika tidak sebagian besar permainan ada di server untuk mencegah kecurangan, dan klien hanya akan bertindak seperti terminal bodoh. Bagaimana hal itu ditangani mungkin merupakan topik untuk pertanyaan lain.
Yang menarik bagi siapa pun yang ingin berkomunikasi secara realtime antara browser dan server harus socket.io yang merupakan abstraksi di atas websockets dengan fallback menggunakan flash di browser lama.
sumber
Ada beberapa mesin / kerangka kerja yang muncul dengan HTML5. Berikut ini beberapa tautan yang mungkin menarik:
Terlepas dari Mesin Rocket, mesin ini hanya menutupi sisi klien dari sebuah permainan. Jadi tidak ada komunikasi langsung ke basis data (kecuali jika Anda menggunakan sesuatu seperti Google Gears ).
Bergantung pada gim Anda, Anda masih harus mengimplementasikan beberapa hal backend di Ruby, Java, PHP, ASP atau yang serupa. IMHO kerangka kerja web-aplikasi biasa akan cukup untuk itu. Node.js mungkin layak disebutkan secara khusus, karena Anda dapat mengimplementasikan backend dalam bahasa yang sama dengan gim Anda (JavaScript).
sumber
Masalahnya adalah, dalam pengembangan web, sebagian besar presentasi biasanya akan dilakukan di sisi server (menggunakan kerangka kerja yang menanamkan semacam sistem templating untuk menghasilkan HTML ke klien). Jika Anda ingin melakukan permainan interaktif, banyak pekerjaan harus terjadi di sisi klien (di browser), jadi masalahnya bukan pada bagaimana Anda menghasilkan HTML, melainkan bagaimana Anda membuat sesuatu bergerak di layar pengguna.
Untuk bagian sisi klien ini, seperti yang disebutkan, pilihan Anda adalah Flash atau JS (berpotensi menggunakan Kanvas untuk peramban modern).
Untuk bagian komunikasi client-server-db, salah satu teknologi yang Anda sebutkan akan baik-baik saja. Browser dan server dapat berkomunikasi menggunakan panggilan ajax klasik jika Anda membutuhkannya.
Saya tidak tahu kerangka kerja yang akan menangani kedua masalah, tapi itu mungkin karena mereka benar-benar berbeda, dan terjadi di sisi berbeda dari campuran client-server.
sumber