Tworzenie i projektowanie gier w HTML 5

W dzisiejszych czasach tworzenie gier komputerowych może być bardzo dochodowym zajęciem. Mimo to znanych jest wielu twórców, którzy pozwalają cieszyć się swoimi produkcjami całkowicie za darmo. Za zapłatę biorąc sobie przede wszystkim przychylność fanów.

Oczywiście duże firmy związane z branżą gier, jak na przykład Blizzard Entertainment czy Valve Corporaton zatrudniają sporo odpowiednio wykwalifikowanych osób do prac nad każdą ze swoich produkcji, dzięki czemu zdołały wyrobić sobie pewną markę na rynku gier komputerowych,. A gracze mogą się po nich spodziewać wysokiej jakości zabawy czy solidnej dawki elektronicznej rozrywki. Ale wcale nie oznacza to, że firmy tego rodzaju mają monopol na tworzenie gier.

Obecnie mamy mnóstwo twórców tak zwanych produkcji „indie”, czyli gier niezależnych – pisanych i ubieranych w szatę graficzną oraz dźwiękową zwykle w domowym zaciszu. Wbrew temu co mogłoby się wydawać, takie gry cieszą się dużym zainteresowaniem. Mimo że może brakować im zapierających dech w piersiach efektów specjalnych, modeli, tekstur i innych, to kreatywność twórców pozwala stworzyć małe dzieła sztuki wirtualnej zabawy. Wszystko dzięki oryginalnej mechanice rozgrywki, nietypowym rozwiązaniom czy wykorzystaniu znanych już metod w połączeniu z własnymi pomysłami. Mogliśmy to podziwiać chociażby w Faster Than Light – połączeniu tak zwanego roguelike’a z elementami gry strategicznej oraz kosmicznego RPGa.

Jak się wybić?

 

Każdy z nas może spróbować swoich sił w dziedzinie tworzenia elektronicznej rozrywki. A przy odrobinie szczęścia, pomysłowości i umiejętności możemy, nawet zupełnie samodzielnie, wydać coś, co z przytupem wejdzie na rynek gier komputerowych i być może stanie się kiedyś źródłem naszego utrzymania.

Nie musimy jednak od razu zaczynać od gier przeznaczonych na komputery osobiste, konsole czy też urządzenia mobilne. Sporą popularnością wśród autorów, wspomnianych gier niezależnych, cieszy się platforma przeglądarek internetowych. Gry przeznaczone na przeglądarkę coraz bardziej zaczynają przypominać te „normalne”, znane z komputerów osobistych. W porównaniu z poprzednimi latami możemy tu cieszyć oko znacznie przyjemniejszą oprawą graficzną – w przypadku gier indie jest to zwykle pixel art. Co ciekawe również w przypadku produkcji z grafiką 3D oraz ciekawą rozgrywką, stron, forów dla amatorskich programistów czy innych serwisów, na których możemy zabłysnąć dzięki naszej grze jest również sporo.

Większość serwisów poświęconych grom online posiada specjalne formularze kontaktowe. Poprzez nie propozycje nowych produkcji, które miałyby się znaleźć na danych platformach mogą zgłaszać twórcy, jak również sami gracze, którzy natrafili na coś szczególnie wartego uwagi w Internecie. Wielu z właścicieli serwisów z grami na przeglądarki internetowe z chęcią umieści nasze małe arcydzieło w odpowiedniej kategorii. Na przykład jeśli uda nam się stworzyć jakiegoś niekonwencjonalnego RPGa, to możemy liczyć na znalezienie się obok takich przeglądarkowych hitów, jak Sir Coins-A-Lot czy Dungeon Descender. Duży popyt mają też gry sportowe oraz strategiczne, między innymi mające miliony pobrań na urządzenia mobilne i wyświetleń na przeglądarkach, Angry Birds.



No dobrze, decyzja o stworzeniu gry, na początek dostępnej z poziomu przeglądarki internetowej, zapadła. Ale od czego właściwie zacząć? Jakie są obecne „programistyczne trendy” w tej dziedzinie? A co jeśli znamy już jakieś języki programowania, jak C++, który nie do końca da się wykorzystać w produkcji gry na przeglądarkę internetową, a przynajmniej nie bez uprzedniego stworzenia odpowiedniego środowiska lub wykorzystania niekoniecznie intuicyjnego i wydajnego silnika? Warto zacząć od początku.

Czym właściwie jest HTML 5?

 

 

