Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: inżynieria oprogramowania

Sylabus przedmiotu Zaawansowane programowanie gier komputerowych:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauki techniczne
Profil ogólnoakademicki
Moduł
Przedmiot Zaawansowane programowanie gier komputerowych
Specjalność grafika komputerowa i systemy multimedialne
Jednostka prowadząca Katedra Systemów Multimedialnych
Nauczyciel odpowiedzialny Bartosz Bazyluk <azyluk@wi.zut.edu.pl>
Inni nauczyciele Radosław Mantiuk <Radoslaw.Mantiuk@zut.edu.pl>
ECTS (planowane) 6,0 ECTS (formy) 6,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 20 3,90,50egzamin
projektyP1 20 2,10,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Grafika komputerowa i wizualizacja
W-2Umiejętność programowania w języku C/C++
W-3Podstawowa wiedza z matematyki stosowanej oraz fizyki w zakresie obliczen macierzowo-wektorowych, optyki, kolorymetrii, termodynamiki oraz mechaniki falowej i kwantowej

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie z technikami programowania bibliotek graficznych
C-2Zapoznanie z technikami z programowaniem sprzetowym karty graficznej
C-3Zdobycie umiejętności projektowania gry komputerowej
C-4Zdobycie kompetencji społecznej współpracy w grupie, umiejetności wspólnego rozwiązywania problemów, dobierania narzędzi, technik oraz algorytmów, porównywania jakości uzyskanych efektów - powstałej gry komputerowej
C-5Zdobycie kompetencji personalnych w zakresie dobierania oraz analizy literatury dostępnej w internecie dotyczącej programowania gier oraz wykorzystania jej w praktyce w swoich projektach
C-6Umiejętność wykorzystania technik programowania bibliotek graficznych
C-7Umiejętność programowania sprzętowego z wykorzystaniem języka GLSL

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

KODTreść programowaGodziny
projekty
T-P-1Zapoznanie się z narzędziami wykorzystywanymi przy programowaniu gier komputerowych.2
T-P-2Zapozananie się z podstawowymi technikami programowania procesorów graficznych.2
T-P-3Implementacja głównej pętli gry.4
T-P-4Implementacja algorytmu cieniowania.2
T-P-5Wczytywanie struktury sceny.1
T-P-6Implementacja efektów graficznych.9
20
wykłady
T-W-1Wprowadzenie do grafiki komputerowej.4
T-W-2Potok graficzny czasu rzeczywistego. Omówienie zasad działania silników graficznych stosowanych w grach komputerowych.4
T-W-3Programowanie procesora graficznego na potrzeby gier komputerowych.2
T-W-4Reprezentacja obiektów geometrycznych w grach komputerowych2
T-W-5Modele oświetlenia stosowane w grach komputerowych2
T-W-6Techniki implementacji efektów graficznych stosowanych w grach komputerowych6
20

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

