Zakończyła się już pierwsza konferencja w całości poświęcona tworzeniu gier w HTML5. Odbyła się w Warszawie, w dniach 22-23 września 2011, z dodatkowym warsztatem W3C w sobotę 24 września. Spotkaliśmy się na wydziale Polskiej Akademii Nauk na ulicy Trojdena 4. W jednym miejscu udało się zebrać około 300 osób z całego świata, w tym największe gwiazdy z branży tworzenia gier w otwartych technologiach.

ongamestart


Dzień 1

Rejestracja rozpoczęła się pierwszego dnia o 8 rano, w którą to godzinę celowałem, ale wstawałem bardzo powoli, przez co ostatecznie pojawiłem się dopiero przed 9. Szybka rejestracja i już z torebką pełną atrakcji udałem się na audytorium.

Robbert Van Os - Marketing and monetizing web applications

Pierwszym prelegentem tego dnia był Robbert ze SpilGames, największej sieci serwisów z grami online na świecie (posiadają na przykład serwis Gry.pl). Pokazał nam branżę gier w punktu widzenia globalnego wydawcy, przedstawiając imponujące statystyki.

Jakub Siemiatkowski - Wh4t th3 h3ll 15 0ctr33 4nd why 5h0uld 1 c4r3?

Kuba pokazał interesujący koncept octree, czyli drzew ósemkowych, polegający na odpowiednim partycjonowaniu danej przestrzeni. Okazuje się, że może się to przydać na przykład podczas detekcji kolizji. Kontynuację wątku (razem z dokładniejszym wytłumaczeniem voxeli) będzie można zobaczyć podczas konferencji JSConf.eu.

Marius Gundersen - How to implement a 3D engine in HTML5

Kolejna prezentacja dotyczyła tworzenia silnika 3D. Marius w bardzo ciekawy sposób pokazał krok po kroku kolejne etapy powstawania takiego silnika w HTML5, zwracając uwagę na problemy, które mogą się pojawić, a także pokazując najlepsze rozwiązania. W ciągu 45 minut, używając koncepcyjnego pseudokodu (a także jego Origami3D), udało mu się zbudować podstawową wersję silnika! Nawet ja, osoba zupełnie niezainteresowana tworzeniem gier w 3D, zrozumiałem koncept i zacząłem myśleć o możliwościach rozwoju takiego projektu. To była najlepsza prezentacja pierwszego dnia konferencji.

Ibon Tolosana - HTML5+JS as a complete multiplatform game development environment

Ibon pokazał wiele przykładów gier stworzonych przy użyciu HTML5 i Javascript (na przykład SUMON), opowiedział także o swoim narzędziu CAAT dedykowanym tworzeniu zaawansowanych animacji z użyciem elementu Canvas.

Rob Evans - Advanced HTML5 game engine architecture and MMO game development

Następny na scenie pojawił się Rob, autor Isogenic Engine - silnika do tworzenia gier izometrycznych. Pokazał swoje sztandarowe demo, IsoCity, a także opowiedział o tym jak udało mu się osiągnąć świetną wydajność przy dużej ilości animowanych elementów na ekranie.

Laurent Hasson - Alice.js: A Lightweight Independent CSS Engine

Laurent z RIM zaprezentował Alice.js - lekki silnik wykorzystywany do generowania animacji CSS. Niektóre z koncepcji były zaskakująco proste, a jednocześnie dające sporo możliwości do konfiguracji - na przykład randomizacja parametrów. Zamiast animacji, w której wszystkie elementy animują się tak samo, możemy dodać szczyptę urozmaicenia. Najlepiej zobaczyć to wszystko na przykładach.

Ryo Shimizu - Introduction to 9leap.net, the HTML5 mini game contest

Na koniec dnia mieliśmy do czynienia z Ryo, założycielem strony 9leap.net, na której umieszczane są gry stworzone z użyciem enchant.js. Silnik ten, najpopularniejszy w Japonii, rozwijany jest przez fundację Ryo, która wspiera młodych programistów w tym kraju. Mimo, że byliśmy już nieco zmęczeni, to jednak warto było doczekać do tej prezentacji - nasz prelegent posiadał jedynie śladowe ilości języka angielskiego we krwi. Starał się bardzo, za co należą mu się brawa, ale robił to z tak uroczą nieporadnością, że rozbawił całą salę do łez. Przy okazji: czy ktoś wie może co oznacza 'moto moto' po japońsku?

Impreza

