Wydział Informatyki - Informatyka (S1)
specjalność: systemy komputerowe i oprogramowanie
Sylabus przedmiotu Programowanie gier komputerowych:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauki techniczne, studia inżynierskie | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Programowanie gier komputerowych | ||
Specjalność | systemy komputerowe i oprogramowanie | ||
Jednostka prowadząca | Katedra Systemów Multimedialnych | ||
Nauczyciel odpowiedzialny | Bartosz Bazyluk <azyluk@wi.zut.edu.pl> | ||
Inni nauczyciele | |||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 10 | Grupa obieralna | 5 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Opanowany zakres wiedzy, umiejętności oraz kompetencji związanych z przedmiotami: Grafika komputerowa i wizualizacja (inf., S1, semestr 3), Gry komputerowe (inf., S1, semestr 4) oraz Programowanie obiektowe (inf., S1, semestr 3). |
W-2 | Umiejętność programowania w języku C/C++, wykorzystania standardowych bibliotek i umiejętność zastosowania w praktyce paradygmatu obiektowego. |
W-3 | Podstawowa wiedza z matematyki stosowanej i fizyki w zakresie obliczeń wektorowo-macierzowych, trygonometrii, optyki, kinematyki. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zdobycie kompetencji społecznych w zakresie współpracy z innymi studentami, wymiany informacji o sposobie rozwiązywania konkretnych problemów implementacyjnych, porównywanie jakości własnych rozwiązań do osiągnięć innych osób. |
C-2 | Zdobycie kompetencji personalnych związanych z prezentacją oraz obroną własnych rozwiązań projektowych i programistycznych. |
C-3 | Zdobycie kompetencji społecznych w zakresie podziału obowiązków i odpowiedzialności za przydzielone zadania podczas pracy grupowej nad wspólnym projektem. |
C-4 | Zapoznanie ze sposobem działania i architekturą popularnych gier komputerowych. |
C-5 | Zapoznanie z możliwościami i sposobem wykorzystania popularnych silników gier komputerowych. |
C-6 | Nauka sposobów rozwiązania istotnych problemów spotykanych podczas programowania gier komputerowych. |
C-7 | Zapoznanie ze współczesnym podejściem do programowania grafiki czasu rzeczywistego. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Interaktywna wizualizacja rzeźby terenu z użyciem bufora wierzchołków | 2 |
T-L-2 | Implementacja efektu cząsteczkowego | 2 |
T-L-3 | Wykorzystanie krzywej parametrycznej w animacji ruchu elementów świata gry | 2 |
T-L-4 | Wykorzystanie krzywych parametrycznych do tworzenia obiektów świata gry | 2 |
T-L-5 | Ruch postaci kontrolowanych przez sztuczną inteligencję | 2 |
T-L-6 | Programowanie obsługi dźwięku w grze komputerowej | 2 |
T-L-7 | Wykorzystanie silnika fizycznego | 3 |
15 | ||
projekty | ||
T-P-1 | Praca grupowa nad projektem polegającym na implementacji gry, stworzenia silnika gry lub wykorzystaniu popularnego, dostępnego powszechnie silnika do utworzenia złożonej gry komputerowej. | 15 |
15 | ||
wykłady | ||
T-W-1 | Silnik gry komputerowej 1. Idea i składniki 2. Przegląd rynkowych rozwiązań 3. Studia przypadków na przykładzie znanych gier | 4 |
T-W-2 | Działanie silnika gry komputerowej 1. Pętla główna i rodzaje jej implementacji 2. Organizacja obiektów świata gry 3. Zarządzanie zdarzeniami 4. Obsługa efektów dźwiękowych | 5 |
T-W-3 | Współczesne podejście do programowania grafiki czasu rzeczywistego na przykładzie OpenGL 3+ 1. Wykorzystanie buforów pamięci karty graficznej 2. Programy cieniujące 3. Zarządzanie kodem programów cieniujących 4. Implementacja przykładowych efektów wizualnych w oparciu o programowalny GPU | 4 |
T-W-4 | Eye tracking jako przykład nowatorskiej metody interakcji z grą komputerową | 2 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Uczestnictwo w zajęciach | 15 |
A-L-2 | Praca nad zadaniami laboratoryjnymi | 15 |
30 | ||
projekty | ||
A-P-1 | Uczestnictwo w zajęciach | 15 |
A-P-2 | Praca grupowa związana z tworzeniem projektu zaliczeniowego | 44 |
A-P-3 | Prezentacja projektu zaliczeniowego | 1 |
60 | ||
wykłady | ||
A-W-1 | Uczestnictwo w zajęciach | 15 |
A-W-2 | Studia literaturowe | 7 |
A-W-3 | Przygotowanie do zaliczenia | 7 |
A-W-4 | Udział w teście zaliczeniowym | 1 |
30 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | wykład informacyjny, problemowy i konwersatoryjny |
M-2 | dyskusja dydaktyczna związana z wykładem |
M-3 | prezentacja slajdów i filmów związanych z tematyką gier komputerowych |
M-4 | ćwiczenia z zakresu programowania grafiki czasu rzeczywistego w oparciu o OpenGL i programowania logiki gry komputerowej |
M-5 | seminarium związane z rozwojem projektów zaliczeniowych |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: ocena formująca: kontrola postępów w rozwoju projektu zaliczeniowego |
S-2 | Ocena podsumowująca: ocena podsumowująca: ocena praktycznej pracy studenta w ciągu semestru i obrona zaprezentowanego przez jego grupę projektu zaliczeniowego |
S-3 | Ocena podsumowująca: ocena podsumowująca: test z wiedzy teoretycznej |
S-4 | Ocena formująca: ocena formująca: ocena prezentowanego przez studenta inżynierskiego podejścia do rozwiązywania problemów podczas implementacji gry komputerowej |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_O5/08_W01 zdobycie wiedzy na temat sposobu działania i implementacji gier oraz silników gier komputerowych | I_1A_W13, I_1A_W16 | — | — | C-4, C-5, C-6, C-7 | T-W-2, T-W-1, T-W-3, T-W-4, T-L-2, T-L-3, T-L-1, T-L-6, T-L-5, T-L-4, T-L-7 | M-1, M-2, M-3, M-4 | S-3, S-2 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_O5/08_U01 Umiejętność praktycznego rozwiązywania problemów technicznych metodami programistycznymi na przykładzie implementacji technik związanych z programowaniem gier komputerowych | I_1A_U01, I_1A_U15, I_1A_U19, I_1A_U05 | — | — | C-6 | T-L-2, T-L-3, T-L-1, T-L-6, T-L-5, T-L-4, T-L-7, T-P-1 | M-4 | S-1, S-2, S-4 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_O5/08_K01 Kompetencje personalne w zakresie umiejętności odszukania wiedzy i wykorzystania jej w praktyce w implementacji gry komputerowej, kompetencje personalne w zakresie prezentacji i obrony proponowanych rozwiązań technicznych, kompretencje społeczne w zakresie konsultowania się w związku z rozwiązywaniem określonych problemów, pracy w grupie i podziału obowiązków podczas wspólnego rozwijania projektu. | I_1A_K07, I_1A_K01, I_1A_K03 | — | — | C-1, C-2, C-3 | T-P-1 | M-2, M-5 | S-1, S-2 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_O5/08_W01 zdobycie wiedzy na temat sposobu działania i implementacji gier oraz silników gier komputerowych | 2,0 | Niedostateczne opanowanie wiedzy prezentowanej na wykładzie. |
3,0 | Opanowanie wiedzy prezentowanej na wykładzie w stopniu dostatecznym. | |
3,5 | Ponad dostateczne opanowanie wiedzy prezentowanej na wykładzie. | |
4,0 | Dobre opanowanie wiedzy prezentowanej na wykładzie. | |
4,5 | Bardzo dobre opanowanie wiedzy prezentowanej na wykładzie. | |
5,0 | Wyróżniające opanowanie wiedzy prezentowanej na wykładzie. |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_O5/08_U01 Umiejętność praktycznego rozwiązywania problemów technicznych metodami programistycznymi na przykładzie implementacji technik związanych z programowaniem gier komputerowych | 2,0 | |
3,0 | Własnoręczne rozwiązanie zadań laboratoryjnych i aktywne uczestnictwo w rozwoju grupowego zadania projektowego. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_O5/08_K01 Kompetencje personalne w zakresie umiejętności odszukania wiedzy i wykorzystania jej w praktyce w implementacji gry komputerowej, kompetencje personalne w zakresie prezentacji i obrony proponowanych rozwiązań technicznych, kompretencje społeczne w zakresie konsultowania się w związku z rozwiązywaniem określonych problemów, pracy w grupie i podziału obowiązków podczas wspólnego rozwijania projektu. | 2,0 | |
3,0 | Aktywny udział w rozwoju ukończonego grupowego projektu zaliczeniowego. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Literatura podstawowa
- M. McShaffry, D. Graham, Game Coding Complete, Cengage Learning PTR, Stany Zjednoczone, 2012, 4
- Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Real-Time Rendering, AK Peters, 2008, 3
- Jason Gregory, Game Engine Architecture, AK Peters, 2009
Literatura dodatkowa
- Randima Fernando, GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics, Addison-Wesley Professional, Har/Cdr edition, 2005
- Adam Lake, Game Programming Gems 8 (i pozostałe z serii), Course Technology, 2011
- Mat Buckland, Programming Game AI by Example, Worldwide Publishing, 2005
- Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Course Technology, 2012, 3