KODForma aktywnościGodziny
projekty
A-P-1Praca w domu przy programowaniu gry.36
A-P-2Uczestnictwo w zajęciach laboratoryjnych.20
56
wykłady
A-W-1Uczestnictwo w wykładach.20
A-W-2Przygotowanie sie do zaliczenia.25
A-W-3Samodzielne studiowanie literatury z przedmiotu w domu60
105

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykłady wspomagane prezentacją multimedialną.
M-2Na projekcie zespołowa realizacja zadań wspomagających pracę na ćwiczeniach laboratoryjnych w zakresie zapoznania sie z procesem tworzenia gry komputerowej, wykorzystywanymi technikami programistycznymi oraz tworzenia dokumentacji.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Kontrola postepów z projektowania gry komputerowej
S-2Ocena podsumowująca: Obrona sprawozdania z projektu przed grupą
S-3Ocena podsumowująca: Ocena jakości oraz kompletności stworzonej gry komputerowej
S-4Ocena podsumowująca: Egzamin z wiedzy teoretycznej
S-5Ocena formująca: Kontrola postepów oraz poprawności tworzonej dokumentacji

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łceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D17/3_W01
W wyniku przeprowadzonych zajęć student powinien być w stanie zaprojektować grę komputerową oraz objaśnić proces tworzenia gry gomputerowej.
I_2A_W03, I_2A_W05, I_2A_W07C-2, C-1, C-3T-W-5, T-W-3, T-W-6, T-W-4M-1S-4

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łceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D17/3_U01
W wyniku przeprowadzonych zajęć student powinien umieć zaprojektować grę komputerową, zastosować techniki tworzenia aplikacji czasu rzeczywistego, uwzględniając elementy podnoszące realizm tworzonego oprogramowania oraz wykorzystać techniki programowania procesora graficznego za pomocą języka GLSL.
I_2A_U03, I_2A_U04C-7, C-6T-P-1, T-P-4, T-P-3M-2S-5, S-1

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łceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D17/3_K01
W wyniku przeprowadzonych zajęć student nabędzie następujące postawy: aktywność w określaniu priorytetów służących do realizacji określonego zadania oraz otwartość na pracę w zespole zadaniowo, postrzeganie relacji oraz hiererchii pracy grupowej.
I_2A_K01, I_2A_K05, I_2A_K06C-5, C-4T-P-1, T-P-3M-2S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/3_W01
W wyniku przeprowadzonych zajęć student powinien być w stanie zaprojektować grę komputerową oraz objaśnić proces tworzenia gry gomputerowej.
2,0Na ocene 2.0 student: niedostatecznie opanował zakres wiedzy omawianej na wykładach.
3,0Na ocene 3.0 student:dostatecznie opanował zakresu wiedzy omawianej na wykładach.
3,5Na ocene 3.5 student: ponad dostatecznie opanował zakresu wiedzy omawianej na wykładach.
4,0Na ocene 4.0 student: dobrze opanował zakres wiedzy omawianej na wykładach oraz posiadł umiejętność, swobodnie potrafi wyjaśnić zasady obowiązujące przy projektowaniu gry komputerowej.
4,5Na ocene 4.5 student: ponad dobrze opanował zakres wiedzy omawianej na wykładach, swobodnie potrafi wyjaśnić zasady obowiązujące przy projektowaniu gry komputerowej oraz sposób pracy w firmach związanych z produkcją gier.
5,0Na ocene 5.0 student: bardzo dobrze opanował zakresu wiedzy omawianej na wykładach, swobodnie potrafi wyjaśnić zasady obowiązujące przy projektowaniu gry komputerowej oraz sposób pracy w firmach związanych z produkcją gier.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/3_U01
W wyniku przeprowadzonych zajęć student powinien umieć zaprojektować grę komputerową, zastosować techniki tworzenia aplikacji czasu rzeczywistego, uwzględniając elementy podnoszące realizm tworzonego oprogramowania oraz wykorzystać techniki programowania procesora graficznego za pomocą języka GLSL.
2,0Na ocenę 2: student nie jest w stanie zaprojektować gry komputerowej
3,0Na ocenę 3: Student potrafi zaprojektować prostą grę komputerową, bez menu, bez wykorzystania dodatkowych efektów graficznych oraz zaawansowanych technik programistycznych. Student nie potrafi realizować obliczen z wykorzystaniem procesora graficznego.
3,5Na ocenę 3.5: Student potrafi zaprojektować prostą grę komputerową, z prostym menu, bez wykorzystania dodatkowych efektów graficznych oraz zaawansowanych technik programistycznych. Student nie potrafi realizować obliczen z wykorzystaniem procesora graficznego.
4,0Na ocenę 4.0: Student potrafi zaprojektować grę komputerową, z menu, z wykorzystaniem prostych, dodatkowych efektów graficznych bez wykorzystania zaawansowanych technik programistycznych. Student nie wykorzystujeobliczen z wykorzystaniem procesora graficznego.
4,5Na ocenę 4.5: Student potrafi zaprojektować grę komputerową, z menu, z wykorzystaniem dodatkowych efektów graficznych oraz zaawansowanych technik programistycznych. Student nie potrafi realizować obliczen z wykorzystaniem procesora graficznego.
5,0Na ocenę 5.0: Student potrafi zaprojektować grę komputerową, z menu, z wykorzystaniem dodatkowych efektów graficznych, zaawansowanych technik programistycznych oraz obliczen z wykorzystaniem procesora graficznego.

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/3_K01
W wyniku przeprowadzonych zajęć student nabędzie następujące postawy: aktywność w określaniu priorytetów służących do realizacji określonego zadania oraz otwartość na pracę w zespole zadaniowo, postrzeganie relacji oraz hiererchii pracy grupowej.
2,0Na ocenę 2: Student nie potrafi współpracować w zespole ani określić priorytetów służących do realizacji postawionego na zajęciach zadania.
3,0Na ocenę 3: Student nie potrafi współpracować w zespole ale potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
3,5Na ocenę 3.5: Student posiada niewielką umiejętność pracy w zespole. Pełni rolę biernego obserwatora. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
4,0Na ocenę 4.0: Student posiada umijętność współpracy w zespole, potrafi w niej pełnić różne role, nie wykazuje jednak zbytniej aktywności. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
4,5Na ocenę 4.5: Student posiada umiejętność współpracy w zespole, potrafi w niej pełnić różne role, z próbą zgłaszania własnych pomysłów. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
5,0Na ocenę 5: Student potrafi odgrywać różne role w projekcie. Posiada umiejętność kierowania zespołem, rozdzielania zadań pomiędzy innych członków zespołu i ich koordynowania, jak również wykonywania zadań zlecanych przez innych uczestników projektu. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.

