Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)

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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL6 15 1,00,35zaliczenie
wykładyW6 15 1,00,30zaliczenie
projektyP6 15 2,00,35zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Opanowany 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-2Umiejętność programowania w języku C/C++, wykorzystania standardowych bibliotek i umiejętność zastosowania w praktyce paradygmatu obiektowego.
W-3Podstawowa wiedza z matematyki stosowanej i fizyki w zakresie obliczeń wektorowo-macierzowych, trygonometrii, optyki, kinematyki.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zdobycie 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-2Zdobycie kompetencji personalnych związanych z prezentacją oraz obroną własnych rozwiązań projektowych i programistycznych.
C-3Zdobycie kompetencji społecznych w zakresie podziału obowiązków i odpowiedzialności za przydzielone zadania podczas pracy grupowej nad wspólnym projektem.
C-4Zapoznanie ze sposobem działania i architekturą popularnych gier komputerowych.
C-5Zapoznanie z możliwościami i sposobem wykorzystania popularnych silników gier komputerowych.
C-6Nauka sposobów rozwiązania istotnych problemów spotykanych podczas programowania gier komputerowych.
C-7Zapoznanie ze współczesnym podejściem do programowania grafiki czasu rzeczywistego.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Interaktywna wizualizacja rzeźby terenu z użyciem bufora wierzchołków2
T-L-2Implementacja efektu cząsteczkowego2
T-L-3Wykorzystanie krzywej parametrycznej w animacji ruchu elementów świata gry2
T-L-4Wykorzystanie krzywych parametrycznych do tworzenia obiektów świata gry2
T-L-5Ruch postaci kontrolowanych przez sztuczną inteligencję2
T-L-6Programowanie obsługi dźwięku w grze komputerowej2
T-L-7Wykorzystanie silnika fizycznego3
15
projekty
T-P-1Praca 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-1Silnik gry komputerowej 1. Idea i składniki 2. Przegląd rynkowych rozwiązań 3. Studia przypadków na przykładzie znanych gier4
T-W-2Dział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ękowych5
T-W-3Współ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 GPU4
T-W-4Eye tracking jako przykład nowatorskiej metody interakcji z grą komputerową2
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach15
A-L-2Praca nad zadaniami laboratoryjnymi15
30
projekty
A-P-1Uczestnictwo w zajęciach15
A-P-2Praca grupowa związana z tworzeniem projektu zaliczeniowego44
A-P-3Prezentacja projektu zaliczeniowego1
60
wykłady
A-W-1Uczestnictwo w zajęciach15
A-W-2Studia literaturowe7
A-W-3Przygotowanie do zaliczenia7
A-W-4Udział w teście zaliczeniowym1
30

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1wykład informacyjny, problemowy i konwersatoryjny
M-2dyskusja dydaktyczna związana z wykładem
M-3prezentacja 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-5seminarium związane z rozwojem projektów zaliczeniowych

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: ocena formująca: kontrola postępów w rozwoju projektu zaliczeniowego
S-2Ocena podsumowująca: ocena podsumowująca: ocena praktycznej pracy studenta w ciągu semestru i obrona zaprezentowanego przez jego grupę projektu zaliczeniowego
S-3Ocena podsumowująca: ocena podsumowująca: test z wiedzy teoretycznej
S-4Ocena 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łceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposó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_W16C-4, C-5, C-6, C-7T-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-7M-1, M-2, M-3, M-4S-3, S-2

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposó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_U05C-6T-L-2, T-L-3, T-L-1, T-L-6, T-L-5, T-L-4, T-L-7, T-P-1M-4S-1, S-2, S-4

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposó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_K03C-1, C-2, C-3T-P-1M-2, M-5S-1, S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_O5/08_W01
zdobycie wiedzy na temat sposobu działania i implementacji gier oraz silników gier komputerowych
2,0Niedostateczne opanowanie wiedzy prezentowanej na wykładzie.
3,0Opanowanie wiedzy prezentowanej na wykładzie w stopniu dostatecznym.
3,5Ponad dostateczne opanowanie wiedzy prezentowanej na wykładzie.
4,0Dobre opanowanie wiedzy prezentowanej na wykładzie.
4,5Bardzo dobre opanowanie wiedzy prezentowanej na wykładzie.
5,0Wyróżniające opanowanie wiedzy prezentowanej na wykładzie.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium 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,0Wł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łceniaOcenaKryterium 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,0Aktywny udział w rozwoju ukończonego grupowego projektu zaliczeniowego.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. M. McShaffry, D. Graham, Game Coding Complete, Cengage Learning PTR, Stany Zjednoczone, 2012, 4
  2. Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Real-Time Rendering, AK Peters, 2008, 3
  3. Jason Gregory, Game Engine Architecture, AK Peters, 2009

