Dzisiaj odbył się pierwszy dzień konferencji onGameStart, o której pisałem wczoraj. Zapraszam do zapoznania się z relacją z tego, co dzisiaj widziałem i słyszałem z ust prowadzących i innych uczestników.

 

 

Fotografia: onGameStart.

Konferencja onGameStart - dzień pierwszy.

Dzisiejszy dzień był naprawdę pełen wrażeń od samego rana. Pobudka o 7:00, szybkie “ogarnięcie się”, sprawdzenie, czy wszystko jest na miejscu i transport na miejsce. Niedługo po godzinie 8:00 przeglądałem już materiały konferencyjne, którymi uraczył nas organizator - Michał Budzyński. Na liście “fantów” zawartych w pakiecie można było znaleźć:
  • ulotkę projektu Ludei,
  • ulotkę projektu enchant.js,
  • ulotkę firmy SpilGames,
  • ulotkę firmy Solpeo,
  • naklejkę enchant.js,
  • naklejkę serwisu gamedev.stackexchange.com,
  • naklejkę projektu Bly.sk,
  • pocztówkę firmy Wooga,
  • program konferencji,
  • koszulkę z logo onGameStart.
Kilka fotografii:
  • koszulka (te szare litery w rzeczywistości są widoczne bardzo dobrze :)):

  • program konferencji:

  • agenda na rozkładówce:

  • naklejki:

  • mniejsze ulotki reklamowe:

  • większe ulotki reklamowe:

  • i pudełko ze wszystkim:

Jak widać, zostaliśmy wyposażeni całkiem bogato, na uwagę szczególnie zasługuje obecność koszulki - jest to pierwsza konferencja, na której otrzymałem ją “w pakiecie”. Jest to o tyle fajny pomysł, że poza pamiątką była wartość dodana w postaci wielu osób, które od razu ją założyły, reklamując cały projekt “na mieście”.

Plan dnia.

To tyle w kwestii wprowadzenia - czas na konkrety, czyli to, co działo się podczas prelekcji. Ze względu na to, że wklejona agenda jest raczej mało czytelna, pozwolę sobie przepisać dla Was odpowiednie informacje. Konferencja odbywała się w formie dwóch ścieżek, kilka pozycji jednak było “łączonych”. Oto i cały plan dnia:
  • 8:00
    • Rejestracja,
  • 9:00
    • Audytorium (łączone) - Robert Van Os: “Marketing & Monetizing web applications”,
  • 10:00
    • Audytorium - Jakub Siemiątkowski: Wh4t th3 h3ll 15 Octr33 4nd why 5h0uld 1 c4r3?“,
    • Sala wykładowa - Simon Oberhammer: “How to best deal with ‘the squishy, human stuff’”,
  • 11:15
    • Audytorium - Marius Gundersen: “How to implement a 3D engine in HTML5”,
    • Sala wykładowa - Andrew J. Baker: “The ‘presistent’ browser-based games,
  • 12:15
    • Audytorium - Ibon Tolosana: “HTML5 + JS as a complete multiplatform game development”,
    • Sala wykładowa - Podgorski & Hudson: “How to make your game beautiful,
  • 13:00
    • Obiad,
  • 14:00
    • Audytorium - Rob Evans: “Advanced HTML5 game engine architecture & MMO game development”,
    • Sala wykładowa - Foks & Czekala: “HTML5 & IE: better together”,
  • 15:00
    • Audytorium - Laurent Hasson: “Alice.js: A lightweight independent CSS engine”,
    • Sala wykładowa - Piotr Sadowski: “Portable game engine: common pitfalls and challenges”,
  • 16:00
    • Audytorium (łączone) - Ryo Shimizu: “Introduction to 9leap.net, the HTML5 mini game contest”,
  • 16:45
    • “Closing session”, czyli kilka słów na koniec,
  • 19:00
    • Impreza w pubie “Inside Pub”.
Jak już pisałem, niedługo po godzinie 8:00 stałem sobie spokojnie na korytarzu, oczekując na nadchodzące wykłady. W międzyczasie poznałem Tomka Wyszomirskiego (@wyszo) oraz samego Michała Budzyńskiego.

Relacja z wykładów.