Literatura podstawowa

  1. Randima Fernando, GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics, Addison-Wesley Professional, Har/Cdr edition, 2005
  2. Matt Pharr, Randima Fernando, GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, Addison-Wesley Professional, 2005
  3. Hubert Nguyen, Gpu gems 3, Addison-Wesley Professiona, 2007

Treści programowe - projekty

KODTreść programowaGodziny
T-P-1Zapoznanie się z narzędziami wykorzystywanymi przy programowaniu gier komputerowych.2
T-P-2Zapozananie się z podstawowymi technikami programowania procesorów graficznych.2
T-P-3Implementacja głównej pętli gry.4
T-P-4Implementacja algorytmu cieniowania.2
T-P-5Wczytywanie struktury sceny.1
T-P-6Implementacja efektów graficznych.9
20

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie do grafiki komputerowej.4
T-W-2Potok graficzny czasu rzeczywistego. Omówienie zasad działania silników graficznych stosowanych w grach komputerowych.4
T-W-3Programowanie procesora graficznego na potrzeby gier komputerowych.2
T-W-4Reprezentacja obiektów geometrycznych w grach komputerowych2
T-W-5Modele oświetlenia stosowane w grach komputerowych2
T-W-6Techniki implementacji efektów graficznych stosowanych w grach komputerowych6
20

Formy aktywności - projekty

