Krajowa Konferencja
Wytwarzania Gier Komputerowych
Gdańsk 6 - 8 września 2013

WGK 2011 - materiały konferencyjne

Poniżej znajdują się nagrania prelekcji, które zostały wygłoszone w czasie konferencji, a także dodatkowe materiały udostępnione przez prelegentów.

Piątek

Oficjalne otwarcie

Oficjalne otwarcie poprowadzone przez Prezesa Konferencji Karola Gasińskiego z udziałem Prorektora ds. Infrastruktury i Organizacji prof. dra hab. Jana Godlewskiego oraz dziekana wydziału ETI dra hab. inż. Krzysztofa Goczyłę.

Generowanie nieregularnej siatki terenu, przy uwzględnieniu procesów hydrologicznych
Krzysztof Mieloszyk

Fraktalne metody generowania terenu należą do jednych z najbardziej podstawowych, jednak często są stosowane do struktur regularnych. Proponowany algorytm, w oparciu o wlasności triangulacji Delaunay oraz diagramu Voronoi, znajduje zastosowanie przy dynamicznym generowaniu nieregularnej siatki trójkatów. Pozwala to na wizualizację realistycznego terenu z uwzględnieniem procesów hydrologicznych w jego ukształtowaniu.

Projektowanie gier komputerowych z wykorzystaniem UDK
Mariusz Szwoch, Karol Sobiesiak, Zygmunt Szefel

W pracy przedstawiono pakiet narzędziowy Unreal Development Kit (UDK) umożliwiający tworzenie gier w oparciu o silnik Unreal Engine 3 (UE3). Silnik ten umożliwia tworzenie wieloplatformowych, zaawansowanych graficznie gier praktycznie dowolnego typu. UDK jest zasadniczo kompletnym środowiskiem wytwarzania gier oferując rozmaite narzędzia modelowania poziomów, w tym: edytor brył geometrycznych, siatek obiektów i terenu, bibliotekę zasobów, wysokopoziomowy język skryptowy, obsługę animacji, silnik fizyki, zaawansowaną obsługę świateł i cieniowania, edytor roślinności, obsługę połączeń sieciowych i wiele innych. W pracy przedstawiono również praktyczne aspekty wykorzystania środowiska UDK na przykładzie tworzenia gry akcji „Inwazja na WETI”. Mimo ograniczonego rozmiaru gry stanowi ona ciekawe studium przypadku, a przedstawione doświadczenia okażą się użyteczne w dalszym rozwoju gry oraz w innych projektach tworzonych z wykorzystaniem UDK.

Wprowadzenie do projektowania gry strategicznej w oparciu o XNA Framework
Mikołaj Kania, Waldemar Korłub, Jakub Krajewski

W celu utrzymania stałej społeczności amatorskich twórców gier związanych z produktami firmy, Microsoft dostarczył zestaw bibliotek znanych pod nazwą XNA framework. Narzędzia te znacznie upraszczają proces implementacji, ze względu na zwolnienie programisty z konieczności powielania kodu identycznego dla większości prostych produkcji. Osadzenie frameworka w środowisku .NET oraz możliwość adaptacji gry zarówno do platformy Windows, konsoli XBOX czy też urządzeń przenośnych opartych o Windows Phone 7, zapewnia większą przenośność i elastyczność końcowego rozwiązania. Niniejszy artykuł w połączeniu z ułatwieniami zapewnionymi przez Framework XNA, pozwoli sprawnie zaprojektować i zaimplementować bazowe komponenty silnika graficznego, niezbędnego w przypadku prostej gry strategicznej. Zaprezentowane algorytmy rozwiązują kilka podstawowych problemów związanych z wyświetlaniem dużej ilości jednostek oraz dużych fragmentów terenu wirtualnego środowiska. Omówione rozwiązania zostały wykorzystane podczas implementacji gry strategicznej czasu rzeczywistego – Nasibu Isle.

Deep into Intel Processor Graphics
Marcin Fuszara, Intel

What is going on inside a 3D graphics chip? How is it built? What happens when it executes a shader? What hardware instructions it uses? These are the kinds of questions to be addressed by this lecture. It provides an architecture overview of the processor graphics of 2nd Generation Intel Core code named Sandy Bridge. The core architecture consists of an array of multi-threaded processors, also referred to as Execution Units. The instruction set is a general-purpose data-parallel instruction set optimized for graphics and media computations. The presentation explains basic shader execution concepts as well as demonstrates how execution parallelism is obtained.

Jak gry społecznościowe zrewolucjonizowały design
Ziemowit Poniewierski

