Programowanie gier w JavaScript

Training_teaser_1

Tagi JavaScript, HTML 5, CSS 3, Performance tuning

Relacja ze szkolenia

22-23 stycznia, Warszawa

Kolejne szkolenie za nami, tym razem w Warszawie. Dwa dni solidnego JavaScript’u, jeszcze więcej kodowania na żywo, zadań dla uczestników i ostrych dyskusji niż na poprzednim treningu, we Wrocławiu.

Przy okazji tego szkolenia nasunęła się refleksja: uczestnicy DevMeetingów są albo naprawdę pasjonatami, albo weekendy wolą spędzać poza domem :-) Dlaczego? W niedzielę, mimo wczesnego startu, o 8.05 rano dotarli wszyscy.

Dzień 1

Animacja i performance w JavaScript

Okazuje się, że materiał dotyczący animacji przy użyciu CSS3 trafia stuprocentowo w oczekiwania uczestników. Sporo programistów JavaScript implementuje animacje w oparciu o tworzenie loop’a za pomocą timer’ów JavaScript, na szkoleniu pokazalismy inne podejście: jak totalnie przerzucić tę karkołomną czynność w całości na engine renderujący przeglądarki. Niestety (stety!) rozwiązanie to działa tylko na przeglądarkach bazujących na silniku webkit. Zalety? Efektywne renderowanie animacji na urządzeniach mobilnych bazujących na iOS czy Android, w których WebView zbudowane jest właśnie na webkit’cie.

Sporo było o performance tuning’u JavaScript (niektórzy stwierdzili, że zbyt dużo), ale ze wzgledu na mocne użycie grafiki w grach, w szczególności na urządzenia mobilne, chcieliśmy wyczerpać temat. Dużo dyskusji na temat insertowania elementów DOM czy zmiany atrybutów elementu, szczególnie cross-platform.

Dzień 2

Komunikacja i architektura aplikacji JS

Do tematu komunikacji w środowisku web’owym / JS’owym podeszliśmy ambitnie: backend na Node.js, przechowujący i dystrybujący wewnętrzny stan systemu do aplikacji klienckich. Okazuje się, że te dość młode technologie są wykorzystywane w praktyce już teraz – niektórzy z uczestników treningu mieli okazję implementować backend na Node.js w komercyjnych projektach.

Na szkoleniu swój show-time miał Michał Budzyński, jeden z bardziej aktywnych polskich JavaScript game developerów. Przedstawił historię tworzenia gier w JS (od lat 90!), opisał w jaki sposób tworzył swoją grę na GameOn Mozilli (zaimplementowana w 5 dni… i 5 nocy!), wszedł w temat publikacji gier na różne platformy mobilne i opowiedział, jak zarabiać na tworzeniu gier w JavaScript. Przygotowujemy video z jego prezentacji i krótki wywiad. Stay tuned!

Co dalej?

Za tydzień startujemy z pokrewnym tematem szkoleń (JS na platformy mobilne) – zapraszamy zaawansowanych JavaScript Developerów do Wrocławia. Z kolei za 2 tygodnie zawitamy z Markiem do Poznania i cieszymy się na solidne dyskusje, ponieważ właśnie w stolicy Wielkopolski mamy 40 chętnych do wzięcia udziału w szkoleniu, z tego wielu naprawdę doświadczonych JS-programmerów.

@Warszawa: dziękujemy za serdeczne przyjęcie. Jeszcze wrócimy :-) Specjalne podziękowania dla MichałaBe za fajne, merytoryczne podgrzewanie atmosfery i ciekawa prezentację! Dzięki, Michał, życzymy setek tysięcy sprzedanych gier na AppStorze.

Dziękujemy i do zobaczenia na kolejnych szkoleniach – z JavaScript i innych technologii.

Piotr Zwoliński
Marek Pawłowski

Opinie uczestników

Andrzej-mazur

To były bardzo intensywne i treściwe dwa dni, profesjonalne szkolenie na bardzo wysokim poziomie. W ciągu 16 godzin nauczyłem się więcej, niż przez poprzedni miesiąc. Było sporo zadań, w których mogliśmy wykazać się swoimi umiejętnościami, a także poznać nowe, ciekawe rozwiązania. Wielkie dzięki kieruję do prowadzącego (Marek Pawłowski), organizatora (Piotr Zwoliński, Dev Meetings) oraz gościa specjalnego (Michał Budzyński), który świetnie uzupełniał prowadzone warsztaty. Życzę powodzenia w rozwijaniu idei darmowych, profesjonalnych szkoleń i szczerze zapraszam na kolejne edycje, bo warto!

Komentarze

1

Paweł Czerski napisał/a 25.01.2011 o 22:19

Czy autor sugeruje, że animacje przy użyciu CSS3 działają tylko na silniku Webkit? Czy coś przeoczyłem w opisie i oczywiście zgadzamy się co do faktu, że działa to także na innych silnikach? :>

2

Marek Pawłowski napisał/a 26.01.2011 o 08:34

Autor przeprasza za nie precyzyjne sformulowanie animacja tzn animacja i tylko albo az tyle. (Animation nie mylic z transition). <br/> <br/>CSS3 animation o ktorych mowilem nie precyzyjnie ja zostały narazie zaimplementowane w Webkicie a transitiony o ktorych zapewne myslal @Paweł sa zaimplementowane w Gecko 2.0/FF4b w Presto 2.3/Opera 10. <br/> <br/>Dla zainteresowanych link do drafta: <br/>http://www.w3.org/TR/2009/WD-css3-animations-20090320/ <br/> <br/>PS. Kolejny raz kłania sie powiedzenie mojego nauczyciela fizyki z przed lat: <br/>Bądzcie czujni bo diabeł tkwi w szczegółach.

3

Michał Budzyński napisał/a 26.01.2011 o 10:20

Hm, ja np. słysząc "animation" myślę "animation" a nie "transition", wydaje mi się że nieprecyzyjna w tym wypadku była interpretacja przekazu a nie jego treść:).

Warsztaty, które się odbyły

Wrocław, 8-9 stycznia relacja

  • 1_1_t
  • 1_2_t
  • 1_3_t
  • 1_4_t

Warszawa, 22-23 stycznia relacja

  • 2_1_t
  • 2_2_t
  • 2_3_t
  • 2_4_t

Poznań, 5-6 lutego relacja

  • 3_1_t
  • 3_2_t
  • 3_3_t
  • 3_4_t

Kraków, 19-20 lutego relacja

  • Img_0069
  • Img_0092
  • Img_0120
  • Img_2421

Gdańsk, 5-6 marca relacja

  • Img_2784
  • Img_2730
  • Img_2629
  • Img_2628

Devmeetings @ facebook

Prowadzący

1

Frontend developer, współautor jednej z pierwszych polskich gier przeglądarkowych – Tanadu. Zafascynowany JavaScriptem, szczególnie w kontekście przeglądarek: od optymalizacji wydajności animacji, przez czystą architekturę dużych aplikacji webowych, po integrację z backendem (np. opartym o Node.js). Kiedy akurat nie pisze testów w QUnit, uczestniczy w budowie frameworka Unify (cross-platformowy JS).