Програмування комп’ютерних ігор 2

Elective discipline
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
Лекційних занять - 15, лабораторних занять 7.
Самостійна робота: 
91 година.
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Анотація: 

Дисципліна «Програмування комп’ютерних ігор 2» спрямована на формування у здобувачів теоретичних знань та практичних навичок, необхідних для ефективного програмування та розробки комп’ютерних ігор різноманітних жанрів, напрямів та рівнів складності. Курс охоплює основні підходи та методології розробки ігор (традиційні та гнучкі), інструменти для створення та модифікування візуальних ефектів, використання додаткових відео та звукових файлів, складної анімації, а також деякі практики розробки ігрових застосувань.
У межах курсу студенти вивчають продвинуті можливості програмного середовища Unity, методи створення візуальних ефектів, техніки зв’язуванні анімацій об’єктів між собою та зі скриптами, додавання та використання різноманітних відео та звукових файлів, створення мультиплеєру, роботу з фізикою у Unity, а також практичні підходи розробки ігор.
Мета вивчення дисципліни: набуття здобувачами компетентностей із застосування сучасного спеціалізованого програмного забезпечення для програмування комп’ютерних ігор.
Основні завдання дисципліни: формування знань та навичок з планування, організації й контролю виконання проєктів розробки ігор із використанням сучасного програмного забезпечення Unity та мови програмування C#. Студенти вчаться додавати ефекти до гри що розробляється, генерувати мапи та ландшафти, використовувати освітлення та шейдери, здійснювати розробки скриптів з використанням відповідних необхідних методів та алгоритмів.
Практичне значення та використання отриманих знань полягає у формуванні навичок ефективного використання провідного професійного програмного забезпечення зі створення комп’ютерних ігор.    
Значення для особистісного та професійного розвитку: розвиток лідерських і комунікаційних навичок, критичного мислення, креативності, приймати обґрунтовані проєктні рішення і адаптуватися до змін технологічного середовища.

Тематика та види навчальних занять

Для денної форми здобуття освіти

Лекційні заняття

Лекція 1.  Анімація та аніматор у Unity.
Лекція 2.  Геометрія в Unity та додаткові можливості класу Vector3.
Лекція 3.  Оптимізація фізики Unity.
Лекція 4.  Шари та їх використання у якості масок. 
Лекція 5. Шейдери у Unity.    
Лекція 6. Освітлення у Unity.
Лекція 7.  Візуальні ефекти. Системи частиць.
Лекція 8.  Візуальні ефекти. Наклейки, лінзи.
Лекція 9.  Пост-процесінг.
Лекція 10.  Процедурна генерація.
Лекція 11.  Інструменти формування ландшафтів.
Лекція 12.  Підключення та використання відеофайлів у Unity.
Лекція 13.  Звук у Unity.
Лекція 14.  Мультиплеєр у Unity.
Лекція 15.  Кросплатформна розробка ігор.

Лабораторні роботи

Лабораторна робота №1. Додаткові можливості класу Vector3. Анімація та аніматор у Unity.
Мета заняття: ознайомитися із вбудованими у клас Vector3 функціями векторної алгебри для обчислення векторів, навчитися використовувати інструмент Animator для створення залежностей, анімаційних та логіческих переходів між анімаціями.
Лабораторна робота №2. Використання шарів у якості масок.
Мета заняття: навчитися перерозподіляти ігрові об’єкти по типам, елементам, призначенню тощо по різним шарам, ознайомитися з командами скриптів, які використовують маски з шарів для включення або виключення всіх об’єктів що їм приналежать.
Лабораторна робота №3. Освітлення та шейдери у Unity.
Мета заняття: опанувати методи використання джерел освітлення та шейдерів, навчитися додавати та керувати джерелами освітлення.
Лабораторна робота №4. Візуальні ефекти. Системи частиць, наіклейки, лінзи
Мета заняття: навчитися використовувати різноманітні додаткові візуальні ефекти, опанувати інструмент формування систем частиць.

Лабораторна робота №5. Пост-процесінг.
Мета заняття: освоїти роботу з методами, інструментами та можливостями обробки зображень у кадрі та додаванні спеціальних візуальних ефектів. 
Лабораторна робота №6. Процедурна генерація та вбудовані інструменти формування ландшафтів.
Мета заняття: навчитися використовувати процедурні генерації для формування зображень та мап ігрових об’єктів, опанувати вбудовані методи формування ландшафтів.
Лабораторна робота №7. Відеофайли, звук та мультиплеєр у Unity.
Мета заняття: навчитися додавати до гри відео та звукові ефекти, опанувати механізм створення гри на декілька геймерів.

Для заочної форми здобуття освіти

