HTML5 mobil oyun geliştirme ile yerel oyun uygulamalarının karşılaştırılması [kapalı]


12

Oyun motorlarının, çerçevelerinin, kitaplıklarının ve HTML5 teknolojilerine ilişkin dönüşümlerin (CSS3 ve RaphaelJS, Impact, gameQuery gibi JavaScript kitaplıkları dahil) mevcut durumu nedir; ve bunun en iyisi yerel bir uygulama geliştirmeyle nasıl karşılaştırılır (özellikle iOS ve Android için)?

Özellikle performans, görseller ve bu “yerli hissi” elde etme açısından.

Appcelerator ve Corona SDK gibi çözümler hakkındaki düşünceler de takdir edilmektedir. Unity3D ile ilgili olarak, içinde herhangi bir bağımlılık olmadan veya kullanıcının herhangi bir şey yüklemesine (birlik web oynatıcısı olmadan) bir tarayıcıda (en azından Chrome veya Firefox'un mevcut sürümleri gibi) oynanabilmesi ve hala oynanabilmesi mümkün müdür? .

Aradığım şey, iOS ve Android için oyunu yeniden uygulamak zorunda kalmadan mobil cihazlar için yerel bir deneyimi korurken, maksimum platform sayısına (mobil dışında da dahil) ulaşmak için web standartlarında nasıl geliştirileceğidir.


2
Birlik hala web oynatıcısını gerektiriyor. Flash 11 dağıtımı üzerinde çalışıyorlar, ancak bu bir süre olmayacak. Mobil tarayıcıda iyi hissettiren bir HTML5 oyunu oynamadım. Ve HTML5 ses hala bir suckitude yığını.
michael.bartnett

1
Eğer "yerli hissediyorum" istiyorsanız, o zaman yerel bir uygulama gerekir ... aksi takdirde her zaman desteklemek istediğiniz platformların ortak payda ile sınırlı.
bummzack

Elbette, fazladan bir iş yapmazdım. Ancak, bir oyunun tüm temellerini yeniden yazmam gerekmediği sürece, dokunmatik arayüzler için daha özel kod eklemek tamamen kabul edilebilir olacaktır.
Vic Goldfeld

1
Deneyimlerime dayanarak, yerel oyunların düşük kaliteli telefonlarda HTML5 olanlardan çok daha fazla performansı var
Nick Shvelidze

Yanıtlar:


7

HTML5 kütüphaneleri özellikle genç yaşları göz önüne alındığında şaşırtıcı derecede iyidir. Parçacık efektlerini, fiziği ve benzerlerini destekleyen katı 2D / 3D motorlar vardır. Ancak, Unity veya Unreal Engine gibi yerleşik ve olgun oyun motorlarıyla karşılaştırılabilir hiçbir şey yoktur.

Ayrıca HTML5 libs deneyimlerime göre olay odaklı olmak istiyorum. Örneğin, sprite'lar bir onclick olayına sahip olacak ve gerçekten geleneksel bir oyun döngüsü olmayacak.

Performans için yerel uygulamalar, HTML 5 tuvaliyle ilgili olan her şeyden çok, çok daha hızlıdır. Bu benim deneyimimin kapsamı olsa da, Appcelerator veya Corona SDK hakkında hiçbir fikrim yok.

Ancak hedefiniz "web standartları" bölümünden daha fazla "maksimum platform sayısı" ise, neredeyse her şey üzerinde çalışan Unity gibi bir çözüm öneriyorum ve yerleşik editörü sayesinde çok verimli bir motor.


6

Scirra'dan Tom, Construct 2'yi HTML5 oyun yapımcısı yapıyoruz .

Kısa bir süre önce HTML5 Canvas / WebGl / C ++ DX performansını karşılaştırarak blog yazdık. Burada okuyabilirsiniz:

http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis

Ve işte grafik:

resim açıklamasını buraya girin

Bunun yerel mobil biçimlerle karşılaştırıldığında bir performans olmadığını biliyorum, ancak performans farkının bir göstergesini vermesi gereken masaüstü yerel uygulamalarıyla bir karşılaştırma.


Grafiği seviyorum. 2016 güncellemesi için bir şansın var mı?
Dan Dascalescu

4

Her şeyden önce, Corona SDK ile çalışmak güzel. Lua harika bir dil, Corona çok kapsamlı bir çerçeve ve dokümantasyon şimdiye kadar harika.

Bence HTML5 oyun geliştirme buna değmez. Hem masaüstü hem de mobil tarayıcılarda. Amacınız masaüstlerinde ve mobil cihazlarda çalıştırmak için harika bir oyun yapmaksa, rahatsız etmeyin. Amacınız bir HTML5 oyunu yapmaksa, gidin ve insanların bahsettiği çerçevelerden birini kullanın (ayrıca çizim tipi arayüz hakkında daha fazla bilgi için Crafty veya Gee'ye bakın).

Birincil neden, bir oyun yaptığımda eksiksiz ve cilalı bir oyun yapmak istiyorum. Tam ve parlak bir oyun yapmanın bir parçası iyi bir ses. Her ne kadar <audio>etiket büyük tarayıcılarda desteklense de (yeterince farklı format sağladığınızı varsayarsak), film müziğinizi programlı olarak yönetmek createElementbir tür acıdır. SoundManager 2 bir çözüm değil, yara bandıdır. Çoğu durumda, masaüstü bilgisayarlar için bir Flash nesnesi kullanmaya başlayacaktır. Hangi noktada soruyorum, neden sadece Flash'taki lanet şeyi yapmıyorsun?

İOS'ta, Zynga'nın Jukebox kütüphanesinde olduğu gibi bir bilgisayar korsanlığı kullanmadığınız sürece , aslında yalnızca kullanıcı girdisine yanıt olarak ses çalmakla sınırlısınız . Bu saçmalık.

Ayrıca, HTML5 oyununuzu bir uygulama olarak paketlemediğiniz sürece, insanların oynamak için bir bağlantıya ihtiyaçları vardır. En çok mobil oyun oynamak için harcadığım zaman metroda - sinyal yok. Ve eğer oyununuzu hazırlarsanız, sesin olmaması tuhaf olmaz mı? Eğer bir oyun indiriyorsam belli bir seviyede tepki ve cila bekliyorum. Oku: yerel bir uygulama.

HTML5'in daha gelişmiş ve mobil tarayıcıları daha hızlı ve HTML5 ses emmeyi durdurana kadar, Javascript <canvas>ve tüm bunları oynarken eğleneceğim , ancak onunla cilalı bir oyun üretecek kadar ileri gitmeyeceğim. Hedeflerinizin ne olduğuna bağlı. Çok azının kimin oyun oynadığını ve geliştirici olmadığını biliyorum, radarlarında mobil HTML5 oyunları bile var. Yine, harika HTML5 oyunları yapmak istiyorsanız, HTML5 oyunları yapın. Harika oyunlar yapmak ve satmak istiyorsanız, oyuncularınızın deneyiminin kalitesini bir öncelik haline getirin.


2012 ortalarında güncelleme isteğinde bulunma - HTML5 oyun geliştirme iyileştirildi mi? Hala performans boşluğu ve ses sorunları var mı?
Flash


3

Diğer cevapların gösterdiği gibi, performans farkı oldukça büyük. Bununla birlikte, web'de yerel web performansını elde etmek için yeni yöntemler kullanılmaktadır (Chrome kullanarak).

MonoGame , mümkün olduğunca çok sayıda platformda çalışacak şekilde tasarlanmış XNA çerçevesinin açık kaynaklı bir uygulamasıdır. Bu, Google Chromes NaCl (Yerel İstemci) ile birleştirildiğinde sonuçlar oldukça şaşırtıcıdır (krom gerektirir).

Benim tavsiyem XNA veya monogame yerel bir uygulama oluşturmak ve / veya NaCl düşünün olacağını Exen diğer platformlar üzerine, oyun oynamak için. Kod tabanınızın büyük çoğunluğu tüm platformlar için aynı olacaktır, ancak aşağı boyutu oyununuzu serbest bırakması bir HTML5 oyununun basitliğine sahip olmayacaktır.

HTML5, benim görüşüme göre, kullanılabilir performans açısından henüz mevcut değil, ancak oyununuzun sürümüne biraz daha karmaşıklık (ve bazı durumlarda maliyet) eklerken, HTML5'lerin erişilebilirliğine neredeyse rakip olan diğer seçenekler var.


Aman tanrım, NaCl'nin sadece yerli C ++ kodu için olduğunu düşündüm, ama Mono da çalışıyor mu ?!
David Gouveia


1

PlayN'i denemek isteyebilirsiniz . Şu anda çok olgun veya iyi belgelenmiş değil ve çalışmasını sağlamak için biraz çaba harcıyor, ancak Java'da programlamanıza ve oyununuzu birkaç farklı platforma (şu anda Java, HTML5, Flash, Android ve iOS ve gelecekte Windows Phone 7).

Corona, Phonegap, vb.'ye göre avantajı, oyununuzu sadece sanal bir makine kullanarak çalıştırmak yerine platformların her biri için derlemesidir; bu, her platformda yerel performansa yakın bir performans almanızı sağlar.


0

Müthiş cevap ve bağlantılar - teşekkürler!

Kendi (HTML5 / JS ve PhoneGap) ile kıyaslama yapıyorum ve aynı cevabı buluyorum. HTML5 henüz orada değil. Oyun için optimize edilmiş soyulmuş bir tarayıcıya sahip olduğunu iddia eden uygulama * mobi gibi daha 'egzotik' cevaplardan hiçbiriyle oynamadım, ancak genel "Oyununuzu HTML5'e yazın ve bir telefonda oynayın" planı bu noktada geçerli değil. Oraya gidebilir, ama emin değilim. Tarayıcı sadece bir oluşturma motoru değil, oraya ulaşmak için birçok çemberden geçiyoruz. Bunun yerine birinin kritik kütle alan bir alternatif bulduğunu ve bunun başlayacağını düşünüyorum. Zaman gösterecek.

GitHub'da olan ve herkes için ücretsiz olan çalışmalarımın geri bildirimlerini ve yapıcı eleştirilerini çok isterim.

https://github.com/GameMaker/PhoneGap-Performance-Test--PGPT-

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.