Po prezentacjach przyszedł czas na piwo - odwiedziliśmy klub Inside. Zebrało się całkiem sporo osób, spędziliśmy miło czas rozmawiając na różne tematy. Niestety, dali nam jedynie jednego barmana na cały lokal, który ewidentnie nie chciał się przemęczać, więc czas oczekiwania na alkohol nie spadał poniżej 20 minut. Na dodatek szybko skończyło się piwo - no cóż, nie można mieć wszystkiego. Ja zmyłem się jeszcze przed północą, ale podobno niektórzy wojowali jeszcze kilka kolejnych godzin.

Dzień 2

Co prawda lekko zaspałem, ale spóźniłem się niewiele i już kwadrans z hakiem po 9 siedziałem wygodnie i słuchałem pierwszej prezentacji.

Martin Kool - HTML5 is the next portable gaming console

Martin podczas swojej prezentacji opowiedział o historii gier zaczynając od pierwszych procesorów, a kończąc na grze Donkey Kong II na iPada. Było o twórcy internetu, pierwszych procesorach, canvasie w HTML działającym na IE5, o konwersji starych gier do najnowszych technologii, a także o grach z Sarien.net prawach autorskich Sierry.

Bartek Drozdz - J3D: Adventures with WebGL

Bartek w swojej prezentacji pokazał nam demo stworzone w technologii WebGL, które zrobiło na wszystkich niesamowite wrażenie: słynne 3 Dreams of Black, nad którym pracował cały zespół developerów przez pół roku. Dowiedzieliśmy się o powodach rozpoczęcia eksperymentów z WebGL, zobaczyliśmy także możliwości silnika J3D w akcji.

Brandon Jones - 3D resources for WebGL apps

Kolejnym prelegentem był Brandon, który w swojej prezentacji kontynuował wątek związany z WebGL. Opowiedział o specjalnych technikach generowania zestawów grafik w różnych rozdzielczościach w zależności od tego w którym miejscu znajdował się użytkownik, używanych w demie gry RAGE na iOS. Podczas prezentacji zobaczyliśmy całą mapę z gry Quake 3 wygenerowaną w WebGL, a na koniec małą niespodziankę - cały poziom z Team Fortress 2! Wszystko to w wysokich rozdzielczościach, z dużą ilością generowanych elementów i to bez straty na wydajności.

Rob Hawkes - A journey through the development of Rawkets

Na to wystąpienie czekałem chyba najbardziej - szanuję Roba za to, co robi, podoba mi się jego podejście do problemów zazwyczaj dręczących twórców gier HTML5. Co prawda widziałem już jego slajdy z poprzedniej konferencji, podczas której opowiadał o Rawkets (swojej kosmicznej grze multiplayer), jednak dodał do niej sporo nowych, ciekawych informacji. Jeszcze przed samą prezentacją porozmawialiśmy trochę o problemach z komunikacją sieciową opartą o WebSockets, z czym walczyłem podczas Node Knockout, i sposobach radzenia sobie z nimi.

Seth Ladd - Come learn about Box2D

Seth w swojej prezentacji pokazał nam możliwości Box2D - silnika fizycznego wykorzystywanego w grach (na przykład w webowej wersji Angry Birds). Zobaczyliśmy trochę teorii, kilka dem, a także kod źródłowy odpowiedzialny za odpowiednią obsługę obiektów w wykreowanym świecie. Seth skomponował nawet listę tutoriali dla osób chcących rozpocząć swą przygodę z Box2D.

Kamil Trebunia - HTML5 mobile games development for fun

Przedostatnim prelegentem drugiego dnia konferencji był Kamil pracujący dla Wooga, który mimo zestresowania przed występem zaprezentował się bardzo dobrze. Dowiedzieliśmy się o konkretnym podejściu do tworzenia gier skierowanych na urządzenia mobilne na przykładzie jednej z gier. Poznaliśmy też sposoby zdalnego debugowania naszego kodu - na przykład za pomocą Charlesa, lub wbudowanych w przeglądarki narzędzi.

Dominic Szablewski - Survival guide to HTML5

Na koniec wystąpił Dominic, autor silnika ImpactJS. W swojej prezentacji zaprezentował nam możliwości swojego narzędzia, a także dołączonego do niego rozbudowanego edytora kodu. Okazało się, że nie jesteśmy w stanie ściąć drzewa gołymi rękoma - do tego potrzebne nam są odpowiednie narzędzia. Co prawda licencja na ten silnik kosztuje 99 dolarów, jednak jak na możliwości, które oferuje, nie jest to wygórowana cena.

Spotkanie W3C

