Bagaimana kondisi mesin game saat ini, kerangka kerja, perpustakaan, dan konversi yang terkait dengan set teknologi HTML5 (termasuk perpustakaan CSS3 dan JavaScript seperti RaphaelJS, Impact, gameQuery); dan bagaimana yang terbaik dari itu dibandingkan dengan mengembangkan aplikasi asli (terutama untuk iOS dan Android)?
Terutama dalam hal kinerja, visual dan mendapatkan "rasa asli" itu.
Pikiran tentang solusi seperti Appcelerator dan Corona SDK juga dihargai. Berkenaan dengan Unity3D, apakah mungkin untuk mengembangkan di dalamnya dan masih bisa dimainkan di browser (seperti rilis Chrome atau Firefox saat ini, setidaknya) tanpa ketergantungan atau meminta pengguna menginstal apa pun (tidak ada pemain web kesatuan) .
Apa yang saya cari adalah bagaimana mengembangkan dalam standar web untuk mencapai jumlah platform maksimum (termasuk ponsel di luar) sambil tetap mempertahankan pengalaman asli untuk seluler tanpa harus mengimplementasikan game baru untuk iOS dan Android.
sumber
Jawaban:
Perpustakaan HTML5 sangat bagus terutama mengingat usianya yang masih muda. Ada mesin 2D / 3D solid yang mendukung efek partikel, fisika, dan sejenisnya. Namun, tidak ada yang sebanding dengan mesin game yang mapan dan matang seperti Unity atau Unreal Engine.
Juga HTML5 libs dalam pengalaman saya ingin menjadi event driven. Misalnya sprite akan memiliki event onclick dan tidak akan ada loop permainan tradisional.
Untuk kinerja aplikasi asli jauh, jauh lebih cepat daripada apa pun yang berkaitan dengan kanvas HTML 5. Itulah sejauh pengalaman saya, saya tidak tahu tentang Appcelerator atau Corona SDK.
Namun jika tujuan Anda lebih merupakan "jumlah platform maksimum" daripada bagian "standar web", saya sarankan solusi seperti Unity yang bekerja pada hampir semua hal dan berkat editor bawaannya adalah mesin yang sangat produktif.
sumber
Tom di sini dari Scirra, kami membuat Construct 2 pembuat game HTML5 .
Kami baru-baru ini membuat blog tentang ini, membandingkan kinerja HTML5 Canvas / WebGl / C ++ DX. Anda dapat membacanya di sini:
http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis
Dan inilah grafiknya:
Saya tahu ini bukan kinerja dibandingkan dengan format seluler asli, tetapi ini adalah perbandingan dengan aplikasi asli desktop yang harus memberikan beberapa indikasi kesenjangan kinerja.
sumber
Pertama dan terpenting, Corona SDK menyenangkan untuk diajak bekerja sama. Lua adalah bahasa yang hebat, Corona adalah kerangka kerja yang sangat menyeluruh, dan dokumentasinya sangat bagus sejauh ini.
Menurut saya pengembangan game HTML5 belum layak. Baik di peramban desktop dan seluler. Jika tujuan Anda adalah membuat game yang luar biasa untuk dijalankan di desktop dan perangkat seluler, maka jangan repot-repot. Jika tujuan Anda adalah membuat game HTML5, maka buatlah dan gunakan salah satu kerangka kerja yang telah disebutkan orang (lihat juga Crafty atau Gee untuk lebih banyak antarmuka tipe gambar).
Alasan utamanya adalah ketika saya membuat game, saya ingin membuat game yang lengkap dan dipoles. Bagian dari membuat game yang lengkap dan dipoles adalah audio yang bagus. Meskipun
<audio>
tag ini didukung pada browser utama (dengan asumsi Anda memberikan format yang cukup berbeda), mengelola soundtrack Anda secara programatikcreateElement
agak menyusahkan. SoundManager 2 adalah bantuan-band, bukan solusi. Dalam banyak kasus itu hanya akan jatuh kembali menggunakan objek Flash untuk desktop. Di titik mana saya bertanya, mengapa tidak membuat darn saja di Flash?Di iOS, kecuali Anda menggunakan retasan seperti di perpustakaan Jukebox Zynga , Anda sebenarnya terbatas hanya memainkan suara sebagai respons terhadap input pengguna. Itu konyol.
Selain itu, kecuali jika Anda mengemas game HTML5 Anda sebagai aplikasi, orang-orang membutuhkan koneksi untuk bermain. Waktu yang saya habiskan paling banyak bermain game mobile adalah di kereta bawah tanah - tidak ada sinyal. Dan jika Anda mengemas game Anda, bukankah akan aneh jika tidak memiliki suara? Jika saya mengunduh gim, saya mengharapkan tingkat respons dan poles tertentu. Baca: aplikasi asli.
Sampai HTML5 lebih lanjut dikembangkan dan browser seluler lebih cepat dan audio HTML5 berhenti mengisap, saya akan bersenang-senang bermain dengan Javascript dan
<canvas>
sebagainya, tapi saya tidak akan bertindak sejauh untuk menghasilkan game yang dipoles dengannya. Itu bermuara pada apa tujuan Anda. Sangat sedikit saya tahu siapa yang bermain game dan bukan pengembang bahkan memiliki game HTML5 seluler di radar mereka. Sekali lagi, jika Anda ingin membuat game HTML5 yang luar biasa, buat game HTML5. Jika Anda ingin membuat dan menjual game yang luar biasa, jadikan kualitas pengalaman pemain Anda sebagai prioritas.sumber
Lihat http://cocos2d-javascript.org/
Ini belum sepenuhnya diimplementasikan. Tapi begitu selesai, mungkin itu yang terbaik :)
Ada beberapa demo di situs itu, mereka cukup bagus ...
Sunting: Baru saja diperiksa, demo tersebut tidak ramah seluler ...
sumber
Seperti yang ditunjukkan oleh jawaban lain, perbedaan kinerja cukup besar. Namun, ada cara baru yang digunakan untuk mendapatkan kinerja web asli di web (menggunakan Chrome).
MonoGame adalah implementasi opensource dari kerangka kerja XNA yang dirancang untuk bekerja di sebanyak mungkin platform. Ketika ini dikombinasikan dengan Google Chromes NaCl (Native Client) hasilnya cukup menakjubkan (memerlukan chrome).
Saran saya adalah membangun aplikasi asli di XNA atau MonoGame dan pertimbangkan NaCl dan / atau ExEn untuk membawa game Anda ke platform lain. Sebagian besar basis kode Anda akan sama untuk semua platform, tetapi ukuran turunnya melepaskan gim Anda tidak akan memiliki kesederhanaan gim HTML5.
HTML5, menurut saya, belum ada dalam hal kinerja yang dapat digunakan tetapi ada opsi lain yang hampir menyaingi aksesibilitas HTML5, meskipun menambahkan sedikit lebih banyak kompleksitas (dan biaya dalam beberapa situasi) untuk rilis game Anda.
sumber
Saya sangat menyarankan libgdx, kerangka kerja berbasis java yang terutama dibuat untuk digunakan pada android dan desktop, tetapi baru-baru ini telah menambahkan html5 ke arsenalnya, saya akan sangat merekomendasikannya. http://code.google.com/p/libgdx/
Beberapa game porting ke html5:
Pax Britannia
Matematika
Pinball Vektor (Contoh game)
sumber
Anda mungkin ingin mencoba PlayN . Ini tidak terlalu matang atau terdokumentasi dengan baik saat ini, dan perlu upaya untuk membuatnya berfungsi, tetapi memungkinkan Anda untuk memprogram di Jawa dan mengekspor game Anda ke sejumlah platform yang berbeda (saat ini, Java, HTML5, Flash, Android dan iOS, dan di masa depan, Windows Phone 7).
Keuntungan yang dimilikinya daripada Corona, Phonegap, dll adalah bahwa ia mengkompilasi game Anda untuk masing-masing platform daripada hanya menjalankannya menggunakan mesin virtual; ini memastikan bahwa Anda mendapatkan kinerja yang hampir asli pada setiap platform.
sumber
Jawaban dan tautan luar biasa - terima kasih!
Saya sedang melakukan benchmarking sendiri (HTML5 / JS dan PhoneGap), dan menemukan jawaban yang sama. HTML5 belum ada di sana. Saya belum bermain dengan jawaban yang lebih 'eksotis' seperti app * mobi, yang mengklaim memiliki browser yang dioptimalkan untuk bermain game, tetapi umumnya "Tulis game Anda dalam HTML5 dan mainkan di telepon" rencananya adalah tidak layak pada saat ini. Mungkin sampai di sana, tapi saya tidak yakin. Peramban tidak dimaksudkan sebagai mesin rendering, dan kami melompati banyak rintangan untuk sampai ke sana. Saya pikir sebagai gantinya kita akan melihat seseorang datang dengan alternatif yang mendapat massa kritis, dan itu akan lepas landas. Waktu akan menjawab.
Saya akan menyukai umpan balik dan kritik konstruktif dari pekerjaan saya, yang ada di GitHub dan gratis untuk semua.
https://github.com/GameMaker/PhoneGap-Performance-Test--PGPT-
sumber