Розробники та рецензенти
Заклад вищої освіти:

Компанія-рецензент 1:

Компанія-рецензент 2:
Валідація:
Розробник навчальної програми:
Кожевников Петро Петрович, асистент кафедри інформатики і кібернетики
Базова інформація
Шифр та назва спеціальності:
122 Комп’ютерні науки; 014.09 Середня освіта (Інформатика); 015.39 Професійна освіта (Цифрові технології)Назва освітньо-наукової програми
Комп'ютерні науки; Середня освіта (Інформатика); Професійна освіта (Цифрові технології)Назва дисципліни
Основи ігрового програмуванняВид дисципліни
ВибірковаБлок дисципліни
Алгоритмізація і програмуванняКількість студентів
40Курс/Семестр
2Загальна інформація про дисципліну
Анотація
Навчальна дисципліна «Основи ігрового програмування» з циклу варіативних компонентів здобувачів вищої освіти розкриває основи проектування і розробки ігрових застоcунків. Розглядаються принципи проектування геймплейної частини та опрацювання левел-дизайну. Вивчення на практиці методик побудови геймплею та вирішення типових завдань в іграх. Практичні роботи присвячені основним етапам проектування ігрового продукту. Основою вивчення дисципліни є розгляд життєвого циклу програмних продуктів у геймдеві та націлена на практичну розробку двовимірної, тривимірної гри на платформі Unity. У комплексі з формуванням готового програмного продукту значна увага також приділятиметься скриптингу мовою C#.Анотація
Метою вивчення навчальної дисципліни «Основи ігрового програмування» є отримання здобувачами освіти теоретичних знань та практичних навичок щодо основ створення ігрових застосунків за допомогою ігрового рушія Unity, знайомство з методами та підходвми, що використовуються для програмування дво- та тривимірної комп’ютерної графіки.Анотація
Лекції, практичні роботи, самостійна робота. Підсумковий контроль – залікРозподіл часу
Загальний обсяг (кредитів): 4; Лекції (занять): 20; Лабораторні (занять): ; Практичні (занять): 10; Самостійна робота (годин): 60
Попередні дисципліни
Програмування. Мова C#Матеріально-технічне та програмне забезпечення дисципліни
Unity, Visual StudioСтруктура дисципліни
| № | Теоретична складова Назва, перелік питань або анотація лекції | Годин | Практична складова Опис та приклад завдання, а також посилання на методичні матеріали | Годин | ||||||||||||||
| Тема 1 – Вступ | ||||||||||||||||||
| 1 | Вступ до розробки ігор. Огляд жанрів, історії та етапів розробки. | 2 | Розв'язання простих алгоритмічних задач мовою C# | 2 | ||||||||||||||
| 2 | Вступ до розробки ігор. Поняття ігрових станів (State Machines) та їхня роль в організації ігрової логіки . Ігрові цикли (game loop), робота input, update і render фаз. | 2 | ||||||||||||||||
| 3 | Основи мови програмування C# | 2 | ||||||||||||||||
| 4 | Вступ до об'єктно-орієнтованого програмування (ООП). | 2 | ||||||||||||||||
| Тема 2 – Основи роботи з Unity | ||||||||||||||||||
| 5 | Знайомство з Unity Hub та інтерфейсом Unity Editor. Панелі Scene, Game, Hierarchy, Project та Inspector. | 2 | Створення нового проєкту. Розміщення та налаштування об’єктів на сцені, додавання компонентів та готових скриптів. | 2 | ||||||||||||||
| 6 | Ключові концепції Unity: GameObject, Component, Transform. Додавання та маніпулювання об'єктами на сцені. | 4 | Створення проєкту з використанням завантажених ресурсів, в тому числі, з Unity Asset Store | 2 | ||||||||||||||
| 7 | Використання активів та пакетів в Unity. Додавання файлів з контентом до проєкту. | 2 | 4 | |||||||||||||||
| 8 | Налаштування проєкту. Побудова гри, як окремої програми. | 2 | ||||||||||||||||
| Тема 3 – Програмування ігрової логіки | ||||||||||||||||||
| 9 | Основи скриптингу в Unity. Життєвий цикл скрипта. Методи Awake(), Start(), Update(), FixedUpdate(). | 4 | Проєкт на роботу з 2D фізикою. В проєкті необхідно створити сцену зі статичною камерою, в якій в обмеженому просторі будуть рухатися кульки відбиваючись від стінок та одна від одної. | 4 | ||||||||||||||
| 10 | Робота з Input System та Input Manager. Реалізація руху персонажа, керування камерою. | 4 | В проєкті необхідно створити сцену, в якій буде рухатися гравець та збирати предмети, які генеруються в верхній частині сцени та рухаються донизу. | 4 | ||||||||||||||
| 11 | Основи фізики Unity. Rigidbody для симуляції фізики, Collider для виявлення зіткнень. | 4 | ||||||||||||||||
| 12 | Обробка зіткнень (Collision) та тригерів (Trigger). Використання фізичних матеріалів (Physic Material). | 4 | ||||||||||||||||
| Тема 4 – Користувацький інтерфейс та анімація | ||||||||||||||||||
| 17 | Створення UI в Unity. Компонент Canvas. Елементи UI (Text, Button, Image). Розробка простого меню. Робота зі сценами. | 4 | Проєкт «Снігопад». Над екраном генеруються сніжинки та рухаються вниз. При вилиті за межі екрану сніжинки знищуються. В нижній частині екрану зробити інтерфейс керування сніжинками: швидкість (час) генерації, кількість згенерованих за один раз сніжинок (розставляються над екраном в випадковому місці), швидкість падіння, вітер (додає рух в ліва чи право), хаотичний рух в ліва та в право (з випадковою швидкістю). | 6 | ||||||||||||||
| 18 | Система анімації Unity. Animator Controller, стани (States), переходи (Transitions). | 2 | ||||||||||||||||
Теми та завдання для самостійної роботи
| Назва та опис завдання | Методи контролю та критерії оцінювання | Годин |
| Розробка проєкту для власної гри. Підготовка документу з описом ігрового процесу, ігрових механік, сюжету та інших аспектів гри. | Демонстрація підготовленого документу (ів). Бесіда. | 10 |
| Розробка власної гри. Необхідно за допомогою Unity створити гру будь-якого жанру та механіки. Це може бути 2D або 3D проєкт. Проєкт може бути не повністю завершений. Проєкт може містити лише один ігровий рівень (локацію) багаторівневого проєкту. | Демонстрація роботи. | 45 |
| Налаштування та побудова власної гри у якості окремого застосунку. | Демонстрація роботи. | 5 |
Проєкт
| Назва та опис завдання | Метод контролю та захисту | Строки виконання |
Розробка власної гри.
Необхідно за допомогою Unity створити гру будь-якого жанру та механіки. Це може бути 2D або 3D проєкт. Проєкт може бути не повністю завершений. Проєкт може містити лише один ігровий рівень (локацію) багаторівневого проєкту.
Головні вимоги до проєкту:
|
Демонстрація та захист створеного проєкту. | До кінця семестру |
Рекомендовані джерела інформації та навчальні матеріали
Основні
- Unity User Manual. URL : https://docs.unity3d.com/Manual/index.html
- Borromeo N. A. Hands-On Unity 2020 Game Development Build, customize, and optimize professional games using Unity 2020 and C#. Birmingham: Packt Publishing, 2020. 574c.
- Hardman C. Game Programming with Unity and C#: A Complete Beginner’s Guide. NY: Apress, 2020. 578c
- Lanzinger F. 2D Game Development with Unity. NY: CRC Press, 2021. 428c.
- Murray J. W. C# Game Programming Cookbook for Unity 3D, Second Edition. NY: CRC Press, 2021. 316c.
- Розробка комп’ютерних ігор за допомогою Unity 3D: електронний навч. посіб./ Укладач: О.М. Ляшенко. – Херсон: видавництво ФОП Вишемирський В.С., 2018. – 220 с.
- Документація з мови C# URL: https://learn.microsoft.com/en-us/dotnet/csharp/
- Unity ProBuilder. URL: https://docs.unity3d.com/Packages/com.unity.probuilder@6.0/manual/index.html
- Unity Universal Render Pipeline (URP). URL: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@17.3/manual/index.html
- Unity High Definition Render Pipeline. URL: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@17.0/manual/index.html
- Sung K., Smith G. Basic Math for Game Development with Unity 3D: A Beginner’s Guide to Mathematical Foundations. NY: Apress, 2019. 404c.
Контрольні заходи
| № | Назва та опис | Методи контролю та критерії оцінювання |
| 1 | Практичні роботи | Захист робіт – 30 балів |
| 2 | Завдання самостійної роботи | Демонстрація результатів – 30 балів |
| 3 | Залік | Захист проєкту власної гри – 40 балів |
Результати навчання
В ході вивчання матеріалів освітнього компоненту та виконання практичних завдань здобувачі отримають теоретичні та практичні навички розробки ігрових застосунків за допомогою ігрового рушія Unity. Протягом навчання здобувачі набувають наступних результатів: відшуковувати, обробляти, аналізувати та оцінювати інформацію, що стосується професійної діяльності, користуватися спеціалізованим програмним - ---- забезпеченням та сучасними засобами зберігання та обробки інформації; - аналізувати та оцінювати ризики, проблеми у професійній діяльності й обирати ефективні шляхи їх вирішення. - знати принципи і методи, володіти навичками створення та опрацювання текстової, графічної та мультимедійної інформації.
Зв'язок з ринком праці
Спеціальність/професія, підготовці до діяльності в якій читається курс:
Unity DeveloperПосилання на вакансії (понад 3),
https://www.work.ua/jobs/4016543/ https://www.work.ua/jobs/5630954/ https://www.work.ua/jobs/5198189/ https://www.work.ua/jobs/4023680/ https://jobs.dou.ua/companies/stans-assets/vacancies/308977/ https://jobs.dou.ua/companies/traffic-devils/vacancies/312096/ https://jobs.dou.ua/companies/omisoft/vacancies/311421/ https://jobs.dou.ua/companies/playfo/vacancies/310986/ https://jobs.dou.ua/companies/retrostyle-games/vacancies/310890/Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.
Базові знання C# і Unity; Навички роботи з UI, анімацією; Базові навички роботи з фізикою Unity.Інструменти оцінювання результатів навчання за дисципліною
| № | Об'єкт оцінювання (знання методів та принципів, практичні навички, командна робота тощо) | Методи контролю (тести, виконання поточних практичних завдань та їх форма: написання коду, створення діаграми Гантта, створення прототипу тощо) | Інструмент оцінювання (доступ до результатів тесту, гостьова лекція, посилання на виконані завдання, посилання на проєкт, присутність на захисті проєктів, доступ до запису захисту тощо) |
| 1 | Практичні роботи | Виконання завдань, оформлення звіту, захист роботи | доступ до виконаних практичних завдань |
| 2 | Розробка власної гри | Виконання завдань, захист роботи | доступ до виконаних проєктів (за необхідність відеозапис захисту проєктів або присутність при захисті) |
