Pengembangan game seluler HTML5 vs. aplikasi game asli [ditutup]


12

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.


2
Persatuan masih membutuhkan pemutar web. Mereka sedang mengerjakan penyebaran Flash 11, tetapi itu tidak akan keluar untuk sementara waktu. Saya belum pernah memainkan game HTML5 di peramban seluler yang terasa nyaman. Dan audio HTML5 masih setumpuk kesedihan.
michael.bartnett

1
Jika Anda ingin "rasa asli", maka Anda memerlukan aplikasi asli ... jika tidak, Anda selalu terbatas pada penyebut umum platform yang ingin Anda dukung.
bummzack

Oh tentu, tanpa kerja ekstra saya akan. Tetapi kompromi dapat dicapai, selama saya tidak perlu menulis ulang semua fondasi untuk sebuah game, menambahkan kode yang lebih khusus untuk antarmuka sentuh akan sepenuhnya diterima.
Vic Goldfeld

1
Berdasarkan pengalaman saya, game asli memiliki kinerja jauh lebih banyak daripada yang HTML5 pada ponsel kelas bawah
Nick Shvelidze

Jawaban:


7

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.


6

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:

masukkan deskripsi gambar di sini

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.


Sukai grafiknya. Apakah ada peluang untuk pembaruan 2016?
Dan Dascalescu

4

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 programatik createElementagak 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.


Meminta pembaruan pertengahan 2012 - sudahkah pengembangan game HTML5 ditingkatkan? Apakah masih ada kesenjangan kinerja dan masalah audio?
Flash

3

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 ...


3

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.


Ya Tuhan, saya pikir NaCl hanya untuk kode C ++ asli, tetapi juga menjalankan Mono ?!
David Gouveia


1

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.


0

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-

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.