Rumah >hujung hadapan web >tutorial js >Js dan htmlgaming: dari burung marah hingga spektrum zx
mata utama
Hello, Rob. Sila beritahu kami latar belakang anda dalam pembangunan.
Saya telah bekerja dalam bidang pembangunan rangkaian selama kira -kira 13 tahun. Saya belajar sedikit tentang HTML dan CSS-saya lebih berminat dengan reka bentuk web, tetapi kemudian berpaling kepada PHP, apabila saya mengetahui bahawa saya dapat melakukan sesuatu yang sangat kuat dalam pembangunan sisi pelayan. Sebaik sahaja saya tahu bagaimana untuk membuat borang, saya fikir, sekarang, bagaimana untuk mengakses data ini? Semua orang belajar PHP dari bentuk ... ya! Ia sangat keren untuk dapat menghantar data di suatu tempat. Oleh itu, saya bekerja di industri ini, terutamanya terlibat dalam pembangunan front-end, dan bekerja selama beberapa tahun. Saya menjadi tertarik dengan media dan mula menyelidiki JavaScript, dan sejak itu saya menyedari bahawa saya tidak begitu ghairah untuk membuat laman web, tetapi lebih bersemangat tentang teknologi pembelajaran dan menolaknya ke had saya. Saya selalu sangat berminat dalam membuat permainan dan suka mengambil sesuatu untuk melakukan perkara -perkara gila untuk mengetahui bagaimana ia berfungsi, jadi semasa kolej saya melakukan banyak kerja HTML5 - terutama kanvas.
Anda mesti mula bermain -main dengan kanvas pada hari -hari awal, bukan?
Sebenarnya, kanvas wujud sebelum saya mula. Apple menggunakannya untuk membuat widget papan pemuka mereka. Ia sentiasa di Webkit, walaupun ia tidak pernah menstabilkan dalam pelayar lain -atau sekurang -kurangnya ia tidak pernah menyeronokkan. Tiada siapa yang pernah melakukan apa -apa dengannya. Tetapi apabila saya melihat kanvas, saya fikir ia benar -benar sejuk. Saya bermula pada masa yang baik - terdapat sedikit buku di atasnya pada masa itu, tetapi ia juga membawa banyak peluang. Saya adalah salah satu daripada beberapa orang yang menyelidikinya secara mendalam. Di samping itu, saya turut mengambil bahagian dalam eksperimen API JavaScript. Saya fikir saya bukan seorang pereka atau pemaju -antara kedua -dua. Saya suka pengaturcaraan visual. Perkara -perkara seperti pembuatan permainan dan kanvas adalah sempurna kerana anda boleh menggabungkan pembangunan tegar dengan beberapa pengalaman antara muka yang benar -benar intuitif. Itulah yang saya kerjakan di Mozilla;
Apa yang membuat anda berminat dengan permainan HTML5/JavaScript? Adakah anda peminat permainan?
saya mempunyai permainan dalam hidup saya - saya mempunyai spektrum zx, konsol permainan ...
wow! Adakah anda peminat ZX Spectrum?
Ayah saya tidak suka komputer, tetapi atas sebab tertentu dia berfikir membeli satu adalah idea yang baik. Tetapi saya sangat tertarik dengan idea bahawa permainan itu muncul selepas memasukkan pita! Maksud saya, saya masih sangat muda, tetapi saya masih ingat- "memerangi itik", dan semua permainan gila. Kemudian apabila saya mula bermain permainan PC, produktiviti saya jatuh untuk masa yang lama! Tetapi permainan ini sentiasa menyeronokkan untuk saya. Teknologi seperti Flash dan JavaScript membuat saya menyedari bahawa ia begitu sejuk sehingga saya dapat membuat permainan sekarang. Kemudian sebaik sahaja anda mula membuat permainan, ia membuka peluang baru yang baru. Ia seperti perasaan yang saya rasakan ketika saya mula -mula membuat laman web - saya menciptanya! Terdapat banyak teknik yang berbeza yang boleh anda pelajari dalam pembangunan permainan -input, grafik visual, bunyi -dan anda tidak selalu mendapat pengalaman itu ketika membina laman web standard. Dalam permainan, anda sentiasa menolak perkara ke had.
Jadi jika saya berminat dengan pembangunan permainan HTML5/JavaScript, apa yang harus saya pelajari terlebih dahulu dan arah apa yang harus saya usahakan?
Master JavaScript; Tetapi apabila anda gembira dengan JavaScript, anda boleh melihat beberapa API grafik -seperti API kanvas. Kanvas adalah API yang sangat baik. Sehingga saya melihatnya, saya benar -benar tidak tahu bagaimana untuk menarik sesuatu dalam penyemak imbas tanpa membuat imej. Anda juga boleh menyemak API audio. Fungsi multimedia di HTML5 sangat menarik. Semak beberapa enjin permainan. Anda tidak semestinya perlu belajar dari awal, tetapi terdapat banyak enjin permainan yang akan membolehkan anda memulakan dengan cepat tanpa perlu memahami asas -asas sepenuhnya. Sebagai contoh, licik, saya percaya ia adalah enjin Australia dan ia adalah percuma. Kemudian terdapat enjin yang sangat baik, dengan harga $ 99, yang dipanggil Impact - enjin permainan yang sangat baik dengan dokumentasi yang sangat didokumentasikan. Jika anda ingin membuat permainan dengan JavaScript tetapi tidak semestinya ingin mendapatkan terlalu jauh ke dalam butiran pelaksanaan, enjin ini adalah titik permulaan yang hebat. Jika anda benar -benar ingin melihat lebih mendalam di dalam dan keluar dari pembangunan permainan, pelajari cara animasi menggunakan alat seperti RequestAnimationFrame, yang dapat mengoptimumkan gelung di JavaScript. Apabila anda menggabungkannya dengan API kanvas, seperti bergerak persegi di sekitar skrin, itu bukan tugas yang sukar untuk menggunakan papan kekunci untuk menaip dari sana. Dari sana, anda boleh mengambilnya di mana sahaja yang anda mahukan.
jadi nampaknya anda masih perlu memahami JavaScript asas dengan baik.
Ya. Maksud saya, terdapat beberapa perpustakaan permainan seperti jQuery - enjin seperti licik dan impak agak seperti itu. Tetapi mereka tidak abstrak sebagai jQuery. Jika anda ingin melakukan sesuatu yang lebih rumit, anda masih perlu menulis JavaScript. Tetapi jika anda hanya mahu melakukan animasi asas seperti memperkenalkan imej sebagai sprite dan bergerak -anda boleh melakukannya dengan licik. Masalahnya ialah, anda tidak memahami sepenuhnya apa yang berlaku di belakang tabir. Di luar web, jika anda ingin membuat permainan, anda boleh menggunakan flash atau perpaduan kerana ia abstrak cara untuk mengendalikan animasi kompleks dan kesan fizikal. Tetapi, bagi saya, memahami JavaScript bermakna saya boleh membuat permainan dari awal. Ya, ia boleh menjadi sukar dan mungkin mengambil sedikit masa, tetapi ia berbaloi dalam jangka masa panjang. Sekiranya anda sekurang -kurangnya dapat memahami asas -asasnya -untuk gelung, tatasusunan dan objek, dan lain -lain -maka anda akan sangat menghargainya apabila anda ingin memindahkan perkara lebih jauh.
HTML5 dan JavaScript seolah -olah telah membawa kepada letupan permainan strategi permainan retro, permainan platform, dan kebangkitan permainan lama seperti Pong. Adakah anda fikir ia akan pergi ke arah lain, seperti projek yang lebih kompleks dan interaktif?
Permainan retro sejuk dalam hal ini. Permainan HTML5 berada dalam tahap yang agak mudah, jadi permainan retro sempurna - mereka tidak memerlukan banyak kebolehan, terutamanya dalam 2D, dan mudah dibuat. Begitu juga apabila permainan Flash popular. Tidak ada yang dapat menghentikan pemaju daripada menggunakan JavaScript untuk mencipta pengalaman yang lebih mendalam. Kami mula melihat bagaimana kami menggunakan WebGL. Ramai orang mula membuat permainan lebih dekat dengan orang yang anda lihat di iOS -walaupun permainan 3D menggunakan teknologi seperti percepatan perkakasan. "Pong" hebat, tetapi ia tidak mendorong terlalu banyak teknologi; Saya telah melihat seseorang membuat gempa 4 di WebGL dan ia berjalan lancar. Kita perlu melihat lebih banyak permainan ini untuk membantu menubuhkan web sebagai platform untuk permainan moden. Kami kini mempunyai teknologi dan keupayaan yang kami perlukan untuk membuat permainan sebenar. Dan apa yang saya maksudkan dengan permainan sebenar adalah permainan yang dapat anda lihat dalam permainan PC. Kami mula melihat syarikat dan pemaju yang bergerak ke arah ini. Kita perlu membuat permainan dalam talian yang dibina untuk Internet. Sekarang kita melihat kebangkitan semula permainan interaktif, tetapi kita tidak melihat terlalu banyak permainan yang dibuat khusus untuk web. Saya ingin melihat lebih banyak permainan yang memanfaatkan rangkaian sambil merealisasikan batasan peranti. Hanya kerana anda boleh membuat permainan yang sama di kedua -dua platform tidak bermakna ia sepatutnya sama. Saya fikir rangkaian mempunyai peluang untuk menjadi platform permainan bebas - matlamat yang unik, bukan hanya tempat lain untuk meletakkan permainan standard. Sebaik sahaja pemaju permainan mendapat ini di bawah genggaman, saya fikir kita akan melihat sesuatu yang sangat menarik. Sekarang permainan di web benar -benar hanya menyalin platform lain - permainan cukup statik, dan mereka tidak benar -benar menggunakan apa -apa yang ditawarkan web, seperti ciri sosial atau keupayaan untuk menyambung ke API lain. Semua ini wujud di web dan kami menggunakannya di laman web, tetapi apa yang berlaku jika kami menggunakannya dalam permainan?
Apa yang dilakukan oleh banyak pemaju dalam permainan penyemak imbas sering melibatkan penggalian melalui masa lalu, yang tidak semestinya sesuatu yang buruk - tetapi bolehkah anda melihat sambungan konsep dan idea?
itu akan menjadi impian saya. Sekarang saya fikir kita tidak adil kepada HTML dan Web sebagai platform permainan. Kami membandingkannya dengan platform sebelumnya; Kami membawanya kerana ia berjaya. Ini tidak adil; kami membandingkan platform web ke platform asli yang dibina. Sudah tentu, platform asli lebih baik - ia dibina untuk kawalan sentuhan, beberapa bahasa dan teknologi pengaturcaraan. Kami tidak akan membiarkan rangkaian berkembang secara bebas dengan mengehadkannya kepada apa yang telah kami lakukan sebelum ini. Kita boleh melepaskan kuasa rangkaian dan mencuba sesuatu yang tidak terhad seperti permainan yang biasanya kita mainkan - sebagai contoh, kita melihat bahawa permainan itu terkandung dalam kotak kecil dalam penyemak imbas. Tidak ada sebab untuk permainan terpaksa muncul dalam kotak kecil sebagai sebahagian daripada laman web -ia boleh menjadi sebahagian daripada rangkaian; Tidak ada sebab mengapa anda tidak boleh bermain permainan di Twitter. Saya berharap bahawa apabila orang secara beransur -ansur merangkul idea permainan dalam talian, kita akan melihat banyak permainan baru yang akan datang. API JavaScript dibina untuk rangkaian. Ini adalah teknologi yang sangat asas;
Bagaimana anda membuat idea -idea ini bernilai pasaran?
Ini adalah salah satu masalah yang kita cuba selesaikan di Mozilla. Ini juga merupakan salah satu masalah biasa yang kita dapat dari pemaju permainan - "kedengarannya baik, tetapi bagaimana jika saya tidak mahu memberikan permainan saya secara percuma?" Semuanya terbuka; Jadi kita mempunyai dua masalah yang perlu diselesaikan di sini. Pertama: Bagaimana kita meyakinkan orang bahawa menggunakan teknologi terbuka adalah idea yang baik? Saya fikir masalah ini mudah diselesaikan kerana jika anda bimbang tentang permainan anda yang dicuri, maka saya tidak fikir rangkaian itu untuk anda. Hanya kerana anda boleh membuat permainan di HTML tidak bermakna ia adalah platform terbaik untuk permainan anda. Dan ada cara untuk mengurangkan masalah ini, seperti mengecut kod -kaedah ini dapat membantu pemaju merasa sedikit lebih selesa dengan penerbitan kod yang mereka telah menghabiskan banyak masa bekerja. Soalan kedua ialah Pemasaran: Bagaimana anda menjual permainan anda? Jika anda tidak dapat hidup, maka sekurang -kurangnya sebagai syarikat, membuat permainan tidak masuk akal. Anda boleh pergi ke jalan dan jika anda tidak membelanjakan wang, anda tidak perlu bimbang tentang menghentikan orang daripada memasuki permainan anda, tetapi anda boleh menggunakan mod sumbangan. Sebaliknya, jika anda benar -benar mahu mematikannya tanpa membayar permainan, anda boleh melakukannya. Kami sedang membangunkan API Aplikasi Web Terbuka di Mozilla, yang membolehkan anda menyediakan resit yang perlu disahkan pada pelayan pemaju permainan. Kami mencari cara untuk merangkul keterbukaan kod, dan bukannya menghentikan orang daripada melihat kod sumber, hanya membuat titik, bolehkah anda katakan, adakah anda membayar untuk permainan ini? Jika tidak, maka anda tidak akan mendapat pengalaman penuh. Ini bukan pil sihir. Jika ia hanya pemain tunggal yang telah mereka bayar, tidak ada cara untuk menghalang mereka daripada mengambilnya dan melakukan apa yang orang lakukan dengan teknologi rangkaian apabila mereka mendapat semua kod sumber. Saya mempunyai keraguan yang kuat bahawa permainan di internet tidak akan dicuri lebih daripada permainan di tempat lain. Permainan cetak rompak jauh lebih rumit daripada hanya mendapatkan kod sumber. Jika anda mempunyai komponen sisi pelayan, maka anda mempunyai perlindungan, dan di sinilah sistem resit dapat dimainkan. Jika anda tahu bahawa permainan tidak dapat dimainkan kecuali seseorang melawat pelayan anda, maka anda dapat mengawal pengalaman. Jika mereka mencuri kod front-end, mereka masih tidak dapat memainkan permainan ini kerana mereka tidak mendapat kod pelayan anda, dan jika mereka boleh masuk ke pelayan anda, maka anda mempunyai masalah lain. Saya tidak fikir tidak ada masalah dengan permainan mengewangkan dalam talian -masalah pada masa ini adalah bahawa kita belum mempunyai kejayaan besar lagi. Ini adalah persoalan ayam atau telur terlebih dahulu - orang menunggu kejayaan, dan kejayaan tidak akan datang kerana orang sedang menunggu. Kami memerlukan seseorang untuk maju dan mencubanya. Dan ia adalah internet, jadi anda tidak perlu menjual permainan seperti dulu. Anda mungkin dapat menghasilkan wang dari pembayaran dalam permainan, jadi anda masih boleh mempunyai pengalaman permainan percuma, tetapi mengawal apa yang orang alami dalam permainan-pemain peringkat mencapai, perisai yang mereka miliki, atau keuntungan tenaga.Sebaik sahaja kita memahami sepenuhnya apa yang mungkin, kita memikirkan cara mengewangkannya, terutamanya selepas syarikat besar seperti EA Join - jika ada yang tahu bagaimana untuk menghasilkan wang, itu orang -orang ini. Saya fikir pemaju bebas akan mengikutinya. Ia tidak semudah itu di iOS ... tetapi mereka sudah memimpin besar. Terdapat banyak cara untuk melakukannya secara dalam talian. Akhbar telah mula mempertimbangkan untuk memperkenalkan paywalls ... ini tidak semestinya berfungsi. Persoalannya, sekiranya anda menyekat kandungannya? Adakah ini menentang niat asal Internet? Adakah terdapat cara lain untuk menghasilkan wang yang lebih sesuai untuk internet? Mungkin itu jawapan kepada soalan itu - bukan "bagaimana saya menghalang mereka daripada bermain permainan saya jika mereka tidak membayar?", Tetapi "Bagaimana saya membuat wang dari permainan ini dengan apa yang baik di internet?" Malah dari pemain membuat wang di sana, tetapi membuat wang dari penaja. Saya ingin tahu di mana kita akan berada dalam setahun. Kami mungkin melihat satu siri permainan yang berjaya membuat banyak wang.
soalan yang sering ditanya mengenai permainan html5 dan webgl
WebGL bermaksud Perpustakaan Grafik Web. Ia adalah API JavaScript yang membolehkan grafik 3D dan 2D interaktif dalam mana-mana pelayar web yang serasi tanpa pemalam. WebGL adalah penting untuk permainan HTML5 kerana ia menyediakan pemaju dengan keupayaan untuk mewujudkan pengalaman grafik yang kaya dan berkualiti tinggi yang boleh berjalan lancar pada pelbagai peranti. Ini membuka kemungkinan yang tidak berkesudahan untuk pembangunan permainan, kerana ia membolehkan untuk mewujudkan permainan yang kompleks dan immersive yang boleh dimainkan secara langsung dalam penyemak imbas.
Permainan HTML5 mempunyai banyak kelebihan berbanding platform permainan tradisional. Pertama, permainan HTML5 adalah platform-agnostik dan boleh dimainkan pada mana-mana peranti dengan pelayar web, termasuk telefon pintar, tablet dan komputer. Ini bermakna pemain boleh menikmati permainan kegemaran mereka di mana -mana tanpa memuat turun atau memasang apa -apa. Kedua, permainan HTML5 biasanya lebih cepat dan lebih mudah dibangunkan daripada platform tradisional, dan permainan biasanya memerlukan pengetahuan dan alat khusus. Akhirnya, permainan HTML5 boleh dikemas kini dan diedarkan dengan mudah, menjadikannya menarik kepada pemaju dan pemain.
Ya, salah satu kelebihan besar permainan HTML5 ialah mereka boleh dimainkan di luar talian. Ini adalah terima kasih kepada ciri caching aplikasi HTML5, yang membolehkan aplikasi web menyimpan data pada peranti pengguna untuk digunakan apabila tiada sambungan rangkaian. Ini bermakna anda boleh terus memainkan permainan HTML5 kegemaran anda walaupun anda tidak disambungkan ke Internet.
Permainan HTML5 biasanya selamat seperti aplikasi web lain. Walau bagaimanapun, seperti semua perisian, mereka juga boleh terdedah kepada serangan jika mereka tidak direka dan dikekalkan dengan betul. Pemaju mesti mengikuti amalan terbaik untuk keselamatan web, seperti menggunakan protokol keselamatan, mengesahkan input pengguna, dan sentiasa mengemas kini dan menampal permainan untuk menyelesaikan sebarang isu keselamatan yang berpotensi.
Terdapat banyak permainan HTML5 yang popular hari ini, dari permainan teka -teki mudah ke permainan dalam talian berbilang pemain. Beberapa contoh yang ketara termasuk "2048", "Hexgl" dan "Gem Maze". Permainan ini mempamerkan kuasa dan fleksibiliti HTML5 dan WebGL dan memberi kita gambaran tentang masa depan permainan berasaskan web.
Membangunkan permainan HTML5 memerlukan pemahaman yang baik tentang HTML, CSS, dan JavaScript, serta biasa dengan API WebGL. Terdapat juga beberapa perpustakaan dan rangka kerja yang boleh memudahkan proses pembangunan, seperti phaser, pixi.js, dan tiga.js. Di samping itu, terdapat banyak tutorial dan sumber dalam talian untuk membantu anda memulakan pembangunan permainan HTML5.
Ya, terdapat banyak cara untuk mengewangkan permainan HTML5. Pendekatan yang sama adalah melalui iklan, yang boleh dicapai dengan memaparkan iklan dalam permainan atau menyediakan versi iklan bebas permainan. Pendekatan lain adalah melalui pembelian dalam permainan di mana pemain boleh membeli barangan atau perkhidmatan maya dalam permainan. Akhirnya, sesetengah pemaju memilih untuk menjual permainan mereka secara langsung, sama ada melalui laman web mereka sendiri atau melalui platform pengedaran permainan.
Masa depan permainan HTML5 kelihatan sangat cerah. Dengan kemajuan teknologi web yang berterusan dan peningkatan populariti permainan mudah alih, kami mungkin melihat permainan HTML5 yang lebih inovatif dan menarik pada masa akan datang. Di samping itu, kebangkitan teknologi realiti maya dan tambahan juga boleh membuka kemungkinan baru untuk pembangunan permainan HTML5.
Walaupun permainan HTML5 mempunyai banyak kelebihan, mereka juga mempunyai beberapa batasan. Prestasi boleh menjadi masalah, contohnya, terutamanya untuk permainan yang lebih kompleks. Di samping itu, tidak semua pelayar web menyokong sepenuhnya semua ciri HTML5 dan WebGL, yang boleh membawa kepada isu keserasian. Walau bagaimanapun, dengan perkembangan berterusan dan peningkatan teknologi web, batasan -batasan ini menjadi kurang penting.
Sudah tentu! Walaupun WebGL sering berkaitan dengan permainan, ia juga boleh digunakan dalam pelbagai aplikasi bukan permainan. Sebagai contoh, WebGL boleh digunakan untuk mencipta visualisasi 3D interaktif, lawatan maya, dan juga pengalaman realiti yang ditambah. Kemungkinan hampir tidak terbatas.
Atas ialah kandungan terperinci Js dan htmlgaming: dari burung marah hingga spektrum zx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!