Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6024
Title: 2-D платформер на ігровому рушію Unity
Authors: Оксамитна, Любов Павлівна
Пархоменко, Павло Андрійович
Keywords: UNITY,;ПЛАТФОРМЕР,;ПРОЄКТУВАННЯ,;ГРА,;ЖАНР ГРИ,;ТЕСТУВАННЯ.
Issue Date: 11-Jun-2024
Abstract: Розробки комп’ютерних ігор в жанрі платформерів на базі ігрового рушія Unity зберігають велику актуальність в сучасній геймінговій індустрії. Жанр платформерів популярний серед гравців, оскільки він дозволяє насолоджуватися швидким та захоплюючим геймплеєм. Unity, як потужний інструмент для розробки ігор, забезпечує розробникам широкі можливості для створення якісних та захоплюючих ігор, що підсилює актуальність дослідження. Мета кваліфікаційної роботи бакалавра – розробка та створення комп’ютерної гри в жанрі 2-D платформер на базі ігрового рушія Unity. Об’єкт дослідження: процес розробки гри на Unity. Гра буде спрямована на створення захопливого та цікавого ігрового досвіду для гравця. Основною метою гри буде відтворення емоційного та динамічного середовища, де гравець зможе насолоджуватися швидкими та захоплюючими рівнями, головоломками та взаємодіяти з різноманітними персонажами. Предмет дослідження: комп’ютерні ігри в жанрі платформерів та їх розробки на базі ігрового рушія Unity. Основні положення і результати кваліфікаційної роботи бакалавра доповідалися і були обговорені на студентській науково-практичній конференції ЧДТУ (Черкаси, 2024).
URI: https://er.chdtu.edu.ua/handle/ChSTU/6024
Appears in Collections:122 Комп’ютерні науки (Комп’ютерні науки та прикладне програмування)

Files in This Item:
File Description SizeFormat 
Пояснювальна записка_Пархоменко Павло_КН-2001_2023-24.pdf
  Restricted Access
2.23 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
 
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
 
Факультет інформаційних технологій і систем 
 
Кафедра комп’ютерних наук та системного аналізу 
 
 
 
 
 
 
Пояснювальна записка 
до кваліфікаційної роботи 
бакалавра 
(освітньо-кваліфікаційний рівень) 
 
на тему: «2-D платформер на ігровому рушію Unity» 
 
 
 
 
 
    Виконав: студент 4 курсу, групи КН-2001 
                                                              
спеціальності  122  «Комп’ютерні науки» 
                                                                         (шифр і назва спеціальності) 
  
освітня програма «Комп’ютерні науки та                                                                                                                             
(назва освітньої програми) 
прикладне програмування                                                                                                                                                              
                                                                       
 
Пархоменко Павло Андрійович 
 
Керівник __________   Оксамитна Л.П.     
                                                                          (прізвище та ініціали) 
 
Рецензент __________  Стась С.В.             
                                                                          (прізвище та ініціали) 
    
 
 
 
 
 
 
 
 
Черкаси 2024 рік 
 
Бланк завдання на кваліфікаційну роботу бакалавра студенту 
 
Черкаський державний технологічний університет 
Факультет Інформаційних технологій і систем 
Кафедра Комп’ютерних наук та системного аналізу 
Освітньо-кваліфікаційний рівень Бакалавр 
Спеціальність 122  – Комп’ютерні науки 
Освітня програма Комп’ютерні науки та прикладне програмування 
 
 
 
ЗАТВЕРДЖУЮ 
Завідувач кафедри КНСА  
_______________ Юрій ТРИУС 
«____» _____________ 2024 р. 
 
 
 
ЗАВДАННЯ 
на кваліфікаційну роботу бакалавра студенту 
Пархоменку Павлові Андрійовичу 
(прізвище, ім’я, по батькові) 
1. Тема роботи  2-D платформер на ігровому рушію Unity   
                                  
 
Керівник роботи     Оксамитна Л.П., к.т.н., доцент                    
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання) 
затверджені наказом університету від «26» лютого 2024 р. №60/04. 
 
2. Строк подання студентом роботи до 10 червня 2024 року 
3. Вихідні дані до роботи:  
Практичні навики роботи з інформаційними ресурсами.  
Звіт з виробничої практики. Звіт з переддипломної практики. 
4. Зміст пояснювальної записки (перелік питань, що їх належить розробити): 
Вступ 
4.1. ОГЛЯД ТА ПОРІВНЯЛЬНИЙ АНАЛІЗ АНАЛОГІВ ВІДЕОІГОР ПО ЖАНРУ 2-D 
ПЛАТФОРМЕР. 
4.2. ПРОЄКТУВАННЯ 2-D ПЛАТФОРМЕРА НА ІГРОВОМУ РУШІЮ UNITY.  
4.3. ТЕСТУВАННЯ ГРИ. 
Висновки.  
 5. Перелік додатків (з точним зазначенням назв додатків): 
5.1. Додаток А. Специфікація 482.ЧДТУ. 42033-01. 
 5.2. Додаток Б. Текст програми. 
5.3. Додаток В. Інструкція користувача. 
5 .4. Додаток Г. Публікація по темі кваліфікаційної роботи бакалавра. 
5.5. Презентація у вигляді 26 слайдів. 
 
 
6. Консультанти розділів роботи 
Прізвище, ініціали та Підпис, дата 
Розділ посада 
завдання видав завдання прийняв 
консультанта 
    
    
 
7. Дата видачі завдання 15.01.2024 
  
 
КАЛЕНДАРНИЙ ПЛАН 
Строк виконання 
№ з/п Назва етапів кваліфікаційної роботи бакалавра Примітка 
етапів роботи 
1 Видача завдання на кваліфікаційну роботу 
15.01.2024 Виконано 
бакалавра. 
2 Аналіз літературних джерел, об’єкту та 
до 12.02.2024 Виконано 
предмету дослідження. 
3 Написання теоретичного розділу 
до 18.03.2024 Виконано 
кваліфікаційної роботи бакалавра. 
4 Написання аналітичного розділу кваліфікаційної 
до 01.04.2024 Виконано 
роботи бакалавра. 
5 Написання практичних розділів й висновків до 
до 01.05.2024 Виконано 
кваліфікаційної роботи бакалавра. 
6 Передзахист кваліфікаційної роботи бакалавра 
03.06.2024 Виконано 
на засіданні кафедри КНСА. 
7 Подання роботи завідувачу кафедри КНСА. до 10.06.2024 Виконано 
8 Захист кваліфікаційної роботи бакалавра. 11.06.2024 Виконано 
    
    
    
 
 
Студент                                   _____________________________     Павло ПАРХОМЕНКО 
(підпис)                                                                     
 
Керівник роботи                     ____________________________       Любов ОКСАМИТНА  
                                           (підпис)      
 
 
                                                               
  
 
РЕФЕРАТ 
Кваліфікаційна робота бакалавра містить: 64 с., 31 рис., 1 таблицю, 20 
використаних джерел, 4 додатки. 
Актуальність теми. Розробки комп’ютерних ігор в жанрі платформерів на 
базі ігрового рушія Unity зберігають велику актуальність у сучасній геймінговій 
індустрії. Жанр платформерів популярний серед гравців, оскільки він дозволяє 
насолоджуватися швидким та захоплюючим геймплеєм. Unity, як потужний 
інструмент для розробки ігор, забезпечує розробникам широкі можливості для 
створення якісних та захоплюючих ігор, що підсилює актуальність дослідження. 
Мета роботи і задачі дослідження. Мета кваліфікаційної роботи бакалавра – 
розробка та створення комп’ютерної гри у жанрі 2-D платформер на базі ігрового 
рушія Unity.  
Для досягнення поставленої мети в роботі розв’язувалися такі завдання: 
 дослідження потенціалу платформи Unity; 
 аналіз існуючих ігор у цьому жанрі (геймплейні механіки, дизайн рівнів, 
створення атмосфери гри, системи керування, графічного та звукового 
оформлення); 
 створення ефективної ігрової механіки, яка включає у себе різноманітні 
елементи геймплею (перешкоди, персонажі) та взаємодія з ними.  
Об’єкт дослідження: процес розробки гри на Unity. 
Предмет дослідження: комп’ютерні ігри в жанрі платформерів та їх розробки 
на базі ігрового рушія Unity. 
Методи дослідження. Для досягнення поставленої мети в кваліфікаційній 
роботі бакалавра використовувалися наступні методи: 
 теоретичний метод: аналіз існуючих платформерів: вивчення та детальний 
аналіз геймплейних механік, дизайну рівнів, системи керування та звукового 
оформлення існуючих ігор у жанрі платформерів для розуміння їхніх сильних та 
слабких сторін; 
 
 порівняльний метод: вивчення можливостей Unity: ознайомлення з 
різноманітними можливостями інструментів та функцій Unity, що дозволяють 
реалізувати різноманітні геймплейні елементи; 
 розробка геймплею: створення інтерактивних механік гри, балансування 
складності, взаємодію гравця з оточенням, дослідження гри; 
 тестування та зворотній зв’язок: тестування готового продукті з метою 
виявлення помилок,  збір відгуків тестерів та гравців для змін та поліпшення 
геймплею; 
 оптимізація та підготовка до випуску: вдосконалення продуктивності гри, 
виправлення помилок та робота над багами, готовність до випуску гри. 
Апробація результатів роботи. Основні положення і результати 
кваліфікаційної роботи бакалавра доповідалися і були обговорені на студентській 
науково-практичній конференції ЧДТУ (Черкаси, 2024). 
Публікації. Результати кваліфікаційної роботи бакалавра опубліковані у  
збірнику тез доповідей студентської науково-практичної конференції ЧДТУ:  
Пархоменко П.А., Оксамитна Л.П. Розробка комп’ютерної гри в жанрі 
платформерів на базі ігрового рушія unity. Тези доповідей студентської науково-
практичної конференції ЧДТУ, 23-24 квітня 2024 р. Черкаси : ЧДТУ, 2024. С. 
Перелік ключових слів: UNITY, ПЛАТФОРМЕР, ПРОЄКТУВАННЯ, ГРА, 
ЖАНР ГРИ, РОЗРОБКА, ТЕСТУВАННЯ. 
ABSTRACT 
Master’s work contains. 64 pages, 31 figures, 1 table, 20 sources used, 4 
attachments. 
Actuality of theme. The development of computer games in the genre of 
platformers based on the Unity game engine remains very relevant in the modern gaming 
industry. The platformer genre is popular among gamers because it allows you to enjoy 
fast-paced and exciting gameplay. Unity, as a powerful game development tool, provides 
 
developers with ample opportunities to create high-quality and engaging games, which 
reinforces the relevance of the research. 
Purpose and tasks of the research. The purpose of the bachelor's qualification 
work is the development and creation of a computer game in the platform genre based on 
the Unity game engine. To achieve the goal, the following tasks were set: 
 study of the potential of the Unity platform; 
 analysis of existing games in this genre (gameplay mechanics, level design, creation 
of game atmosphere, control system, graphic and sound design); 
 creation of effective game mechanics, which includes various gameplay elements 