Literatura dodatkowa

  1. Randima Fernando, GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics, Addison-Wesley Professional, Har/Cdr edition, 2005
  2. Adam Lake, Game Programming Gems 8 (i pozostałe z serii), Course Technology, 2011
  3. Mat Buckland, Programming Game AI by Example, Worldwide Publishing, 2005
  4. Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Course Technology, 2012, 3

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Interaktywna wizualizacja rzeźby terenu z użyciem bufora wierzchołków2
T-L-2Implementacja efektu cząsteczkowego2
T-L-3Wykorzystanie krzywej parametrycznej w animacji ruchu elementów świata gry2
T-L-4Wykorzystanie krzywych parametrycznych do tworzenia obiektów świata gry2
T-L-5Ruch postaci kontrolowanych przez sztuczną inteligencję2
T-L-6Programowanie obsługi dźwięku w grze komputerowej2
T-L-7Wykorzystanie silnika fizycznego3
15

Treści programowe - projekty

KODTreść programowaGodziny
T-P-1Praca 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

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Silnik gry komputerowej 1. Idea i składniki 2. Przegląd rynkowych rozwiązań 3. Studia przypadków na przykładzie znanych gier4
T-W-2Dział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ękowych5
T-W-3Współ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 GPU4
T-W-4Eye tracking jako przykład nowatorskiej metody interakcji z grą komputerową2
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach15
A-L-2Praca nad zadaniami laboratoryjnymi15
30
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - projekty

