2013-09-29 13 views
8

Tworzę grę w HTML5. Najbardziej znam język HTML5 i preferuję go w języku wyższego poziomu, na przykład w C++. HTML5 to świetna platforma do pisania gier. Moim jedynym problemem jest to, że chcę uruchomić moją grę jako aplikację natywną (że można uruchomić bez funkcji przeglądarki internetowej, jest pełnoekranowy, itp.), Ale nie wiem, co jest do użycia. Rozejrzałem się i znalazłem rzeczy na platformy mobilne (takie jak PhoneGap), ale bez pulpitów (takich jak Windows, Mac i Linux). Ostatecznie, szukając tak ciężko, jak tylko mogłem, znalazłem TideSDK. TideSDK jest podobny do PhoneGap, ale jest przeznaczony dla systemów operacyjnych komputerów i działa na wszystkich trzech popularnych (Windows, Mac i Linux). JEDNAK, TideSDK tak naprawdę nie działa wystarczająco szybko do gry. Nie obsługuje window.requestAnimationFrame, więc wykonanie setInterval dla pętli gry sprawiło, że jest bardzo powolny. Tak powolny, że zgaduję, że chodziło o 2 lub 3 FPS. Próbowałem tej samej gry w Chrome i działa dobrze.Gra HTML5 na natywną aplikację

Czy jest dostępna alternatywa, która będzie wystarczająco szybka dla gier HTML5? (Nie chcę przechodzić przez XCode [i inne IDE na innych platformach], aby utworzyć ramkę Webkit, nie jest to naprawdę wieloplatformowe i jest czasochłonne. Zrobiłbym to, gdybym musiał, ale) Do mojego systemu używam, używam Maca (OSX 10.8, Mountain Lion), ale mam dostęp do Windows 7 i 32-bitowego Ubuntu 12.04.

+0

... Wystarczy załadować grę przeglądarka i pop w trybie pełnoekranowym? – user1600124

+0

W każdym razie jest tytanowy pulpit .. ale nie jestem pewien, czy wciąż żyje. Jest też qt-webkit .. ale nie jestem pewien co do jego wydajności. Ale myślę, że po prostu używanie chrome i przejście do trybu pełnoekranowego jest wygodniejsze. I nie musisz utrzymywać samej "przeglądarki". – user1600124

+0

@ user1600124 Używam obecnie.Mam tylko jeden problem: chciałbym sprzedać tę grę i być może na Steam. Potrzebuję więc samodzielnej wersji. – pjrader1

Odpowiedz

6

Sam szukałem na chwilę rozwiązania wszechstronnego. Próbowałem wszystkiego od TideSDK, AppJS, natywnego kodu w VB.NET, XCode, Python, C++, Electron, nw.js/node-webkit, etc: W zasadzie to nazwę Próbowałem go.

Uwaga Electron jest niezły, ale działa tylko na 64-bitowych procesorach. Tak więc nw.js/node-webkit jest lepszym rozwiązaniem, jeśli chcesz, aby Twoja aplikacja działała na procesorach 32-bitowych i 64-bitowych.

Postanowiłem więc zbudować własne rozwiązanie open source o nazwie WebDGap. WebDGap działa w systemach Windows, Linux, Mac OS X, Google Chrome i jako aplikacja internetowa! Po wyeksportowaniu aplikacji jako systemu Windows, Linux lub Mac aplikacja WebDGap używa nw.js jako platformy do uruchamiania aplikacji internetowej jako aplikacji komputerowej. Ponieważ używa ona nw.js jako platformy do uruchamiania aplikacji jako aplikacji komputerowej i nie musisz zmieniać kodu tak bardzo, aby aplikacja działała inaczej niż w przypadku Electron.

Na przykład, jeśli używasz JQuery w aplikacji i eksportowania z Electron nie można załadować JQuery jak zwykły biblioteką JavaScript.

<script src="libraries/jquery/jquery.js"></script> 

Trzeba by załadować go tak ...

<script> 
    window.$ = window.jQuery = require("./libraries/jquery/jquery.js") 
    // or if you installed jquery via npm you could use 
    // window.$ = window.jQuery = require("jquery") 
</script> 

Oglądaj How To Video aby nauczyć się korzystać WebDGap.

Oto zrzut ekranu. The WebDGap Application

Będąc już użytkownikiem Maca, możesz scalić wyeksportowaną aplikację do jednego pliku .app mac. Można to zrobić za pomocą Automator (i trochę skryptów powłoki).

Jest też plac zabaw dla kodowania zrobiłem dla użytkowników telefonów komórkowych, który wykorzystuje nw.js jak WebDGap do biegania/konwersja aplikację jako natywnej aplikacji komputerowej o nazwie kodeWeave.

Oto gra Tic-Tac-Toe mam zamiar eksportować jako Mac App: kodeWeave App

Teraz aplikacja internetowa działa jako natywna aplikacja Mac! Tic-Tac-Toe is now running as a Mac App

Wreszcie istnieje wiele narzędzi, dzięki którym można zasilać gry za pomocą WebGL.

Moje ulubione i polecam Goo Create, ponieważ można to zrobić całkowicie bez kodu, ale działa również z niestandardowym kodem, który można dodać do niego.

10

musiałbym zajrzeć do elektronu

http://electron.atom.io/

Dość dobra dokumentacja i wygląda zrobić dokładnie to, czego szukasz.

Wydajność jest dobra w aplikacjach, które wypróbowałem!

+0

@ ciastko Czy ta pomoc osiągnęła to, czego potrzebujesz? – pipedreams2

+1

** UWAGA: ** Elektron będzie działał tylko na 64-bitowych procesorach. Lepiej wykorzystaj [nw.js] (http://nwjs.io/) do kompatybilności z wieloma platformami. –

1

Dla platform mobilnych sugeruję PhoneGap/PhoneGap Build/Cordova.

Do komputerów stacjonarnych sugeruję Nw.js, Chrome App lub WebDGap.

Nw.js to najbardziej zaawansowana platforma technologii internetowej dla komputerów stacjonarnych.

Nw.js jest środowiskiem uruchomieniowym aplikacji opartym na Chromium i node.js. Możesz pisać natywne aplikacje w HTML i JavaScript z Nw.js. Pozwala również na moduły dzwonić bezpośrednio z DOM i umożliwia nowy sposób pisania natywnych aplikacji przy użyciu wszystkich technologii internetowych.

Node.js działa zarówno na procesorach 32-bitowych i 64-bitowych, szybko modernizacji, deweloperzy są bardzo pomocni i ponieważ jest zbudowany od chromu to błyskawicznie.

+0

Ostatni sprawdziłem i plik nw.js był dostępny tylko dla procesorów 32-bitowych. (z wyjątkiem pracy na Mac na procesorach 64-bitowych) To mogło się jednak zmienić. –

+0

Obsługuje 64-bitowe architektury również dla Windows, Linux i Mac – kailniris

+0

Czy wiesz, kiedy to zrobili? –

Powiązane problemy