(obstacles, characters) and interaction with them.Determination of the stack of 
modern technologies for the software implementation of the online resource; 
 Implementation of the online resource's database; 
 Development of the online resource, its debugging, testing, and implementation. 
The object of research. Game development process on Unity. 
The subject of research: Computer games in the genre of platformers and their 
development based on the Unity game engine. 
Research methods: The following methods were used to achieve the stated goal: 
 theoretical method: analysis of existing platformers: study and detailed analysis of 
gameplay mechanics, level design, control system and sound design of existing 
platformer games to understand their strengths and weaknesses; 
 comparative method: studying the capabilities of Unity: familiarization with the 
various capabilities of Unity tools and functions, which allow the implementation of 
various gameplay elements; 
 gameplay development: creating interactive game mechanics, balancing complexity, 
player interaction with the environment, game research; 
 testing and feedback: testing the finished product in order to identify errors, 
collecting feedback from testers and players for changes and improving the 
gameplay; 
 
 optimization and preparation for the release: improving the performance of the 
game, fixing errors and working on bugs, readiness for the release of the game. 
Approbation of work results. The main provisions and results of the bachelor's 
qualification work were reported and discussed at the student scientific and practical 
conference of ChDTU (Cherkasy, 2024). 
Publications. The results of the bachelor's qualification work are published in the 
collection of abstracts of reports of the student scientific-practical conference of ChDTU: 
Parkhomenko P.A., Oksamitna L.P. Development of a computer game in the genre 
of platformers based on the game engine unity. Abstracts of reports of the student 
scientific and practical conference of ChDTU, April 23-24, 2024. Cherkasy: ChDTU, 
2024. P. 
The list of keywords: UNITY, PLATFORMER, DESIGN, GAME, GAME 
GENRE, DEVELOPMENT, TESTING. 
 7 
ЗМІСТ 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, СКОРОЧЕНЬ І ТЕРМІНІВ ........ 9 
ВСТУП ................................................................................................................................ 10 
1 ОГЛЯД ТА ПОРІВНЯЛЬНИЙ АНАЛІЗ АНАЛОГІВ ВІДЕОІГОР ПО ЖАНРУ 2-D 
ПЛАТФОРМЕР .................................................................................................................. 13 
1.1 Аналіз ігрової серії «Shovel Knight» ……………………………………………..13 
1.2 Порівняльна характеристика відеоігор .................................................................. 17 
1.3 Переваги та недоліки відеоігор .............................................................................. 17 
1.4 Визначення вимог до 2-D платформера на ігровому рушію Unity ..................... 18 
Висновки до розділу 1 ................................................................................................... 19 
2 ПРОЄКТУВАННЯ 2-D ПЛАТФОРМЕРА НА ІГРОВОМУ РУШІЮ UNITY …….20 
2.1 Опис функціонального програмного середовища для розробки ........................ 20 
2.2 Обґрунтування вибору рушію Unity   ............................................................... 21 
2.3 Проєктування структури гри на рушію Unity  ................................................ 24 
2.4 Опис процесу проєктування 2-D платформера на ігровому рушію Unity  ....... 27 
2.5 Опис створення та анімації персонажів ................................................................. 28 
2.6 Дизайн ігрового світу та фонових елементів ........................................................ 30 
2.7 Аудіо супровід гри ................................................................................................... 32 
2.8 Документація та підтримка користувача ............................................................... 34 
2.9 Публікація та маркетинг ......................................................................................... 35 
    2.10 Функціонал відеогри та механіки………………………………………………36 
Висновки до розділу 2 ................................................................................................... 39 
3 ТЕСТУВАННЯ ГРИ ....................................................................................................... 40 
3.1 Особливості тестування відеоігор на персональному комп'ютері ..................... 40 
3.2 Перевірка гри на плагіат та віруси ......................................................................... 40 
3.3 Функціональне тестування відеогри …………………… ..................................... 42 
Висновки до розділу 3 ................................................................................................... 43 
ВИСНОВКИ ....................................................................................................................... 44 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ......................................................................... 45 
 8 
ДОДАТОК А. Специфікація 482.ЧДТУ. 42031-01 ……………………………………47 
ДОДАТОК Б. Текст програми ......................................................................................... 49 
ДОДАТОК В. Інструкція користувача ............................................................................ 57 
ДОДАТОК Г. Публікація по темі кваліфікаційної роботи бакалавра ......................... 61 
 
 
 
  
 9 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, СКОРОЧЕНЬ І ТЕРМІНІВ 
БД – база даних; 
ПЗ – програмне забезпечення; 
ПК – персональний комп'ютер; 
Платформер – жанр відеоігор, ігровий процес, який складається зі 
стрибків персонажа по пізноманітним платформам; 
Геймплей – взаємодія людини з відеогрою; 
Гемпад – пристрій введення для двох рук, що використовується для 
керування ігровим процесом відеогри. 
 
 
 
  
 10 
ВСТУП 
Комп’ютерні ігри є важливим аспектом сучасного життя, які дозволяють 
кожному відпочити та отримати нові враження. Серед різноманіття жанрів особливе 
місце займають платформери, такі як «Shovel Knight». Ці ігри відзначаються 
захоплюючими рівнями, викликами та яскравим персонажами. У свою чергу, для 
створення ігор такого типу розробники часто обирають Unity – потужний ігровий 
рушій, який надає безліч можливостей для реалізації творчих ідей. Unity дозволяє 
створювати якісну графіку та відтворювати складні механіки гри, що робить його 
ідеальним вибором для розробки платформерів, які відомі своєю швидкістю та 
динамікою. 
Актуальність кваліфікаційної роботи бакалавра. 
Розробки комп’ютерних ігор в жанрі платформерів на базі ігрового рушія 
Unity зберігають велику актуальність у сучасній геймінговій індустрії. Жанр 
платформерів популярний серед гравців, оскільки він дозволяє насолоджуватися 
швидким та захоплюючим геймплеєм. Unity, як потужний інструмент для розробки 
ігор, забезпечує розробникам широкі можливості для створення якісних та 
захоплюючих ігор, що підсилює актуальність дослідження. 
Мета кваліфікаційної роботи бакалавра розробка та створення комп’ютерної 
гри у жанрі 2-D платформер на базі ігрового рушія Unity. Гра буде спрямована на 
створення захопливого та цікавого ігрового досвіду для гравця. Основною метою 
гри буде відтворення емоційного та динамічного середовища, де гравець зможе 
насолоджуватися швидкими та захоплюючими рівнями, головоломками та 
взаємодіяти з різноманітними персонажами. 
Для досягнення поставленої мети в роботі розв’язувалися такі завдання: 
 дослідження потенціалу платформи Unity та завдання розробки новаторських 
рішень для гри; 
 аналіз існуючих ігор у цьому жанрі (геймплейні механіки, дизайн рівнів, 
створення атмосфери гри, системи керування, графічного та звукового оформлення); 
 розробка новаторських рішень для гри; 
 11 
 створення ефективної ігрової механіки, яка включає у себе різноманітні 
елементи геймплею (перешкоди, персонажі) та взаємодія з ними.  
Об’єкт і предмет дослідження.  
Об’єктом дослідження є процес розробки гри на Unity. 
Предметом дослідження є комп’ютерні ігри в жанрі платформерів та їх 
розробки на базі ігрового рушія Unity.  
Для вирішення поставлених завдань були застосовані наступні методи 
дослідження:  
 теоретичний метод: аналіз існуючих платформерів: вивчення та детальний 
аналіз геймплейних механік, дизайну рівнів, системи керування та звукового 
оформлення існуючих ігор у жанрі платформерів для розуміння їхніх сильних та 
слабких сторін; 
 порівняльний метод: вивчення можливостей Unity: ознайомлення з 
різноманітними можливостями інструментів та функцій Unity, що дозволяють 
реалізувати різноманітні геймплейні елементи; 
 розробка геймплею: створення інтерактивних механік гри, балансування 
складності, взаємодію гравця з оточенням, дослідження гри; 
 тестування та зворотній зв’язок: тестування готового продукті з метою 
виявлення помилок,  збір відгуків тестерів та гравців для змін та поліпшення 
геймплею; 
 оптимізація та підготовка до випуску: вдосконалення продуктивності гри, 
виправлення помилок та робота над багами, готовність до випуску гри. 
Ці методи сприяють досягнення поставленої мети й реалізації комп’ютерної 
гри у жанрі платформера на ігровому рушію Unity з високою якістю геймплею. Гра 
в цьому жанрі відкриває перед гравцями можливість насолоджуватися динамічними 
рівнями, вирішувати головоломки та взаємодіяти з різноманітними персонажами. 
Поєднання потужного інструменту Unity з якісним дизайном рівнів, візуальним 
стилем та звуковим оформленням створює захоплюючу атмосферу для гравців.   
 12 
Апробація результатів роботи. Основні положення і результати 
кваліфікаційної роботи бакалавра доповідалися і були обговорені на студентській 
науково-практичній конференції ЧДТУ (Черкаси, 2024). 
Публікації. Результати кваліфікаційної роботи бакалавра опубліковані у  
збірнику тез доповідей студентської науково-практичної конференції ЧДТУ:  
Пархоменко П.А., Оксамитна Л.П. Розробка комп’ютерної гри в жанрі 
платформерів на базі ігрового рушія unity. Тези доповідей студентської науково-
практичної конференції ЧДТУ, 23-24 квітня 2024 р. Черкаси : ЧДТУ, 2024. С. 
Крім того, Unity забезпечує розробникам інструменти для створення системи 
управління та інтерфейсу користувача. Розробка системи керування є ключовим 
етапом у створенні платформерів, оскільки вона безпосередньо впливає на 
взаємодію гравця з грою, а розробка ефективного та зручного інтерфейсу надає 
гравцеві доступ до різних функцій та інформації про гру, таких як інвентар, 
кількість здоров’я, завдання тощо.   
Узагалі, комп’ютерні ігри у жанрі платформерів, створені на ігровому рушії 
Unity, не лише пропонують динамічні рівні та захоплюючий дизайн, але також 
мають сюжетну лінію, яка викликає різноманітні емоції у гравців. Завдяки 
різноманітним історіям та інтригуючим персонажам, платформери на Unity здатні 
викликати широкий спектр емоцій. Від радості перемоги на рівні до напруженості 
від складних головоломок або боротьби з босом. Кожен елемент сюжету може 
викликати у гравців почуття відваги, співчуття або відчуття досягненя.  
Розробка гри на Unity дозволяє створити динамічні та захоплюючі ігрові 
механіки, використовуючи різноманітні ресурси та можливості платформи. 
 
 
 
 
 
 
 
 13 