Branża gier wideo to najbardziej progresywna gałąź światowego przemysłu. W przeciągu zaledwie 30 lat odnotowano całe epoki rozwoju elektronicznej rozrywki, a każda z nich rozpoczynała się przebojowym w skali świata wydarzeniem – takim chociażby, jak wprowadzenie na rynek akceleratora 3D. Równocześnie w branży deweloperskiej pojawiło się zjawisko profesjonalizacji, a twórcy sięgnęli po narzędzia naukowe i marketingowe. Produkcja dużych tytułów nadal jednak przypomina loterię – w czasie prac czynniki zewnętrzne mogą ulec zmianom, za którymi autorzy nie zawsze są w stanie nadążyć. Zupełnie inną sytuację notuje się w dziedzinie gier społecznościowych, które nigdy nie są tworem zamkniętym i skończonym, lecz nieustannie pod kontrolą twórców ewoluują. Dziesiątki narzędzi diagnostycznych pozwalają szczegółowo analizować tak produkt, jak i jego grupę docelową, generując nieustające sprzężenie zwrotne pomiędzy grą a graczem. Celem prezentacji jest wskazanie, jak bardzo w przeciągu ostatnich lat zmieniło i rozwinęło się podejście do projektowania, jakie są nowe wyznaczniki kreowania elektronicznej rozrywki i jaki wpływ na design wywarły gry społecznościowe.

Jak grać nie patrząc na ekran? Interaktywny audiobook 1812: Serce Zimy.
Jarosław Beksa, Paweł Barszcz, Orange Labs Poland

Interaktywna audio książka (zwana również audiogrą) jest oparta głównie na dźwiękach. W przeciwieństwie do gier wideo nie wymaga interfejsu graficznego – możemy w nią grać nie patrząc na ekran. Prezentacja nowej formy rozrywki na przykładzie pierwszej interaktywnej audioksiążki „1812: Serce Zimy” stworzonej przez Orange Labs Poland.

Wykorzystywanie silnika graficznego JMonkeyEngine 3 oraz jego środowiska wytwórczego w procesie tworzenia gier
Bartosz Jakusz, Przemysław Kulesza

Zaprezentowano podstawy funkcjonowania silników graficznych na platformie Java oraz przedstawiono silnik jMonkeyEngine. Omówiono podstawowe zasady zarządzania obiektami na scenie w jMonkeyEngine i wykonano porównanie do innych rozwiązań. Przedstawiono szczegółowo sposób obsługi modeli trójwymiarowych. Dokonano charakterystyki obsługi operacji wejścia w omawianym silniku. Opisano architekturę opartą na shaderach, która jest stosowana w definiowaniu materiałów. Zaprezentowano rozwiązania, które ułatwiają tworzenie gry strategicznej. Wykonano opis środowiska programistycznego stworzonego specjalnie do celu projektowania gier komputerowych.

Rozpoznawanie dynamicznych i statycznych gestów rąk w zastosowaniu do sterowania aplikacjami komputerowymi
Michał Lech, Bożena Kostek, Andrzej Czyżewski

W referacie przedstawiono interfejs, metody oraz algorytmy sterowania komputerem za pomocą dynamicznych i statycznych gestów rąk. Komponentami opracowanego rozwiązania są komputer klasy PC wraz z opracowanym interfejsem i oprogramowaniem, kamera internetowa oraz projektor multimedialny. Gesty rozpoznawane są w procesie analizy obrazu wizyjnego pozyskanego z kamery internetowej przymocowanej do projektora oraz analizy obrazu wyświetlanego przez projektor (pozyskanego z komputera). Do rozpoznawania gestów dynamicznych zastosowano modelowanie trajektorii ruchu rąk za pomocą reguł logiki rozmytej. Gesty statyczne rozpoznawane są za pomocą maszyn wektorów nośnych (SVM). W referacie przedstawiono wyniki badania wydajności opracowanego systemu. We wnioskach przedstawiono również plany dotyczące rozbudowy systemu o algorytmy umożliwiające pracę z kamerą umieszczoną przed użytkownikiem.

Sobota

Multithreaded rendering using OpenGL in Task-Pooled environment
Karol Gasiński

Modern game engines are based on Task-Pooled solutions which gives ability to take full advantage of modern multi-core CPU's architectures. This gives freedom of asynchronous code execution and data processing, but it also introduces need, to deal with old single threaded OpenGL rendering model. This lecture shows concrete ways to solve this problem and to allow multithreaded asynchronous rendering with OpenGL.

Przechowywanie złożonych funkcji oświetlenia w postaci mapy normalnych
Krzysztof Kluczek