Pierwszy wykład był łączony, także nie miałem innego wyboru, niż wysłuchać wykładu Roberta Van Osa. Robert zaczął naprawdę energicznie, oprowadził nas po całym “światku” zbudowanym przez SpilGames i jego wszelkich zakamarkach. Było to o tyle ciekawe, iż w trakcie wykładu pozwalał na zadawanie pytań i wcale nie uciekał od odpowiedzi, nawet na bardzo zaawansowane kwestie, nierzadko związane z wewnętrznymi rozwiązaniami stosowanymi przez firmę. Udało mi się zadać pytanie dotyczące ilości serwerów obsługujących cały ruch pochodzący z oferowanych gier (130 mln użytkowników, 10 mld minut spędzonych w serwisie miesięcznie) - po raz kolejny potwierdziła się teoria mówiąca o tym, że za wszelką cenę trzeba cache’ować “co popadnie” i starać się, aby jak największa liczba żądań została obsłużona poprzez “hit cache”. Poza tym jest stosowany CDN pozwalający na rozproszenie danych i ładowanie ich dla każdego użytkownika z jak najbardziej optymalnego miejsca.

Drugim wykładem, była tym razem wybrana już świadomie prelekcja Jakuba Siemiątkowskiego o “drzewach ósemkowych”, czyli tzw. “octrees”. Niestety prezentacja ta mówiąc lekko “nie powaliła na kolana” uczestników konferencji, ponieważ poza samymi podstawowymi informacjami nt. działania mechanizmu wspomnianych drzew (nawet dla takiego laika w temacie tworzenia gier, jak ja) nie uświadczyliśmy właściwie niczego więcej. Inną sprawą było to, że Jakub był wyraźnie stremowany, przez co niestety ucierpiał przekaz słowny, który momentami był niezrozumiały. To wszystko można jeszcze w sumie pominąć, gdyby nie sam koniec konferencji, gdzie prelegent jawnie przyznał, że prezentacja była tworzona w ostatniej chwili, a poza tym nie może pokazać pełnych informacji oraz własnego kodu, ponieważ wszystko jest zarezerwowane na inną konferencję. Wśród ludzi, obok których siedziałem wyraźnie było widać pomruk niezadowolenia, ponieważ takie tłumaczenie było po prostu nieprofesjonalne, a mogliśmy oczekiwać czegoś więcej. Na plus można zaliczyć jedynie interaktywne demo, jakie zostało zaprezentowane podczas wykładu, które faktycznie działało i demonstrowało działanie techniki octree. Z tego, co usłyszałem od uczestników, równoległy wykład Simona Oberhammera także nie był jakoś specjalnie porywający, w związku czym widać druga tura była raczej średnia.

Podczas trzeciej tury pojawiłem się na wykładzie Andrew Bakera nt. “persistent browser based games”. Tutaj nie było już tak źle, aczkolwiek autor potraktował temat wykładu w trochę inny sposób, niż się tego spodziewałem. Liczyłem położenie dużego nacisku na słowo “persistent”, czyli omówienie tematu zachowywania stanu w grach przeglądarkowych i różnymi sposobami na obronę przed oszukiwaniem serwera, jednakże praktycznie całość wykładu była skupiona wokół społeczności ludzi zajmujących się tworzeniem tego typu gier oraz linkami do stron, na których możemy znaleźć pomoc w tej kwestii. Jednym słowem można podsumować całą godzinę jako lekturę Wikipedii, ew. przeglądanie wyników Google nt. zapytań związanych z tworzeniem gier “BBG” - Browser Based Games. W międzyczasie zostały pokazane screeny jego projektu “Steppe” - szczerze mówiąc “szału nie było”.

Przed obiadem wysłuchałem wykładu Ibana Tolosany dotyczącego technologii HTML5 oraz JavaScript jako środowiska dla multiplatformowych gier. Prezentacja została wykonana w całości jako strona internetowa przy użyciu najnowszych trendów, a więc animacji CSS3 i podobnych. To był jeden z ciekawszych wykładów, nawet pomimo tego, że nie zapamiętałem z niego jakiejś konkretnej myśli przewodniej. Podczas prelekcji zostały zaprezentowane informacje na tego narzędzia, jakie wykorzystuje do tworzenia gier, jak też jedną z nich działającą na iPadzie.

Teraz czas na wisienkę na torcie - Rob Evans i jego silnik Isogenic. Cały wykład wysłuchałem patrząc z wielkim podziwem na to, co udało mu się osiągnąć. Rob pokazał silnik, w którym omówił cały proces renderowania strony, wyświetlania grafik oraz “tryb debug”, gdzie można było łatwo zauważyć, które elementy są dynamicznie “przerysowywane”, a które można zostawić “w spokoju”, ponieważ się nie zmieniły. Zostało pokazane demo, które dosłownie sparaliżowało widownię wpatrującą się w gładko poruszające się piksele projektu demo - IsoCity. Na tej prelekcji zostało zadanych chyba najwięcej pytań, w tym i moje dotyczące kwestii przerysowywania niektórych fragmentów ekranu, które nie zmieniały się w danym momencie. Prelegent znał odpowiedzi na wszystkie pytania i widać było wyraźnie, że to “programista” prezentuje “swój projekt”, z którego jest bardzo dumny i który chętnie pokaże całemu światu. Wyjaśnił, z czego wynika taka wysoka wydajność i jak wyglądał proces wymyślania wszystkich rozwiązań. Jeśli chodzi o pierwszy dzień konferencji, to jest to zdecydowanie najlepszy wykład ze wszystkich wygłoszonych do tej pory.