1 ОГЛЯД ТА ПОРІВНЯЛЬНИЙ АНАЛІЗ АНАЛОГІВ ВІДЕОІГОР ПО ЖАНРУ 
2-D ПЛАТФОРМЕР 
1.1 Аналіз ігрової серії «Shovel Knight» 
Гра «Shovel Knight» – це платформер у стилі ретро, розроблений і виданий 
компанією Yacht Club Games. Гра була випущена в 2014 році і викликала значний 
інтерес серед гравців, особливо серед тих, хто ностальгує за класичними 8-бітними 
іграми. Shovel Knight отримав позитивні відгуки критиків та гравців завдяки своїй 
захоплюючій геймплейній механіці та чарівному візуальному стилю, який відтворює 
естетику старих ігор [1]. 
«Shovel Knight» має об’єднаний сюжет у різних частинах гри, але кожна 
кампанія фокусується на різних персонажах та їх власних пригодах у тому ж світі. 
Хоча кожна кампанія може відбуватися в різний час і місці, вони всі вписуються у 
загальний сюжет гри та допомагають розкрити різні аспекти світу «Shovel Knight». 
Події у кожній кампанії можуть перетинатися з подіями інших історій. Таким чином 
всі унікальні історії об`єднуються в загальний сюжет «Shovel Knight». 
«Shovel of Hope» – перше гра з серії, в яку заклали основу геймплею та стилю, 
яка стала характерною для всіх подальших ігор. Однією з найважливіших механік 
гри є можливість використовувати лопату для атаки ворогів, рухання блоків і 
розкопування скарбів. Гра базується на класичних платформерних механіках, таких 
як стрибки між платформами, уникання пасток та рух по рівню. По рівню можна 
знайти монети та скарби, які потрібно збирати для покупки апгрейдів, артефактів та 
інших корисних предметів у магазинах. Кожен рівень закінчується боєм з босом, 
який має унікальні атаки та поведінку, що вимагає стратегічного підходу та 
використання набутих навичок. 
Апгрейди в грі «Shovel Knight» є ключовим елементом геймплею, що 
розширює можливості та поліпшує характеристики головного героя. Апгрейди 
можуть бути знайдені в різних частинах гри або придбані у магазинах за зібрані 
монети. Кожен апгрейд пропонує унікальні переваги та допомагає гравцю в 
подоланні викликів у грі. Наприклад, деякі апгрейди можуть покращувати здоров’я 
 14 
гравця, збільшуючи його кількість сердець або зменшуючи отримані ушкодження 
від ворогів. Інші апгрейди можуть збільшувати силу атаки, надавати нові здібності 
для атаки. Крім того, апгрейди можуть поліпшувати управління героєм, збільшуючи 
його швидкість руху чи стрибка. 
Артефакти є ще одним важливим елементом у грі «Shovel Knight», які надають 
гравцеві спеціальні здібності та можливості. Артефакти можуть бути знайдені або 
придбані, вони надають гравцю різноманітні способи подолання викликів у грі. 
Наприклад, деякі артефакти дозволяють гравцеві керувати елементами 
навколишнього середовища, такими як блоки або платформи, щоб пройти 
перешкоди або знайти секретні місця. Інші артефакти можуть надавати гравцю 
спеціальні атаки, які допомагають в боротьбі зі складними ворогами або виконанні 
завдань у грі [2]. 
«Бій з босом» у грі «Shovel Knight» подано на рисунку 1.1, є однією з 
найважливіших та запам’ятовуючих частин геймплею. Кожен бій з босом у грі має 
свої унікальні характеристики та механіку, які вимагають від гравця зосередженості 
та вміння адаптуватися до різних стилів бойової взаємодії [3].  
 
Рисунок 1.1 – «Бій з босом» [3] 
 15 
Перед зіткненням з босом є можливість підготуватися, збираючи різні ресурси 
та апгрейди в ході проходження рівня. Кожен бій з босом починається зі введення 
ворога, під час якого є можливість оцінити його здоров’я та механіку атаки. 
«Бої з босами», зазвичай, включають в себе використання унікальних атак та 
поведінки ворога, які можуть змінюватися на різних етапах бою. Потрібно вивчати 
та адаптуватися до різних рухів та атак боса, щоб витримати битву. 
Під час бою з босом, використовуються навички та апгрейди, щоб знайти 
слабкі місця ворога та нанести найбільшу шкоду. Деякі бої можуть включати в себе 
різноманітні фази, коли бос змінює стратегію або отримує нові атаки та здібності. 
Після перемоги над босом гравець отримує нагороди та доступ до наступного рівня.  
На основі оригінального концепту «Shovel Knight» створено кілька 
продовжень, поданих на рисунках 1.2 – 1.4, які не лише наслідують оригінал, а й 
удосконалюють його, додаючи нові механіки та елементи геймплею.  
 
Рисунок 1.2 – «Plague of Shadows» [4] 
У  грі «Plague of Shadows» головний герой алхімік, який має власні унікальні 
механіки геймплею та стиль бою. Він рухається по рівнях, використовуючи 
вибухові заряди, які використовуються для стрибків, атак та переміщень. Нові рівні 
 16 
були адаптовані для нових механік головного героя, добавлено нові секрети та 
головоломки.  
 
Рисунок 1.3 – «Specter of Torment» [5] 
 
Рисунок 1.4 – «King of Cards» [6] 
У грі «Specter of Torment» головний герой – примарний лицар, ворог-лицар 
головного героя з першої гри, що шукає союзників для своєї темної армії. Тут 
більше висвітлюється про минуле та мотивацію персонажу. Примарний лицар має 
 17 
унікальні механіки переміщення та атаки. У грі можна стрибати від одного ворога 
до іншого та проводити швидкі атаки. Гра має темнішу палітру кольорів та більш 
виразний дизайн персонажів та рівнів. 
У грі «King of Cards» головний герой – молодий король, який веде свій пошук 
слави та багатства. Було додано карточні битви, нові рівні та міні-ігри. 
«Shovel Knight Showdown» – це мультиплеєрний файтинг, де обирають будь-
якого героя серії та змагаються ним в різних режимах гри.  
1.2 Порівняльна характеристика відеоігор 
Ігрова серія «Shovel Knight» є однією з найвідоміших та найуспішніших серій 
у жанрі платформерів. Проте на фоні інших аналогів цього жанру, таких як: 
«Celeste», «Hollow Knight», або «Ori and the Blind Forest», «Shovel Knight» має свої 
унікальні особливості та переваги [6]. 
Наприклад, «Celeste» відзначається філософським підтекстом, що додає 
глибини ігровому досвіду. «Sonic the Hedgehog», з іншого боку, акцентується на 
швидкості та динаміці. «Shovel Knight», у свою чергу, зберігає ностальгічний дух 8-
бітних ігор, використовуючи унікальні механіки та візуальний стиль, що відтворює 
естетику старих ігор. 
Незважаючи на те, що «Shovel Knight» хоч і базується на класичних 
платформерах, постійно оновлюється. Серія гри розширюється новими рівнями, 
персонажами, історіями, механіками, що роблять гру захопливою та привабливою. 
Постійний розвиток допомагає зберегти зацікавленість гравців та забезпечує 
геймплейний досвід, що вирізняє «Shovel Knight» серед інших платформерів. 
1.3 Переваги та недоліки відеоігор 
Як і будь-яка інша гра, у серії «Shovel Knight» є свої недоліки. Ось деякі з них: 
− складність гри: серія «Shovel Knight» має високий рівень складності, особливо 
в боях з босом, що може становити проблему для тих хто не має достатньої 
вправності або досвіду в платформерах; 
 18 
− повторюваність: у деяких частинах серії елементи гри стають повторюваними 
або передбачуваними з часом, що може знизити цікавість або відчуття новизни гри; 
− сюжетні недоліки: серед недоліків можна відзначити, що сюжетні лінії або 
персонажі не досить цікаві, що може вплинути на імерсію в грі.  
Все ж, незважаючи на перелічені недоліки, «Shovel Knight» продовжує 
зберігати величезну популярність і визнання серед шанувальників жанру 
платформерів.  
 Проте, є деякі загальні недоліки, які можна порівняти з недоліками ігор серії 
«Shovel Knight»: 
− недоліки гри «Hollow Knight»: у грі відсутня чітка лінія прогресу, що може 
призвести до заплутаності у гравця, особливо під час проходження великих 
підземель; 
− недоліки гри «Celeste»: у грі велика кількість повторень музичних тем на 
протязі тривалого часу, що призводить до відчуття монотонності та нудьги; 
− недоліки гри «Ori and the Blind Forest»: деякі гравці відзначають, що керування 
персонажем у грі може бути не завжди точним або відчутним, що призводить до 
втрати контролю під час гри. 
1.4 Визначення вимог до 2-D платформера на ігровому рушію Unity 
Представимо прелік вимог для 2-D платформера на ігровому рушію Unity: 
− геймплей: повинен бути динамічним, захоплюючим, викликати емоції у 
гравця; 
− рівні: повинні бути ретельно спроєктованими, враховуючи різноманітні 
елементи геймплею. Розміщення платформ, перешкод, ворогів повинно бути 
обдуманим, щоб мати різні варіанти проходження, а також збалансувати рівень 
складності. Кожен новий рівень повинен відображати прогрес гравця, поступово 
добавляючи нові елементи геймплею та виклики; 
− візуальний стиль: повинен бути привабливим та чітким, з детально 
проробленими спрайтами та анімаціями для персонажів та об’єктів. Колірна палітра 
 19 
та загальний дизайн мають підтримувати тематику гри та допомагати легко 
розрізнити різні елементи на екрані; 
− звук: повинен додавати глибину ігровому світу, підсилювати атмосферу 
ігрової сцени та підкреслювати важливі моменти геймплею; 
− управління: має бути гнучким, інтуїтивним та легким для освоєння. 
Висновки до розділу 1 
Під час дослідження в розділі проведено аналіз ігрової серії Shovel Knight, що 
відома своєю ностальгічною атмосферою та інноваційним геймплеєм. Детально 
розглянута кожна гра серії, вивчено їхні основні елементи, такі як: сюжет, геймплей, 
візуальний стиль.  
Проведено порівняльний аналіз серії ігор «Shovel Knight» з іншими 
платформерами, виявлено переваги та недоліки кожної гри.  
В результаті дослідження встановлено, що серія «Shovel Knight» є однією з 
найбільш успішних у жанрі платформерів, завдяки своїй унікальній графіці, 
захоплюючому геймплею та побудові рівнів. Однак, деякі ігри серії мають недоліки, 
такі як відчуття монотонності у деяких рівнях або зависокий рівень складності. 
У цілому, дослідження ігрової серії «Shovel Knight» є корисним для тих, хто 
цікавиться платформерами та бажає ознайомитися з основними елементами таких 
типів ігор. 
 
 
 
 
 
 
 20 
2 ПРОЄКТУВАННЯ 2-D ПЛАТФОРМЕРА НА ІГРОВОМУ РУШІЮ UNITY  
2.1 Опис функціонального програмного середовища для розробки  
Unity – це потужне функціональне програмне середовище для розробки ігор, 
що має зручні інструменти та можливості для створення різноманітних проєктів. 
Unity надає відмінні мо жливості для роботи з різними аспектами гри, включаючи 
фізику, анімаію, звук, графіку, інтерфейс [7]. 
Редактор Unity має інтерфейс, подано на рисунку 2.1, який складається з 
різних вікон, що можна розташовувати за власним вибором. Це дозволяє зручно 
налагоджувати гру чи застосунок прямо в редакторі. Серед головних вікон можна 
виділити оглядач ресурсів проєкту, інспектор поточного об’єкта, вікно 
попереднього перегляду, оглядач сцени та оглядач ієрархії ресурсів. 
 
Рисунок 2.1 – Інтерфейс Unity [7] 
 21 
Проєкт Unity поділяється на сцени – окремі файли, що містять свої ігрові світи 
зі своїм набором об’єктів, сценаріїв, і налаштувань. Сцени можуть містити в собі як 
об’єкти-моделі, так і порожні ігрові об’єкти – ті, що не мають моделі, проте задають 
поведінку іншим об’єктам. Їх дозволяється розташовувати, обертати, масштабувати, 
застосовувати до них скрипти. В них є назва, може бути тег і шар, на якому він 
повинен відображатися. Крім того, у будь-якого предмета на сцені обов’язково 
присутній компонент «Transform», що зберігає координати місця розташування, 
повороту і розмір по всіх троьх осях. Для об’єктів з видимою геометрією присутній 
компонент «Mesh Renderer», що робить модель видимою [7]. 
2.2 Обґрунтування вибору рушію Unity   
Unity – це один з провідних та потужних інструментів для створення відеоігор. 
Існує декілька вагомих причин вибору цього рушія [7]: 
− зручне інтегроване середовище розробки: Unity має інтуїтивний та 
дружелюбний візуальний редактор, який дозволяє швидко створювати та 
налаштовувати ігрові об’єкти, сцени та інші елементи гри без необхідності писати 
велику кількість коду; 
− широкий асортимент ресурсів: в Unity доступна обширна бібліотека готових 
ресурсів (рис. 2.2), таких як: моделі персонажів, анімації, текстури, звукові ефекти 
тощо. Готові ресурси сприяють збільшенню швидкості розробки та підвищенню 
рівня якості гри, оскільки їх можна використовувати не витрачаючи час на 
створення; 
− активна спільнота розробників: Unity має велику та активну спільноту 
розробників (рис. 2.3), що створює можливість для навчання та обміну досвідом з 
іншими розробниками. Це може значно спростити процес розробки та допомогти 
вирішити проблеми; 
− широкі можливості мультиплатформенної розробки: Unity надає зручні 
інструменти для створення ігор, які можуть бути легко адаптовані до різних 
 22 
платформ (рис. 2.4). Це дозволяє розробляти ігри, які працюють на різних 
пристроях, включаючи ПК, мобільні пристрої, консолі тощо; 
 
Рисунок 2.2 – AssetStore [8] 
 
Рисунок 2.3 – Unity Blog [9] 
 23 
 
Рисунок 2.4 – Вибір платформи [7] 
− безкоштовна ліцензія для початківців: Unity пропонує безкоштовну ліцензію 
для особистих та некомерціних проєктів (рис. 2.5), що відкриває широкі можливості 
для початківців та незалежних розробників вивчати та експерементувати з ігровим 
рушієм без фінансових витрат. 
Загалом, Unity є одним із провідних і потужних інструментів для створення 
відеоігор. Зручне інтегроване середовище розробки, широкий асортимент готових 
ресурсів, активна спільнота розробників, можливості мультиплатформенної 
розробки та безкоштовна ліцензія для початківців роблять Unity привабливим 
вибором для творчих та незалежних розробників. Ці фактори сприяють якості та 
швидкості розробки ігор, а також розширюють доступні інструменти для широкого 
кола користувачів. 
 
 24 
 
Рисунок 2.5 – Вибір ліцензій в Unity [10] 
2.3 Проєктування структури гри на рушію Unity  
Проєктування структури гри на рушію Unity можна поділити на етапи 
підготовки та розробки. Підготовка є одним з етапів у розробці гри, який визначає 
основні характеристики та напрямок майбутнього проєкта. Розглянемо більш 
детальніше про кожен аспект етапів [11]: 
− ідея: являється відправною точкою для будь-якої гри. Вона може виникнути з 
уяви розробників, заснована на їхніх фантазіях і креативносі. Іноді ідея може 
формуватися під впливом натхнення від інших джерел, таких як книги, фільми, 
історія або реальні події. Важливо, щоб ідея була оригінальною та унікальною. Вона 
повинна викликати зацікавленість та захоплення у гравців, відрізнятися від інших та 
пропонувати щось нове. Це може бути непередбачуваний сюжет, новаторські ігрові 
механіки або вражаюча атмосфера; 
− визначення цільової аудиторії: правильне розуміння цільової аудиторії є 
ключовим фактором для успішної розробки гри. Це означає вивчення та аналіз 
потенційних гравців, їхніх характеристик, вподобань, інтересів та потреб. 
 25 
Розробники мають визначити, для кого саме призначена гра, щоб зрозуміти, яким 
чином найкраще задовольнити потреби цієї аудиторії та залучити їх увагу; 
− визначення жанру гри: вибір жанру гри залежить від безлічі чинників, таких 
як інтереси аудиторії, можливості розробників і поточні тенденції ринку. Жанр гри 
визначає основну структуру і механіку ігрового процесу. Визначення жанру 
дозволить зосередити зусилля на створенні відповідних ігрових елементів, які 
найбільше відповідають вибраному жанру, і забезпечить більший успіх гри; 
− аналіз конкурентів: дослідження та аналіз конкурентних ігор в обраному жанрі 
дозволить розробникам зрозуміти переваги та особливості існуючих ігор на ринку, а 
також ідентифікувати прогалини або можливості для покращення. Шляхом 
виділення унікальних характеристик та особливостей, які можуть привернути увагу 
аудиторії, розробники зможуть створити гру, яка виділиться серед конкурентів; 
− оцінка технічних можливостей: на етапі підготовки важливо оцінити технічні 
можливості розробників. Це включає оцінку досвіду з різними ігровими рушіями та 
мовами програмування, доступність необхідних ресурсів і здатність створювати 
якісний продукт у визначені терміни та бюджет.  
Процес розробки гри, зазвичай, включає такі етапи [11]: 
− проєктування: на цьому етапі команда розробки визначає загальну концепцію 
гри і створює дизайн-документ, який є основою для подальшої роботи. У цьому 
документі описуються основні механіки та функції гри, сюжет, персонажі, ігрові 
рівні та інші ключові аспекти. Проєктування також включає визначення цільової 
аудиторії та жанру гри. Важливо розробити чіткий план, щоб усі члени команди 
розуміли, який кінцевий продукт вони створюють, та щоб кожен міг зосередитися на 
своїй ролі; 
− програмування: на цьому етапі розробники утілюють задумки з дизийн-
документа, пишучи програмний код, який забезпечує функціональність та логіку 
гри. Використовуються різні мови програмування, а також ігрові рушії, щоб 
спростити процес розроблення і створення ігрових систем. Програмування охоплює 
створення ігрових механік, управління персонажами і штучним інтелектом, обробку 
введення користувача та багато іншого. Цей етап є ключовим у процесі розробки 
 26 
гри, оскільки від нього залежить функціональність та ігровий досвід, який отримає 
гравець; 
− графіка та дизайн: на цьому етапі художники та дизайнери перетворюють 
концепції візуального стилю гри на реальні графічні елементи. Створюються 
персонажі, фони, об’єкти та анімації. Крім того, розробляється користувацький 
інтерфейс – елементи, які гравець бачить на екрані та взаємодіє з ними, такі як 
кнопки, панелі і меню. Графіка та дизайн відігрують важливу роль у створенні 
атмосфери гри та візуальній привабливості для гравців, що допомагає залучити до 
гри та зберегти увагу;   
− звукове оформлення: звукові дизайнери займаються створенням аудіо-
контенту для гри. Вони відповідають за створення звукових ефектів, які 
відображають різні дії та події гри, музики, яка підтримує атмосферу та настрій, а 
також за запис та обробку діалогів персонажів. Добре підібрані звукові ефекти і 
музика можуть підсилити емоційну залученість гравців та додати важливий елемент 
атмосфери до гри, що робить її більш захоплюючою та запам’ятовуваною; 
− тестування: на цьому етапі гра проходить через безліч тестів, щоб виявити та 
виправити будь-які помилки, баги та недоліки. Тестувальники відігрують важливу 
роль у виявленні проблем та наданні зворотнього зв’язку розробникам. Тестування 
охоплює різні аспекти гри, такі як ігрові механіки, графіка, звук та загальна 
продуктивність, щоб переконатися, що гра працює стабільно і без збоїв. Після 
кожного тестування розробники вносять виправлення та поліпшення до гри, 
забезпечуючи якісний і надійний продукт перед його випуском на ринок. 
Тестування є необхідним кроком для забезпечення готовності гри до релізу та 
задоволення вимог і очікувань гравців; 
− полірування та оптимізація: на останньому етапі розробки гри відбувається 
допрацювання та оптимізація, що спрямованні на поліпшення загального враження 
від гри та її продуктивності. Розробники працюють над усуненням будь-яких 
зауважень, виявлених під час тестування, та додають останні штрихи, щоб 
забезпечити високу якість гри. Оптимізація гри також важлива, оскільки вона 
забезпечує високу продуктивність на різних платформах, забезпечуючи плавність та 
 27 
відсутність лагів у грі. Цей етап завершує розробку гри та готує її до випуску на 
ринок. 
Отже, ігровий рушій Unity відіграє важливу роль у процесі проєктуваня 
структури гри, спрощуючи та оптимізуючи роботу розробників. Використовуючи 
ігровий рушій, команда розробників може швидко і ефективно реалізувати 
концепцію гри, зосереджуючись на створенні унікальних механік, візуального 
дизайну та аудіо-контенту. Цей інструмент дозволяє забезпечити стабільність та 
продуктивність гри, а також запезпечує сумісність із різними платформами.  
2.4 Опис процесу проєктування 2-D платформера на ігровому рушію 
Unity  
Проєктування відеогри в жанрі 2-D платформера – це складний та 
багатоетапний процес. Основна мета його – створення захоплюючого, цікавого та 
задовільного ігрового досвіду для гравця.  
Розглянемо кілька кроків проєктування відеогри в жанрі 2-D платформера: 
− визначення концепції гри: першим етапом є визначити основну концепцію 
гри, включаючи тему, механіки гри, атмосферу; 
− створення персонажа: насутпним етапом є розроботка основного героя або 
персонажів гри. Вони повинні мати власні характеристика, властивості та механіки 
руху, які відповідають жару гри; 
− дизайн рівнів: наступним етапом є створення різних рівнів, кожен з яких має 
унікальну архітектуру та розміщення елементів. Це включає в себе розміщення 
платформ, перешкод, ворогів, секретів та інших інтерактивних об’єктів; 
− механіки гри: наступним етапом є розробка основних механік гри, таких як 
рух, стрибки, атаки, збирання предметів тощо. Важливо забезпечити різноманітність 
та цікавість механік; 
− графічний дизайн та анімація: наступним етапом є створення графічних 
елементів гри, включаючи персонажів, рівні, фони тощо. Також важливо створити 
анімації для персонажів та інших об’єктів у грі; 
 28 
− звуковий дизайн: наступним етапом є додавання аудіо ефектів, музики та 
інших звукових компонентів, щоб створити атмосферу та підсилити враження від 
гри; 
− тестування: останнім етапом є проведення тестування гри, щоб виявити та 
виправити помилки. Важливо збирати інформацію від тестерів та гравців для 
подальшого вдосконалення гри. 
Проєктування відеогри в жанрі 2-D платформера є складним і багатоетапним 
процесом, що вимагає визначення концепції, створення персонажів, дизайну рівнів, 
розробки механік, графічного та звукового дизайну, а також тестування. Кожен етап 
має своє значення у створенні захопливого та задовільного ігрового досвіду для 
гравців, і успішний результат залежить від уважного планування і виконання 
кожного кроку. 
2.5 Опис створення та анімації персонажів 
Процес створення та анімації персонажів для 2-D платформера на ігровому 
рушію Unity починається з концепт-артів. Перш за все художники створюють ескізи 
персонажів на папері або в графічних редакторах, таких як Adobe Photoshop або 
Illustrator. На цьому етапі визначаються основні візуальні риси персонажів, 
включаючи форму, розмір, кольорову гаму та стиль. 
Після затвердження концепт-арту розпочинається процес створення спрайтів – 
зображень персонажів, які будуть використовуватися в грі. Для цього часто 
використовуються програми на зразок Aseprite, Piskel або Photoshop. Спрайти 
повинні відповідати стилю гри та бути досить деталізованими для передачі 
характеру та рухів персонажів.  
Анімація персонажів здійснюється шляхом створення наборів спрайтів для 
різних станів персонажів як ходьба, стрибок, атака тощо. Ці набори спрайтів потім 
імпортуються в Unity, де за допомогою Animator та Animation компонентів 
створюються анімаційні кліпи (рис. 2.6–2.7). Кожна анімація складається з 
послідовності кадрів, які швидко змінюються, створюючи ілюзію руху. 
 29 
Особлива увага приділяється плавності переходів між анімаціями, що 
досягається налаштуванням параметрів переходів у Animator. Це забезпечує 
реалістичність рухів персонажів і загальну гармонійність ігрового процесу. 
 
 
Рисунок 2.6 – Animator головного героя  
 
Рисунок 2.7 – Animation головного героя  
 
 30 
2.6 Дизайн ігрового світу та фонових елементів 
Дизайн ігрового світу та фонових елементів також починається з 
концептуального етапу. Художники створюють ескізи рівнів, включаючи 
платформи, перешкоди, декоративні елементи та інтерфейс користувача. Важливо, 
щоб дизайн рівнів відповідав загальній тематиці гри та створював атмосферу, яка 
занурює гравця в ігровий світ. 
Створення графічних елементів для рівнів включає розробку тайл-сетів – 
наборів графічних плиток, які можна повторювати та комбінувати для створення 
різних частин рівня (рис. 2.8).  
 
Рисунок 2.8 – Тайл-сет з AssetStore [8] 
Ці тайли також створюються в графічних редакторах і імпортуються в Unity.  
За допомогою Tilemap інструментів Unity  можна швидко і легко створювати 
складні рівні з повторюваних елементів (рис. 2.9).  
 31 
Фонові елементи грають важливу роль у створенні глибини та перспективи в 
грі. Вони можуть включать статичні зображення або паралакс-скролінг – техніку, де 
фонові шари рухаються з різною швидкістю, створюючи ілюзію тривимірного 
простору. Це досягається шляхом налаштування шарів у Unity та використання 
спеціальних скриптів для керування рухом фонів. 
 
Рисунок 2.9 – Tilemap інструмент Unity [7] 
Додатково, слід врахувати інтерактивні елементи, такі як: двері, перемикачів, 
пастки та інші об'єкти, з якими гравець може взаємодіяти. Їхній дизайн повинен 
бути чітким і зрозумілим для гравця, анімація та ефекти повинні чітко відображати 
їхню функцію та стан. 
Таким чином, розробка графіки та дизайну персонажів, а також ігрового світу 
та фонових елементів є важливим етапом у створенні привабливого та 
захоплюючого 2-D платформера. Від якісної графіки та ретельно продуманої 
анімації залежить не тільки естетичне сприйняття гри, але й її загальна ігрова 
механіка та привабливість для гравців. 
 
 
 32 
2.7 Аудіо супровід гри 
Аудіо супровід є важливою складовою загального ігрового досвіду, оскільки 
він допомагає створити атмосферу та занурити гравця у світ гри. Вибір музики та 
звукових ефектів для 2-D платформера починається з визначення загальної 
тональності та стилю гри. Музика повинна відповідати естетиці гри та доповнювати 
її візуальний стиль і геймплей. 
Для створення оригінальної музики часто залучають композиторів, які 
спеціалізуються на написанні саундтреків для відеоігор. Композитор може 
використовувати різні музичні інструменти та програмне забезпечення для 
створення треків, що відповідають настрою та темпу гри. Якщо бюджет обмежений, 
можна скористатися ліцензованою музикою з відкритих або платних бібліотек, 
таких як AudioJungle, Free Music Archive або Unity Asset Store. 
Звукові ефекти також грають важливу роль у створенні реалістичної та 
захоплюючої ігрової атмосфери. Вони повинні відповідати діям персонажів та 
подіям в грі. Наприклад, звуки кроків, стрибків, атак, збору предметів та інші події 
повинні бути чітким та відповідати очікуванням гравця. Звукові ефекти можна 
створювати самостійно, записуючи та редагуючи звуки, або використовувати готові 
звуки з бібліотек, таких як Freesound, SoundBible або Unity Asset Store. 
Інтеграція музики та звукових ефектів у Unity здійснюється за допомогою 
компонентів AudioSource та AudioClip. AudioSource додається до об'єктів у сцені, 
які повинні відтворювати звук, тоді як AudioClip містить сам звук або музику. За 
допомогою скриптів можна контролювати відтворення звуків, змінювати їх 
гучність, пітч та інші параметри, забезпечуючи відповідність звуків подіям у грі. 
Для створення ефективного звукового супроводу важливо врахувати різні 
події та стани в грі. Основні елементи звукового супроводу включають: 
− основна тема: музичний трек, який відтворюється на головному екрані гри або 
меню; 
− музика рівнів: окремі треки для кожного рівня або секції гри, які підтримують 
атмосферу конкретного середовища або ситуації; 
 33 
− музика для спеціальних подій: наприклад, музика для бос-битв, фінальних 
рівнів або особливих моментів у грі; 
− інтерактивні дії: звуки, що супроводжують дії гравця, такі як стрибки, удари, 
збір предметів, відкриття дверей тощо; 
− оточення: звуки навколишнього середовища, наприклад, шум вітру, води, 
звуки тварин або технічних пристроїв; 
− сповіщення та підказки: звуки, які сповіщають гравця про важливі події або 
зміни в грі, наприклад, низький рівень здоров'я, активація бонусів або завершення 
завдання; 
− діалоги та коментарі: голоси персонажів, які можуть бути інтегровані для 
покращення розповіді або надання інструкцій гравцю; 
− звукові сигнали: короткі звукові ефекти, що передають емоційні реакції 
персонажів або вказують на важливі події. 
Для забезпечення якісного звукового супроводу важливо тестувати звуки у 
контексті гри, налаштовуючи їх гучність та пітч, щоб вони не були надто 
нав'язливими, але при цьому чітко чутними. Unity надає можливість налаштовувати 
звукові мікси, використовувати аудіо-фільтри та ефекти, для досягнення бажаного 
звучання. 
2.8 Документація та підтримка користувача 
Створення якісної документації для гри є важливим кроком у забезпеченні 
користувачів усією необхідною інформацією. Документація повинна включати 
інструкції з встановлення та запуску гри, опис основних елементів інтерфейсу, 
керування та ігрових механік. Важливо надати гравцям детальний опис персонажів, 
ворогів та рівнів. 
Основними компонентами документації є: 
− керівництво користувача: пояснює, як встановити та налаштовувати гру, які 
системні вимоги необхідні, та як усунути можливі проблеми під час інсталяції; 
 34 
− ігровий гід: описує основні елементи ігрового процесу, включаючи керування 
персонажем, правила гри, цілі та завдання. Містить підказки та стратегії для 
успішного проходження рівнів; 
− технічна документація: містить інформацію для технічних спеціалістів, 
включаючи структуру коду, використані інструменти та технології, а також 
інструкції для модифікації або розширення гри. 
Документація повинна бути доступною у різних форматах: текстовому, відео, 
інтерактивному. 
Підтримка користувачів є невід'ємною частиною життєвого циклу гри після її 
випуску. Основні складові підтримки користувачів включають:  
− система технічної підтримки: організована через електронну пошту, систему 
квитків або онлайн-чат. Це дозволить гравцям звертатися за допомогою у випадку 
технічних проблем, багів або інших труднощів; 
− часті питання: розділ, де зібрані відповіді на найпоширеніші питання 
користувачів. Це допомагає швидко знайти відповіді без необхідності звертатися до 
служби підтримки; 
− форуми та соціальні мережі: платформи, де гравці можіть обмінюватися 
досвідом, ставити питання та отримувати відповіді від інших гравців або 
розробників. Це сприяє формуванню спільноти навколо гри. 
Регулярні оновлення гри є важливим аспектом підтримки. Вони включають 
виправлення багів, додавання нового контенту та поліпшення існуючих механік. 
Оновлення можуть бути плановими – регулярні патчі та доповнення або аварійними 
– швидке виправлення критичних помилок. Для ефективного управління 
оновленнями важливо використовувати систему контролю версій та мати чіткий 
план релізів. 
Випуск оновлень слід супроводжувати детальними нотатками про зміни, де 
вказуються виправлені проблеми, новий контент та інші зміни. Це допомагає 
користувачам розуміти, щ обуло змінено та які покращення вони можуть очікувати. 
 
 35 
2.9 Публікація та маркетинг 
Підготовка гри до публікації є етапом, який включає в себе кілька важливих 
кроків для забезпечення успішного запуску. Перше за все, необхідно завершити всі 
технічні аспекти гри, такі як фінальне тестування, усунення багів та оптимізація 
продуктивносіт. Гра повинна бути стабільною, працювати без збоїв на різних 
платформах та відповідати заявленим системним вимогам. 
Після цього слід підготувати всі необхідні матеріали для публікації, 
включаючи: 
− опис гри: докладний опис гри, її особливостей та основних механік. Цей опис 
має бути привабливим та інформативним, щоб зацікавити потенційних гравців; 
− скірншоти та відео: високоякісні зображення та трейлери, які демонструють 
ігровий процес, графіку та ключові моменти гри. Ці матеріали використовуються на 
платформах дистрибуції та в маркетингових компаніях; 
− лакалізація: переклад гри та супутніх матеріалів на різні мови для охоплення 
більшої аудиторії. Локалізація повинна бути професійною та враховувати культурні 
особливості цільових ринків. 
Необхідно обрати платформу для публікації гри. Це може бути Steam, Google 
Play, App Store або інші платформи, які відповідають типу гри та її цільової 
аудиторії. Кожна платформа має свої вимоги та процедури для публікації, які 
потрібно враховувати. 
 Ефективний маркетинг та просування гри є ключовим для її успіху на ринку. 
Стратегія маркетингу повинна охоплювати різні канали та методи для залучення 
уваги до гри та стимулювати продажі. Основні компоненти маркетингової стратегії 
включають: 
− соціальні медіа: використання платформ, таких як Facebook, Twitter, Instagram 
та TikTok, для створення спільноти навколо гри. Регулярні публікації, взаємодія з 
підписниками та проведення конкурсів допомагають підвищити інтерес та 
залученість гравців; 
 36 
− прес-релізи: розсилка прес-релізів та контакт з ігровими журналістами та 
блогерами для отримання оглядів та публікацій про гру. Позитивні огляди та згадка 
в медіа можуть значно підвищити впізнаваність гри; 
− ігрові події та виставки: участь у різних ігрових виставких або локальних 
подіях, дозволить показати гру широкій аудиторії, зустрітися з потенційними 
партнерами та отримати цінний зворотній зв'язок; 
− рекламні кампанії: використання платної реклами на платформах, таких як: 
Google Ads, Facebook Ads або рекламних мережах, які спеціалізуються на ігровій 
індустрії. Реклами допомагає швидко охопити велику аудиторію, і їхні рекомендації 
можуть значно вплинути на популярність гри; 
− email-маркетинг: збір та використання електроних адрес для надсилання 
новин, оновлень та спеціальних пропозицій. Це допомагає утримувати зв'язок з 
гравцями та стимулювати їх до повторних покупок або участі в заходах. 
Ретельне планування та реалізація цих маркетингових стратегій допомагає 
максимізувати видимість гри та збільшити її шанси на успіх. Важливо постійно 
аналізувати результати маркетингових кампаній та вносити необхідні корективи для 
досягнення кращих результатів. 
2. 10 Функціонал відеогри та механіки 
Платформер – це жанр відеоігор, ігровий процеc в якому складається зі 
стрибків персонажа по різноманітним платформам та через перешкоди, збирання 
предметів, зазвичай необхідних для проходження рівня [13]. 
Рух в платформерах – це ключовий елемент геймплею, що включає в себе 
контроль над персонажом у просторі, зокрема біг, стрибки та ухиляння. Біг 
являється основним методом пересуванням по рівню, стрибки дозволяють 
перескакувати через пастки та пересуватися між платформами. Ухиляння 
дозволяють уникнути ворожої атаки або різко збільшити відстань між персонажом 
та ворогами. 
 37 
Вороги мають ключову роль у створені захоплюючого геймплею, додаючи 
виклики та розвагу для гравця. Щоб урізноманітнити ворогів вони можуть мати 
різні характеристики, атаки, стратегії бою. 
Створення унікальних ворогів є складною і клопіткою працею але є декілька 
способів урізноманітнити ворогів за мінімальних ресурсів [14]: 
− перший спосіб – це створення варіації на основі існуючих ворогів, додаючи 
нові особливості або механіки. Це включає зміну атак, характеристик або 
властивостей ворогів, щоб створити нові види ворогів; 
− другий спосіб полягає у створенні нестандартних комбінацій існуючих 
ворогів. Для цього використовуються вже існуючі типи супротивників та 
комбінують їхні особливості для створення нового гібридного супротивника. 
Бій в грі дозволяє гравцеві взаємодіяти з ворожими персонажами, шляхом 
управління бойовими можливостями персонажа, включаючи удари, ухиляння, 
блокування та використання спеціальних атак або магічних здібностей, гравець 
може перемагати ворогів та просуватися вперед по рівню. 
Крім того, бій в платформерах часто відбувається в реальному часі, що 
вимагає від гравця швидку реакцію та точність рухів. Особливістю бою в 
платформерах є те, що гравець може використовувати особливості оточення, такі як 
платформи або пастки, для переваги в бою. 
Боси в іграх, зазвичай, відрізняються великими розмірами, високим рівнем 
здоров’я та появляються в кінці або середині рівня, прадставляючи значно більшу 
загрозу, ніж звичайні противники. Перемога над босом є ключовою для просування 
в грі, і для цього часто потрібна спеціаьна тактика або потужна зброя. «Битва з 
босом» є важливою точкою сюжету, а його подолання означає завершення рівня або 
гри [15]. 
Кожен бос унікальний, але виділяють декілька їх типів: 
− бос з чисельними поплічниками, які відволікають героя; 
− величезний, міцний, але незграбний бос; 
− антипод гравця: бос, що має ті ж здібності, що й герой; 
 38 
− бос, який є головоломкою: його можна перемогти лише за допомогою 
спеціальної дії; 
− жартівливий бос, який лише зображує серйозного супротивника. 
Діалоги в іграх є важливим елементом для розвитку сюжету, взаємодії з 
персонажами та встановлення атмосфери гри. Вони можуть бути ключовими для 
розкриття характерів, передачі інформації гравцю, вирішення завдань або впливу на 
подальший розвиток подій. Якщо діалоги виконані вдало, вони можуть зробити 
геймплей більш насиченим, цікавим та емоційним, залучуючи гравця до світу гри. 
Формули ідеального діалогу не існує, але є поради для їх написання [16]: 
− у написанні ігрових діалогів важливо уникати зайвого нагромадження в тексті 
і переходити безпосередньо до суті, щоб утримати увагу гравця. Пропускання фраз 
типу «привіт» або «як справи» допомагає уникнути нудьги і зосередитися на 
важливих моментах. При використанні таких слов, вони повинні мати сенс та 
відображати характер персонажа. Писати змістовані діалоги легше, коли бачити у 
персонажах реальних людей та знати контекст діалогу. Перед тим, як писати діалог, 
корисно уявити чим займалися персонажі перед поточною сценою, які події можуть 
відбутися після неї, яка історія є у цих персонажів до цього моменту, чи мали вони 
зустрічі раніше та чи існує між ними конфлікт; 
− люди рідко говорять «суперпрямо»: вони постійно щось приховують, 
перебільшують, пом’якшують. Діалоги в грі повинні містити підтексти, де 
персонажі не завжди говорять прямо. Ефективні діалоги працюють на двох рівнях: 
висловлене, тобто текст, який промовляє персонаж, та невисловлене – те, що 
персонаж насправді має на увазі, але не каже прямо. Гравцям подобається 
розкривати справжні мотиви персонажів та виявляти підтекст їхніх дій. Знання 
історії персонажу та розуміння прихованого змісту за його вчинками робить його 
більш «живим» і сприяє формуванню емоційного зв’язку з гравцем, що допомагає 
легше йому симпатизувати; 
− гумор чудово доповнює діалоги, особливо в ситуаціях, коли настрій гри 
серйозний та напружений. Завдяки контрасту він дозволяє гравцям розважитися та 
зняти напругу. Для цього можна використовувати ванлайнери, сарказми, каламбури 
 39 
та інші комічні елементи. Однак, важливо бути обережним з гумором, оскільки не 
всі жарти можуть бути зрозумілими для кожного гравця. 
Висновки до розділу 2 
У даному розділі розглянуто процес проєктування 2-D платформера на 
ігровому рушії Unity.  
Проведено опис функціонального програмного середовища для розробки, де 
розглянуті основні можливості та інструменти, які надає Unity для створення ігор. 
Обгрунтовано вибір саме цього рушію, наголосивши на його потужних 
можливостях, зручному інтерфейсі та широкій підтримці спільноти. 
Представлено проєктування структури гри на базі Unity, зокрема розглянуто 
етапи розробки ігор. 
Описано процес проєктування 2-D платформера та розглянуто функціонал 
відеогри та механіки, де визначено основні елементи геймплею та їх взаємозв’язок з 
ігровим світом. 
Результатом є детальний огляд процесу проєктування 2-D платформера на 
ігровому рушію Unity, що слугує основою для розробки відеогри. 
 40 
3 ТЕСТУВАННЯ ГРИ 
3.1  Особливості тестування відеоігор на персональному комп'ютері 
Тестування ігор на персональному комп'ютері (ПК)  має свої унікальні 
особливості, які відрізняють його від тестування ігор на Android та ігрових 
консолях. 
Однією з головних особливостей є різноманітність апаратного забезпечення. 
Гравці використовують різні конфігурації комп'ютерів, що включає різні процесори, 
відеокарти, оперативну пам'ять та інші компоненти. Тестувальники повинні 
перевіряти гру на різних платформах, щоб переконатися, що вона працює стабільно 
і без багів на всіх можливих конфігураціях. 
Іншою особливістю є різноманіття операційних систем та їх версій, які також 
потрібно врахувати при тестуванні. Більшість геймерів використовують Windows, 
але є також користувачі Linux і macOS, для яких потрібно забезпечити належну 
працездатність гри.  
Для управління на ПК гравці часто використовують клавіатуру та мишу, хоча 
також можуть використовувати тачпад, сенсорний екран, різні контролери та інше. 
Це вимагає від тестувальників перевірки належного функціонування гри з усіма 
можливими типами пристроїв введення. 
3.2 Перевірка гри на плагіат та віруси 
Перевірка гри на плагіат та віруси є важливим етапом у процесі розробки та 
випуску відеоігор, який допомагає захистити інтелектуальну власність розробників 
та забезпечити безпеку користувачів. Перевірка на плагіат спрямована на те, щоб 
гарантувати унікальність контенту гри, уникнути порушень авторських прав та 
уникнути юридичних проблем, що можуть виникнути внаслідок використання 
чужих ідей чи матеріалів. Перевіряється код, графіка, звукові ефекти, музика, 
сюжетна лінія та інші елементи гри. 
 41 
Для виявлення плагіату використовуються спеціалізовані програмні засоби та 
сервіси, які порівнюють елементи гри з базами даних існуючих продуктів. Це 
дозволяє виявити потенційні збіги, які можуть свідчити про використання 
захищеного контенту без належного дозволу. Крім того, важливо проводити 
регулярні перевірки на різних етапах розробки, щоб вчасно виявити та усунути 
будь-які порушення, що можуть виникнути в процесі створення гри. 
Перевірка на віруси є критично важливою для забезпечення безпеки 
користувачів гри. Віруси та шкідливі програми можуть призвести до серйозних 
проблем, включаючи втрату даних, крадіжку особистої інформації, порушення 
роботи комп'ютера та інших пристроїв. Тому перед випуском гри необхідно 
проводити ретельне сканування всіх компонентів за допомогою сучасних 
антивірусних програм. Потребується перевірка коду, файлів установки, патчів та 
оновлень на наявність шкідливого програмного забезпечення. 
Важливо забезпечети захист від загроз під час розробки гри. Це може 
включати використання захищених середовищ розробки, обмежень доступу до 
вихідного коду, регулярні оновлення антивірусного програмного забезпечення та 
проведення навчань для розробників. Особливу увагу слід звернути на перевірку 
сторонніх бібліотек та плагінів, які можуть бути використані під час розробки, 
оскільки вони можуть стати джерелом вірусів та інших загроз. 
Щоб вчасно реагувати на нові загрози та забезпечити безпеку користувачів 
потрібно регулярно оновлювати гру і після її випуску. Випускати патчі та 
оновлення, які усуватимуть виявлені вразливості та будуть забезпечувати стабільну 
роботу гри. Постійний моніторинг та аналіз загроз дозволить підтримувати високий 
рівень безпеки ігрового продукту та захищати його користувачів від потенційних 
ризиків. 
Таким чином, перевірка гри на плагіат та віруси є невід'ємною частини 
процесу розробки та випуску якісного та безпечного продукту. Що дозволяє 
забезпечити захист інтелектуальної власності, уникнути юридичної проблеми та 
гарантувати безпеку користувачів. 
 
 42 
3.3 Функціональне тестування відеогри 
Функціональне тестування відеогри – це перевірка коректної роботи всіх 
аспектів гри, щоб забезпечити високу якість продукту. Цей вид тестування 
зосереджений на перевірці механік гри, взаємодії персонажів, виконання завдань та 
інші елементи геймплею. Основна мета полягає в тому, щоб переконатися, що 
кожна функція гри працює як заплановано, без помилок та збоїв. 
Одним з ключових аспектів функціонального тестування є перевірка ігрових 
механік. Тестувальники ретельно перевіряють всі елементи управління, такі як рух 
персонажів, стрибків, використання предметів та інші дії, щоб переконатися, що 
вони працюють належним чином. Перевірити, чи немає багів, які можуть вплинути 
на ігровий процес, наприклад, гравець не може виконати певну дію або функція 
працює некоректно. 
Важливо провести тестування логіки ігрових завдань та сценаріїв. Перевірити 
правильність виконання завдань, відповідності діалогів та подій сюжету, а також 
правильного функціонування тригерів, які активують певні події в грі. Наприклад, 
тестувальники перевіряють, чи відкриваються двері після збору певного ключа або 
чи з'являються вороги у відповідний момент. 
Функціональне тестування також охоплює перевірку інтерфейсу користувача. 
Це включає тестування меню, налаштувань, інвентарю, діалогових вікон та інших 
елементів інтерфейсу, щоб переконатися, що вони зручні у використанні та 
функціонують без помилок. Тестувальники звертають увагу на доступність і 
зрозумілість інформації для гравця, щоб забезпечити позитивний користувацький 
досвід. 
Якщо гра має багатокористувацький режим, небхідно провести його 
функціональне тестування. Це включає перевірку взаємодії між гравцями, 
синхронізацію дій, правильності роботів чатів і команд, а також стабільності 
з'єднання. Тестувальники моделюють різні сценарії гри в режимі реального часу, 
щоб переконатися, що всі функції працюють без збоїв і затримок. 
 
 43 
Висновки до розділу 3 
Тестування відеоігор на ПК представляє складний процес, що вимагає уваги 
до різноманітних аспектів. Наведено різноманітність апаратного забезпечення, 
операційних систем та пристроїв введення, що ускладнює роботу тестерів та 
потребує часу для досконалого налагодження гри. 
Проведення превірки гри на плагіат та віруси є важливим етапом у процесі 
розробки, що дозволяє забезпечити безпеку та законність продукту.  
Функціональне тестування відеоігор є етапом у процесі розробки, що 
спрямований на перевірку коректності роботи всіх аспектів гри. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 44 
ВИСНОВКИ 
Мета кваліфікаційної роботи бакалавра досягнута. В ході її виконання 
спроєктовано та розроблено 2-D платформер на ігровому рушію Unity. 
Для досягнення поставленої мети в роботі розв’язувалися наступні завдання: 
 досліджено предметну область; 
 виконано порівняльний аналіз існуючих платформерів на прикладі ігрової 
серії «Shovel Knight»; 
 наведено переваги ігрового рушію Unity; 
 розроблено 2-D платформер та виконано його тестування. 
2-D платформер розроблений на ігровому рушію Unity. Скрипти написані на 
мові програмування C#. 
Розробка комп'ютерної гри в жанрі платформер на Unity є актуальною та 
цікавою темою для дослідження. Unity надає всі можливі інструменти для створення 
платформера з можливістю реалізувати унікальні механіки. 
 
 
 
 
 
 
 
 
 
 
 45 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1. Офіційний сторінка серії «Shovel Knight в Steam» з описом кожної гри з серії. 
URL: 
https://store.steampowered.com/app/250760/Shovel_Knight_Treasure_Trove (дата 
звернення: 22.02.2024). 
2. Гра «Shovel Knight»: інформація про артефакти. URL: 
https://www.ign.com/wikis/shovel-knight/Relics (дата звернення: 22.02.2024). 
3. Гра «Shovel Knight»: бій з босом. URL: https://www.ign.com/wikis/shovel-
knight/Bosses (дата звернення: 21.02.2024). 
4. Гра «Plague of Shadows». URL:  
https://en.wikipedia.org/wiki/Shovel_Knight:_Plague_of_Shadows (дата 
звернення: 21.02.2024). 
5. Гра «Specter of Torment». URL: 
https://en.wikipedia.org/wiki/Shovel_Knight:_Specter_of_Torment (дата 
звернення: 21.02.2024). 
6. Гра «King of Cards». URL: 
https://en.wikipedia.org/wiki/Shovel_Knight:_King_of_Cards (дата звернення: 
21.02.2024). 
7. Опис ігрового рушія Unity. URL: 
https://uk.wikipedia.org/wiki/Unity_(%D1%96%D0%B3%D1%80%D0%BE%D0
%B2%D0%B8%D0%B9_%D1%80%D1%83%D1%88%D1%96%D0%B9) (дата 
звернення: 22.02.2024). 
8. Сайт з ігровими асетами AssetStore. URL: https://assetstore.unity.com (дата 
звернення: 21.02.2024). 
9. Сайт «Unity Blog». URL: https://blog.unity.com  (дата звернення: 21.02.2024). 
10. Офіційний сайт «Unity». URL: https://unity.com (дата звернення: 21.02.2024). 
11. Опис етапів створення гри. URL: https://lemon.school/blog/yak-rozroblyayut-
igry (дата звернення: 22.02.2024). 
 46 
12. Посібник Unity. URL: https://docs.unity3d.com/Manual/index.html (дата 
звернення: 23.02.2024). 
13. Опис платформера. URL: 
https://uk.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D1%82%D1%84%
D0%BE%D1%80%D0%BC%D0%B5%D1%80 (дата звернення: 24.02.2024). 
14. Як створити цікавого ворога в грі. URL: 
https://gamedev.dou.ua/articles/creating-enemies-in-the-game/ (дата звернення: 
24.02.2024). 
15. Бос в відеоіграх. URL: 
https://uk.wikipedia.org/wiki/%D0%91%D0%BE%D1%81_(%D0%B2%D1%96
%D0%B4%D0%B5%D0%BE%D1%96%D0%B3%D1%80%D0%B8) (дата 
звернення: 24.02.2024). 
16. Як писати діалоги для ігор. URL: https://skvot.io/uk/blog/dialogues-in-games 
(дата звернення: 24.02.2024). 
17. Базова інформація про відеогри. URL: https://uk.wikipedia.org/wiki (дата 
звернення: 15.03.2024).   
18. Сайт-блог про відеоігри і їх загальне значення. URL: 
https://blog.ithillel.ua/articles/rozrobka-kompiuternykh-ihor-z-choho-pochaty 
(дата звернення: 13.04.2024). 
19. Сайт з безкоштовними рушіями для створення ігор і їх опис. URL: 
https://uk.soringpcrepair.com/programs-for-make-games/ (дата звернення: 
13.04.2024). 
20. Пархоменко П.А., Оксамитна Л.П. Розробка комп’ютерної гри в жанрі 
платформерів на базі ігрового рушія unity. Тези доповідей студентської 
науково-практичної конференції ЧДТУ, 23-24 квітня 2024 р. Черкаси : ЧДТУ, 
2024. С. 
 
 47 
ДОДАТОК А 
 
 
 
        Затверджую               
Зав. кафедри КНСА, 
______________ Юрій ТРИУС 
«____»____________2024 р.                                                                                                                                                                              
 
 
 
 
 
 
 
2-D ПЛАТФОРМЕР НА ІГРОВОМУ РУШІЮ UNITY 
 
Специфікація  
482.ЧДТУ. 42033-01  
 
Листів 2 
 
 
 
 
 
 
Розробник                          ____________________                 Пархоменко П.А. 
 
Керівник                             ____________________                Оксамитна Л.П. 
 
 
 
 
 
 
 
 
 
 
Черкаси – 2024  
 48 
482.ЧДТУ. 42033-01 
Позначення Найменування Примітка 
   
   
 Документація  
   
   
482.ЧДТУ. 42033-01    12 01 Текст програми  
482.ЧДТУ. 42033-01    34 01 Інструкція користувача  
482.ЧДТУ. 42033-01    90 01 Публікація по темі  
кваліфікаційної роботи 
бакалавра 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 49 
ДОДАТОК Б 
 
 
 
 
 
2-D ПЛАТФОРМЕР НА ІГРОВОМУ РУШІЮ UNITY 
 
 
 
Текст програми 
482.ЧДТУ. 42033-01 12 01 
 
Листів 8 
 
 
 
 
 
 
Розробник    _____________                   Пархоменко П.А. 
 
 
 
 
 
 
 
 
Черкаси – 2024  
 50 
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
 
public class PlayerController : MonoBehaviour 
{ 
    public float speed; 
    public float jumpForce; 
    public float dashSpeed; 
    public float dashTime; 
    public float dashCooldown; 
    private float moveInput; 
 
    private Rigidbody2D rb; 
 
    private bool facingRight = true; 
 
    private bool isGrounded; 
    public Transform feetPos; 
    public float checkRadius; 
    public LayerMask whatIsGround; 
 
    private int jumpCount; 
    public int maxJumpCount = 0; 
 
    private bool isDashing; 
    private float dashTimeLeft; 
    private float lastDash = -100f; 
 
    public Transform respawnPoint; 
    public float fallThreshold = -10f; 
    private Animator respawnAnimator; 
 
    private DialogueManager dialogueManager; // Додати змінну для посилання на DialogueManager 
 
    private void Start() 
    { 
        rb = GetComponent<Rigidbody2D>(); 
 
        if (respawnPoint != null) 
        { 
            respawnAnimator = respawnPoint.GetComponent<Animator>(); 
        } 
 
        dialogueManager = DialogueManager.Instance; // Отримати посилання на інстанцію DialogueManager 
    } 
 
    private void FixedUpdate() 
    { 
        if (dialogueManager != null && dialogueManager.isDialogueActive) // Додати перевірку стану діалогу 
        { 
            rb.velocity = Vector2.zero; 
            return; 
        } 
 
        if (!isDashing) 
        { 
            moveInput = Input.GetAxis("Horizontal"); 
            rb.velocity = new Vector2(moveInput * speed, rb.velocity.y); 
            if (facingRight == false && moveInput > 0) 
            { 
                Flip(); 
            } 
            else if (facingRight == true && moveInput < 0) 
            { 
                Flip(); 
 51 
            } 
        } 
    } 
 
    private void Update() 
    { 
        if (dialogueManager != null && dialogueManager.isDialogueActive) // Додати перевірку стану діалогу 
        { 
            return; 
        } 
 
        isGrounded = Physics2D.OverlapCircle(feetPos.position, checkRadius, whatIsGround); 
 
        if (isGrounded) 
        { 
            jumpCount = 0; 
        } 
 
        if (Input.GetKeyDown(KeyCode.Space) && jumpCount < maxJumpCount) 
        { 
            rb.velocity = Vector2.up * jumpForce; 
            jumpCount++; 
        } 
 
        if (Input.GetKeyDown(KeyCode.LeftShift) && Time.time >= (lastDash + dashCooldown)) 
        { 
            StartDash(); 
        } 
 
        if (isDashing) 
        { 
            if (dashTimeLeft > 0) 
            { 
                rb.velocity = new Vector2(facingRight ? dashSpeed : -dashSpeed, rb.velocity.y); 
                dashTimeLeft -= Time.deltaTime; 
            } 
            else 
            { 
                isDashing = false; 
            } 
        } 
 
        if (transform.position.y < fallThreshold) 
        { 
            TeleportToRespawnPoint(); 
        } 
    } 
 
    void Flip() 
    { 
        facingRight = !facingRight; 
        Vector3 Scaler = transform.localScale; 
        Scaler.x *= -1; 
        transform.localScale = Scaler; 
    } 
 
    void StartDash() 
    { 
        isDashing = true; 
        dashTimeLeft = dashTime; 
        lastDash = Time.time; 
    } 
 
    private void OnTriggerEnter2D(Collider2D collision) 
    { 
        if (collision.CompareTag("Spike") || collision.CompareTag("Enemy")) 
 52 
        { 
            TeleportToRespawnPoint(); 
        } 
    } 
 
    private void TeleportToRespawnPoint() 
    { 
        if (respawnAnimator != null) 
        { 
            respawnAnimator.SetTrigger("Teleport"); 
        } 
 
        transform.position = respawnPoint.position; 
    } 
} 
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.UI; 
using TMPro; 
 
public class DialogueManager : MonoBehaviour 
{ 
    public static DialogueManager Instance; 
 
    public Image characterIcon; 
    public TextMeshProUGUI characterName; 
    public TextMeshProUGUI dialogueArea; 
 
    private Queue<DialogueLine> lines; 
 
    public bool isDialogueActive = false; 
 
    public float typingSpeed = 0.2f; 
 
    public Animator animator; 
 
    private void Awake() 
    { 
        if (Instance == null) 
            Instance = this; 
 
        lines = new Queue<DialogueLine>(); 
    } 
 
    private void Update() 
    { 
        if (isDialogueActive && Input.GetKeyDown(KeyCode.Space)) 
        { 
            DisplayNextDialogueLine(); 
        } 
    } 
 
    public void StartDialogue(Dialogue dialogue) 
    { 
        isDialogueActive = true; 
 
        animator.Play("show"); 
 
        lines.Clear(); 
 
        foreach (DialogueLine dialogueLine in dialogue.dialogueLines) 
        { 
            lines.Enqueue(dialogueLine); 
        } 
 
 53 
        DisplayNextDialogueLine(); 
    } 
 
    public void DisplayNextDialogueLine() 
    { 
        if (lines.Count == 0) 
        { 
            EndDialogue(); 
            return; 
        } 
 
        DialogueLine currentLine = lines.Dequeue(); 
 
        characterIcon.sprite = currentLine.character.icon; 
        characterName.text = currentLine.character.name; 
 
        StopAllCoroutines(); 
 
        StartCoroutine(TypeSentence(currentLine)); 
    } 
 
    IEnumerator TypeSentence(DialogueLine dialogueLine) 
    { 
        int maxVisibleChars = 0; 
 
        dialogueArea.text = dialogueLine.line; 
        dialogueArea.maxVisibleCharacters = maxVisibleChars; 
 
        foreach (char letter in dialogueLine.line.ToCharArray()) 
        { 
            dialogueArea.maxVisibleCharacters = ++maxVisibleChars; 
            yield return new WaitForSeconds(typingSpeed); 
        } 
    } 
 
    void EndDialogue() 
    { 
        isDialogueActive = false; 
        animator.Play("hide"); 
    } 
} 
using System.Collections.Generic; 
using UnityEngine; 
 
[System.Serializable] 
public class DialogueCharacter 
{ 
    public string name; 
    public Sprite icon; 
} 
 
[System.Serializable] 
public class DialogueLine 
{ 
    public DialogueCharacter character; 
    [TextArea(3, 10)] 
    public string line; 
} 
 
[System.Serializable] 
public class Dialogue 
{ 
    public List<DialogueLine> dialogueLines = new List<DialogueLine>(); 
} 
 
public class DialogueTrigger : MonoBehaviour 
 54 
{ 
    public Dialogue dialogue; 
 
    public void TriggerDialogue() 
    { 
        DialogueManager.Instance.StartDialogue(dialogue); 
    } 
 
    private void OnTriggerEnter2D(Collider2D collision) 
    { 
        if (collision.tag == "Player") 
        { 
            TriggerDialogue(); 
        } 
    } 
} 
using System.Collections; 
using System.Collections.Generic; 
using Unity.VisualScripting; 
using UnityEngine; 
 
public class SmoothCamera : MonoBehaviour 
{ 
    [Header("Parameters")] 
    [SerializeField] private Transform playerTransform; 
    [SerializeField] private string playerTag; 
    [SerializeField] private float movingspeed; 
    public float parameterX = 0f; 
    public float parameterY = 0f; 
 
 
 
    private void Awake() 
    { 
        if (this.playerTransform == null) 
        { 
            if (this.playerTag == "") 
            { 
                this.playerTag = "Player"; 
            } 
 
            this.playerTransform = GameObject.FindGameObjectWithTag(this.playerTag).transform; 
        } 
 
        this.transform.position = new Vector3() 
        { 
            x = this.playerTransform.position.x, 
            y = this.playerTransform.position.y, 
            z = this.playerTransform.position.z - 10, 
        }; 
 
 
    } 
 
    private void FixedUpdate() 
    { 
        if (this.playerTransform) 
        { 
            Vector3 target = new Vector3() 
            { 
                x = this.playerTransform.position.x + parameterX, 
                y = this.playerTransform.position.y + parameterY, 
                z = -this.playerTransform.position.z - 10, 
            }; 
 
            Vector3 pos = Vector3.Lerp(this.transform.position, target, this.movingspeed * Time.deltaTime); 
 55 
 
            this.transform.position = pos; 
        } 
    } 
} 
 
using System; 
using UnityEngine; 
using UnityEngine.UI; 
 
public class TextController : MonoBehaviour 
{ 
    public GameObject text; 
 
    private void Start() 
    { 
        //text.SetActive(false); 
    } 
 
    private void OnTriggerEnter2D(Collider2D other) 
    { 
        if (other.CompareTag("Player"))  
        { 
            text.SetActive(true); 
        } 
    } 
 
    private void OnTriggerExit2D(Collider2D other) 
    { 
        if (other.CompareTag("Player"))  
        { 
            text.SetActive(false); 
        } 
    } 
 
 
} 
 
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
 
public class CharacterAnim : MonoBehaviour 
{ 
    private Animator anim; 
    void Start() 
    { 
        anim = GetComponent<Animator>(); 
    } 
 
    void Update() 
    { 
        if(Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.D))  
        { 
            anim.SetBool("isRunning", true); 
        } 
        else 
        { 
            anim.SetBool("isRunning", false); 
        } 
    } 
} 
 
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
 56 
using TMPro; 
 
public class TextChangeOnKeyPress : MonoBehaviour 
{ 
    public TextMeshProUGUI textMesh; // Посилання на TextMeshPro компонент 
    public string[] textOptions; //Масив текстових варіантів 
    private int currentTextIndex = 0; 
 
    void Start() 
    { 
        textMesh.text = textOptions[currentTextIndex]; 
    } 
 
    void Update() 
    { 
        if (Input.GetKeyDown(KeyCode.N)) 
        { 
            // зміна тексту 
            currentTextIndex = (currentTextIndex + 1) % textOptions.Length; 
            textMesh.text = textOptions[currentTextIndex]; 
        } 
    } 
} 
using System; 
using UnityEngine; 
using UnityEngine.UI; 
 
public class TextController : MonoBehaviour 
{ 
    public GameObject text; 
 
    private void Start() 
    { 
        //text.SetActive(false); 
    } 
 
    private void OnTriggerEnter2D(Collider2D other) 
    { 
        if (other.CompareTag("Player"))  
        { 
            text.SetActive(true); 
        } 
    } 
 
    private void OnTriggerExit2D(Collider2D other) 
    { 
        if (other.CompareTag("Player"))  
        { 
            text.SetActive(false); 
        } 
    
} 
 
 
 
 
 
 
 
 57 
ДОДАТОК В 
 
 
 
 
 
 
2-D ПЛАТФОРМЕР НА ІГРОВОМУ РУШІЮ UNITY 
 
 
 
ІНСТРУКЦІЯ КОРИСТУВАЧА 
482. ЧДТУ. 42033-01 34 01 
 
Листів 4 
 
 
 
 
 
Розробник    _____________                   Пархоменко П.А. 
 
 
 
 
 
 
 
 
Черкаси – 2024  
 58 
2-D платформер на ігровому рушію Unity  розроблений таким чином, що 
включає в себе елементи керуваннм головним героєм та взаємодію з ігровими 
об’єктами. 
На рівні гравець має такі елементи керування персонажем: 
− Рух вправо та вліво кнопками «D» та «A» відповідно. 
− Стрибок відображається кнопкою «Space» та, подвійно натиснувши кнопку 
стрибка в повітрі. 
− Пришвидшення відображається кнопкою «Left Shift», що добавляє 
пришвидшення головному герою на короткий час. 
На рівні гравець має такі елементи взаємодії з ігровими об'єктами: 
− Персонажі, з якими головний герой має можливість поспілкуватись через 
систему діалогів (Рисунок B.1). 
− Пастки у вигляді шипів, які потрібно уникати (Рисунок B.2). 
− Портал відродження, біля якого відроджується головний герой після падіння в 
пастку чи з платформи (Рисунок B.3). 
− Підказки, що допомагають дізнатися про елемнти керування головним героєм 
(Рисунок B.4). 
 
Рисунок B.1 – Інтерфейс діалогу 
 
 
 59 
 
Рисунок B.2 – Пастка у вигляді шипів 
 
 
Рисунок B.3 – Портал відродження 
 60 
 
Рисунок B.3 – Підказка на рівні 
 
 
 
 
 
  
 61 
ДОДАТОК Г 
 
 
 
 
 
 
2-D ПЛАТФОРМЕР НА ІГРОВОМУ РУШІЮ UNITY 
 
 
 
Публікація по темі кваліфікаційної роботи бакалавра 
Тези доповіді студентської науково-практичної конференції ЧДТУ, 
23-24 квітня 2024 р. 
482.ЧДТУ. 42033-01 90 01 
 
Листів 3 
 
 
 
 
 
Розробник    _____________                   Пархоменко П.А. 
 
 
 
 
 
 
Черкаси – 2024 
 62 
 
 
 
 
 
 
 
 
 
 
 63