Лекційні заняття
Лекція 1. Анімація та аніматор у Unity. Геометрія в Unity та додаткові можливості класу Vector3. Оптимізація фізики Unity. Шари та їх використання у якості масок. Шейдери у Unity. Освітлення у Unity.
Лекція 2. Візуальні ефекти. Пост-процесінг. Процедурна генерація. Інструменти формування ландшафтів. Підключення та використання відеофайлів у Unity. Звук у Unity. Мультиплеєр у Unity. Кросплатформна розробка ігор.

Лабораторні роботи 
Лабораторна робота №1. Додаткові можливості класу Vector3. Анімація та аніматор у Unity. Використання шарів у якості масок. Освітлення та шейдери у Unity.
Мета роботи: ознайомитися із вбудованими у клас Vector3 функціями векторної алгебри для обчислення векторів, навчитися використовувати інструмент Animator для створення залежностей, анімаційних та логіческих переходів між анімаціями, навчитися перерозподіляти ігрові об’єкти по типам, елементам, призначенню тощо по різним шарам, ознайомитися з командами скриптів, які використовують маски з шарів для включення або виключення всіх об’єктів що їм приналежать, опанувати методи використання джерел освітлення та шейдерів, навчитися додавати та керувати джерелами освітлення.
Лабораторна робота №2. Візуальні ефекти. Системи частиць. Пост-процесінг. Процедурна генерація та вбудовані інструменти формування ландшафтів. Відеофайли, звук та мультиплеєр у Unity.
Мета роботи: навчитися використовувати різноманітні додаткові візуальні ефекти, опанувати інструмент формування систем частиць, освоїти роботу з методами, інструментами та можливостями обробки зображень у кадрі та додаванні спеціальних візуальних ефектів, навчитися використовувати процедурні генерації для формування зображень та мап ігрових об’єктів, опанувати вбудовані методи формування ландшафтів, навчитися додавати до гри відео та звукові ефекти, опанувати механізм створення гри на декілька геймерів.

Консультації здійснюються впродовж семестру згідно встановленого розкладу.

Індивідуальна робота

Для денної форми здобуття освіти
Не перебачено.
Для заочної форми здобуття освіти
Контрольна робота 
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 2 теоретичних питання та 1 практичне завдання.
Обсяг відповіді на кожне теоретичне питання: не менше, ніж 1 сторінка машинописного тексту. Текст відповіді повинен бути виконаний самостійно, а не скопійованим з навчального посібника.
Лабораторна робота №1. Додаткові можливості класу Vector3. Анімація та аніматор у Unity. Використання шарів у якості масок. Освітлення та шейдери у Unity.
Лабораторна робота №2. Візуальні ефекти. Системи частиць. Пост-процесінг. Процедурна генерація та вбудовані інструменти формування ландшафтів. Відеофайли, звук та мультиплеєр у Unity.
Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії.

 Форми контрольних заходів та оцінювання результатів навчання

Для денної форми здобуття освіти
Поточний контроль полягає у виконанні
1) 7-и індивідуальних поточних завдань. Індивідуальні поточні завдання полягають в виконанні типових завдань відповідно до мети та завдань лабораторних занять. Бездоганне виконання індивідуальних поточних завдань №1 – №4 оцінюється у 7,5 балів кожне. Виконання завдань № 5 – 7 оцінюється максимально у 10 балів;
2) двох модульних контрольних робіт. Модульні контрольні роботи складаються з практичної частини та проводяться у формі виконання індивідуальних завдань зі створення нових проєктів Unity, додавання ігрових об’єктів, створення та підключення скриптів, програмування функцій та методів, створення інтерфейсу користувача. Бездоганне виконання кожної модульної контрольної роботи становить 20 балів.
Підсумковий контроль – залік. Залік накопичувальний. Максимальна оцінка, яку може отримати студент – 100 балів. Мінімальна оцінка, яка дозволяє отримати «зараховано» – 60 балів. 
    
Для заочної форми здобуття освіти
Виконання та захист лабораторних робіт оцінюється у 30 балів.
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 40 балів. При її захисті студент може отримати до 30 балів.
Підсумковий контроль – залік. Залік накопичувальний. Максимальна оцінка, яку може отримати студент – 100 балів. Мінімальна оцінка, яка дозволяє отримати «зараховано» – 60 балів.
 

Компетентності: 

К1. Здатність використання теоретичних та практичних знань технологій програмування при програмуванні ігор за допомогою спеціалізованих редакторів.
К2. Здатність використання теоретичних та практичних знань 2D- і 3D-технологій проєктування при створенні ігор.

Передумови вивчення дисципліни: 

Алгоритмізація
та програмування
Об’єктно-орієнтоване програмування,
Тривимірне моделювання та дизайн,
Програмування комп’ютерних ігор 1

Результати навчання: 

РН1. Розробляти програмні моделі предметних середовищ, вибирати парадигму програмування з позицій зручності та якості застосування для реалізації методів та алгоритмів програмування комп’ютерних ігор.
РН2. Володіти мовами прикладного програмування та методами розробки програм, що взаємодіють з компонентами комп’ютерних систем розробки ігор.

2024