Trzeciego dnia z samego rana pojawiliśmy się w tym samym miejscu, w skromnym gronie - tym razem spotkaniem pokierował Francois Daoust z W3C. Podczas swojej prezentacji przedstawił punkt widzenia Konsorcjum, a także zachęcił do dyskusji i działania. Na szczęście odzew był natychmiastowy, dzięki czemu na scenie pojawiło się w tym czasie (między 9 a 13) sporo osób, jak chociażby Rob Hawkes, Seth Ladd czy Laurent Hasson. Prowadziliśmy ożywione dyskusje w trakcie wystąpień, a także w przerwach. Przedyskutowaliśmy najważniejsze dla twórców gier elementy w istniejących specyfikacjach W3C, a także przedstawiliśmy nasz punkt widzenia odnośnie brakujących elementów. Na koniec założyliśmy nawet specjalną grupę związaną z naszą branżą.

Organizacja konferencji

Za wszystko odpowiedzialny był Michał Budzyński, który spisał się wspaniale. Nie było praktycznie żadnych problemów technicznych (poza Wi-Fi oczywiście, ale to już jest tradycją tego typu eventów), wszystko szło sprawnie, mikrofon zawsze działał, jedzenie było ciepłe i dobre, kawa nigdy się nie kończyła. Ba, pojawiły się elementy, które każda kolejna konferencja powinna sobie zanotować - na przykład koszulki! Niby tak prosty element, a jakie robi wrażenie: koszulki z logo konferencji dla wszystkich. Nie trzeba ich kupować, wydawać dodatkową kasę, bo każdy ma zagwarantowaną jedną sztukę. Książeczka - prosta, z krótkim wstępem, a co najważniejsze (nie wiem czy przypadkiem, czy specjalnie) dwudniowy plan znajduje się na jej środku, dzięki czemu automatycznie i bardzo wygodnie otwierało się ją właśnie w najważniejszym miejscu. Jeszcze jedno - identyfikatory. Duże, wyraźne dane osobowe zapewniały szybkie rozpoznanie nieznanej twarzy, dzięki czemu wiedzieliśmy z kim rozmawiamy, albo gdzie jest poszukiwana osoba nawet jeśli stała po drugiej stronie sali. Poza tym każdy miał taką samą plakietkę - nie było wywyższania się organizatorów, prelegentów czy sponsorów, ponieważ wszyscy byli pasjonatami tworzenia gier i każdy miał takie samo prawo bycia na tej konferencji. Dzięki bardzo dobrej organizacji całego eventu można było bez problemów skupić się na prezentacjach. Cena za te wszystkie atrakcje była bardzo symboliczna - wszystko dzięki sponsorom.

Klimat

Atmosfera podczas konferencji była świetna - ciekawe, czasami zabawne prezentacje, największe gwiazdy z branży na wyciągnięcie ręki, dzięki czemu można było bez problemu porozmawiać na dowolnie wybrane tematy. Każdy był miły, życzliwy i bez problemu podejmował dyskusje. Przez ten czas dało się odczuć przyjazny klimat całego tego spotkania, tak jakby na sali byli sami znajomi. Nie widziałem jeszcze tak silnej integracji na żadnej innej konferencji (a kilka mi się już przytrafiło, na przykład Front-Trends czy Falsy Values) i z całą stanowczością mogę napisać, że to była najlepsza konferencja, na jakiej byłem. Klimat budowali wspaniali ludzie, którzy na niej byli.

Relacje innych uczestników

Zobaczmy co inni napisali o tej konferencji (te relacje udało mi się znaleźć - widziałeś inne, podeślij mi linka):
- SmashingLabs (EN, dzień 1 oraz dzień 2)
- jPortal (PL, dzień 1 oraz dzień 2)
- Tomasz Kowalczyk (PL, dzień 1 oraz dzień 2)
- Open Grid (PL, dzień 1 oraz dzień 2)
- Nestor Alvaro (EN, całość)

Podsumowanie

Tak jak już wspomniałem wcześniej - była to najlepsza konferencja, na jakiej byłem i już nie mogę doczekać się edycji przyszłorocznej. Dowiedziałem się wielu ciekawych rzeczy, miałem możliwość spotkać mnóstwo interesujących osób, przy okazji poznać osobiście kilka osób z polskiego podwórka blogowego znanych jedynie z sieci (Tomek, Radek, wielu innych). Przyswoiłem sporą ilość wiedzy, wyszedłem szczęśliwy z fajną koszulką na pamiątkę. Wielkie dzięki dla Michała za wszystkie te niesamowite atrakcje! Do zobaczenia na oGS 2012! Ps. Moje zdjęcia z konferencji zobaczyć można tutaj, natomiast tu są fotki ze spotkania W3C.