Mapy normalnych są jedną z najszerzej stosowanych technik w grafice komputerowej, gdyż pozwalają na stosunkowo mało kosztowne odzwierciedlenie detali obiektów i ich interakcji z oświetleniem. Standardowe mapy normalnych przechowują jednak informacje jedynie o orientacji fragmentów powierzchni i nie oddają efektu rzucania cieni w ramach jednej powierzchni. Prezentowany w artykule algorytm pozwala na zakodowanie w standardowej mapie normalnych dodatkowych informacji o cieniu, rzucanym przez elementy powierzchni na inne elementy tej samej powierzchni. Ideą algorytmu jest potraktowanie składowych normalnej jako współczynników harmonicznych, dzięki czemu w tych składowych można zawrzeć przybliżenie dowolnej funkcji o małej częstotliwości opisanej na sferze. W tym konkretnym przypadku, przybliżaną funkcją jest funkcja rozpraszania światła, z uwzględnieniem zasłaniania przez inne elementy powierzchni.

Panel dyskusyjny: "W jaki sposób uczelnie wyższe powinny przygotować się do nauczania kierunków o tworzeniu gier?"

Panel dyskusyjny w którym udział wzieli (od lewej): Karol Gasiński - prezes konferencji WGK, Michał Drobot - Guerrilla Games, Ziemowit Poniewierski - założyciel Can't Stop Games, prof. dr hab. inż. Bogdan Wiszniewski, prof. nadzw. PG - prodziekan ds. organizacji studiów na Wydziale ETI Politechniki Gdańskiej oraz Michał Kowal z Dziennika Bałtyckiego w roli moderatora.

Antyaliasing w 1ms
Krzysztof Kluczek

Szybki algorytm symulacji tylnego oswietlenia
Paweł Szczerbuk

Artykuł przedstawia efektywną i prostą w implementacji metodę symulowania tylnego oświetlenia na scenach trójwymiarowych. Poprzez tylne oświetlenie rozumie się tu zjawisko odbijania od powierzchni światła pochodzącego od obiektów znajdujących się dalej od obserwatora, niż ona sama. Algorytm bazuje na wykorzystaniu bufora ekranu jako źródła informacji o rozkładzie światła na scenie.

Tworzenie języków programowania na potrzeby gier z użyciem infrastruktury LLVM
Tomasz Dąbrowski

Wykład dotyczy wykorzystania infrastruktury LLVM do tworzenia własnych języków programowania na potrzeby tworzenia gier, z naciskiem na wysoką wydajność. LLVM (Low Level Virtual Machine) to rozbudowany pakiet zawierający narzędzia wspomagające tworzenie kompilatorów. Wykład przedstawia jest nie tylko schemat tworzenia kompletnego kompilatora z wykorzystaniem LLVM, ale również możliwości i wyzwania związane z wyborem języka na potrzeby tworzenia gier. Zaproponowany zostanie trójpoziomowy podział języków opisujących grę: język silnika, przetwarzania danych oraz skryptowy. Dzięki zunifikowanemu podejściu i wykorzystaniu LLVM możliwa jest integracja różnego rodzaju narzędzi, takich jak debuggery czy nawet kompletne IDE. Przedstawiony zostanie też projekt wykorzystujący wymienione techniki.

Adaptacja fabuły do realiów gry komputerowej na przykładzie Wiedźmina 2
Konrad Tomaszkiewicz - Lead Quest Designer, Mateusz Kanik - Lead Game Designer, Sebastian Stępień - Lead Writer, CD Projekt RED

Metodologia tworzenia oraz adaptacji fabuły gry RPG z uwzględnieniem elementów rozgrywki - stworzenie spójnego wątku fabularnego opowiadającej o czym jest cała gra, podzielenie tej fabuły na mniejsze wydarzenia czyli questy, a następnie uwzględnienie nieliniowości oraz niezbędnych elementów rozgrywki na podstawie doświadczeń z produkcji Wiedźmina 2.

Tworzenie lokacji. Wpływ kształtu i światła na odbiór całego projektu jakim jest Wiedźmin 2.
Lucjan Więcek - Lead Level Artist, Marek Ziemak - Level Artist, CD Projekt RED

Budowa świata gry w RenEngin. Narzędzia ich możliwości i zastosowanie. Wyobraźnia a proces produkcyjny, od pomysłu do realizacji - pipeline. Wpływ fabuły na lokacje. Zależności pomiędzy działowe podczas produkcji gry. Gra świateł - efekt końcowy.

