Autor Wątek: Co jest fajnego w grach html5?  (Przeczytany 3733 razy)

Offline laggyluk

  • Użytkownik
    • http://laggyluk.com

# Listopad 25, 2014, 01:41:47
Jak w temacie, czy jest coś fajnego w grach pisanych pod html5 poza tym że śmigają w przeglądarce? tzn jaki pożytek z tej ich htmlowatości i jak na tym robić siano

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xender

  • Użytkownik

# Listopad 25, 2014, 08:49:51
Są wieloplatformowe (dobry kod w chyba każdym języku, może poza Windowsowymi Batch-skryptami, może być prznośny, ale nie każdemu chce się pisać dobry, przenośny kod w każdym języku).

Nie wymagają do działania Flasha - będzie działać też na Androidzie.
To niekoniecznie ma taki impakt przy grach, ale w takim odtwarzaczu Youtube - tak.

Offline .:NOXY:.

  • Użytkownik
    • Profil

# Listopad 25, 2014, 08:57:41
I Apple daje natywne wsparcie od iOS 8 :) wiec koniec z cocoonjs etc.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Listopad 25, 2014, 12:02:22
Cytuj
Jak w temacie, czy jest coś fajnego w grach pisanych pod html5 poza tym że śmigają w przeglądarce?
Przykładowo fajne jest to, że można je pisać w C++. :)

Cytuj
i jak na tym robić siano
Chociażby tak: https://www.fgl.com/

Offline laggyluk

  • Użytkownik
    • http://laggyluk.com

# Listopad 25, 2014, 12:11:52
Przykładowo fajne jest to, że można je pisać w C++. :)
to ma być zaleta? ;p
silnik w którym zrobiłem parę gier dorobił się wersji targetującej html5 ale nie wiem czy warto się tym interesować, stąd ten temat

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +1
# Listopad 25, 2014, 12:32:29
Cytuj
to ma być zaleta? ;p
Tak - możesz swoją gierkę (lub demo) umieścić na stronie, co by leniwe ludzie nie musiały ściągać i instalować/rozpakowywać. :)

Z samym komentarzem chodziło mi o to, że kompilacja C++ do HTML5 (asm.js+WebGL) działa na tyle sprawnie, że pisząc grę w C++ można to relatywnie łatwo na HTML5 przenieść. Mi odpalenie mojego frameworku na HTML5 zajęło ze dwa dni, a ponoć Unreal Engine 4 przenosili w cztery.

Offline goshki

  • Użytkownik
    • Vigeo Games

# Listopad 25, 2014, 13:00:41
Jak w temacie, czy jest coś fajnego w grach pisanych pod html5 poza tym że śmigają w przeglądarce?

W sumie nic. Używając nomenklatury z Haxe, HTML5 to tylko target (jeden z wielu), do którego można skompilować kod.

tzn jaki pożytek z tej ich htmlowatości

Np. taki, że coraz więcej platform (desktop, Android, iOS, Tizen, Windows Phone, XBox One, PlayStation, Wii U, i pewnie jeszcze inne znane) umożliwia uruchomienie gier napisanych w HTML5. Druga kwestia to to, że JavaScript jest łatwiejszy do opanowania od C++ (inb4: flejm incomning!), a co za tym idzie więcej osób może spróbować swoich sił w gamedev.

i jak na tym robić siano

Wymieniony już FGL. Poza tym MarketJS, GameBrokerage. Dystrybucja na clay.io, itch.io, GameJolt, Steam (tak, też). No i sprzedaż bezpośrednia na platformach, które wymieniałem wyżej. Ewentualnie dystrybucja np. na Kongregate, Newgrounds czy wreszcie Facebook i monetyzacja we własnym zakresie.

Offline maro

  • Użytkownik

# Listopad 25, 2014, 14:13:51
Cytuj
Np. taki, że coraz więcej platform (desktop, Android, iOS, Tizen, Windows Phone, XBox One, PlayStation, Wii U, i pewnie jeszcze inne znane) umożliwia uruchomienie gier napisanych w HTML5.

