Politechnika Warszawska - Centralny System Uwierzytelniania
Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Wytwarzanie gier komputerowych

Informacje ogólne

Kod przedmiotu: 103A-INIMU-MSP-WGK Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Wytwarzanie gier komputerowych
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty techniczne )---EITI
( Przedmioty zaawansowane )-Inżynieria systemów informatycznych-mgr.-EITI
( Przedmioty zaawansowane techniczne )--mgr.-EITI
( Wytwarzanie systemów multimedialnych )-Informatyka w multimediach-mgr.-EITI
Punkty ECTS i inne: 4.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

WGK

Numer wersji:

1

Skrócony opis:

Przedmiot poświęcony jest problematyce wytwarzania gier komputerowych przy wykorzystaniu nowoczesnych środowisk programistycznych, określanych często jako silniki gier. W skład każdego z takich środowisk wchodzi zwykle silnik właściwy, "wprawiający w ruch" zaprojektowany świat gry oraz zbiór różnorakich narzędzi, które wspomagają proces tworzenia tego świata. Na kolejnych jednostkach wykładowych omawiana jest budowa, używane algorytmy oraz narzędzia tworzące silnik gry na przykładzie nowoczesnego środowiska wytwarzania gier Unreal Engine 4 (UE4). Wykładowi towarzyszą seanse laboratoryjne, w trakcie których uczestnicy przedmiotu realizują ćwiczenia przy komputerach pod kierunkiem prowadzącego. W skład przedmiotu wchodzi również projekt, w ramach którego uczestnicy mają za zadanie wytworzenie prostej gry przy wykorzystaniu jednego silników dostępnych publicznie (preferencyjnie UE4).

Pełny opis:

Przedmiot poświęcony jest problematyce wytwarzania gier komputerowych przy wykorzystaniu nowoczesnych środowisk programistycznych, określanych często jako silniki gier. W skład każdego z takich środowisk wchodzi zwykle silnik właściwy, "wprawiający w ruch" zaprojektowany świat gry (w rozumieniu jego wizualizacji, zachodzących w nim interakcji fizycznych, zależności logicznych, itp.) oraz zbiór różnorakich narzędzi, które wspomagają proces tworzenia tego świata (różnego rodzaju edytory, interfejsy graficzne użytkownika, języki programowania). Na kolejnych jednostkach wykładowych omawiana jest budowa, używane algorytmy oraz narzędzia tworzące silnik gry na przykładzie nowoczesnego środowiska wytwarzania gier Unreal Engine 4 (UE4). Silnik ten jest dziś silnikiem wiodącym w przemyśle gier komputerowych i wykorzystywany jest przez wiele profesjonalnych studiów deweloperskich. Wykładowi towarzyszą seanse laboratoryjne, w trakcie których uczestnicy przedmiotu realizują ćwiczenia przy komputerach pod kierunkiem prowadzącego. Ćwiczenia te mają na celu sprawdzenie i wykorzystanie w praktyce wiedzy nabytej na wykładach. W skład przedmiotu wchodzi również projekt, w ramach którego uczestnicy mają za zadanie albo zaprojektowanie i zaimplementowanie własnego prostego silnika gry i następnie wykorzystanie go do utworzenia prostej gry, albo wytworzenie gry bardziej złożonej przy wykorzystaniu jednego silników dostępnych publicznie (w tym UE4).