Jednym z bardziej popularnych języków wykorzystywanych przy tworzeniu gier przeglądarkowych jest obecnie HTML 5, a wszelkiego rodzaju produkcje bazujące na HTML 5 nierzadko tworzą odrębną kategorię na wszelakich serwisach z grami online. Ale czym właściwie jest język HTML 5? Dlaczego właśnie ten język wybrać do tworzenia gier? Gdzie możemy zdobyć informacje o działaniu w tym kierunku? Na początek zacznijmy od drobnej dawki historii oraz ogólnej charakterystyki HTML 5.



Jak można wywnioskować z powyższego akapitu, jest to język znajdujący zastosowanie w tworzeniu wszelkiego rodzaju stron internetowych www, będący rozwinięciem HTML 4, a także XHTML 1, czyli po prostu XML-owego wydania tego pierwszego. Język ten opracowany został w ramach grupy roboczej odpowiedzialnej za WHATWG, czyli Web Hypertext Application Technology Working Group oraz znanemu z pewnością wszystkim webmasterom – W3C.


HTML 5 pierwotnie było traktowane jako konkurencja dla specyfikacji XHTML 2, ale rozwój tej drugiej porzucono już w 2009 roku, a wsparcie wszystkich przeglądarek internetowych oraz środowisk programistycznych zostało nastawione na tytułowy język programowania. Oficjalnie, standard został przyjęty i uzyskał rekomendację W3C zaledwie rok temu, czyli w 2014, a w 2016 mają zostać zakończone prace nad specyfikacją HTML 5.1, to znaczy, jak łatwo się domyślić, usprawnioną wersją obecnego języka, a także pojawić ma się nieco informacji na temat standardu HTML 5.2.



Cechą wyróżniającą HTML 5, będącą przeciwieństwem do właściwości typowych dla wymienionego wcześniej XHTML 2, jest to, że język ten stworzony został z myślą o tak zwanej kompatybilności wstecznej, czyli mimo zmiany swojej funkcjonalności, HTML 5 jak i jego każda kolejna, przyszła wersja, pozwala na współpracę ze wszelkim otoczeniem typowym dla starszych wersji oraz jej komponentów.


Dlaczego akurat HTML 5?

 

HTML 5 posiada sporo przydatnych nowinek oraz zalet, w stosunku do HTML 4 oraz jego XML-owych edycji opisanych pokrótce wyżej. Poza wprowadzeniem elementów znacznie usprawniających i ułatwiających tworzenie zarówno serwisów internetowych, jak też aplikacji sieciowych, doprecyzowuje sporo niejasności występujących w HTML 4 – przede wszystkim dotyczących obsługi błędów przez ten standard. Niejasności te powodowały bardzo często, że przeglądarki internetowe nie były w stanie poprawnie obsługiwać błędów w kodzie HTML, co z kolei przekładało się na to, iż sporo serwisów naruszających, w mniejszym lub większym stopniu specyfikację, działało na różnych przeglądarkach w zupełnie inny sposób, a w najgorszym przypadku – nie działało wcale. W HTML 5 obsługa błędów jest traktowana przez przeglądarki w taki sam sposób, co oznacza, że „nieprawidłowe”, z punktu widzenia specyfikacji, elementy aplikacji czy serwisu będą działać w każdej przeglądarce albo nie będą działać w żadnej. Warto także wspomnieć, że HTML 5 można przyodziać w XML-ową otoczkę tworząc tym samym elementy XHTML 5.

Jako twórców gier na przeglądarki internetowe opierających się na HTML 5, powinny nas przede wszystkim zainteresować aspekty API, czyli interfejsu programistycznego aplikacji, tego języka. Jest to zestaw reguł na poziomie kodu źródłowego, dotyczących komunikowania się programów między sobą. W3C zwróciło uwagę na modułowy aspekt języka, określając przede wszystkim jego cechy oraz ich rozwój w ujęciu oddzielnych specyfikacji. HTML 5 pozwala nam między innymi na rysowanie dwuwymiarowych obrazów przy pomocy elementu canvas. Zastosowanie w aplikacji technologii WebGL, czyli OpenGL przeznaczonego dla przeglądarek internetowych, pozwala nam korzystać z trójwymiarowych modeli przy tworzeniu gier i tak dalej. A także przechowywanie danych pomiędzy przeładowaniami strony, dwukierunkową komunikację z serwerem za pomocą technologii Web Sockets czy też korzystania z bazy danych SQL. HTML 5 można także z powodzeniem stosować na wszelkiego rodzaju urządzeniach mobilnych, jak smartfony czy tablety, więc nawet jeśli nie interesuje nas szczególnie tworzenie gier na przeglądarki internetowe, to znajomość tego języka może się przydać na zupełnie innych platformach –sprzęcie obsługiwanym przez system operacyjny iOS albo Android.

