Subject

Програмирање на видео игри

1. Наслов на наставниот предмет Програмирање на видео игри
Video Games Programming
2. Код F23L3W152
3. Студиска програма
4. Организатор на студиската програма (единица, односно институт, катедра, оддел) Faculty of Computer Science and Engineering
5. Степен (прв, втор, трет циклус) First Cycle
6. Академска година / семестар 7 / Зимски
7. Број на ЕКТС кредити 6
8. Наставник Катарина Тројачанец Динева, Сузана Лошковска
9. Предуслови за запишување на предметот Алгоритми и податочни структури или Примена на алгоритми и податочни структури
10. Цели на предметната програма (компетенции) Целта на предметот е да ги запознае студентите со процесот на програмирање на видео игри. За таа цел студентите ќе бидат запознаени со основните компоненти на една видео игра и начинот на кој истите се програмираат. По завршување на курсот се очекува кандидатот да ги разбира концептите за програмирање на видео игри и да може да реализира програмски самостојно или во тим едноставна видео игра.
11. Содржина на предметната програма Предавања:
1. Вовед. Дефиниција. Кратка историја. Класификации и видови игри.
2. Архитектура на игра. Иницијализација на игра. Обезбедување излез од играта.
3. Актери во играта. Начини на дефинирање на актери. Композиција од објекти за дефинирање карактеристики на актери.
4. Главен циклус на игра. Начини за контрола на текот на играта. Користење на нитки.
5. Кеширање на ресурси за играта. Видови податоци. Техники за ефикасно сметување на податоците и ефикасно читање на истите.
6. Влезни уреди. Видови. Контрола на влез.
7. Кориснички интерфејси за игри. Дефинирање на поглед. Програмирање на контроли и екрански елементи. Локализација.
8. Менаџирање на настани во игра. Додавање и контрола на звук во игра.
9. Основни принципи за графика во игра. Дефинирање на материјали. Координатни системи и трансформации. Репрезентација на графички објекти во игра. Светлински модел.
10. Графика во игра. Користење на текстури. Репрезентација и програмирање на 3Д сцени.
11. Физика во игри. Закони и вметнување на закони во однесување на елементите. Програмирање на колизии.
12. Вештачка интелигенција. Техники за опишување на однесување на виртуелни актери.

Вежби:
1. Вовед во технологии и програмски јазици што овозможуваат програмирање на видео игри.
2. Понапредни карактеристики на технологиите и програмските јазици што овозможуваат програмирање на видео игри.
3. Имплементација на примери за дефинирање актери и нивните карактеристики.
4. Имплементација на основен облик на главниот циклус на играта.
5. Имплементација на покомплексен облик на главниот циклус на играта. Сместување и читање податоци.
6. Имплементација на примери што вклучуваат влез и контрола на влез во играта,
7. Имплементација на кориснички интерфејс за играта. Програмирање на контроли и екрански елементи. Локализација.
8. Имплементација на примери со менаџирање на настани во игра. Додавање и контрола на звук во игра.
9. Примери што вклучуваат графика во играта. Дефинирање на материјали. Координатни системи и трансформации. Репрезентација на графички објекти во игра. Светлински модел.
10. Примери што вклучуваат користење на текстури. Репрезентација и програмирање на 3Д сцени.
11. Примери што се донесуваат на физиката во игрите. Закони и вметнување на закони во однесување на елементите. Програмирање на колизии.
12. Примери што вклучуваат вештачка интелигенција. Техники за опишување на однесување на виртуелни актери.
12. Методи на учење Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).
13. Вкупен расположив фонд на време 6 ЕКТС x 30 часа = 180 часа
14. Распределба на расположивото време 30 + 45 + 15 + 15 + 75 = 180 часа
15. Форми на наставните активности
15.1. Предавања - теоретска настава 30 часови
15.2. Вежби (лабораториски, аудиториски), семинари, тимска работа 45 часови
16. Други форми на активности
16.1. Проектни задачи 15 часови
16.2. Самостојни задачи 15 часови
16.3. Домашно учење 75 часови
17. Начин на оценување
17.1. Тестови 10 бодови
17.2. Семинарска работа / проект ( презентација: писмена и усна) 15 бодови
17.3. Активности и учење 10 бодови
17.4. Завршен испит 50 бодови
18. Критериуми за оценување (бодови/ оценка)
до 50 бода5 (пет) (F)
од 51 до 60 бода6 (шест) (E)
од 61 до 70 бода7 (седум) (D)
од 71 до 80 бода8 (осум) (C)
од 81 до 90 бода9 (девет) (B)
од 91 до 100 бода10 (десет) (A)
19. Услов за потпис и полагање на завршен испит реализирани активности 15.1 и 15.2
20. Јазик на кој се изведува наставата македонски и англиски
21. Метод на следење на квалитетот на наставата механизам на интерна евалуација и анкети
22. Literature
22.1. Задолжителна литература
1. James R. Parker | Game Development Using Python (Second Edition) | Mercury Learning and Information | 2021
2. David Baron | Game Development Patterns with Unity 2021: Explore practical game development using software design patterns and best practices in Unity and C# (2nd Edition) | Packt Publishing | 2021
3. Casey Hardman | Game Programming with Unity and C#: A Complete Beginner’s Guide | Apress | 2020
4. Al Sweigart | Invent Your Own Computer Games with Python (4th Edition) | No Starch Press | 2016
5. Jason Gregory | Game Engine Architecture (Third Edition) | A K Peters/CRC Press | 2018
6. Mike McShaffry, David Graham | Game Coding Complete, Fourth Edition | Cengage Learning PTR | 2013
7. James R. Parker | Game Development Using Python (Second Edition) | Mercury Learning and Information | 2021
8. David Baron | Game Development Patterns with Unity 2021: Explore practical game development using software design patterns and best practices in Unity and C# (2nd Edition) | Packt Publishing | 2021
9. Casey Hardman | Game Programming with Unity and C#: A Complete Beginner’s Guide | Apress | 2020
10. Al Sweigart | Invent Your Own Computer Games with Python (4th Edition) | No Starch Press | 2016
11. Jason Gregory | Game Engine Architecture (Third Edition) | A K Peters/CRC Press | 2018
12. Mike McShaffry, David Graham | Game Coding Complete, Fourth Edition | Cengage Learning PTR | 2013
22.2. Дополнителна литература
Ред.бр. Автор Наслов Издавач Година