Modelowanie terenu na bazie symulacji erozji z wykorzystaniem deformowalnych wokseli
Michał Kurowski

Referat prezentuje inspirowaną erozją hydrauliczną metodę proceduralnego modelowania w pełni trójwymiarowego terenu na potrzeby grafiki komputerowej z myślą o zastosowaniach przy tworzeniu „wirtualnych światów”. Teren jest reprezentowany przy pomocy "deformowalnych wokseli" zorganizowanych w regularną siatkę. Dzięki temu odrzuca się ograniczenia często stosowanej mapy wysokości, uzyskując możliwość modelowania w pełni trójwymiarowych form terenu z jednoczesną próbą uniknięcia pewnych problemów związanych z zastosowaniem tradycyjnej reprezentacji wolumetrycznej. Do symulacji przepływu wody zastosowana została metoda SPH („Smoothed Particle Hydrodynamics”), wzbogacona o możliwość wprowadzania zdefiniowanych przez użytkownika „modyfikatorów” wpływających na poruszanie się cząsteczek. Transport osadów odbywa się przy pomocy odrębnego systemu cząsteczek "unoszonych" wraz z przepływem wygenerowanym przy użyciu SPH. Użytkownik może nadzorować pracę algorytmu poprzez obserwacje bieżących wyników i dodawanie, usuwanie lub modyfikację źródeł oraz odpływów wody. Wynikowy teren w postaci siatki trójkątów otrzymywany jest poprzez przetwarzanie końcowe zdeformowanych w trakcie symulacji wokseli.

Niedziela

Gra słowna do pozyskiwania wiedzy językowej
Jacek Rzeniewicz, Julian Szymański

W artykule opisano implementację gry słownej w pytania, będącej modelem wyszukiwarki kontekstowej oraz narzędziem do pozyskiwania wiedzy o pojęciach języka naturalnego. Zdefiniowano określenie wyszukiwania kontekstowego oraz przedstawiono opis algorytmu znajdującego obiekty na podstawie ich cech. Scharakteryzowano przyjętą reprezentację wiedzy oraz sposób uczenia się w kontekście innych znanych projektów poruszających problem akwizycji wiedzy.

Symulacja chodu i biegu w świecie wirtualnym
Jacek Lebiedź

Pierwsza część referatu prezentuje różne techniki symulacji chodu i biegu wraz z omówieniem ich zalet i wad. Najlepszym rozwiązaniem wydaje się tu obrotowa sfera z człowiekiem w środku wzorowana na kołowrotku dla chomika. Takie urządzenie umieszczone wraz z zawierającą je instalacją typu CAVE powstanie do końca 2013 r. na terenie Wydziału Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej jako tzw. Laboratorium Zanurzonej Wizualizacji Przestrzennej. Opis projektu tego laboratorium oraz zarys obszaru jego zastosowań stanowi drugą część referatu.

Generatory labiryntów, ich wlasciwosci i praktyczne zastosowanie w grach komputerowych
Paweł Noga

Poniższa praca przedstawia trzy podstawowe algorytmy generowania labiryntów (budowania ścian, błądzenia losowego, komórkowy) i szereg modyfikacji i przykładów ukazujących ich praktyczne zastosowanie w tworzeniu losowych struktur przypominających te występujące w grach (jak i również w realnym świecie). W pracy podkreślono różnicę w klasach labiryntów generowanych przez wymienione algorytmy oraz opisano specyficzne i wysoce prawdopodobne do zaistnienia kształty występujące w labiryntach przez nie wygenerowanych. Szczególną uwagę poświęcono metodzie masek hipsometrycznych jako najbardziej obiecującej formie fabularyzowania labiryntów.

Wytwarzanie biznesowych aplikacji webowych a produkcja rozbudowanych gier na przeglądarkę na przykładzie: Project Ark
Michał Trzaskowski, Urszula Trzaskowska, TouK

Porównanie procesu wytwarzania biznesowych aplikacji webowych oraz rozbudowanych gier opartych o przeglądarkę internetową. Prezentacja dotykać będzie wielu obszarów w procesie wytwarzania aplikacji webowej począwszy od analizy i projektowania, poprzez zarządzanie i implementację po testowanie i finalne wdrożenie. Bardzo ważną i obszerną częścią prezentacji będzie omówienie rozwiązań Open Source oraz konsekwencji ich zastosowania w projektach. Proces wytwarzania gry webowej opisany będzie na przykładzie trwającego obecnie projektu: Project Ark. Jest to projekt rozbudowanej gry z gatunku space MMO, wytwarzanej przy użyciu otwartych rozwiązań opartych o język Java oraz powszechnie używanych standardów HTML/CSS/javascript realizowany w wolnym czasie przez mały 2-3 osobowy zespół pracowników firmy TouK (www.touk.pl).

