Programowanie gier w JavaScript

Zapraszamy na spotkanie z cyklu zaawansowanych technik programowania w JavaScript, tym razem “Programowanie gier w JS”. Podczas intensywnego 1-dniowego warsztatu omówimy zagadnienia związane z tworzeniem interaktywnych, wydajnych i multimedialnych gier uruchamianych w przeglądarce. Spotkanie ma charakter interaktywny, połączenia wykładu z warsztatami. Urozmaicone jest wieloma praktycznymi zadaniami rozwiązywanymi przez uczestników i omawianymi wspólnie z prowadzącym. Zadania dotyczą specyficznych problemów związanych z programowaniem gier.
Dla kogo?
Spotkanie dedykujemy programistom aplikacji webowych, którzy chcą poszerzyć swoje umiejętności o tworzenie gier oraz dla game developerów, którzy planują wytwarzać gry w środowisku webowym. Zapraszamy przede wszystkim osoby z solidnym warsztatem developerskim i doświadczeniem w projektach programistycznych (aplikacje webowe / javascripowe lub gry).
Sobota
9:00 – 21:00
Omówienie ogólnych zagadnień związanych z tworzeniem gier przeglądarkowych
- Przedstawienie założeń projektowania przyjaznego oraz responsywnego interfejsu graficznego, które zrealizujemy w poźniejszych etapach szkolenia.
- Studium przypadku na bazie istniejących na rynku gier (Tanadu, Travian, Margonem, Heroes Kingdom) oraz silników (gameQuery, Diggy, effectgames i innych).
Realizacja dobrych praktyk
- Omówienie na przykładach implementacji dobrych praktyk inżynierii frontendowej w kontekście gier webowych oraz narzędzi z nimi związanych. Czyli jak poprawić responsywność aplikacji zanim zaczniemy optymalizować kod.
Grafika i animacja w przeglądarce
- Przedstawienie dwóch podejść do animacji: operacji na elementach DOM kontra rysowanie na canvasie. Dokładne omówienie problemów, wad i zalet obydwu podejść oraz praktyczne wskazówki. Na kanwie porównania poruszymy zagadnienia takie jak: zasada działania engine’u renderującego przeglądarki, reflow, event delegation oraz zastosowanie CSS3.
Komunikacja klient / server w JS
- Omówienie sposobów komunikacji z serwerem.
- REST
- Komunikacja cross-domain w oparciu o JSONP i iframe.
- Komunikacja dwustronna oparta o long polling, multipart HTTP response oraz WebSocket’y.
Performance tuning w JS
- Dobre praktyki tworzenia wydajnego kodu JS’owego, w tym: optymalizacja kodu na poziomie czystego języka oraz związane z tym zagadnienia i techniki.
Architektura i modułowość
- Architektura Model-View-Controller w JavaScript.
- Koncepcja systemu złożonego z widgetów (html / css / js) ładowanych na żądanie.
Aktualne trendy i przyszłość JavaScript
- Ogólny przegląd zagadnień: od HTML5 i CSS3, przez Test-Driven Development (jsTestDriver, qUnit, TestSwarm, Selenium) i narzędzia (ClosureCompiler, YUICompressor, JSMin), po integrację z serwisami społecznościowymi i ServerSide JavaScript (node.js, Rhino, Jaxer…).
Warsztaty, które się odbyły
Wrocław, 8-9 stycznia relacja
Warszawa, 22-23 stycznia relacja
Poznań, 5-6 lutego relacja
Kraków, 19-20 lutego relacja
Gdańsk, 5-6 marca relacja
Devmeetings @ facebook
Prowadzący

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).
Dyskusja
Jeśli nie posiadasz jeszcze konta, prosimy się zarejestrować .