O godzinie 15:00 stawiłem się w sali wykładowej na wykład Piotra Sadowskiego o przenośnych silnikach do gier i częstych problemach oraz ich rozwiązaniach. Przyznam, że tym razem wykład też nie porwał widowni, co najdobitniej sugerowało sukcesywne opuszczanie sali przez kolejnych uczestników. Ja sam wyszedłem już pod koniec prelekcji, aczkolwiek z tego, co się dowiedziałem, nic nowego się przez ten czas nie pojawiło.

Ostatnim wykładem było wprowadzenie do projektu 9leap prowadzone przez Japończyka Ryo Shimizu. Przyznam, że narodowość ta musi mieć naprawdę bardzo specyficzne poczucie humoru, ponieważ prezentacja rozpoczęła się od obrazów i informacji na temat niedawnej tragedii w Fukushimie, co nijak nie dało się powiązać z tematyką wykładu. Smaczku dodawał fakt, że na kilku slajdach pojawiły się rzeczy takie, jak:

  • mój kuzyn zaginął podczas tragedii,
  • matka pewnej dziewczyny zginęła,
  • mój kuzyn odnalazł się.
Każda z wyżej wymienionych informacji była kwitowana gromkim śmiechem prowadzącego, który opowiadał o tym tak, jakby relacjonował jakieś bardzo zajmujące wydarzenie. Przyznam, że naprawdę dziwnie się wtedy poczułem - przez chwilę zastanawiałem się nawet, czy Ryo wie, co w ogóle czyta, ponieważ jego reakcje były zupełnie niewspółmierne do treści slajdów. Po chwili okazało się jednak, że można całą historię połączyć z tytułowym wprowadzeniem do 9leap, ponieważ okazało się, że jego firma została zniszczona przez tsunami, a on sam zaczął uczyć lokalną młodzież programowania. Jeden z jego podopiecznych stworzył silnik enchant.js, a grupa innych uczniów zaczęła pisać gry o niego oparte. To “dziwne” wrażenie jednak nie opuściło mnie aż do wyjścia z budynku. Łamany angielski wraz z kilkoma śmiesznymi wstawkami z japońskiego pod koniec rozbawiły nieco widownię, ale cóż, widocznie moje poczucie humoru okazało się tutaj “mocno średnie”, także wybaczcie - nie mam zdania, ocenę pozostawiam Wam.

Konferencję zakończyło krótkie wystąpienie pracownika W3C, który zaprosił nas na workshop, który odbędzie się w sobotę od 9:00 do 13:00. Po tym Michał Budzyński pożegnał nas, a my, nie czekając długo rozeszliśmy się na krótki odpoczynek przed imprezą. Impreza konferencyjna odbyła się w pubie “Inside Pub & Bar” na ul. Marszałkowskiej - przyszli chyba wszyscy uczestnicy, ponieważ nie można było się praktycznie przecisnąć w środku. ;] W doborowym towarzystwie:

oraz kilku innych osób (jeśli kogoś pominąłem, proszę o komentarz i z góry przepraszam!) omówiliśmy i wymieniliśmy opinie na temat wielu interesujących kwestii, co na pewno zaprocentuje w pracy zawodowej i własnym “dziubaniu” kodu.

Podsumowanie.

Biorąc pod uwagę wszystkie “za i przeciw” oceniam pierwszy dzień konferencji jako raczej udany - zero problemów technicznych (!), wszystko przebiegło sprawnie i bez najmniejszych uchybień. Trochę szkoda, że zestaw uczestnika nie zawierał notesu - nauczony doświadczeniem poprzednich konferencji liczyłem, że jednak parę kartek dostanę, ale to w sumie mały problem. Miejmy nadzieję, że drugi dzień będzie jeszcze lepszy (będzie tylko jedna ścieżka, także relacja będzie zawierała opisy wszystkich wykładów), teraz czas się wyspać. :)

Na koniec polecam lekturę innych relacji z pierwszego dnia konferencji onGameStart:

Do zobaczenia jutro!