SylabUZ

Generate PDF for this page

3D Games Programming - course description

General information
Course name 3D Games Programming
Course ID 11.3-WI-INFP-PGT
Faculty Faculty of Engineering and Technical Sciences
Field of study computer science
Education profile academic
Level of studies First-cycle studies leading to Engineer's degree
Beginning semester winter term 2021/2022
Course information
Semester 5
ECTS credits to win 7
Course type optional
Teaching language polish
Author of syllabus
  • dr hab. inż. Marek Sawerwain, prof. UZ
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Laboratory 30 2 18 1,2 Credit with grade
Project 15 1 9 0,6 Credit with grade
Lecture 30 2 18 1,2 Exam

Aim of the course

  • zapoznanie studentów z możliwościami środowisk tworzenia gier 3D (a także 2D) z uwzględnieniem wiodących pakietów aplikacji i środowisk programistycznych przeznaczonych do tego celu,
  • prezentacja struktury aplikacji, modelu komponentów, a także wzorca projektowego Enity Component System,
  • ukształtowanie wśród studentów zrozumienia terminologii i podstawowej funkcjonalności systemów gier komputerowych.

Prerequisites

Grafika komputerowa, Programowanie obiektowe

Scope

Krótka prezentacja głównych etapów w historii rozwoju gier komputerowych, podkreślając rozwój możliwości interaktywnej grafiki 3D (oraz 2D).

Istniejące systemy i środowiska programowania gier 3D. Przykładowe aplikacje/pakiety wspierające rozwój aplikacji z grafiką 3D (oraz 2D).

Interaktywna grafika komputerowa 3D (oraz 2D). Modelowanie geometryczne i transformacje w przestrzeni trójwymiarowej, nawigacja w przestrzeni 3D. Wirtualna rzeczywistość jako interaktywne środowisko 3D. Reprezentacja przestrzeni 3D. Konstrukcja i umieszczanie podstawowych elementów 3D. Metody przekształcania obiektów. Reprezentacja obiektów 3D - cieniowanie i oświetlenie. Konstrukcja siatki. Konstrukcja terenu. Techniki edycji terenu.

Animacje i interakcje w środowiskach gier 3D. Kluczowanie ruchu, symulacje zachowań oparte na modelach fizycznych. Systemy detekcji kolizji. Animacje pozycji, orientacji i skali. Interakcja z użytkownikiem.

Narzędzia wspomagające projektowanie gier 3D (a także z grafiką 2D). Problem wydajności aplikacji czasu rzeczywistego. Techniki optymalizacji sceny graficznej takie jak, ukrywanie przesłoniętych obiektów, poziom detalu. Systemy skryptowe w systemach projektowania gier 3D.

Model komponentów oraz danych w grach 3D. Zastosowanie wzorca projektowego Entity Component System w grach komputerowych.

Wybrane aspekty programowania sieciowych gier 3D, tworzenie serwera i klienta. Omówienie podstawowych algorytmów synchronizacji pozycji graczy poprzez sieć w środowisku 3D.

Teaching methods

Wykład: wykład konwencjonalny/tradycyjny.
Laboratorium: ćwiczenia laboratoryjne, wg listy zadań.
Projekt: praca w grupach, metoda projektu.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład - warunkiem zaliczenia jest uzyskanie pozytywnej oceny z egzaminu przeprowadzonego w formie pisemnej.
Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich sprawdzianów pisemnych z ćwiczeń laboratoryjnych, przewidzianych do realizacji w ramach programu laboratorium.
Projekt - warunkiem zaliczenia jest wykonanie wszystkich zadań projektowych, przewidzianych do realizacji w ramach zajęć projektowych oraz przygotowanie pisemnego raportu ze zrealizowanego projektu.
Składowe oceny końcowej = wykład: 30% + laboratorium: 30% + projekt: 40%

Recommended reading

  1. Hardman, C.: Game Programming with Unity and C#, Apress, 2020.
  2. Ross, J.: Unity i C#. Praktyka programowania gier, Helion, 2020.
  3. Nystrom, R: Programowanie gier. Wzorce, Wydawnictwo Naukowe PWN, 2020.
  4. Bond J. G.:Projektowanie gier przy użyciu środowiska Unity i języka C#. Od pomysłu do gotowej gry, Wydanie II, Helion, 2018.
  5. Ross, E., Ross, .J: Unity i C#. Podstawy programowania gier, Helion 2018.
  6. Geig M., Unity. Przewodnik projektanta gier, Helion, 2015.
  7. Goldstone W., Projektowanie gier w środowisku Unity 3.x, Helion, 2012.
  8. Bociek B.: Blender. Podstawy modelowania, Helion, 2007.
  9. Vince J.: Virtual Reality Systems, Addsion Wesley, Cambridge, 1995.

Further reading

  1. Flemming B., Dobbs D.: Animacja cyfrowych twarzy, Helion, 2002.
  2. Creighton R.H, Unity 4.x Game Development by Example: Beginner's Guide, Pack Pub, 2013.
  3. Pereira V., Learning Unity 2D Game Development by Example, Pack Pub, 2014.
  4. Smith S., Queiroz C., Unity 4.x Cookbook, Pack Pub, 2013.
  5. Doppioslash, C.: Physically Based Shader Development for Unity 2017: Develop Custom Lighting Systems, Apress 2018.

Notes

--


Modified by dr hab. inż. Marek Sawerwain, prof. UZ (last modification: 26-04-2021 20:53)