Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)

Sylabus przedmiotu Programowanie silników gier:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie silników gier
Specjalność Programowanie gier komputerowych
Jednostka prowadząca Katedra Systemów Multimedialnych
Nauczyciel odpowiedzialny Marek Wernikowski <marek.wernikowski@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 30 2,00,50zaliczenie
laboratoriaL2 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Dobra znajomość języka programowania C++.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie z systemami niskopoziomowego tworzenia grafiki czasu rzeczywistego.
C-2Zdobycie wiedzy o budowie i właściwościach silnika gier w zakresie jego zaprogramowania.
C-3Ukształtowanie umiejętności tworzenia gier komputerowych z wykorzystaniem własnego silnika gier.

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

KODTreść programowaGodziny
laboratoria
T-L-1Wprowadzenie do programowania z wykorzystaniem biblioteki graficznej.4
T-L-2Obsługa urządzeń wejścia/wyjścia.2
T-L-3Programowanie pętli gry i wykrywanie kolizji.4
T-L-4Wczytywanie oraz zarządzanie modelami i teksturami.4
T-L-5Wykorzystanie map wektorów normalnych.2
T-L-6Rendering odroczony.4
T-L-7Rendering cieni.2
T-L-8Wczytywanie i programowanie animacji.4
T-L-9Programowanie efektów graficznych w post-processingu.4
30
wykłady
T-W-1Konfiguracja środowiska programistycznego.2
T-W-2Programowanie potoku renderingu.4
T-W-3Pętla główna gry: obsługa zdarzeń, zarządzanie sceną, kolizje.4
T-W-4Struktura sceny i zarządzanie danymi wejściowymi.4
T-W-5Obliczanie oświetlenia oraz teksturowanie.4
T-W-6Programowanie shaderów.6
T-W-7Zaawansowane techniki renderingu.6
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1Udział w zajęciach.30
A-L-2Praca własna.20
50
wykłady
A-W-1Udział w zajęciach.30
A-W-2Praca własna.18
A-W-3Konsultacje.2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Metoda podająca - wykład informacyjny.
M-2Metoda aktywizująca - metoda przypadków.
M-3Metoda praktyczna - pokaz.
M-4Metoda praktyczna - ćwiczenia laboratoryjne.
M-5Metoda praktyczna - metoda projektów.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena stopnia realizacji zadań laboratoryjnych.
S-2Ocena podsumowująca: Ocena liczona jako średnia ważona uwzględniająca stworzony prototyp gry komputerowej oraz wykonane zadania laboratoryjne.
S-3Ocena podsumowująca: Ocena z zaliczenia pisemnego.

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_2A_D04.05_W01
Student posiada w wiedzę z zakresu działania silników gier komputerowych. Rozumie przebieg potoku renderingu i zna podstawy interfejsu komunikacji z kartą graficzną.
I_2A_W02C-1, C-2T-W-4, T-W-3, T-W-1, T-W-6, T-W-2, T-W-5M-2, M-1S-3

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_2A_D04.05_U01
Student potrafi programować gry komputerowe z wykorzystaniem niskopoziomowych bibliotek graficznych.
I_2A_U04C-1, C-3T-L-2, T-L-8, T-L-6, T-L-3, T-L-7, T-L-5, T-L-9, T-L-1, T-L-4M-5, M-4, M-3S-2, S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_2A_D04.05_W01
Student posiada w wiedzę z zakresu działania silników gier komputerowych. Rozumie przebieg potoku renderingu i zna podstawy interfejsu komunikacji z kartą graficzną.
2,0
3,0Student zna podstawowe pojęcia z zakresu silników gier i wymienia najważniejsze elementy silnika graficznego.
3,5
4,0Student rozumie zastosowania poszczególnych elementów silnika i zna podstawowe metody renderingu.
4,5
5,0Student posiada szeroko wiedzę na temat budowy silników gier, zna metody ich progromowania i szczegółowo opisuje przebieg potoku renderingu.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_2A_D04.05_U01
Student potrafi programować gry komputerowe z wykorzystaniem niskopoziomowych bibliotek graficznych.
2,0
3,0Student korzysta z podstawowych funkcji bibliotek graficznych do tworzenia okna i obrazu trójwymiarowego.
3,5
4,0Student zna najważniejsze funkcje interfejsu programowania i wykorzystuje je do stworzenia prototypowej gry komputerowej.
4,5
5,0Student swobodnie programuje kluczowe etapy potoku renderingu oraz tworzy zaawansowane efekty graficzne w prototypowej grze komputerowej.

Literatura podstawowa

  1. Jason Gregory, Game Engine Architecture, A K Peters/CRC Press, USA, 2018, 3
  2. John Kessenich, Graham Sellers, Dave Shreiner, OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V, Addison-Wesley Professional, Boston, USA, 2016, 9
  3. Graham Sellers, Richard Wright, Nicholas Haemel, OpenGL Superbible: Comprehensive Tutorial and Reference, Addison-Wesley Educational Publishers Inc, Boston, USA, 2015, 7

