Polish Conference On
Computer Games Development
Gdańsk 6 - 8 SEPTEMBER 2013

WGK 2011 - conference materials

Below you will find videos of lectures that were performed during the conference. Additional materials provided by speakers are also included below.

Friday

Official opening

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.

Development of video games using UDK
Mariusz Szwoch, Karol Sobiesiak, Zygmunt Szefel

In this paper Unreal Development Kit (UDK) by Epic Games is presented. This game development environment is based on Unreal Engine 3 and enables creating of advanced multiplatform games of almost any genre. UDK is generally a complete solution offering level modeling tools such as solid geometry editor, terrain editor, content browser, high-level script language, animation editor, material and particle effects composers and many others. Also practical aspects of using UDK are presented as FPS game “Invasion on FETI”. This game seems an interesting case study, allowing to verify usability of UDK environment in game creation. Interesting observations and experience will be useful in development of further projects in UDK.

Smooth start for strategy game development upon XNA framework
Mikołaj Kania, Waldemar Korłub, Jakub Krajewski

To attract young and casual game developers, Microsoft created a set of libraries oriented towards easier game development and end-product management. The aim of XNA Framework is to provide a unified software development environment for creating games for both PC's and dedicated platforms like XBOX consoles or mobile phones capable of 3D acceleration. The use of modern, object oriented languages available for the .NET platform – which XNA is bound to – reduces significantly the amount of repetitive boilerplate code programmer must write to build a game. It makes for a smooth start for game developers and allows to focus on high-level problems like the game plot or interactions between units. This article shows how easy it is to build a basic game environment. The aim is to provide means for implementing further ideas making for a hobby strategy game. The paper also raises several issues related to creating a home-baked game engine. It covers efficient terrain rendering and shows how to get started with modelling the environment. Presented solutions were implemented in existing real-time strategy game 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.

How social games revolutionised design
Ziemowit Poniewierski

Video game market is the most dynamic branch of worldwide industry. In merely 30 years, market of electronic entertainment evolved like no other. Milestones of this evolution have always been connected with significant events like introducing 3D Accelerators or popularisation of the Internet. Games development has become a profitable business. Too make it even more lucrative, developers reached for various science and marketing tools. Nevertheless, creating a video game is still a kind of high-risk lottery. In time needed to finish game development, the key success factors can change completely. In case of online social games, we deal with an entirely different situation. Such games are never complete creations. Under the watchful eye of their makers, they are still evolving. Multifarious diagnostic tools provide perpetual feedback and let designers thoroughly analyse reception of their products. The main goal of presentation is pointing out the recent changes in the field of video games design and the impact of social games on this paradigm shift.

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.

Recognition of dynamic and static hand gestures applied to computer application controlling
Michał Lech, Bożena Kostek, Andrzej Czyżewski

In the paper an interface, methods and algorithms of controlling a computer by dynamic and static hand gestures have been presented. The solution consists of a PC on which engineered software is installed, a webcam and a multimedia projector. Gestures are recognized based on analysis of a video stream obtained from the webcam attached to the multimedia projector and on analysis of video stream displayed by the projector (retrieved from the computer). For the purpose of dynamic gestures recognition motion trajectory has been modeled by fuzzy rules. Static gestures are recognized using Support Vector Machines. In the paper results of efficiency examination of the interface engineered have been given. In conclusions, further plans to extend the system with algorithms enabling to work with the camera placed front-faced have been presented.

Saturday

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.

Storing complex lighting functions as normal maps
Krzysztof Kluczek

Normal maps are one of most commonly used techniques in computer graphics, because they allow relatively low cost reproduction of object details and their interactions with lighting. Standard normal maps store only information about surface fragments orientation and don't reproduce the effect of shadow casting within single surface. The algorithm presented in the article allows encoding in standard normal map extra information about shadows cast within the same surface. Algorithm idea is based on considering normal vector components as harmonics coefficients, which allows approximation of arbitrary functions over sphere domain. In this case, the function being approximated is light diffusion function, taking into account shadows cast within the came surface.

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 within 1ms
Krzysztof Kluczek

Effective algorithm of simulating backlight
Paweł Szczerbuk

This article describes effective and simple to implement method of simulating backlight phenomena. As a backlight we understand phenomena of reflecting light coming from objects further than currently rendered object. The algorithm is based on usage of screen buffer as source of information about scene light distribution.