Treść wykładu

  • Informacje ogólne o silniku gry: co to jest silnik gry, podstawowe składniki silnika gry, architektura i poszczególne moduły silnika gry.
  • Cykl produkcyjny tworzenia gry: od dokumentacji wstępnej projektu do prototypu świata gry i rozgrywki, prototypowanie świata gry na przykładzie UE4, siatki trójkątów i BSP, zastosowanie operatorów CSG, narzędzia modelowania geometrii BSP.
  • Prototypowanie świata gry: złożona struktura zasobów geometrycznych wykorzystywanych w grach, typy zasobów gry w UE4, różnice między zasobami, aktorami, a klasami; zarządzanie zasobami w UE4 – zadania Content Browsera.
  • Prototypowanie rozgrywki: wprowadzenie do systemu Blueprint, programowanie przy wykorzystaniu blueprintów jako programowanie zorientowane obiektowo; klasy, zdarzenia i funkcje, rodzaje klas blueprintowych; zmienne składowe, komponenty, kompozycja i dziedziczenie w blueprintach, edytor klas blueprintowych.
  • Prototypowanie rozgrywki (cd) oraz Programowanie w systemie Blueprint (cd.): elementy interaktywne świata gry, timeline, operacje na komponentach klas, kontrola przepływu w funkcjach blueprintowych, Construction Script jako analog konstruktora w OOP.
  • Komunikacja między klasami oraz inne aspekty programowania w systemie Blueprint: komunikacja bezpośrednia i poprzez dynamiczne rzutowanie typu, przesyłanie zdarzeń (event dispatching), interfejsy i polimorfizm, referencje i polimorfizm, funkcje autonomiczne, makrodefinicje, biblioteki funkcji i makrodefinicji, tablice.
  • Ruch, interakcje między aktorami, kolizje: kategorie mobilności obiektów w grach komputerowych, rodzaje mobilności aktorów w UE4, przyczyny ruchu obiektów w grach komputerowych, wykrywanie kolizji, bryły kolizji w blueprintach, aktorzy-wyzwalacze (trigger volumes), zdarzenia: intersekcje i uderzenia, filtrowanie kolizji i kanały kolizji w UE4, rezultaty kolizji a zdarzenia, kolizje a śledzenie promieni i innych rodzajów prymitywów geometrycznych.
  • Interaktywne sterowani ruchem aktorów i kamer w UE4: transformacje aktorów, kamery jako autonomiczni aktorzy oraz komponenty, kontroler gracza (Player Controller), urządzenia sterujące, hierarchia przekazywania sygnału wejścia, Pionek (Pawn) oraz jego zawładnięcie przez kontroler gracza, klasy Pionka.
  • Animacja szkieletowa (1): ogólna idea animacji szkieletowej, szkielet, przekształcenia kości, skinning i mieszanie wierzchołków (vertex blending), animacje elementarne i złożone, przekierowanie animacji (retargetting), mieszanie animacji, przestrzenie mieszania i blueprinty animacji.
  • Animacja szkieletowa (2): rodzaje przestrzeni mieszania, wykorzystanie animacji szkieletowych w świecie gry, zastosowanie bluprintów animacji, graf zdarzeń i graf animacji, operacje mieszania w grafie animacji.
  • Animacja szkieletowa (3): idea maszyny stanu animacji, maszyna stanów animacji w UE4, programowanie stanów, przejść oraz przejść złożonych (conduit), animacja addytywna, zasób Aim Offset – jego tworzenie i wykorzystanie, łączenie aktorów – gniazdka.
  • Sztuczna inteligencja w grach (1): SI akademicka vs. SI w grach komputerowych, główne zagadnienia SI w grach, popularne metody implementacji SI w grach, drzewa decyzyjne, skończone maszyny stanów, hierarchiczne maszyny stanów, drzewa zachowań, podejmowanie decyzji w UE4 – zasoby: behavior tree i blackboard, trawersacja drzewa zachowań, węzły selector oraz sequence.
  • Sztuczna inteligencja w UE4 (2): dekoratory: idea i ich implementacja w UE4, dekoratory jako obserwatorzy – generowanie przerwań, serwisy, kontroler SI (AI Controller) i jego związek z klasą Pionka i drzewem zachowań, budowa Blackboarda i operacje zapisu/odczytu jego kluczy.
  • Sztuczna inteligencja w UE4 (3): węzły zadań (Task) i ich rola oraz możliwości, zadania predefiniowane, programowanie zadań, dekoratory predefiniowane, programowanie dektoratorów, programowanie serwisów, wpływ serwisów na kontrolę przepływu w drzewie zachowań, zagadnienia nawigacji w świecie gry (pathfinding), siatki nawigacji, komponenty symulowania zmysłów w UE4.


Zakres laboratorium


Na kolejnych seansach laboratoryjnych uczestnicy przedmiotu ćwiczą przy komputerach, pod kierunkiem prowadzącego, wykorzystanie w praktyce narzędzi i metod przedstawianych na wykładzie.


Zakres projektu


W ramach projektu uczestnicy przedmiotu, w zespołach dwuosobowych, albo implementują swój własny silnik gry i demonstrują jego działanie na przykładzie stworzonej przez siebie prostej gry, albo tworzą bardziej złożoną grę przy wykorzystaniu silnika istniejącego (w szczególności UE4).

Literatura:

Oprogramowanie


Unreal Engine 4

Literatura

  • D.H. Eberly, 3D Game Engine Design, 2nd ed. , Morgan Kaufmann, 2006.
  • J. Gregory, Game Engine Architecture, A K Peters/CRC Press, 2009.
  • https://docs.unrealengine.com
  • Brendel Sewell, Blueprints Visual Scripting for Unreal Engine, Packt Publishing 2015.
  • Aram Cookson, i inni, Unreal Engine 4 Game Development in 24 hours,SAMS, 2016.
  • Nicola Valcasara, Unreal Engine Game Development Bluprints, Packt Publishing, 2015.
  • Peter Newton, Unreal Engine 4 AI Programming Essentials, Packt Publishing, 2016.
  • Katax Emperore, Devin Sherry, Unreal Engine Physics Essentials, Packt Publishing 2015.

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (jeszcze nie rozpoczęty)

Okres: 2021-10-01 - 2022-02-20

Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin, 36 miejsc więcej informacji
Projekt, 15 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Tomasz Martyn
Prowadzący grup: Krzysztof Chabko, Michał Chwesiuk, Tomasz Martyn
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (zakończony)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin, 36 miejsc więcej informacji
Projekt, 15 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Tomasz Martyn
Prowadzący grup: Krzysztof Chabko, Michał Chwesiuk, Tomasz Martyn
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.