Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: Projektowanie oprogramowania

Sylabus przedmiotu Programowanie silników gier:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne 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
laboratoriaL2 20 2,00,50zaliczenie
wykładyW2 20 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-6Programowanie efektów graficznych w post-processingu.4
20
wykłady
T-W-1Obliczanie oświetlenia oraz teksturowanie.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.2
T-W-5Obliczanie oświetlenia oraz tekturowanie.4
T-W-6Programowanie shaderów.4
20

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

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach20
A-L-2Praca własna30
50
wykłady
A-W-1uczestnictwo w zajęciach20
A-W-2Konsultacje2
A-W-3Praca własna28
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 zadanialaboratoryjne.
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-2, C-1T-W-3, T-W-6, T-W-5, T-W-1, T-W-4, T-W-2M-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-6, T-L-1, T-L-3, T-L-5, T-L-2, T-L-4M-3, M-5, M-4S-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-6Programowanie efektów graficznych w post-processingu.4
20

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Obliczanie oświetlenia oraz teksturowanie.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.2
T-W-5Obliczanie oświetlenia oraz tekturowanie.4
T-W-6Programowanie shaderów.4
20

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach20
A-L-2Praca własna30
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach20
A-W-2Konsultacje2
A-W-3Praca własna28
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-2Zdobycie wiedzy o budowie i właściwościach silnika gier w zakresie jego zaprogramowania.
C-1Zapoznanie z systemami niskopoziomowego tworzenia grafiki czasu rzeczywistego.
Treści programoweT-W-3Pętla główna gry: obsługa zdarzeń, zarządzanie sceną, kolizje.
T-W-6Programowanie shaderów.
T-W-5Obliczanie oświetlenia oraz tekturowanie.
T-W-1Obliczanie oświetlenia oraz teksturowanie.
T-W-4Struktura sceny i zarządzanie danymi wejściowymi.
T-W-2Programowanie potoku renderingu.
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-6Programowanie efektów graficznych w post-processingu.
T-L-1Wprowadzenie do programowania z wykorzystaniem biblioteki graficznej.
T-L-3Programowanie pętli gry i wykrywanie kolizji.
T-L-5Wykorzystanie map wektorów normalnych.
T-L-2Obsługa urządzeń wejścia/wyjścia.
T-L-4Wczytywanie oraz zarządzanie modelami i teksturami.
Metody nauczaniaM-3Metoda praktyczna - pokaz.
M-5Metoda praktyczna - metoda projektów.
M-4Metoda praktyczna - ćwiczenia laboratoryjne.
Sposób ocenyS-2Ocena podsumowująca: Ocena liczona jako średnia ważona uwzględniająca stworzony prototyp gry komputerowej oraz wykonane zadanialaboratoryjne.
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.