KODForma aktywnościGodziny
A-P-1Praca w domu przy programowaniu gry.36
A-P-2Uczestnictwo w zajęciach laboratoryjnych.20
56
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w wykładach.20
A-W-2Przygotowanie sie do zaliczenia.25
A-W-3Samodzielne studiowanie literatury z przedmiotu w domu60
105
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/3_W01W wyniku przeprowadzonych zajęć student powinien być w stanie zaprojektować grę komputerową oraz objaśnić proces tworzenia gry gomputerowej.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W03Posiada wiedzę o przedsiębiorczości oraz sposobach efektywnego kierowania zespołami ludzkimi
I_2A_W05Ma rozszerzoną i podbudowaną teoretycznie wiedzę z zakresu metod informatyki wykorzystywanych do rozwiązywania problemów w wybranych obszarach nauki i techniki
I_2A_W07Posiada poszerzona wiedzę o funkcjonowaniu i modelowaniu złożonych systemów
Cel przedmiotuC-2Zapoznanie z technikami z programowaniem sprzetowym karty graficznej
C-1Zapoznanie z technikami programowania bibliotek graficznych
C-3Zdobycie umiejętności projektowania gry komputerowej
Treści programoweT-W-5Modele oświetlenia stosowane w grach komputerowych
T-W-3Programowanie procesora graficznego na potrzeby gier komputerowych.
T-W-6Techniki implementacji efektów graficznych stosowanych w grach komputerowych
T-W-4Reprezentacja obiektów geometrycznych w grach komputerowych
Metody nauczaniaM-1Wykłady wspomagane prezentacją multimedialną.
Sposób ocenyS-4Ocena podsumowująca: Egzamin z wiedzy teoretycznej
Kryteria ocenyOcenaKryterium oceny
2,0Na ocene 2.0 student: niedostatecznie opanował zakres wiedzy omawianej na wykładach.
3,0Na ocene 3.0 student:dostatecznie opanował zakresu wiedzy omawianej na wykładach.
3,5Na ocene 3.5 student: ponad dostatecznie opanował zakresu wiedzy omawianej na wykładach.
4,0Na ocene 4.0 student: dobrze opanował zakres wiedzy omawianej na wykładach oraz posiadł umiejętność, swobodnie potrafi wyjaśnić zasady obowiązujące przy projektowaniu gry komputerowej.
4,5Na ocene 4.5 student: ponad dobrze opanował zakres wiedzy omawianej na wykładach, swobodnie potrafi wyjaśnić zasady obowiązujące przy projektowaniu gry komputerowej oraz sposób pracy w firmach związanych z produkcją gier.
5,0Na ocene 5.0 student: bardzo dobrze opanował zakresu wiedzy omawianej na wykładach, swobodnie potrafi wyjaśnić zasady obowiązujące przy projektowaniu gry komputerowej oraz sposób pracy w firmach związanych z produkcją gier.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/3_U01W wyniku przeprowadzonych zajęć student powinien umieć zaprojektować grę komputerową, zastosować techniki tworzenia aplikacji czasu rzeczywistego, uwzględniając elementy podnoszące realizm tworzonego oprogramowania oraz wykorzystać techniki programowania procesora graficznego za pomocą języka GLSL.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U03Potrafi aktywnie uczestniczyć w pracach projektowych indywidualnych i zespołowych przyjmując w nich różne role
I_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
Cel przedmiotuC-7Umiejętność programowania sprzętowego z wykorzystaniem języka GLSL
C-6Umiejętność wykorzystania technik programowania bibliotek graficznych
Treści programoweT-P-1Zapoznanie się z narzędziami wykorzystywanymi przy programowaniu gier komputerowych.
T-P-4Implementacja algorytmu cieniowania.
T-P-3Implementacja głównej pętli gry.
Metody nauczaniaM-2Na projekcie zespołowa realizacja zadań wspomagających pracę na ćwiczeniach laboratoryjnych w zakresie zapoznania sie z procesem tworzenia gry komputerowej, wykorzystywanymi technikami programistycznymi oraz tworzenia dokumentacji.
Sposób ocenyS-5Ocena formująca: Kontrola postepów oraz poprawności tworzonej dokumentacji
S-1Ocena formująca: Kontrola postepów z projektowania gry komputerowej
Kryteria ocenyOcenaKryterium oceny
2,0Na ocenę 2: student nie jest w stanie zaprojektować gry komputerowej
3,0Na ocenę 3: Student potrafi zaprojektować prostą grę komputerową, bez menu, bez wykorzystania dodatkowych efektów graficznych oraz zaawansowanych technik programistycznych. Student nie potrafi realizować obliczen z wykorzystaniem procesora graficznego.
3,5Na ocenę 3.5: Student potrafi zaprojektować prostą grę komputerową, z prostym menu, bez wykorzystania dodatkowych efektów graficznych oraz zaawansowanych technik programistycznych. Student nie potrafi realizować obliczen z wykorzystaniem procesora graficznego.
4,0Na ocenę 4.0: Student potrafi zaprojektować grę komputerową, z menu, z wykorzystaniem prostych, dodatkowych efektów graficznych bez wykorzystania zaawansowanych technik programistycznych. Student nie wykorzystujeobliczen z wykorzystaniem procesora graficznego.
4,5Na ocenę 4.5: Student potrafi zaprojektować grę komputerową, z menu, z wykorzystaniem dodatkowych efektów graficznych oraz zaawansowanych technik programistycznych. Student nie potrafi realizować obliczen z wykorzystaniem procesora graficznego.
5,0Na ocenę 5.0: Student potrafi zaprojektować grę komputerową, z menu, z wykorzystaniem dodatkowych efektów graficznych, zaawansowanych technik programistycznych oraz obliczen z wykorzystaniem procesora graficznego.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/3_K01W wyniku przeprowadzonych zajęć student nabędzie następujące postawy: aktywność w określaniu priorytetów służących do realizacji określonego zadania oraz otwartość na pracę w zespole zadaniowo, postrzeganie relacji oraz hiererchii pracy grupowej.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K01Ma świadomość organizacji własnego czasu pracy i jest zdeterminowany aby osiągnąć założone cele
I_2A_K05Ma świadomość odpowiedzialności za kierowany zespół ludzi i za zadania realizowane wspólnie z tym zespołem
I_2A_K06Potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy
Cel przedmiotuC-5Zdobycie kompetencji personalnych w zakresie dobierania oraz analizy literatury dostępnej w internecie dotyczącej programowania gier oraz wykorzystania jej w praktyce w swoich projektach
C-4Zdobycie kompetencji społecznej współpracy w grupie, umiejetności wspólnego rozwiązywania problemów, dobierania narzędzi, technik oraz algorytmów, porównywania jakości uzyskanych efektów - powstałej gry komputerowej
Treści programoweT-P-1Zapoznanie się z narzędziami wykorzystywanymi przy programowaniu gier komputerowych.
T-P-3Implementacja głównej pętli gry.
Metody nauczaniaM-2Na projekcie zespołowa realizacja zadań wspomagających pracę na ćwiczeniach laboratoryjnych w zakresie zapoznania sie z procesem tworzenia gry komputerowej, wykorzystywanymi technikami programistycznymi oraz tworzenia dokumentacji.
Sposób ocenyS-2Ocena podsumowująca: Obrona sprawozdania z projektu przed grupą
Kryteria ocenyOcenaKryterium oceny
2,0Na ocenę 2: Student nie potrafi współpracować w zespole ani określić priorytetów służących do realizacji postawionego na zajęciach zadania.
3,0Na ocenę 3: Student nie potrafi współpracować w zespole ale potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
3,5Na ocenę 3.5: Student posiada niewielką umiejętność pracy w zespole. Pełni rolę biernego obserwatora. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
4,0Na ocenę 4.0: Student posiada umijętność współpracy w zespole, potrafi w niej pełnić różne role, nie wykazuje jednak zbytniej aktywności. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
4,5Na ocenę 4.5: Student posiada umiejętność współpracy w zespole, potrafi w niej pełnić różne role, z próbą zgłaszania własnych pomysłów. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.
5,0Na ocenę 5: Student potrafi odgrywać różne role w projekcie. Posiada umiejętność kierowania zespołem, rozdzielania zadań pomiędzy innych członków zespołu i ich koordynowania, jak również wykonywania zadań zlecanych przez innych uczestników projektu. Potrafi określić priorytety służące do realizacji postawionego na zajęciach zadania.