Czy może ktoś się wypowiedzieć jak to teraz wygląda w praktyce. Interesuje mnie kompatybilność i płynność.

Z własnych doświadczeń, w zeszłym roku chciałem interfejs jednej apki na androida przenieść na html5 i odpalać z phonegap-a.
Problemem była płynność, nawet podczas przesuwania pojedynczego diva.
Div miał rozmiar połowy ekranu i był przesuwany przy pomocy gestów.
Na desktopie wszystko wyglądało super płynnie i lekko, a na smartfonach przycinało się, ruch był nierówny, a wrażenia użytkowe okropne.
W różnych testach przy pomocy JS (setInterval, requestAnimationFrame), ostatecznie animacji CSS, wyglądało to tak, jakby samo okno przeglądarki było odświeżane jakieś 10 fps, mimo, że funkcje wykonywały się częściej.
Testowałem na komórkach i tabletach z kilkoma rdzeniami, sprawdzałem na różnych przeglądarkach, używałem różnych sztuczek w celu wymuszenia akceleracji sprzętowej, i nic.

Może ktoś podpowie, co mogłem skopać? ;)

Offline Xion

  • Redaktor
    • xion.log

  • +3
# Listopad 25, 2014, 21:48:18
Cytuj
Może ktoś podpowie, co mogłem skopać? ;)
Strzelam, że te "10fps" to ilość layout passów, które przeglądarka wykonuje. W skrócie chodzi o to, że za każdym razem gdy rozmiar, marginesy, padding, border, i pewnie jeszcze fafnaście innych atrybutów DOM node'a się zmieni, może być wymagany reflow otaczającego node'a -- a to bardzo czasochłonny proces (trochę jak składanie tekstu w DTP). Dlatego np. nigdy przenigdy nie można zmieniać wysokości itemów w jakimkolwiek elemencie, który użytkownik ma przewijać, bo uruchomienie reflowa na całej takie liście zabije FPS przewijania.

Offline Xender

  • Użytkownik

# Listopad 25, 2014, 21:55:48
kompilacja C++ do HTML5 (asm.js+WebGL)
Masz na myśli kompilację Emscriptenem do asm.js? Czy jakimś innym narzędziem?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Listopad 25, 2014, 23:11:42
Masz na myśli kompilację Emscriptenem do asm.js? Czy jakimś innym narzędziem?
Dokładnie tak jak napisałeś.

Offline laggyluk

  • Użytkownik
    • http://laggyluk.com

# Listopad 26, 2014, 01:57:00
a jest taka opcja żeby tą grę zembedować w stand alone browser i wrzucić do appstora? Na windzie jest np chromium który się do tego nadaje ale nie wiem jak z innymi platformami

Offline Xion

  • Redaktor
    • xion.log

# Listopad 26, 2014, 02:47:38
Każda platforma mobilna ma (UI)WebView, nie wspominając o wynalazkach typu PhoneGap. A na desktopy jest wspomniane Chromium, z chyba nawet więcej niż jednym projektem który czyni z niego platformę dla aplikacji.

Offline P@tyS

  • Użytkownik
    • Patys coding

  • +1
# Listopad 26, 2014, 10:45:04
Można też użyć https://github.com/rogerwang/node-webkit. Można pisać w HTML5, CSS3, JS i WebGL. Łatwo zrobić paczki do pobrania, jako oddzielne aplikacje.

Offline LukeLi

  • Użytkownik
    • hex13.net - gry, aplikacje html5

# Grudzień 03, 2014, 22:06:25
Prostota ekosystemu. Większość bibliotek do JavaScriptu jest łatwa w obsłudze. Nie wiem czy to samo można powiedzieć o bibliotekach do C++. Sam język też choć dziwny, to jednak jest dość prosty i opiera się głównie na funkcjach i dziedziczeniu prototypowym. Wbudowany garbage collector, nie trzeba zarządzać pamięcią. itp.