HTML5 JavaScript oyununu yerel Windows uygulaması olarak nasıl paketleyebilirim?


13

Web tarayıcıları geliştikçe, JavaScript, Canvas, webgl ile HTML5 oyun geliştirme giderek daha popüler hale geliyor. Web tabanlı oyunların yerel uygulamalara kıyasla avantajı, birden fazla platformda çalıştırılmaları ve işletim sistemine özgü kitaplıklar veya programlama ortamlarıyla uğraşmak zorunda kalmamanızdır.

Web oyunlarınızı zaten krom web mağazası üzerinden satabilirsiniz , ancak indie oyun geliştiricileri için kârlı olmak için henüz çok popüler olmadığını düşünüyorum.

Oyunlarınızı Mac App Store veya Steam'de satarak daha büyük bir kalabalığa ulaşabileceğinizi düşünüyorum, ancak bu nedenle bağımsız bir uygulama olarak paketlemelisiniz.

Mac için, Apple'ın WebView bileşenini kullanarak HTML5 oyunlarınızı yerel uygulama olarak kolayca paketleyebilirsiniz. İşte bunun nasıl yapılacağına dair bir örnek .

Şimdi merak ediyorum: Windows platformu için eşdeğer bir yol var mı?


2
"birden fazla platformda koşuyorlar" ... cehennem kadar yavaş. Üçüncü taraf sistem tabanlı yazılımları içermeden Tarayıcılarla karmaşık iyi görünümlü oyunlar oluşturmanın bir yolu yoktur. Tamamen sinirli
daemonfire300

Evet, oyununuzu OSX, Windows ve Linux uygulamaları olarak paketlemek için node- webkit'i kullanabilirsiniz : < github.com/rogerwang/node-webkit > Kullanımı çok kolaydır.
d13

Yanıtlar:


6

Html5 / js oyunum için düğüm-webkit'i hedefledim . Kodumun çoğu tarayıcı tarafında çalışır, bu nedenle node.js yönleri çoğunlukla küçük bir sunucu çalıştırması ve html / js kodunu gömülü tarayıcıya göndermesini sağlayacak kadar basit olmasıdır.

Hızlı tempolu bir oyun için iyi bir demo, "Bir Sihirbazın Kertenkele" dir. Reddit'teki başarılarından bahsediyorlar ve görünüşe göre düğüm-webkit kullanıyorlar.

"Gamedev Tycoon" un arkasındaki insanlar , açık kaynak olarak Steamworks entegrasyon API'lerini yayınladılar . Düğüm-webkit'ten buharın iç kısımlarıyla etkileşime girmenizi sağlar.

Popüler bir (okuma: acemi dostu) oyun geliştirme platformu " Construct 2 " perde arkasında html5 / canvas kullanarak basit oyunlar oluşturmanıza olanak sağlar. Ayrıca oyunu yürütülebilir olarak paketlemek için node-webkit'i kullanıyorlar. Dijital medya arka planına sahip programcı olmayan arkadaşım oldukça hızlı bir şekilde aldı. İlk test oyununun küçük bir demosunu örnek olarak ağırladım .

Başka bir seçenek, html / javascript ile gitmek istemiyorsanız (ancak yine de tarayıcı tabanlı bir oyun istiyorsanız) Unity çerçevesini veya Unreal Engine'i kullanmaktır . Unreal Engine şu anda tam desteğe sahip olmayabilir, ancak yol haritalarına göre birinci sınıf bir özellik haline geliyor. Sunucu tarafı malzemelerini onlarla entegre etmek oldukça kolaydı ve motorların her ikisi de popüler servislerle mükemmel bir entegrasyona sahip ve sunucu tarafı unsurlarıyla kolayca etkileşime girebilir. Mozilla'nın konuyla ilgili yeni blog gönderisinde web ile nasıl entegre oldukları hakkında daha fazla bilgi edinebilirsiniz .

Bunların hepsi itch.io ile iyi çalışıyor - yayınlamayı umduğum yer burası.


1
Düğüm-webkit ile hızlı ve kolay bir rota: github.com/jyapayne/Web2Executable/releases
Jersh

3

Yanılmıyorsam, .NET Framework'teki Winforms API'sı, HTML içeriğini görüntülemek ve basit bir arabirim aracılığıyla değiştirmek için bir uygulamaya ekleyebileceğiniz bir web tarayıcı bileşenine sahiptir. Önceden yüklenmiş bir web tarayıcısına (genellikle IE) dayanır, bu nedenle kullanıcının oyununuzu görüntülemek için gereken her şeye sahip olduğunu doğrulamanız gerekir, ancak bunun dışında neden işe yaramadığını görmüyorum.

Bu umut verici görünüyor. Umarım yardımcı oldum :)


1

Qt'yi tüm büyük platformlarda çalışacak olan QtWebkit widget'ıyla kullanabilirsiniz.


1

Titanium Desktop , Windows için yerel uygulamalar yapmak için bir HTML5 CSS3 Javascript plataformu sunar, tek dezavantajı, uygulamanın kaynak kodunun herkesin düzenlemesi veya görmesi için tamamen açık kalmasıdır.

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.