Gdzie szukać wiedzy o tworzeniu gier?

 

 

Dzięki dobrodziejstwom Internetu, możemy znaleźć mnóstwo serwisów, gdzie nauczymy się korzystać z HTML 5, zarówno za pośrednictwem lekcji w postaci materiałów wideo lub pisemnych instrukcji pozwalających nam na poznanie podstawowych, jak i bardziej zaawansowanych elementów tego języka programowania. Łatwo również natrafić na inne serwisy, jak na przykład html5gamedevelopment.com, w których nauka HTML 5 jest już ukierunkowana pod tworzenie gier przeglądarkowych. Oprócz całkiem pokaźnej bazy wszelkiego rodzaju tutoriali, możemy przeczytać newsy ze świata programistów wykorzystujących ten język, a także pobrać rozmaite narzędzia czy nawet gotowe silniki – zarówno te płatne, jak ImpactJS („szkielet” będący podstawą dla stworzenia gry w Javie i HTML 5) czy Constuct 2 („kombajn” posiadający edytory poziomów i opierający się na tworzeniu warunków, wydarzeń oraz akcji niż właściwym programowaniu), jak też darmowe – Three.js czy Turbulenz, na których możemy oprzeć swoją produkcję. Ponadto, znajdziemy na stronie odnośniki do innych serwisów, z których możemy, między innymi, pobrać darmowe zasoby graficzne i dźwiękowe, znaleźć kogoś do współpracy lub poszukującego dodatkowej pary rąk do pracy czy też serwisów oferujących pomoc w zakresie licencjonowania naszego produktu oraz pomagających w wybiciu się poprzez promowanie na rozmaitych blogach, stronach poświęconych grom HTML 5 i tak dalej.

HTML 5 jako szansa dla początkujących twórców

 

Dlaczego jednak mamy wybrać właśnie HTML 5, a nie zainteresować się choćby wyłącznie Javą czy innymi językami pozwalającymi na tworzenie aplikacji na przeglądarki internetowe? Jak zwrócono uwagę wcześniej, tytułowy język pozwala naszym grom działać na każdej przeglądarce internetowej i urządzeniu, a także łączyć go z innymi językami programowania – nie musimy martwić się chociażby tym że produkcja będzie wyglądała inaczej (na przykład przez „rozjeżdżane się” grafiki) na Operze, choć na Chrome wszystko wygląda w porządku. Ta właściwość HTML 5 pozwoli nam bez wątpienia dotrzeć do znacznie szerszego grona odbiorców. Ponadto, szerszy jest zakres możliwości dystrybucji gry. Zwłaszcza na urządzenia mobilne, bo nasi potencjalni gracze mogą się o niej dowiadywać przeglądając nie tylko Google Play, ale również próbując zabić nudę wchodząc na serwisy z grami przeglądarkowymi, szukając choćby prostej, ale wciągającej zręcznościówki czy shootera. A z tej pozycji wystarczy odpowiednio rozmieścić linki na stronach czy nawet w naszej aplikacji, aby przyciągnąć rzeszę graczy. Pomóc w tym może też zaimplementowanie takich elementów, jak możliwość porównywania swoich postępów w grze ze znajomymi na Facebooku czy wdrożenie systemu osiągnięć.

Każdy z nas, kto spędzał przy grach trochę czasu w swoim dzieciństwie z pewnością marzył o tym, żeby któregoś dnia samemu stworzyć coś, co zrewolucjonizuje rynek gier, sprawi, że staniemy się rozpoznawalni w tym środowisku i przyniesie nam fortunę. Teraz okoliczności, aby spróbować zrealizować to marzenie, są bardziej sprzyjające, niż może się wydawać – wystarczy nam „tylko” oryginalny pomysł i trochę zaangażowania. A potem trzeba czekać, aż los się do nas uśmiechnie. Warto pamiętać, że trzeba mu w tym pomóc.

::

Fot. Fotolia/ scandinaviastock

Fot. Fotolia/ DigiClack

Fot. Fotolia/ bimbim

Brief.pl - jedno z najważniejszych polskich mediów z obszaru marketingu, biznesu i nowych technologii. Wydawca Brief.pl, organizator Rankingu 50 Kreatywnych Ludzi w Biznesie.

BRIEF