KODForma aktywnościGodziny
A-P-1Uczestnictwo w zajęciach15
A-P-2Praca grupowa związana z tworzeniem projektu zaliczeniowego44
A-P-3Prezentacja projektu zaliczeniowego1
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach15
A-W-2Studia literaturowe7
A-W-3Przygotowanie do zaliczenia7
A-W-4Udział w teście zaliczeniowym1
30
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O5/08_W01zdobycie wiedzy na temat sposobu działania i implementacji gier oraz silników gier komputerowych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W13zna podstawy grafiki komputerowej i technik wizualizacji
I_1A_W16ma wiedzę dotyczącą możliwości zastosowania informatyki w różnych dziedzinach aktywności ludzkiej (np. w przemyśle, zarządzaniu i medycynie)
Cel przedmiotuC-4Zapoznanie ze sposobem działania i architekturą popularnych gier komputerowych.
C-5Zapoznanie z możliwościami i sposobem wykorzystania popularnych silników gier komputerowych.
C-6Nauka sposobów rozwiązania istotnych problemów spotykanych podczas programowania gier komputerowych.
C-7Zapoznanie ze współczesnym podejściem do programowania grafiki czasu rzeczywistego.
Treści programoweT-W-2Dział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
T-W-1Silnik gry komputerowej 1. Idea i składniki 2. Przegląd rynkowych rozwiązań 3. Studia przypadków na przykładzie znanych gier
T-W-3Współ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
T-W-4Eye tracking jako przykład nowatorskiej metody interakcji z grą komputerową
T-L-2Implementacja efektu cząsteczkowego
T-L-3Wykorzystanie krzywej parametrycznej w animacji ruchu elementów świata gry
T-L-1Interaktywna wizualizacja rzeźby terenu z użyciem bufora wierzchołków
T-L-6Programowanie obsługi dźwięku w grze komputerowej
T-L-5Ruch postaci kontrolowanych przez sztuczną inteligencję
T-L-4Wykorzystanie krzywych parametrycznych do tworzenia obiektów świata gry
T-L-7Wykorzystanie silnika fizycznego
Metody nauczaniaM-1wykład informacyjny, problemowy i konwersatoryjny
M-2dyskusja dydaktyczna związana z wykładem
M-3prezentacja 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
Sposób ocenyS-3Ocena podsumowująca: ocena podsumowująca: test z wiedzy teoretycznej
S-2Ocena podsumowująca: ocena podsumowująca: ocena praktycznej pracy studenta w ciągu semestru i obrona zaprezentowanego przez jego grupę projektu zaliczeniowego
Kryteria ocenyOcenaKryterium oceny
2,0Niedostateczne opanowanie wiedzy prezentowanej na wykładzie.
3,0Opanowanie wiedzy prezentowanej na wykładzie w stopniu dostatecznym.
3,5Ponad dostateczne opanowanie wiedzy prezentowanej na wykładzie.
4,0Dobre opanowanie wiedzy prezentowanej na wykładzie.
4,5Bardzo dobre opanowanie wiedzy prezentowanej na wykładzie.
5,0Wyróżniające opanowanie wiedzy prezentowanej na wykładzie.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O5/08_U01Umiejętność praktycznego rozwiązywania problemów technicznych metodami programistycznymi na przykładzie implementacji technik związanych z programowaniem gier komputerowych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U15potrafi wykorzystywać poznane metody, modele matematyczne oraz symulacje komputerowe do rozwiązywania prostych problemów inżynierskich
I_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
I_1A_U05potrafi tworzyć i posługiwać się dokumentacją techniczną
Cel przedmiotuC-6Nauka sposobów rozwiązania istotnych problemów spotykanych podczas programowania gier komputerowych.
Treści programoweT-L-2Implementacja efektu cząsteczkowego
T-L-3Wykorzystanie krzywej parametrycznej w animacji ruchu elementów świata gry
T-L-1Interaktywna wizualizacja rzeźby terenu z użyciem bufora wierzchołków
T-L-6Programowanie obsługi dźwięku w grze komputerowej
T-L-5Ruch postaci kontrolowanych przez sztuczną inteligencję
T-L-4Wykorzystanie krzywych parametrycznych do tworzenia obiektów świata gry
T-L-7Wykorzystanie silnika fizycznego
T-P-1Praca 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.
Metody nauczaniaM-4ćwiczenia z zakresu programowania grafiki czasu rzeczywistego w oparciu o OpenGL i programowania logiki gry komputerowej
Sposób ocenyS-1Ocena formująca: ocena formująca: kontrola postępów w rozwoju projektu zaliczeniowego
S-2Ocena podsumowująca: ocena podsumowująca: ocena praktycznej pracy studenta w ciągu semestru i obrona zaprezentowanego przez jego grupę projektu zaliczeniowego
S-4Ocena formująca: ocena formująca: ocena prezentowanego przez studenta inżynierskiego podejścia do rozwiązywania problemów podczas implementacji gry komputerowej
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Własnoręczne rozwiązanie zadań laboratoryjnych i aktywne uczestnictwo w rozwoju grupowego zadania projektowego.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O5/08_K01Kompetencje 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.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K07rozumie społeczny i zawodowy kontekst informatyki oraz związanych z nim aspektów prawnych i etycznych
I_1A_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
I_1A_K03ma świadomość odpowiedzialności za wspólnie realizowane zadania
Cel przedmiotuC-1Zdobycie 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-2Zdobycie kompetencji personalnych związanych z prezentacją oraz obroną własnych rozwiązań projektowych i programistycznych.
C-3Zdobycie kompetencji społecznych w zakresie podziału obowiązków i odpowiedzialności za przydzielone zadania podczas pracy grupowej nad wspólnym projektem.
Treści programoweT-P-1Praca 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.
Metody nauczaniaM-2dyskusja dydaktyczna związana z wykładem
M-5seminarium związane z rozwojem projektów zaliczeniowych
Sposób ocenyS-1Ocena formująca: ocena formująca: kontrola postępów w rozwoju projektu zaliczeniowego
S-2Ocena podsumowująca: ocena podsumowująca: ocena praktycznej pracy studenta w ciągu semestru i obrona zaprezentowanego przez jego grupę projektu zaliczeniowego
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Aktywny udział w rozwoju ukończonego grupowego projektu zaliczeniowego.
3,5
4,0
4,5
5,0