Literatura dodatkowa

  1. Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Sebastien Hillaire, Michał Iwanicki, Real-Time Rendering, A K Peters/CRC Press, USA, 2018, 4
  2. Robert Nystrom, Programowanie gier - wzorce, Wydawnictwo Naukowe PWN, Warszawa, 2020, 1

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Wprowadzenie do programowania z wykorzystaniem biblioteki graficznej.4
T-L-2Obsługa urządzeń wejścia/wyjścia.2
T-L-3Programowanie pętli gry i wykrywanie kolizji.4
T-L-4Wczytywanie oraz zarządzanie modelami i teksturami.4
T-L-5Wykorzystanie map wektorów normalnych.2
T-L-6Rendering odroczony.4
T-L-7Rendering cieni.2
T-L-8Wczytywanie i programowanie animacji.4
T-L-9Programowanie efektów graficznych w post-processingu.4
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Konfiguracja środowiska programistycznego.2
T-W-2Programowanie potoku renderingu.4
T-W-3Pętla główna gry: obsługa zdarzeń, zarządzanie sceną, kolizje.4
T-W-4Struktura sceny i zarządzanie danymi wejściowymi.4
T-W-5Obliczanie oświetlenia oraz teksturowanie.4
T-W-6Programowanie shaderów.6
T-W-7Zaawansowane techniki renderingu.6
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Udział w zajęciach.30
A-L-2Praca własna.20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w zajęciach.30
A-W-2Praca własna.18
A-W-3Konsultacje.2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_2A_D04.05_W01Student posiada w wiedzę z zakresu działania silników gier komputerowych. Rozumie przebieg potoku renderingu i zna podstawy interfejsu komunikacji z kartą graficzną.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W02Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-1Zapoznanie z systemami niskopoziomowego tworzenia grafiki czasu rzeczywistego.
C-2Zdobycie wiedzy o budowie i właściwościach silnika gier w zakresie jego zaprogramowania.
Treści programoweT-W-4Struktura sceny i zarządzanie danymi wejściowymi.
T-W-3Pętla główna gry: obsługa zdarzeń, zarządzanie sceną, kolizje.
T-W-1Konfiguracja środowiska programistycznego.
T-W-6Programowanie shaderów.
T-W-2Programowanie potoku renderingu.
T-W-5Obliczanie oświetlenia oraz teksturowanie.
Metody nauczaniaM-2Metoda aktywizująca - metoda przypadków.
M-1Metoda podająca - wykład informacyjny.
Sposób ocenyS-3Ocena podsumowująca: Ocena z zaliczenia pisemnego.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student zna podstawowe pojęcia z zakresu silników gier i wymienia najważniejsze elementy silnika graficznego.
3,5
4,0Student rozumie zastosowania poszczególnych elementów silnika i zna podstawowe metody renderingu.
4,5
5,0Student posiada szeroko wiedzę na temat budowy silników gier, zna metody ich progromowania i szczegółowo opisuje przebieg potoku renderingu.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_2A_D04.05_U01Student potrafi programować gry komputerowe z wykorzystaniem niskopoziomowych bibliotek graficznych.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
Cel przedmiotuC-1Zapoznanie z systemami niskopoziomowego tworzenia grafiki czasu rzeczywistego.
C-3Ukształtowanie umiejętności tworzenia gier komputerowych z wykorzystaniem własnego silnika gier.
Treści programoweT-L-2Obsługa urządzeń wejścia/wyjścia.
T-L-8Wczytywanie i programowanie animacji.
T-L-6Rendering odroczony.
T-L-3Programowanie pętli gry i wykrywanie kolizji.
T-L-7Rendering cieni.
T-L-5Wykorzystanie map wektorów normalnych.
T-L-9Programowanie efektów graficznych w post-processingu.
T-L-1Wprowadzenie do programowania z wykorzystaniem biblioteki graficznej.
T-L-4Wczytywanie oraz zarządzanie modelami i teksturami.
Metody nauczaniaM-5Metoda praktyczna - metoda projektów.
M-4Metoda praktyczna - ćwiczenia laboratoryjne.
M-3Metoda praktyczna - pokaz.
Sposób ocenyS-2Ocena podsumowująca: Ocena liczona jako średnia ważona uwzględniająca stworzony prototyp gry komputerowej oraz wykonane zadania laboratoryjne.
S-1Ocena formująca: Ocena stopnia realizacji zadań laboratoryjnych.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student korzysta z podstawowych funkcji bibliotek graficznych do tworzenia okna i obrazu trójwymiarowego.
3,5
4,0Student zna najważniejsze funkcje interfejsu programowania i wykorzystuje je do stworzenia prototypowej gry komputerowej.
4,5
5,0Student swobodnie programuje kluczowe etapy potoku renderingu oraz tworzy zaawansowane efekty graficzne w prototypowej grze komputerowej.