Creating gamedev-oriented programming languages with LLVM infrastructure
Tomasz Dąbrowski

The article describes using LLVM infrastructure to create custom programming languages, targeted at high performance game programming. LLVM (Low Level Virtual Machine) is a complex suite of tools aimed at creating compilers. Article describes not only layout of a compiler created with LLVM, but also possibilities and challenges related with creating language that best suits game development. The article proposes three layers of languages: engine language, data processing language and script language. With unified approach and LLVM, it is possible to integrate various tools like debuggers or even complete IDE. Finally, a project using described techniques is presented.

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.

Terrain modelling based on erosion using deformable voxels
Michał Kurowski

Article presents a method of procedural modelling of fully three-dimmensional terrain inspired by hydraulic erosion. The presented method is intended for use in computer graphics with applications in creation of “virtual worlds”. Terrain is represented by “deformable voxels” organized in a regular grid. This allows to overcome the limitations of widely used heightmaps, thus enabling modelling of fully three-dimmensional forms and simultaneously trying to avoid some problems with the traditional voxel representation. Water flow is simulated using SPH (“Smoothed Particle Hydrodynamics”) enhanced with support of user-defined “modifiers”, which affect the particles' movement. Sediment transport is implemented using a separate system of particles, which are carried by the SPH-generated flow. The user can supervise the algorithm by watching the current results and adding, removing or modifying water sources and sinks. The resulting triangle mesh is generated using postprocessing of the voxels deformed during the simulation.

Sunday

A word game for lexical knowledge acquisition
Jacek Rzeniewicz, Julian Szymański

This article describes a word game implementation - a model of context searcher and a lexical commonsense knowledge acquisition tool. Significance of context search was stated here followed by an exact description of the algorithm finding objects by their features. Knowledge representation and approach to knowledge acquisition was presented here along with how they relate to other known projects dealing with this subjects.

Simulation of walking and running in a virtual world
Jacek Lebiedź

The first part of the paper presents various techniques of simulation of walking and running and a discussion of their advantages and disadvantages. The best solution seems to be a transparent rotating sphere moved by a walker inside (like hamster wheel). Such a device placed in the CAVE will be created by the end of 2013 in the Faculty of Electronics, Telecommunications and Informatics at Gdańsk University of Technology as a so-called Immersive 3D Visualization Laboratory. Project description and potential application of designed device are the second part of the paper.

Labyrynths generators, their properties and pracitacl application in computer games
Paweł Noga

This paper presents three basic algorithms for generation of mazes, and many of their modifications and examples showing their practical application in creating random structures that resembles those from the real world. The paper highlights the difference in the labyrinths classes generated by listed algorithms and describes a specific and highly likely to occur shapes that occur in generated mazes. Particular attention was paid to the method of hypsometric masks, as the most promising way to create structures resembling those from real world.

Developing business web applications and producing rich browser based games on example of “Project Ark”
Michał Trzaskowski, Urszula Trzaskowska, TouK

Development process comparison between business web application and rich browser based games. Presentation will touch many aspects of development process starting from analysis and technical design, through implementation, testing and final deployment, with attention to project management and business model. Very important part of presentation will discuss Open Source solutions and consequences of their use. Web game development process will be presented on example of ongoing Project Ark. It is rich space MMO browser web game project, based on open Java solutions and common web standards (HTML/CSS/javascript). It is developed in spare time by small team of coworkers of TouK IT company (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ł.

A proposition for integrating elements of game universe by means of behavioral trees
Mikołaj Kania, Waldemar Korłub, Jakub Krajewski

Modern computer games often involve autonomous beings collaborating and competing with each other to reach their objectives in the game universe. It seems only natural to use agent-oriented approach in such cases. This article identifies the rules of building a game universe as an environment for executing agents. The paper also covers a method for decomposing compound behaviors into behavioral trees. Dividing complex behaviors into smaller and easier to implement ones, each with its own preconditions and finalizing actions, leads to a natural model for defining the way individual agents should act. Because of their structure, behavioral trees are suitable for describing goal-oriented behaviors with conditional branches. This approach leads to a proposition for integrating elements of game universe which is covered in the final part of the paper. Presented solution was implemented in an existing real-time strategy game Nasibu Isle.

Closing of the conference