Saya bertanya-tanya apakah ada pakar di luar sana yang dapat berbagi pengetahuan dan sumber daya tentang apa yang diperlukan untuk mulai membuat game dengan standar HTML dan JavaScript terbaru (atau apa yang beberapa orang suka menyebutnya HTML 5). Apakah ada perpustakaan JavaScript yang penting untuk proses ini? Selain dari <canvas>
tag, potongan HTML apa lagi yang perlu kita ketahui?
web
html5
javascript
Edmundito
sumber
sumber
Ada beberapa kerangka kerja yang sudah ada: GameQuery dan Akihabara , yang merupakan plugin untuk jQuery untuk melakukan beberapa aktivitas yang berhubungan dengan game, seperti animasi, pengelompokan sprite, mendeteksi tabrakan, dan membaca input pemain.
sumber
Hanya untuk membuang lebih banyak sumber daya di luar sana, periksa RaphaelJS . Ini adalah pustaka gambar dan animasi SVG yang sangat bagus yang memiliki API yang bagus. Jangan lupa untuk melihat demo.
Secara keseluruhan, saya akan merekomendasikan
<canvas>
tag melalui manipulasi DOM langsung (misalnya membuat masing-masing sprite sendiri<div>
untuk membuat hit-testing sangat sederhana). Sangat mudah untuk mendapatkan manipulasi DOM yang salah dan berkinerja buruk, sedangkan strategi pengembangan 2d tradisional bekerja dengan baik pada kanvas HTML.sumber
Selain beberapa kerangka kerja pembuatan game yang ada di luar sana, Anda harus mengetahui Burst Engine, yang merupakan kerangka kerja JS untuk menampilkan animasi berbasis SVG di Kanvas HTML5:
http://burst.bocoup.com/
Sejauh ini saya telah melihat orang menyebutkan tag dan, tetapi ada hal-hal DOM lain yang penting untuk pengembangan game JS / HTML, termasuk hal-hal seperti menambahkan callback EventListener ke elemen untuk hal-hal seperti acara 'mousemove' dan 'mousedown'. Misalnya, ini mengambil elemen kanvas pertama yang dapat ditemukan dan mengaturnya sehingga ketika Anda mengklik kanvas, ia memanggil fungsi yang telah Anda tetapkan disebut "shootAtClick":
document.getElementsByTagName ("CANVAS") [0] .addEventListener ('mousedown', shootAtClick, false);
Anda dapat melihatnya beraksi dalam contoh ini di mana saya telah memperluas mesin Akihabara untuk menerima kontrol mouse dasar. (Tekan Z untuk memulai, gunakan tombol panah untuk bergerak, klik mouse untuk menembak ke arah kursor.)
sumber
Pengetahuan tentang komponen HTML5 apa yang didukung di browser apa.
Meskipun kompatibilitas lintas browser menjadi lebih baik dan lebih seragam seiring berjalannya waktu beberapa komponen yang lebih baru masih belum didukung sepenuhnya sama.
Penyimpanan lokal mungkin memiliki beberapa perbedaan spesifik peramban, dan untuk dukungan lawas Anda pasti akan membutuhkan perpustakaan seperti jStorage atau YUI Storage Lite .
Soket web juga mungkin memiliki perbedaan spesifik peramban, tetapi socket.io tampak seperti perpustakaan yang menjanjikan yang menyediakan abstraksi yang nyaman.
Kompatibilitas audio adalah komponen yang cukup utama yang memerlukan file suara yang berbeda untuk browser yang berbeda: http://html5doctor.com/native-audio-in-the-browser/
Chrome memiliki beberapa bug audio yang signifikan, seperti tidak dapat memutar file audio pendek , dan memainkan banyak suara secara bersamaan dapat membuat crash seluruh browser.
Hal utama adalah untuk memahami perbedaan peramban, menggunakan perpustakaan untuk abstrak dan memberikan dukungan lama yang diperlukan.
sumber
HTML dan JavaScript adalah platform yang benar-benar buruk untuk pengembangan game, tetapi itu tidak masalah sampai Anda memutuskan jenis permainan. Jawabannya akan sangat berbeda untuk penembak orang pertama, RTS atau permainan puzzle.
Perhatikan bahwa Anda mulai mendapatkan jawaban yang samar-samar dan lambaian tangan yang mengoceh teknologi acak yang tampak rapi. Itu adalah tanda peringatan bahwa Anda belum mengajukan pertanyaan dengan jawaban yang sangat sah.
Anda mungkin juga menanyakan hal-hal C ++ yang Anda butuhkan untuk menulis aplikasi. Itu tergantung. Ceritakan lebih banyak tentang proyek ini kepada kami, dan Anda mungkin mendapatkan jawaban yang bermanfaat.
Secara keseluruhan, ada alasan bahwa hampir semua gim web masih Flash.
sumber