Programowanie Gier Komputerowych
Transkrypt
Programowanie Gier Komputerowych
Data: 16.04.2008r. Wydanie: I Załącznik Symbol: Z-5.4-1-1 Strona: Status: obowiązujący 1/1 KARTA PRZEDMIOTU KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Nazwa przedmiotu: Kod/nr PROGRAMOWANIE GIER KOMPUTEROWYCH Kierunek: INFORMATYKA Specjalność: INTERAKTYWNA GRAFIKA TRÓJWYMIAROWA Tryb studiów: STACJONARNE JEDNOLITE MAGISTERSKIE Rodzaj przedmiotu: Instytut/ Katedra: Semestr: Prowadzący przedmiot: Prowadzący zajęcia: TECHNICZNY Liczba pkt ECTS INFORMATYKI IX prof. dr hab. inŜ. Konrad Wojciechowski Liczba godzin Wykład: prof. Wojciechowski dr hab. inŜ. Konrad Wykład: 30 Ćwiczenia: Laboratorium: mgr inŜ. Kamil Urbanek, Ćwiczenia: mgr inŜ. Robert Mikuszewski, mgr inŜ. Adrian Dębowski, mgr inŜ. Mariusz Laboratorium: 30 Szynalik, mgr inŜ. Jakub Grudziński, mgr inŜ. Jakub Stępień, mgr inŜ. Przemysław Projekt: Pruszowski Seminarium: Projekt: Seminarium: Załącznik Data: 16.04.2008r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 2/1 KARTA PRZEDMIOTU Powiązanie ze standardami i cel kształcenia Celem przedmiotu jest zapoznanie studentów z problematyką programowania gier komputerowych. Tematyka gier komputerowych porusza wiele zagadnień znanych z innych gałęzi informatyki, w szczególności waŜne są zagadnienia związane z grafiką komputerową, dźwiękiem, algorytmiką i sztuczną inteligencją; w ostatnich latach równie istotne stają się teŜ zagadnienia sieciowe ze względu na coraz popularniejsze gry sieciowe, tzw. w trybie dla wielu graczy. Przede wszystkim jednak gry komputerowe są niezwykle złoŜonymi aplikacjami, w których najtrudniejszym problemem staje się sprawne połączenie wielu oddzielnych elementów. W ramach wykładu przedstawiane są podstawowe tematy realizowane przy tworzeniu gry komputerowej od etapu projektowania, poprzez opracowanie podstawowych struktur programu, najwaŜniejszych podsystemów gry aŜ do powstania pełnej aplikacji. Prezentowane są róŜne podejścia do rozwiązywania niektórych problemów. W ćwiczeniach laboratoryjnych szczególną uwagę poświęca się metodom praktycznego wykorzystania prezentowanych na wykładach technik i algorytmów wykorzystując najnowsze środowiska programistyczne (Visual C++, Visual C#). Osobne ćwiczenie poświęcone jest teŜ tworzeniu gier z wykorzystaniem dedykowanych środowiskach (np. XNA Studio Express) oraz korzystaniu z narzędzi do profilowania wydajności wyświetlania trójwymiarowej grafiki (NVidia NVPerfHud, ATI Pix Plugin). Przedmioty wprowadzające oraz wymagania wstępne Student powinien posiadać podstawową wiedzę z zakresu grafiki komputerowej, interaktywnej grafiki trójwymiarowej oraz znajomość paradygmatu programowania obiektowego. Przedmioty wprowadzające: Grafika komputerowa, Programowanie Komputerów, InŜynieria Oprogramowania, Podstawy Interaktywnej Grafiki Komputerowej, Programowanie w API Graficznych. Załącznik Data: 16.04.2008r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 3/1 KARTA PRZEDMIOTU Treść wykładów: Wprowadzenie do tematyki programowania gier komputerowych. Podstawowe pojęcia, gatunki gier, architektura gier komputerowych. Organizacja danych w grach komputerowych. Graf sceny. Podstawowe mechanizmy silników graficznych. Architektura złoŜonych aplikacji wykorzystujących grafikę trójwymiarową. NajwaŜniejsze podsystemy silnika gry komputerowej. Interaktywna animacja komputerowa. Zasada działania animacji opartej o klatki kluczowe. Przykłady praktycznej animacji sceny trójwymiarowej. Parametryzacja animacji komputerowej. Modele szkieletowe. Sterowanie ruchem wirtualnej postaci. Budowa szkieletu i zasady poruszania wirtualnymi kośćmi. Zaawansowane techniki animacji modeli istot Ŝywych. Dźwięk w grach komputerowych. Problemy i metody realizacji dźwięku trójwymiarowego. Efekt Dopplera. Uwzględnianie kształtu sceny w ocenie słyszalności dźwięku. Interakcja w grach komputerowych. Wykrywanie kolizji i sterowanie ruchem obiektu na podstawie jego cech fizycznych. Fizyka ciał sztywnych i wiotkich. Elementy symulacji ubrań w czasie rzeczywistym. Zaawansowane techniki graficzne. Oświetlenie na wierzchołek i na piksel. Mapy nierówności i normalnych. Zasady dynamicznego oświetlania obiektów trójwymiarowych. Cienie. Wydajność i optymalizacja gier komputerowych. Wydajne renderowanie sceny. Profilowanie aplikacji. Narzędzia do testowania wydajności renderowanej grafiki. Dynamiczna kontrola poziomu szczegółowości sceny. Zmienny poziom szczegółowości modeli trójwymiarowych. Algorytmy dynamicznej kontroli złoŜoności podłoŜa (terenu). Gry dla wielu osób. Zagadnienia sieciowe w grach komputerowych. Gry typu Massive Multiplayer Online. Załącznik Data: 16.04.2008r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 4/1 KARTA PRZEDMIOTU Treść/Tematy: Laboratorium Architektura silnika gry trójwymiarowej, Podsystem wyświetlania grafiki, eliminacja niewidocznych obiektów, wydajne renderowanie, oświetlenie, Podsystem interakcji, wykrywanie i reakcja na kolizje, róŜne poziomy dokładności wykrywania kolizji, podstawy fizyki, Programowanie ruchu wirtualnej postaci, kontrolery animacji, inteligentne sterowanie ruchem i animacją, Podsystem dźwięku, odgrywanie dźwięków, optymalizacja pracy z dźwiękami i muzyką, Języki skryptowe w grach komputerowych, wspomaganie skryptowe sterowania wirtualnymi postaciami, Zagadnienia sieciowe w grach komputerowych, gry dla wielu graczy, Środowiska dedykowane do tworzenia gier, tworzenie gier na PC i XBOX Live, Narzędzia zaawansowanego profilowanie wydajności renderowania grafiki (NVidia NVPerfHud, ATI Pix Plugin). Metody dydaktyczne Wykład: Prowadzący przedmiot w trakcie wykładu wykorzystuje prezentacje multimedialne, a takŜe przedstawia studentom przykłady konfiguracji oraz działania aplikacji. Laboratorium: Do kaŜdego laboratorium dołączona jest instrukcja, w której znajduje się wprowadzenie do zagadnienia, opis narzędzi wykorzystywanych w trakcie zajęć oraz lista zadań lub pytań wymaganych do zaliczenia danych zajęć laboratoryjnych. Forma egzaminu/zaliczenia przedmiotu 1. Wykład — kolokwium zaliczeniowe w formie pisemnej 2. Laboratorium – pozytywne zaliczenie wszystkich zajęć laboratoryjnych Minimalne wymagania do egzaminu /zaliczenia Zaliczenie kolokwium z wykładu, zaliczenie wszystkich zajęć laboratoryjnych Załącznik Data: 16.04.2008r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 5/1 KARTA PRZEDMIOTU Literatura (podstawowa i specjalistyczna) 1. M. de Loura, Perełki Programowania Gier (tomy 1-3), Helion. 2. David H. Eberly, 3D Game Engine Design (2nd edition), The Morgan Kaufmann Series in Interactive 3D Technology 3. David H. Eberly, 3D Game Engine Architecture, The Morgan Kaufmann Series in Interactive 3D Technology 4. David H. Eberly, Game Physics, The Morgan Kaufmann Series in Interactive 3D Technology 5. Gino van den Bergen, Collision Detection in Interactive 3D Environments, The Morgan Kaufmann Series in Interactive 3D Technology 6. James M. Van Verth and Lars M. Bishop, Essential Mathematics for Games and Interactive Applications, The Morgan Kaufmann Series in Interactive 3D Technology Zatwierdzono: ……………………………. ………………………………………………… (data i podpis prowadzącego) (data i podpis Dyrektora Instytutu/Kierownika Katedry)