Gry casual PC: Jak osiągnąć sukces na rynku
Anna Daria Wachowicz, Paulina Robaszyńska Janiec, World-Loom

Na rynku casual PC wciąż może odnieść sukces niewielkie studio zaczynające swój pierwszy projekt. Na wykładzie powiemy, na co należy zwracać uwagę przy tworzeniu gry, która ma osiągnąć komercyjny sukces na portalach takich jak bigfishgames.com. Wspomnimy o projektowaniu fabuły i mechaniki gry, dostosowywania jej do potrzeb modelu sprzedażowego "try&buy", ale równiez stylu graficznego i przygotowania interfejsu dla potrzeb casualowego gracza. Wiedza zdobyta na wykładzie pozwoli ominąć wiele podstawowych błędów, które mogą sprawić, że obiecujący projekt gry okaże się finansową klapą.

iDolina.pl - kulisy produkcji 3D MMO w Unity3D
Stanisław Fiedor (CEO) i Łukasz Raszyk (Leading Unity Engineer), Fuero Games

*Fuero Games*, jako developer iDoliny, pierwszego społecznościowego MMO w 3D osadzonego w polskich realiach, chcielibyśmy zaprezentować proces produkcji projektu dużej skali z perspektywy naszego studia. Naszym celem jest omówienie technologii i rozwiązań, jakie stoją za iDoliną oraz trudności jakie napotkaliśmy podczas etapów projektowania i tworzenia, włączając w to komunikację klient-serwer, mikro-transakcje, ogólną stabilność, wydajność i elastyczność dla użytkowników końcowych. Z dumą możemy zaprezentować nasze własne rozwiązania jak serwer socketowy do wydajnej komunikacji baza danych - gra działającej w Unity wielowątkowo. Nasza prezentacja będzie świetną okazją dla małych i średnich studiów oraz początkujących twórców gier, którzy są zainteresowani produkcją projektów z gatunku MMO. Pokażemy na własnym przykładzie, jak organizować pracę w zespole i jak unikać poważnych błędów. Chcemy udowodnić, że dzisiaj, mając do dyspozycji najnowsze narzędzia na rynku (włączając w to Unity), tworzenie projektów na tak dużą skalę przez młodych, początkujących, lecz ambitnych, nie jest zadaniem niemożliwym.

Multiplatformowość w technologiach mobilnych
Mateusz Pryczkowski, Playsoft

W czasie tego wykładu zaprezentuję trzy główne sposoby zapewnienia multiplatformowości w technologiach mobilnych. Przedstawię dobre i złe strony każdego rozwiązania oraz zaprezentuję kilka frameworków, które pomagają nam to osiągnąć (ze szczególnym uwzględnieniem AirplaySDK firmy Ideaworks). Wykład zawierał będzie przykłady, które na żywo będę prezentował.

Propozycja integracji elementów świata gry przy użyciu drzew zachowań
Mikołaj Kania, Waldemar Korłub, Jakub Krajewski

We współczesnych grach komputerowych często występują autonomiczne jednostki, które współpracują i współzawodniczą ze sobą, aby zrealizować swoje cele w świecie gry. Wykorzystanie podejścia agentowego wydaje się naturalne w takich przypadkach. W artykule rozpoznane zostają zasady konstruowania uniwersum gry jako środowiska dla wykonujących się w nim agentów. Omówione zostają również sposoby dekompozycji złożonych zadań do postaci drzew zachowań. Poprzez podzielenie skomplikowanych czynności na mniejsze i łatwiejsze do zaimplementowania składowe, z których każda może posiadać własne warunki wstępne i kończące akcje, uzyskać można naturalny model pozwalający na opisywanie, w jaki sposób zachowują się poszczególni agenci. Dzięki swojej strukturze, drzewa zachowań dobrze sprawdzają się w modelowaniu czynności zorientowanych na osiągnięcie określonego celu z możliwymi dodatkowymi warunkowymi odgałęzieniami. Przedstawione podejście prowadzi do propozycji integracji elementów świata gry, omówionej w końcowej części artykułu. Zaprezentowane rozwiązanie zostało zaimplementowane w istniejącej grze strategicznej czasu rzeczywistego pod nazwą Nasibu Isle.

Zakończenie konferencji

Zakończenie konferencji poprzedzone prezentacją projektów przygotowanych w ramach COMPO Games Bonanza