Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал:
https://er.chdtu.edu.ua/handle/ChSTU/9688| Назва: | 2D піксельна рольова гра на платформі UNITY |
| Автори: | Дяченко, Петро Васильович Мельник, Олександр Олександрович |
| Ключові слова: | UNITY;2D ГРА;PIXEL ART;ІГРОВИЙ РУШІЙ;GAME DEVELOPMENT;ІГРОВИЙ ЗАСТОСУНОК;DEVELOPMENT;ПРОГРАМУВАННЯ ІГОР. |
| Дата публікації: | 10-чер-2026 |
| Короткий огляд (реферат): | Актуальність теми полягає у зростанні популярності комп’ютерних ігор жанру RPG та необхідності створення сучасних інтерактивних ігрових застосунків із використанням ефективних засобів розробки. Використання платформи Unity дозволяє реалізувати повноцінну 2D рольову гру з піксельною графікою, анімацією, бойовою системою та інтерактивним ігровим середовищем. Розробка подібних програмних продуктів сприяє розвитку навичок проєктування ігрових систем, програмування та створення користувацьких інтерфейсів. Метою роботи є розробка 2D піксельної рольової гри на платформі Unity із реалізацією основних механік жанру RPG та адаптивної архітектури програмного забезпечення. Практичне значення отриманих результатів полягає у можливості використання розробленої гри як основи для подальшого розвитку повноцінного ігрового проєкту, а також у навчальному процесі спеціальності 122 «Комп’ютерні науки» для вивчення технологій розробки ігрових застосунків. |
| URI (Уніфікований ідентифікатор ресурсу): | https://er.chdtu.edu.ua/handle/ChSTU/9688 |
| Розташовується у зібраннях: | 122 Комп’ютерні науки (Комп’ютерні науки та прикладне програмування) |
Файли цього матеріалу:
| Файл | Опис | Розмір | Формат | |
|---|---|---|---|---|
| Пояснювальна записка_Мельник Олександр_КН-2201_2025-2026.pdf Restricted Access | 8.72 MB | Adobe PDF | Переглянути/Відкрити Запит копії |
Усі матеріали в архіві електронних ресурсів захищено авторським правом, усі права збережено.
Extracted text
1
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет інформаційних технологій і систем
Кафедра комп’ютерних наук та системного аналізу
Пояснювальна записка
до кваліфікаційної роботи
бакалавра
(освітньо-кваліфікаційний рівень)
на тему: «2D піксельна рольова гра на платформі UNITY»
Виконав: студент 4 курсу, групи КН-2201
спеціальності 122 «Комп’ютерні науки»
(шифр і назва спеціальності)
Освітня програма «Комп’ютерні науки та
(назва освітньої програми)
прикладне програмування»
Олександр МЕЛЬНИК
Керівник Петро ДЯЧЕНКО
(прізвище та ініціали)
Рецензент К
(прізвище та ініціали)
Черкаси 2026 року
2
Бланк завдання на кваліфікаційну роботу бакалавра студенту
Черкаський державний технологічний університет
Факультет Інформаційних технологій і систем
Кафедра Комп’ютерних наук та системного аналізу
Освітньо-кваліфікаційний рівень Бакалавр
Спеціальність 122 – комп’ютерні науки
Освітня програма Комп’ютерні науки та прикладне програмування
ЗАТВЕРДЖУЮ
Завідувач кафедри КНСА
_______________ Юрій ТРИУС
«____» _____________ 2026 р.
ЗАВДАННЯ
на кваліфікаційну роботу бакалавра студенту
Мельник Олександр Олександрович
(прізвище, ім‘я, по батькові)
1. Тема роботи 2D піксельна рольова гра на платформі UNITY
Керівник роботи Дяченко Петро Васильович к.т.н., доцент
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом університету від « 12 » березня 2026 р. № 56/03-03.
2. Строк подання студентом роботи «10» червня 2026 року
3. Вихідні дані до роботи:
Звіт з переддипломної практики.
Платформа UNITY. Робота з даних.
4. Зміст пояснювальної записки (перелік питань, що їх належить розробити):
Вступ
4.1. Розділ 1 аналіз предметної області та сучасних технологій розробки ігор
4.2. Розділ 2 проєктування 2d піксельної рольової гри.
4.3. Розділ 3 програмна реалізація 2d rpg на платформі unity
4.4. Розділ 4 тестування та аналіз результатів роботи гри
Висновки.
5. Перелік додатків (з точним зазначенням назв додатків):
5.1. Додаток А. Специфікація 482.ЧДТУ. 62291-01.
5.2 . Додаток Б . Лістинг ко ду програми.
5.3. Додаток В. Інструкція користувача.
5.4. Додаток Г. Схеми підключень.
5.5. Додаток Д. Апробація результатів роботи.
5.6. Презентація у вигляді 18 слайдів.
6. Консультанти розділів роботи
3
Прізвище, ініціали та Підпис, дата
Розділ посада
консультанта завдання видав завдання прийняв
7. Дата видачі завдання 12.01.2026 р.
КАЛЕНДАРНИЙ ПЛАН
№ з/п Назва етапів кваліфікаційної роботи бакалавра Строк виконання
етапів роботи Примітка
1 Видача завдання на кваліфікаційну роботу
бакалавра. до 15.01.2026 Виконано
2 Аналіз літературних джерел, об’єкту та
предмету дослідження. до 12.02.2026 Виконано
3 Написання теоретичного розділу кваліфікаційної
роботи бакалавра. до 18.03.2026 Виконано
4 Написання аналітичного розділу (аналіз об’єкту Виконано
й предмету дослідження). до 01.04.2026
5 Написання практичних розділів й висновків по
роботі. до 01.05.2026 Виконано
6 Передзахист кваліфікаційної роботи бакалавра Виконано
до 03.06.2026
на засіданні кафедри КНСА.
7 Подання роботи завідувачу кафедри КНСА. до 10.06. 2026 Виконано
8 Захист кваліфікаційної роботи бакалавра. 10.06.2026 Виконано
Студент _________________ _____ / Олександр МЕЛЬНИК /
(підпис) ПІБ
Керівник роботи ________________________ / Петро ДЯЧЕНКО /
(підпис) ПІБ
4
РЕФЕРАТ
Кваліфікаційна робота бакалавра: 95 с., 31 рис., 3 табл., 26 джерел, 5
додатків.
Актуальність теми. Актуальність теми полягає у зростанні популярності
комп’ютерних ігор жанру RPG та необхідності створення сучасних
інтерактивних ігрових застосунків із використанням ефективних засобів
розробки. Використання платформи Unity дозволяє реалізувати повноцінну 2D
рольову гру з піксельною графікою, анімацією, бойовою системою та
інтерактивним ігровим середовищем. Розробка подібних програмних продуктів
сприяє розвитку навичок проєктування ігрових систем, програмування та
створення користувацьких інтерфейсів.
Мета роботи і задачі дослідження. Метою роботи є розробка 2D
піксельної рольової гри на платформі Unity із реалізацією основних механік
жанру RPG та адаптивної архітектури програмного забезпечення.
Для досягнення поставленої мети необхідно вирішити такі завдання:
− провести аналіз сучасних технологій та засобів розробки 2D ігор;
− дослідити можливості ігрового рушія Unity;
− проаналізувати особливості жанру RPG;
− спроєктувати архітектуру ігрового застосунку;
− реалізувати систему керування персонажем;
− створити бойову систему та систему взаємодії з об’єктами;
− реалізувати систему інвентарю та збереження гри;
− створити анімацію персонажів і ворогів;
− провести тестування та аналіз продуктивності гри.
Об’єкт дослідження – процес розробки двовимірних комп’ютерних
рольових ігор.
Предмет дослідження – методи та засоби створення 2D піксельної RPG-
гри на платформі Unity.
Методи дослідження. У роботі використано методи об’єктно-
орієнтованого програмування, проєктування програмних систем та розробки
5
інтерактивних застосунків. Для створення гри використано платформу Unity та
мову програмування C#. Під час реалізації графічної частини застосовано
технології 2D Sprite Rendering, Tilemap та Animator System. Для реалізації
фізики гри використано Physics2D, а для створення користувацького
інтерфейсу – Unity UI Toolkit.
У процесі виконання роботи проведено аналіз сучасних 2D RPG-ігор та
досліджено особливості створення ігрових застосунків на платформі Unity.
Виконано аналіз сучасних технологій розробки комп’ютерних ігор і
обґрунтовано вибір програмних засобів для реалізації проєкту.
Розроблено архітектуру програмної системи гри, що включає модулі
керування персонажем, систему інвентарю, бойову систему, модуль анімації та
систему взаємодії з ігровим середовищем. Реалізовано механіку переміщення
персонажа, взаємодію з об’єктами, систему атаки, анімацію персонажів та
систему переходу між ігровими локаціями. Забезпечено коректну роботу гри на
персональних комп’ютерах із сучасними операційними системами.
У результаті тестування встановлено, що розроблена гра забезпечує
стабільну роботу ігрових механік, коректне відображення графічного
інтерфейсу та стабільну частоту кадрів під час виконання ігрового процесу.
Реалізовані механізми анімації та фізики забезпечують плавність руху
персонажів і зручність взаємодії користувача з ігровим середовищем.
Апробація результатів роботи. Основні положення і результати
кваліфікаційної роботи бакалавра доповідалися і були обговорені на
конференції «День студентської науки кафедри КНСА», 22 квітня 2026 року,
Черкаси, Україна.
Практичне значення отриманих результатів полягає у можливості
використання розробленої гри як основи для подальшого розвитку
повноцінного ігрового проєкту, а також у навчальному процесі спеціальності
122 «Комп’ютерні науки» для вивчення технологій розробки ігрових
застосунків.
6
Ключові слова: UNITY, 2D ГРА, RPG, PIXEL ART, C#, ІГРОВИЙ
РУШІЙ, ROLE-PLAYING GAME, GAME DEVELOPMENT, ІГРОВИЙ
ЗАСТОСУНОК, ПРОГРАМУВАННЯ ІГОР.
ABSTRACT
Bachelor’s qualification thesis: 95 pages, 31 figures, 3 tables, 26 references, 5
appendices.
Relevance of the topic. The relevance of the topic lies in the growing
popularity of RPG computer games and the need to create modern interactive gaming
applications using effective development tools. The use of the Unity platform makes
it possible to implement a full-fledged 2D role-playing game with pixel graphics,
animation, combat mechanics, and an interactive game environment. The
development of such software products contributes to the improvement of skills in
game system design, programming, and user interface development.
Purpose and objectives of the research. The purpose of the thesis is to develop
a 2D pixel role-playing game on the Unity platform with the implementation of the
main RPG genre mechanics and an adaptive software architecture.
To achieve the stated goal, it is necessary to solve the following tasks:
− analyze modern technologies and tools for 2D game development;
− investigate the capabilities of the Unity game engine;
− analyze the features of the RPG genre;
− design the architecture of the game application;
− implement a character control system;
− create a combat system and an object interaction system;
− implement an inventory and game saving system;
− create character and enemy animations;
− perform testing and performance analysis of the game.
The object of research is the process of developing two-dimensional computer
role-playing games.
The subject of research is the methods and tools for creating a 2D pixel RPG
game on the Unity platform.
7
Research methods. The thesis uses methods of object-oriented programming,
software system design, and interactive application development. The Unity platform
and the C# programming language were used to create the game. During the
implementation of the graphical part, 2D Sprite Rendering, Tilemap, and Animator
System technologies were applied. Physics2D was used for game physics
implementation, and Unity UI Toolkit was used to create the user interface.
During the work, an analysis of modern 2D RPG games was carried out and
the peculiarities of creating game applications on the Unity platform were studied. An
analysis of modern computer game development technologies was performed, and the
choice of software tools for project implementation was substantiated.
The architecture of the game software system was developed, including
character control modules, an inventory system, a combat system, an animation
module, and a game environment interaction system. Character movement
mechanics, object interaction, attack systems, character animations, and transition
systems between game locations were implemented. Correct operation of the game
on personal computers with modern operating systems was ensured.
As a result of testing, it was established that the developed game provides
stable operation of game mechanics, correct display of the graphical interface, and a
stable frame rate during gameplay. The implemented animation and physics
mechanisms ensure smooth character movement and convenient user interaction with
the game environment.
Approbation of the research results. The main provisions and results of the
bachelor’s qualification thesis were presented and discussed at the conference
“Student Science Day of the CNSA Department”, April 22, 2026, Cherkasy, Ukraine.
The practical significance of the obtained results lies in the possibility of using
the developed game as a basis for the further development of a full-fledged game
project, as well as in the educational process of specialty 122 “Computer Science” for
studying game application development technologies.
Keywords: UNITY, 2D GAME, RPG, PIXEL ART, C#, GAME ENGINE,
ROLE-PLAYING GAME, GAME DEVELOPMENT, GAME APPLICATION,
GAME PROGRAMMING.
8
ЗМІСТ
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, СКОРОЧЕНЬ І ТЕРМІНІВ .... 10
ВСТУП ............................................................................................................................ 11
РОЗДІЛ 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА СУЧАСНИХ ТЕХНОЛОГІЙ
РОЗРОБКИ ІГОР ............................................................................................................ 13
1.1 Аналіз сучасної індустрії комп’ютерних ігор ................................................. 14
1.2 Особливості жанру RPG та 2D Pixel Art ігор .................................................. 16
1.3 Аналіз аналогів сучасних 2D RPG-ігор ........................................................... 22
1.4 Огляд сучасних ігрових рушіїв ......................................................................... 29
1.5 Аналіз можливостей платформи Unity ............................................................ 29
1.6 Аналіз засобів програмування та графічних технологій................................ 29
1.7 Постановка задачі дослідження ........................................................................ 29
Висновки до розділу 1 ............................................................................................. 34
РОЗДІЛ 2 ПРОЄКТУВАННЯ 2D ПІКСЕЛЬНОЇ РОЛЬОВОЇ ГРИ ........................... 36
2.1 Загальна архітектура програмної системи ....................................................... 36
2.2 Проєктування структури ігрового застосунку ................................................. 43
2.3 Моделювання системи засобами UML ............................................................ 45
2.4 Проєктування ігрових механік .......................................................................... 49
2.5 Проєктування системи персонажів та ворогів ................................................ 50
2.6 Проєктування користувацького інтерфейсу гри .............................................. 52
2.7 Вибір технологій реалізації ............................................................................... 52
Висновки до розділу 2 ............................................................................................. 52
РОЗДІЛ 3 ПРОГРАМНА РЕАЛІЗАЦІЯ 2D RPG НА ПЛАТФОРМІ UNITY .......... 54
3.1 Реалізація системи керування персонажем ..................................................... 54
3.2 Реалізація системи анімації ............................................................................... 56
3.3 Реалізація бойової системи ............................................................................... 57
3.4 Реалізація системи інвентарю ........................................................................... 59
3.5 Реалізація ігрових локацій та Tilemap .............................................................. 63
3.6 Реалізація взаємодії з NPC та об’єктами ......................................................... 59
3.7 Інтеграція компонентів програмної системи ................................................... 63
9
Висновки до розділу 3 ............................................................................................. 67
РОЗДІЛ 4 ТЕСТУВАННЯ ТА АНАЛІЗ РЕЗУЛЬТАТІВ РОБОТИ ГРИ .................. 68
4.1 Методика тестування програмного забезпечення ........................................... 68
4.2 Тестування функціональних можливостей гри ............................................... 69
4.3 Аналіз продуктивності та оптимізації гри ....................................................... 73
4.4 Аналіз якості користувацького інтерфейсу...................................................... 73
4.5 Оцінка результатів роботи програмної системи ............................................. 73
Висновки до розділу 4 ............................................................................................. 78
ВИСНОВКИ ................................................................................................................... 80
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ..................................................................... 82
ДОДАТОК А. Специфікація 482.ЧДТУ. 62291-01. ...................................................... 84
ДОДАТОК Б. Лістинг коду програми ........................................................................... 86
ДОДАТОК В. Інтерфейс користувача гри .................................................................... 90
ДОДАТОК Г. Результати тестування програмної системи ......................................... 94
10
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, СКОРОЧЕНЬ І
ТЕРМІНІВ
2D — двовимірний графічний простір
3D — тривимірний графічний простір
AI (Artificial Intelligence) — штучний інтелект
API (Application Programming Interface) — програмний інтерфейс застосунку
Animator — система анімації в Unity
Collider — компонент для визначення меж фізичної взаємодії об’єктів
CPU (Central Processing Unit) — центральний процесор
FPS (Frames Per Second) — кількість кадрів за секунду
Game Engine — програмний рушій для створення комп’ютерних ігор
HUD (Heads-Up Display) — елементи ігрового інтерфейсу користувача
Input System — система обробки введення користувача
NPC (Non-Player Character) — неігровий персонаж
Physics2D — система двовимірної фізики в Unity
Pixel Art — стиль растрової графіки з використанням пікселів
Prefab — шаблон ігрового об’єкта в Unity
Rigidbody2D — компонент фізики для двовимірних об’єктів
RPG (Role-Playing Game) — рольова комп’ютерна гра
Scene — ігрова сцена в Unity
Sprite — двовимірне графічне зображення в ігровому рушії
Tilemap — система побудови ігрових карт із плиток
UI (User Interface) — користувацький інтерфейс
Unity — програмний рушій для розробки комп’ютерних ігор
Vector2 — двовимірний вектор координат у Unity
Visual Studio — інтегроване середовище розробки програмного забезпечення
Git — система контролю версій
GitHub — web-платформа для зберігання та керування програмним кодом
11
JSON (JavaScript Object Notation) — текстовий формат обміну даними
IDE (Integrated Development Environment) — інтегроване середовище розробки
програмного забезпечення
SDK (Software Development Kit) — набір засобів для розробки програмного
забезпечення
Tile Palette — редактор плиток для створення ігрових рівнів у Unity
UI Toolkit — система створення інтерфейсів користувача в Unity
Script — програмний модуль або сценарій поведінки об’єкта гри.
12
ВСТУП
Сучасна індустрія комп’ютерних ігор є однією з найбільш динамічних і
технологічно розвинених галузей інформаційних технологій. Щороку зростає
кількість користувачів цифрових ігрових платформ, а також попит на
інтерактивні програмні продукти різних жанрів. Особливу популярність серед
користувачів здобувають рольові ігри (RPG), які забезпечують глибоку
взаємодію гравця з віртуальним середовищем, розвиток персонажа, сюжетну
складову та елементи дослідження ігрового світу.
Одним із найбільш популярних напрямів сучасної indie-розробки є
створення двовимірних ігор у стилі Pixel Art. Такі ігри характеризуються
відносно невисокими вимогами до апаратного забезпечення, привабливим
візуальним стилем та широкими можливостями для реалізації ігрових механік.
Використання двовимірної графіки дозволяє зосередити увагу на сюжеті,
атмосфері гри та взаємодії користувача з ігровим середовищем.
Для створення сучасних комп’ютерних ігор активно використовуються
спеціалізовані ігрові рушії, серед яких одне з провідних місць займає Unity.
Даний рушій забезпечує широкий набір засобів для створення 2D та 3D
застосунків, підтримує сучасні технології графічного відображення, фізики,
анімації та програмування ігрової логіки. Перевагами Unity є
кросплатформеність, підтримка мови програмування C#, велика кількість
готових бібліотек та компонентів, а також можливість створення інтерактивних
ігрових систем різного рівня складності.
Актуальність теми кваліфікаційної роботи полягає у необхідності
дослідження сучасних технологій створення комп’ютерних ігор та практичної
реалізації 2D рольової гри із застосуванням сучасних засобів програмної
розробки. Створення подібних програмних продуктів дозволяє дослідити
особливості проєктування ігрових систем, реалізації користувацьких
інтерфейсів, систем взаємодії персонажів, фізики та анімації.
13
Метою кваліфікаційної роботи є розробка 2D піксельної рольової гри на
платформі Unity з реалізацією основних механік жанру RPG, системи взаємодії
персонажа з ігровим середовищем, бойової системи та інтерфейсу користувача.
Для досягнення поставленої мети необхідно вирішити такі завдання:
– провести аналіз сучасної індустрії комп’ютерних ігор та особливостей
жанру RPG;
– дослідити сучасні ігрові рушії та технології створення 2D ігор;
– проаналізувати можливості платформи Unity;
– спроєктувати архітектуру програмної системи гри;
– реалізувати систему керування персонажем;
– створити систему анімації та взаємодії з ігровими об’єктами;
– реалізувати бойову систему та систему інвентарю;
– забезпечити реалізацію ігрових локацій і користувацького інтерфейсу;
– провести тестування та аналіз продуктивності гри.
Об’єктом дослідження є процес розробки двовимірних рольових
комп’ютерних ігор.
Предметом дослідження є методи та засоби створення 2D піксельних
RPG-ігор на платформі Unity.
У роботі використано методи об’єктно-орієнтованого програмування,
аналізу програмних систем, моделювання програмного забезпечення та
проєктування інтерактивних застосунків. Для реалізації програмного продукту
використано мову програмування C#, платформу Unity, засоби створення
двовимірної графіки, систему Tilemap, Animator System та Physics2D.
Практичне значення отриманих результатів полягає у створенні
функціонального ігрового застосунку, який може бути використаний як основа
для подальшого розвитку повноцінної RPG-гри, а також у навчальному процесі
спеціальності 122 «Комп’ютерні науки» під час вивчення дисциплін,
пов’язаних із програмуванням та розробкою комп’ютерних ігор.
Кваліфікаційна робота складається зі вступу, чотирьох розділів,
висновків, списку використаних джерел та додатків. У першому розділі
виконано аналіз предметної області та сучасних технологій розробки ігор. У
14
другому розділі проведено проєктування програмної системи гри. Третій розділ
присвячено програмній реалізації ігрового застосунку. У четвертому розділі
виконано тестування та аналіз результатів роботи програмної системи.
15
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА СУЧАСНИХ ТЕХНОЛОГІЙ
РОЗРОБКИ ІГОР
На сьогодні індустрія комп’ютерних ігор є важливою складовою
сучасних інформаційних технологій та цифрових розваг. Використання
сучасних програмних платформ і графічних технологій дозволяє створювати
інтерактивні ігрові застосунки з високим рівнем візуалізації, складною ігровою
логікою та багатофункціональним користувацьким інтерфейсом. У зв’язку зі
стрімким розвитком indie game development особливої актуальності набуває
створення 2D RPG-ігор із використанням Pixel Art графіки та сучасних ігрових
рушіїв.
Використання платформи Unity дозволяє реалізовувати сучасні рольові
ігри з інтерактивним ігровим середовищем, системою персонажів, анімацією,
фізикою та користувацьким інтерфейсом. Завдяки підтримці
кросплатформеності та широкому набору інструментів Unity є одним із
найбільш популярних засобів створення 2D ігор.
У даному розділі проведено аналіз предметної області та сучасної
індустрії комп’ютерних ігор. Розглянуто особливості жанру RPG та 2D Pixel Art
ігор, виконано огляд сучасних ігрових рушіїв, технологій програмування та
графічних засобів розробки. За результатами аналізу визначено основні вимоги
до програмної системи та сформульовано задачі дослідження.
1.1 Аналіз сучасної індустрії комп’ютерних ігор
Сучасна індустрія комп’ютерних ігор є однією з найбільш динамічних
галузей інформаційних технологій та цифрових мультимедійних систем.
Розвиток комп’ютерної техніки, графічних процесорів, програмних платформ і
мережевих технологій сприяв суттєвому збільшенню популярності відеоігор
серед користувачів різних вікових категорій.
Комп’ютерні ігри використовуються не лише як засіб розваги, але й як
елемент інтерактивного навчання, моделювання, віртуальної взаємодії та
кіберспорту. Значний вплив на розвиток галузі мають цифрові платформи
розповсюдження ігор, системи online-взаємодії та сучасні ігрові рушії.
16
Як показано на рисунку 1.1, сучасна індустрія комп’ютерних ігор
охоплює широкий спектр програмних продуктів та технологій.
Сучасна індустрія комп’ютерних ігор є однією з найбільш динамічних
галузей інформаційних технологій та цифрових розваг. Розвиток апаратного
забезпечення, графічних технологій, мережевих сервісів і програмних
платформ сприяв значному зростанню популярності відеоігор у всьому світі.
Комп’ютерні ігри стали не лише засобом розваги, але й важливою складовою
цифрової культури, кіберспорту, освіти та інтерактивних мультимедійних
технологій.
Ігрова індустрія охоплює широкий спектр програмних продуктів:
− однокористувацькі ігри;
− багатокористувацькі онлайн-ігри;
− мобільні ігри;
− незалежні indie-проєкти;
− освітні та симуляційні застосунки;
− VR та AR-ігри.
На рисунку 1.1 наведено загальну структуру сучасної індустрії
комп’ютерних ігор.
17
Рисунок 1.1 – Структура сучасної індустрії комп’ютерних ігор
Особливо стрімко розвивається сегмент незалежної розробки (indie game
development), який дозволяє невеликим командам або окремим розробникам
створювати повноцінні ігрові продукти із використанням сучасних ігрових
рушіїв та цифрових платформ розповсюдження.
Важливим чинником розвитку індустрії є доступність сучасних засобів
розробки, серед яких провідне місце займають Unity, Unreal Engine та Godot.
Використання таких платформ значно спрощує процес створення
комп’ютерних ігор та дозволяє реалізовувати складні ігрові механіки навіть
невеликими командами розробників.
На рисунку 1.2 показано основні напрями розвитку сучасної ігрової
індустрії.
Рисунок 1.2 – Основні напрями розвитку ігрової індустрії
Значну частину сучасного ринку займають рольові ігри (RPG), які
характеризуються розвитком персонажа, системою характеристик, нелінійним
сюжетом та інтерактивною взаємодією з ігровим світом. Саме RPG-ігри
забезпечують високий рівень залучення користувача завдяки можливості
18
дослідження відкритого світу, виконання різноманітних завдань та розвитку
власного персонажа.
Сучасні рольові ігри активно використовують системи штучного
інтелекту, складні механіки взаємодії між персонажами, системи збереження
прогресу та інтерактивні елементи навколишнього середовища. Крім того,
значна увага приділяється графічному оформленню гри, звуковому супроводу
та оптимізації продуктивності програмного забезпечення.
Важливим напрямом розвитку сучасної індустрії є використання
кросплатформених технологій, що дозволяють запускати ігри на персональних
комп’ютерах, мобільних пристроях та web-платформах. Це забезпечує
доступність програмних продуктів для широкого кола користувачів та сприяє
подальшому розвитку цифрових ігрових сервісів.
1.2 Особливості жанру RPG та 2D Pixel Art ігор
RPG (Role-Playing Game) - це жанр комп’ютерних ігор, у якому гравець
керує одним або кількома персонажами у віртуальному світі. Основною
особливістю RPG є розвиток персонажа, виконання сюжетних та побічних
завдань, система характеристик, бойова система та взаємодія з навколишнім
середовищем.
Основні елементи RPG-ігор:
− система розвитку персонажа;
− інвентар та система предметів;
− бойова механіка;
− система квестів;
− дослідження ігрового світу;
− взаємодія з NPC;
− сюжетна складова.
Одним із найбільш популярних напрямів indie-розробки є створення 2D Pixel
Art RPG-ігор. Pixel Art - це стиль цифрової графіки, у якому зображення
створюються шляхом використання окремих пікселів.
На рисунку 1.3 представлено основні елементи RPG-ігор.
19
Рисунок 1.3 - Основні компоненти RPG-гри
На рисунку 1.3 представлено основні компоненти RPG-гри та
взаємозв’язок між функціональними елементами програмної системи.
Центральним елементом схеми є RPG-гра, навколо якої розташовані основні
модулі, що забезпечують реалізацію ігрового процесу та взаємодію користувача
з ігровим середовищем.
Одним із ключових компонентів є система розвитку персонажа, яка
відповідає за характеристики героя, рівень, накопичення досвіду, розвиток
навичок та покращення параметрів персонажа. Даний модуль забезпечує
прогресію гравця та мотивацію до проходження гри.
Система інвентарю та предметів призначена для зберігання ресурсів,
зброї, екіпірування та інших ігрових об’єктів. Крім того, вона реалізує механіки
використання предметів, крафтингу та управління спорядженням персонажа.
Бойова механіка відповідає за реалізацію атак, захисту, використання
здібностей та взаємодію персонажа з ворогами. Даний модуль є однією з
основних складових RPG-гри та забезпечує динаміку ігрового процесу.
20
Важливим компонентом є система квестів, яка містить сюжетні та побічні
завдання, систему цілей, нагород та відстеження прогресу гравця. Саме система
квестів формує логіку проходження гри та забезпечує сюжетний розвиток.
Модуль дослідження ігрового світу забезпечує взаємодію гравця з
різними локаціями, прихованими об’єктами, секретами та подіями.
Дослідження світу є важливим елементом RPG-жанру та створює атмосферу
інтерактивного середовища.
Система взаємодії з NPC реалізує діалоги, отримання завдань,
торговельні операції та сюжетні події. NPC забезпечують взаємодію між
гравцем і віртуальним світом гри.
Окремим компонентом є сюжетна складова, яка включає основну
сюжетну лінію, розвиток подій, діалоги та можливі варіанти завершення гри.
Саме сюжет забезпечує логічну послідовність ігрового процесу та формує
атмосферу гри.
У нижній частині рисунка наведено технічну основу гри, яка включає
графічну систему 2D Pixel Art, звуковий супровід, ігрову логіку,
користувацький інтерфейс та систему збереження прогресу. Дані компоненти
забезпечують стабільну роботу програмної системи та реалізацію основних
механік гри.
Таким чином, рисунок 1.3 демонструє загальну структуру основних
компонентів RPG-гри та взаємозв’язок між ігровими механіками, інтерфейсом
користувача та технічними засобами реалізації програмної системи.
Перевагами Pixel Art є:
− простота створення графіки;
− низькі вимоги до апаратного забезпечення;
− ретро-стилістика;
− можливість швидкого створення анімацій;
− висока продуктивність гри.
На рисунку 1.4 наведено приклад структури 2D Pixel Art гри.
21
Рисунок 1.4 – Структура 2D Pixel Art RPG-гри
На рисунку 1.4 представлено загальну структуру 2D Pixel Art RPG-гри та
взаємозв’язок між основними компонентами програмної системи. Центральним
елементом структури є ігровий світ, реалізований у стилі 2D Pixel Art, у якому
відбувається взаємодія персонажа з навколишнім середовищем, NPC, об’єктами
та ігровими механіками.
Як показано на рисунку, система гри складається з декількох
функціональних модулів. Модуль персонажа відповідає за характеристики
героя, систему розвитку, рівень досвіду, запас здоров’я та енергії. Модуль
інвентарю забезпечує зберігання предметів, екіпірування, ресурсів і
компонентів для крафтингу.
Окремими складовими програмної системи є система квестів та модуль
взаємодії з NPC. Дані компоненти забезпечують сюжетний розвиток гри,
виконання завдань, діалогову взаємодію та реалізацію торговельної системи.
Бойова система відповідає за реалізацію атак, захисту, використання магічних
здібностей та обробку взаємодії між персонажем і ворогами.
У структурі також представлено загальний ігровий процес, який включає
керування персонажем, переміщення по ігровому світу, взаємодію з об’єктами,
виконання завдань і розвиток характеристик героя.
Нижня частина рисунка відображає технічну складову програмної
системи. До неї належать модулі рендерингу спрайтів, Tilemap-система,
22
анімація персонажів, фізика та колізії, звуковий супровід, користувацький
інтерфейс та система збереження прогресу гравця.
Представлена структура демонструє взаємозв’язок між основними
компонентами 2D RPG-гри та відображає загальну архітектуру програмної
системи, реалізованої на платформі Unity.
До найбільш відомих представників жанру належать Stardew Valley,
Terraria, Undertale та Chrono Trigger.
Важливу роль у таких іграх відіграє користувацький інтерфейс, який
забезпечує взаємодію гравця з інвентарем, картою, меню та системою
характеристик. Інтерфейс повинен бути інтуїтивно зрозумілим, адаптивним та
зручним для користувача, оскільки саме через нього здійснюється більшість дій
під час ігрового процесу.
Крім графічної складової, важливе значення мають анімація персонажів,
звуковий супровід та система візуальних ефектів. Використання сучасних
технологій анімації дозволяє створити більш реалістичну взаємодію між
об’єктами та забезпечити плавність руху персонажів у грі.
Таким чином, 2D Pixel Art RPG-ігри поєднують простоту реалізації,
високий рівень продуктивності та широкі можливості для створення
інтерактивного ігрового середовища.
1.3 Аналіз аналогів сучасних 2D RPG-ігор
Для визначення основних вимог до програмної системи було проведено
аналіз сучасних 2D RPG-ігор.
Одним із найбільш популярних представників жанру є Stardew Valley. Гра
поєднує елементи RPG, економічної стратегії та симулятора фермерства.
На рисунку 1.5 наведено приклад ігрового процесу Stardew Valley.
23
Рисунок 1.5 – Приклад ігрового інтерфейсу Stardew Valley
На рисунку 1.5 представлено приклад ігрового інтерфейсу гри Stardew
Valley, виконаної у стилі 2D Pixel Art. Даний інтерфейс демонструє організацію
основних елементів взаємодії користувача з ігровим середовищем та
відображає типову структуру RPG-гри.
У центральній частині рисунка розташовано ігрову сцену, яка містить
персонажа, будівлі, рослини, елементи навколишнього середовища та
інтерактивні об’єкти. Основний ігровий простір використовується для
переміщення персонажа, виконання дій та взаємодії з ігровим світом.
У верхній лівій частині інтерфейсу відображаються показники здоров’я та
енергії персонажа. Дані елементи є важливою складовою RPG-ігор, оскільки
дозволяють контролювати стан героя під час виконання завдань та взаємодії з
об’єктами гри.
У правій верхній частині розміщено інформаційний блок, який містить
дату, час та кількість ігрової валюти. Відображення таких параметрів
забезпечує контроль ігрового процесу та дозволяє користувачу орієнтуватися у
внутрішньоігровому часі.
24
У нижній частині інтерфейсу розташована панель швидкого доступу до
інструментів і предметів. Даний елемент забезпечує оперативне використання
інвентарю, зброї, ресурсів та інших об’єктів під час гри.
Праворуч на рисунку представлено журнал квестів, який містить поточні
завдання та цілі гравця. Наявність системи квестів забезпечує логічну
послідовність проходження гри та формує сюжетну структуру RPG-проєкту.
Крім того, на рисунку відображено елементи взаємодії з навколишнім
середовищем, зокрема систему вирощування рослин, використання
інструментів та роботу з ігровими ресурсами. Це демонструє інтеграцію
економічних та симуляційних механік у структуру RPG-гри.
Таким чином, рисунок 1.5 демонструє приклад сучасного інтерфейсу 2D
RPG-гри та відображає основні елементи взаємодії користувача з ігровим
середовищем, системою персонажа, інвентарем та механікою виконання
завдань.
Іншим прикладом є Terraria, яка реалізує відкритий ігровий світ, систему
крафтингу та бойову механіку.
На рисунку 1.6 показано приклад побудови світу у Terraria.
Рисунок 1.6 – Приклад ігрового світу Terraria
25
На рисунку 1.6 представлено приклад ігрового світу Terraria, виконаного
у стилі 2D Pixel Art. Даний рисунок демонструє структуру ігрового середовища,
організацію локацій та основні елементи взаємодії користувача з віртуальним
світом гри.
У верхній частині рисунка відображено поверхневу частину ігрового
світу, яка містить природне середовище, дерева, рослинність, будівлі та
персонажів. Центральним елементом є житлова зона гравця, де розташовані
споруди, NPC та функціональні об’єкти для збереження ресурсів і взаємодії з
ігровими механіками.
У лівій верхній частині інтерфейсу відображається панель швидкого
доступу до інструментів і предметів. Вона дозволяє користувачу оперативно
використовувати зброю, інструменти, ресурси та інші ігрові об’єкти під час
проходження гри.
Праворуч у верхній частині розміщено інформаційний блок із
показниками життя та мани персонажа, а також міні-карту ігрового світу. Дані
елементи забезпечують навігацію користувача та контроль стану персонажа під
час гри.
Нижня частина рисунка демонструє підземну структуру ігрового світу,
яка включає печери, шахти, біоми, руди та ресурси. Саме підземні локації є
важливою складовою ігрового процесу Terraria, оскільки забезпечують
дослідження світу, пошук ресурсів і взаємодію з ворогами.
На рисунку також показано систему переходу між різними локаціями, що
реалізується через вертикальну структуру світу. Гравець може переміщатися
між поверхневими та підземними зонами, досліджуючи нові області та
відкриваючи приховані ресурси.
Важливою особливістю ігрового світу Terraria є поєднання системи
будівництва, дослідження та виживання. Гравець має можливість створювати
споруди, взаємодіяти з NPC, видобувати ресурси та розвивати власну базу.
Таким чином, рисунок 1.6 демонструє приклад організації сучасного 2D
ігрового світу та відображає основні елементи структури RPG-гри, реалізованої
у стилі Pixel Art.
26
Гра Undertale демонструє можливості реалізації сюжетно орієнтованої
RPG із нестандартною бойовою системою та великою кількістю діалогів.
Проведений аналіз дозволив визначити основні функціональні вимоги до
розроблюваної системи:
− реалізація системи переміщення персонажа;
− наявність системи анімації;
− реалізація бойової механіки;
− система інвентарю;
− підтримка інтерактивних об’єктів;
− система переходу між локаціями;
− реалізація користувацького інтерфейсу.
1.4 Огляд сучасних ігрових рушіїв
Для створення комп’ютерних ігор використовуються спеціалізовані
програмні платформи - ігрові рушії.
Серед сучасних ігрових рушіїв найбільш поширеними є:
− Unity;
− Unreal Engine;
− Godot;
− GameMaker.
Рушій Unity є одним із найпопулярніших засобів розробки 2D та 3D ігор.
Він підтримує компонентну архітектуру, систему фізики, анімацію, Tilemap та
UI Toolkit.
Unreal Engine орієнтований переважно на створення високоякісних 3D-
проєктів.
Godot є безкоштовним open-source рушієм, який активно
використовується для indie-розробки.
GameMaker орієнтований на швидке створення двовимірних ігор із
мінімальним рівнем складності програмування.
На рисунку 1.7 наведено порівняння сучасних ігрових рушіїв.
27
Рисунок 1.7 – Порівняння сучасних ігрових рушіїв
На рисунку 1.7 представлено порівняння сучасних ігрових рушіїв, які
найчастіше використовуються для створення комп’ютерних ігор різних жанрів
та рівнів складності. У таблиці наведено характеристики платформ Unity,
Unreal Engine, Godot та GameMaker за основними критеріями розробки
програмного забезпечення.
Порівняння виконано за такими параметрами:
− призначення рушія;
− мова програмування;
− підтримувані платформи;
− тип рендерингу;
− зручність використання;
− продуктивність;
− наявність бібліотек і магазинів асетів;
− вартість використання;
− підтримка спільноти;
− основні переваги та недоліки.
28
Як показано на рисунку, платформа Unity є універсальним середовищем
для створення 2D та 3D ігор. Вона підтримує мову програмування C#, має
великий набір готових компонентів та забезпечує кросплатформену розробку
для Windows, Android, iOS, Linux та web-платформ.
Unreal Engine орієнтований переважно на створення високоякісних 3D-
проєктів і характеризується потужною графічною системою та підтримкою
технології Blueprint. Проте даний рушій має вищі системні вимоги та
складніший процес освоєння.
Godot є open-source платформою з відкритим кодом, яка активно
використовується для indie-розробки. Основними перевагами Godot є
безкоштовне використання, простота роботи з 2D-графікою та невисокі
апаратні вимоги.
Рушій GameMaker орієнтований переважно на швидку розробку
двовимірних ігор та прототипів. Платформа характеризується простотою
освоєння та зручним інтерфейсом, однак має певні обмеження у складних
програмних проєктах.
На рисунку також наведено порівняння продуктивності, зручності
використання та підтримки спільноти для кожного рушія. Це дозволяє оцінити
переваги та недоліки платформ залежно від типу ігрового проєкту.
Проведений аналіз підтверджує доцільність використання Unity для
реалізації кваліфікаційної роботи, оскільки даний рушій забезпечує оптимальне
поєднання функціональності, продуктивності, підтримки 2D-графіки та
доступності навчальних матеріалів.
Порівняльний аналіз сучасних ігрових рушіїв показав, що Unity є
найбільш універсальним рішенням для створення 2D RPG-ігор. Платформа
забезпечує зручну систему керування сценами, підтримує сучасні засоби
анімації, фізики та UI-компонентів, а також має велику кількість навчальних
матеріалів і готових бібліотек.
Крім того, Unity активно використовується як у професійній розробці, так
і в навчальному процесі, що робить платформу доцільною для створення
кваліфікаційної роботи бакалавра.
29
1.5 Аналіз можливостей платформи Unity
Платформа Unity забезпечує широкий набір інструментів для створення
сучасних інтерактивних застосунків.
Основні можливості Unity:
− підтримка 2D та 3D графіки;
− система компонентів;
− Physics2D;
− Animator System;
− Tilemap;
− система освітлення;
− Audio System;
− система UI;
− підтримка мови програмування C#.
На рисунку 1.8 показано середовище розробки Unity.
Рисунок 1.8 – Інтерфейс середовища Unity
Unity дозволяє реалізовувати анімацію персонажів, фізичну взаємодію
об’єктів, систему частинок та інтерактивний користувацький інтерфейс.
30
На рисунку 1.8 представлено інтерфейс середовища розробки Unity, яке
використовується для створення 2D RPG-гри. На рисунку відображено основні
елементи робочого середовища: вікно сцени, ієрархію об’єктів, інспектор
компонентів, вікно гри та панель ресурсів проєкту.
Центральна частина інтерфейсу містить сцену гри з 2D Pixel Art
локацією, персонажами та елементами навколишнього середовища. Праворуч
розташовано Inspector, який використовується для налаштування властивостей
об’єктів і компонентів. У нижній частині знаходиться панель проєкту з
файлами, спрайтами, Tilemap та іншими ресурсами гри.
Представлений інтерфейс демонструє основні інструменти Unity, що
використовуються під час розробки ігрового застосунку.
Важливою перевагою Unity є можливість створення кросплатформених
застосунків для Windows, Android, Linux та WebGL.
1.6 Аналіз засобів програмування та графічних технологій
Для створення програмної системи гри використовуються сучасні засоби
програмування та графічні технології.
Основною мовою програмування є C#, яка підтримує:
− об’єктно-орієнтоване програмування;
− подієву модель;
− роботу з компонентами;
− взаємодію з API Unity.
− Для створення графічної складової використовуються:
− Sprite Renderer;
− Tilemap System;
− Pixel Art графіка;
− Animator Controller;
− Particle System.
На рисунку 1.9 наведено основні графічні технології, що
використовуються у 2D іграх.
31
Рисунок 1.9 – Графічні технології для створення 2D ігор
На рисунку 1.9 представлено основні графічні технології, що
використовуються для створення сучасних 2D ігор. Схема демонструє різні
підходи до реалізації графічної складової ігрових застосунків, їхні особливості,
переваги та недоліки.
Однією з основних технологій є Pixel Art, який базується на використанні
піксельної графіки для створення персонажів, об’єктів та ігрового середовища.
Даний стиль характеризується простотою реалізації, невеликим розміром
графічних ресурсів та високою продуктивністю.
Векторна графіка використовується для створення масштабованих
зображень без втрати якості. Такий підхід часто застосовується для
користувацького інтерфейсу, іконок та окремих елементів гри.
Технологія спрайтів (Sprites) забезпечує відображення двовимірних
об’єктів і анімацій. Спрайти є основою більшості 2D ігор та використовуються
для реалізації персонажів, ворогів, предметів і візуальних ефектів.
Tilemap-система застосовується для побудови ігрових рівнів із набору
повторюваних плиток. Даний підхід дозволяє ефективно створювати великі
ігрові локації та оптимізувати використання графічних ресурсів.
32
Частинкові системи використовуються для реалізації динамічних ефектів,
таких як вогонь, дим, вибухи, дощ та магічні ефекти. Вони покращують
візуальне сприйняття гри та забезпечують більш реалістичну взаємодію з
ігровим середовищем.
Окремим напрямом є використання текстурування та 2D-шейдерів, які
дозволяють реалізовувати освітлення, тіні, постобробку та додаткові візуальні
ефекти. Такі технології значно покращують якість графічного відображення
гри.
У нижній частині рисунка наведено загальний висновок щодо
використання графічних технологій. Вибір конкретного підходу залежить від
стилю гри, вимог до продуктивності та художнього оформлення програмного
продукту.
Таким чином, рисунок 1.9 демонструє основні графічні технології, які
використовуються під час розробки сучасних 2D ігор, та відображає їхню роль
у формуванні візуальної складової ігрового застосунку.
Для створення Pixel Art графіки можуть використовуватись Aseprite,
Photoshop, Piskel та Krita.
Використання сучасних графічних технологій дозволяє забезпечити
плавність анімації, високу продуктивність та якісне відображення ігрового
світу.
1.7 Постановка задачі дослідження
У результаті аналізу предметної області встановлено, що сучасні 2D RPG-
ігри є популярним напрямом розробки комп’ютерних ігор та потребують
використання сучасних технологій програмування, анімації та проєктування
ігрових систем.
Основною задачею кваліфікаційної роботи є розробка 2D піксельної
рольової гри на платформі Unity із реалізацією:
− системи керування персонажем;
− бойової системи;
− системи інвентарю;
− анімації персонажів;
33
− взаємодії з NPC;
− ігрових локацій;
− користувацького інтерфейсу.
На рисунку 1.10 представлено загальну схему задач дослідження.
Рисунок 1.10 – Загальна схема задач дослідження
На рисунку 1.10 представлено загальну схему задач дослідження, що
виконуються під час розробки 2D RPG-гри на платформі Unity. Схема
відображає основні етапи реалізації кваліфікаційної роботи та взаємозв’язок
між окремими складовими процесу розробки програмного забезпечення.
У верхній частині рисунка наведено етап аналізу предметної області, який
включає дослідження сучасних 2D RPG-ігор, аналіз аналогів, вибір
інструментів розробки та графічних технологій, а також формування вимог до
програмної системи.
Другий етап присвячений проєктуванню та плануванню. На даному етапі
виконується проєктування архітектури гри, визначення основних ігрових
механік, структури даних та створення прототипу програмної системи.
34
Наступним етапом є реалізація та тестування програмного забезпечення.
Він включає програмну реалізацію ігрових механік, створення графіки та
анімації, інтеграцію аудіосистеми, тестування функціональності та оптимізацію
продуктивності гри.
У нижній частині схеми наведено етап завершення та оцінки результатів
дослідження. Даний етап охоплює формування фінальної збірки гри, аналіз
отриманих результатів, підготовку документації та представлення результатів
кваліфікаційної роботи.
Кінцевим результатом виконання дослідження є створення 2D RPG-гри та
оцінка ефективності використаних технологій і методів розробки програмного
забезпечення.
Програмна система повинна забезпечувати:
− стабільну роботу гри;
− коректну обробку дій користувача;
− плавну анімацію;
− інтерактивну взаємодію з об’єктами;
− достатній рівень продуктивності.
Висновки до розділу 1
У першому розділі кваліфікаційної роботи було проведено аналіз
сучасної індустрії комп’ютерних ігор та досліджено особливості жанру RPG і
2D Pixel Art ігор. Виконано аналіз сучасних аналогів рольових ігор та
визначено основні функціональні можливості, характерні для даного жанру.
Проведено огляд сучасних ігрових рушіїв та засобів розробки
комп’ютерних ігор. За результатами аналізу встановлено, що платформа Unity є
найбільш доцільним середовищем для реалізації програмної системи завдяки
підтримці 2D-графіки, системи фізики, анімації та кросплатформеності.
Також було проаналізовано сучасні засоби програмування та графічні
технології, що використовуються для створення Pixel Art ігор. Визначено
основні вимоги до програмної системи та сформульовано задачі дослідження,
які будуть реалізовані у наступних розділах кваліфікаційної роботи.
35
2 ПРОЄКТУВАННЯ 2D ПІКСЕЛЬНОЇ РОЛЬОВОЇ ГРИ
На етапі проєктування програмної системи виконується формування
загальної структури гри, визначення взаємозв’язків між програмними модулями
та вибір принципів реалізації основних ігрових механік. Якісне проєктування
програмної системи дозволяє забезпечити стабільність роботи гри,
масштабованість архітектури та зручність подальшого супроводу програмного
коду.
Під час створення 2D RPG-гри особливу увагу необхідно приділити
організації ігрового світу, реалізації системи персонажів, проєктуванню
бойових механік, системи інвентарю та користувацького інтерфейсу. Крім того,
важливим аспектом є оптимізація взаємодії між компонентами системи та
забезпечення достатнього рівня продуктивності гри.
У даному розділі розглянуто архітектуру програмної системи, структуру
ігрового застосунку, UML-моделювання, проєктування ігрових механік,
системи персонажів та користувацького інтерфейсу, а також обґрунтовано
вибір технологій реалізації програмного забезпечення.
2.1 Загальна архітектура програмної системи
Архітектура програмної системи 2D RPG-гри побудована за модульним
принципом, що дозволяє забезпечити незалежність окремих компонентів,
спростити підтримку програмного коду та забезпечити можливість подальшого
масштабування функціональних можливостей гри. Модульна структура є
одним із найбільш ефективних підходів до розробки сучасних ігрових
застосунків, оскільки дозволяє ізолювати окремі функціональні елементи та
організувати взаємодію між ними через чітко визначені механізми.
Під час проєктування архітектури програмної системи враховано
особливості жанру RPG, необхідність реалізації інтерактивного ігрового
середовища, систему взаємодії персонажів, механіки бою, анімації, збереження
прогресу та роботу користувацького інтерфейсу.
Основними компонентами програмної системи є:
− модуль керування персонажем;
− модуль анімації;
36
− система інвентарю;
− бойова система;
− система NPC;
− модуль ігрових локацій;
− система квестів;
− система збереження прогресу;
− користувацький інтерфейс;
− аудіосистема.
На рисунку 2.1 представлено загальну архітектуру програмної системи
2D RPG-гри.
Рисунок 2.1 – Загальна архітектура програмної системи.
Центральним компонентом архітектури є ігровий рушій Unity, який
забезпечує керування сценами, фізикою, графічним відображенням, анімацією
та взаємодією між програмними модулями. Unity реалізує компонентну
архітектуру, що дозволяє створювати окремі програмні компоненти та
підключати їх до ігрових об’єктів.
37
На рисунку 2.1 представлено загальну архітектуру програмної системи
2D RPG-гри та взаємозв’язок між основними функціональними компонентами
програмного забезпечення. Архітектура побудована за модульним принципом,
що забезпечує незалежність окремих компонентів, спрощує підтримку
програмного коду та дозволяє реалізовувати подальше розширення
функціональних можливостей гри.
У верхній частині схеми розташований користувач, який взаємодіє з
програмною системою за допомогою клавіатури, миші або геймпада. Усі дії
користувача передаються до центральної програмної системи гри, що
реалізована на базі Unity.
Центральним елементом архітектури є ігровий рушій Unity, який
забезпечує керування сценами, фізикою, рендерингом графіки, системою
анімації та взаємодією між програмними компонентами. Саме через Unity
здійснюється обробка логіки гри та координація роботи всіх модулів системи.
Модуль керування персонажем відповідає за обробку вводу користувача,
переміщення героя та взаємодію з об’єктами навколишнього середовища. Для
реалізації руху використовуються компоненти Rigidbody2D та Collider2D.
Система анімації реалізує відображення рухів персонажів, переходи між
анімаційними станами та візуальні ефекти. Даний модуль забезпечує плавність
анімації та покращує сприйняття ігрового процесу.
Бойова система відповідає за реалізацію атак, нанесення пошкоджень,
систему здоров’я персонажів та поведінку ворогів. До складу системи також
входять механізми штучного інтелекту противників.
Система інвентарю забезпечує роботу з предметами, екіпіруванням,
ресурсами та механізмами використання ігрових об’єктів. Даний модуль
взаємодіє із системою збереження прогресу та користувацьким інтерфейсом.
Модуль NPC реалізує систему діалогів, квестів, торговельних операцій та
поведінку неігрових персонажів. Взаємодія з NPC є важливою складовою RPG-
жанру та забезпечує сюжетний розвиток гри.
38
Модуль ігрових локацій відповідає за побудову рівнів, завантаження сцен
та організацію інтерактивного ігрового світу. Для створення локацій
використовується Tilemap-система Unity.
Система квестів реалізує логіку виконання завдань, контроль прогресу
гравця та механізм отримання винагород. Вона взаємодіє із системою NPC та
користувацьким інтерфейсом.
Система збереження прогресу забезпечує запис і завантаження даних гри,
характеристик персонажа, інвентарю та виконаних завдань. Це дозволяє
користувачу продовжувати проходження гри після повторного запуску
програмного забезпечення.
Користувацький інтерфейс забезпечує відображення інформації про стан
персонажа, інвентар, карту, меню та журнал квестів. Інтерфейс реалізований
засобами Unity UI Toolkit та Canvas System.
Аудіосистема відповідає за відтворення фонової музики, звукових ефектів
і голосових повідомлень. Використання аудіосупроводу дозволяє покращити
атмосферу гри та забезпечити більш глибоке занурення користувача в ігровий
процес.
Праворуч на схемі наведено зовнішні ресурси програмної системи, до
яких належать графічні ресурси, аудіофайли, конфігураційні файли та дані гри.
Дані ресурси використовуються окремими модулями програмної системи під
час виконання ігрового процесу.
У нижній частині рисунка наведено результат роботи програмної системи
- функціонуючу 2D RPG-гру, яка забезпечує реалізацію основних механік
жанру та інтерактивну взаємодію користувача з ігровим середовищем.
Модуль керування персонажем відповідає за обробку дій користувача,
переміщення героя, взаємодію з навколишнім середовищем та виконання
основних дій у грі. Для реалізації руху використовується система Physics2D та
компонент Rigidbody2D, що забезпечує плавність переміщення персонажа та
обробку фізичної взаємодії між об’єктами.
Система анімації реалізована за допомогою Animator Controller та набору
анімаційних станів. Даний модуль відповідає за відображення руху персонажів,
39
атак, взаємодії з предметами та інших анімаційних ефектів. Для кожного
персонажа створюється окремий набір анімацій, що включає рух у різних
напрямках, стан бездіяльності та бойові дії.
Бойова система є одним із ключових компонентів RPG-гри та відповідає
за реалізацію атак, систему пошкоджень, взаємодію з ворогами та контроль
рівня здоров’я персонажів. Під час реалізації враховано механізми обробки
зіткнень, дальність атаки, швидкість ударів та систему зниження показників
здоров’я.
Система інвентарю призначена для збереження предметів, ресурсів, зброї
та екіпірування персонажа. Інвентар реалізовано у вигляді окремого
програмного модуля, що взаємодіє з користувацьким інтерфейсом та системою
збереження даних. Даний модуль забезпечує можливість використання
предметів, сортування ресурсів та зміни екіпірування персонажа.
Модуль NPC забезпечує взаємодію користувача з неігровими
персонажами. Даний компонент реалізує систему діалогів, отримання квестів,
торговельні операції та сюжетні події. Для реалізації поведінки NPC
використовується система сценаріїв та алгоритми штучного інтелекту.
Модуль ігрових локацій відповідає за побудову ігрового світу та
організацію взаємодії між окремими сценами. Для створення рівнів
використовується Tilemap System, що дозволяє ефективно формувати великі
ігрові території із повторюваних графічних елементів.
Система квестів реалізує логіку сюжетних і побічних завдань. Вона
забезпечує відстеження прогресу користувача, виконання умов завдань та
отримання винагород за проходження гри.
Система збереження прогресу призначена для запису інформації про стан
гри, характеристики персонажа, інвентар та виконані завдання. Реалізація
даного модуля дозволяє продовжувати проходження гри після повторного
запуску програмного забезпечення.
Користувацький інтерфейс забезпечує взаємодію користувача з
програмною системою та відображення основної інформації про стан гри. До
40
складу інтерфейсу входять панель здоров’я, інвентар, карта, меню налаштувань,
система діалогів та журнал квестів.
Аудіосистема відповідає за відтворення фонової музики, звукових ефектів
та аудіосупроводу ігрового процесу. Використання звукового оформлення
дозволяє покращити атмосферу гри та забезпечити більш глибоке занурення
користувача в ігрове середовище.
Взаємодія між компонентами програмної системи здійснюється через
внутрішні механізми Unity та програмні скрипти мовою C#. Кожен модуль
реалізується як окремий набір компонентів, що взаємодіють між собою через
події, посилання на об’єкти та систему виклику методів.
Запропонована архітектура програмної системи забезпечує модульність,
масштабованість та зручність підтримки програмного забезпечення. Такий
підхід дозволяє реалізувати основні механіки RPG-гри та забезпечити
можливість подальшого розвитку функціональних можливостей програмного
продукту.
2.2 Проєктування структури ігрового застосунку
Проєктування структури ігрового застосунку є одним із ключових етапів
розробки програмної системи, оскільки саме на цьому етапі визначається
організація програмних компонентів, структура сцен, принципи взаємодії між
модулями та порядок обробки ігрових подій. Грамотно спроєктована структура
застосунку дозволяє забезпечити стабільну роботу гри, спростити підтримку
програмного коду та забезпечити можливість подальшого розширення
функціональних можливостей системи.
Під час проєктування структури 2D RPG-гри враховано особливості
жанру, необхідність реалізації інтерактивного ігрового середовища, систему
переходу між локаціями, механіку взаємодії з персонажами та обробку ігрових
подій у режимі реального часу.
Структура ігрового застосунку реалізована у вигляді набору
взаємопов’язаних сцен та програмних компонентів. Кожна сцена відповідає
окремому режиму роботи гри та містить необхідні об’єкти, ресурси та елементи
користувацького інтерфейсу.
41
Основними сценами програмної системи є:
− головне меню;
− сцена ігрового світу;
− бойова сцена;
− меню інвентарю;
− сцена налаштувань;
− сцена завершення гри.
На рисунку 2.2 наведено структуру ігрового застосунку та взаємозв’язки
між його основними компонентами.
Рисунок 2.2 – Структура ігрового застосунку.
Головне меню є початковою сценою гри та забезпечує взаємодію
користувача з основними функціями запуску програмної системи. У головному
меню реалізовано можливість початку нової гри, завантаження збережень,
переходу до налаштувань та завершення роботи застосунку.
Основною сценою програмної системи є сцена ігрового світу, у якій
реалізується більшість механік RPG-гри. Дана сцена містить персонажа, NPC,
ворогів, інтерактивні об’єкти, систему локацій та елементи навколишнього
42
середовища. Саме в межах цієї сцени відбувається дослідження ігрового світу
та виконання квестів.
Бойова сцена відповідає за реалізацію системи атак, обробку
пошкоджень, анімацію бойових дій та взаємодію персонажа з ворогами. У даній
сцені виконуються розрахунки бойових характеристик, перевірка колізій та
обробка результатів бою.
Меню інвентарю реалізує систему керування предметами, екіпіруванням
та ресурсами персонажа. Користувач має можливість переглядати предмети,
використовувати ресурси, змінювати екіпірування та сортувати елементи
інвентарю.
Сцена налаштувань призначена для зміни параметрів гри, зокрема
налаштування гучності звуку, параметрів графіки, керування та інших
характеристик програмної системи.
Сцена завершення гри використовується для відображення результатів
проходження, статистики гравця та переходу до головного меню після
завершення ігрового процесу.
Для реалізації структури застосунку використовується система сцен
Unity, яка забезпечує завантаження, зміну та синхронізацію різних частин гри.
Перехід між сценами здійснюється через Scene Manager, що дозволяє
динамічно керувати станом програмної системи.
У структурі проєкту окремо виділено програмні модулі, що відповідають
за реалізацію різних функціональних можливостей гри. До складу програмної
структури входять:
− модуль керування персонажем;
− система анімації;
− система штучного інтелекту;
− модуль інвентарю;
− система квестів;
− модуль збереження прогресу;
− аудіосистема;
− система користувацького інтерфейсу.
43
Для організації програмного коду використовується компонентний підхід
Unity, за якого кожен функціональний елемент реалізується у вигляді окремого
скрипта мовою C#. Це дозволяє забезпечити незалежність компонентів та
повторне використання програмного коду.
Важливим елементом структури застосунку є організація ресурсів
проєкту. Для зручності підтримки програмного забезпечення та оптимізації
процесу розробки всі ресурси поділено на окремі категорії:
− Scripts - програмні скрипти;
− Sprites - графічні ресурси;
− Tilemaps - компоненти побудови рівнів;
− Animations - анімаційні ресурси;
− Audio - звукові файли;
− Prefabs - шаблони ігрових об’єктів;
− UI - елементи користувацького інтерфейсу;
− Saves - файли збереження прогресу.
Така організація структури проєкту дозволяє швидко знаходити необхідні
ресурси, спрощує підтримку програмного коду та забезпечує зручність
подальшого розвитку програмної системи.
Особливу увагу під час проєктування структури застосунку приділено
системі взаємодії між модулями. Для обміну інформацією між компонентами
використовуються механізми подій, посилання на об’єкти та внутрішні API
Unity. Це дозволяє уникнути надмірної залежності між компонентами та
забезпечити гнучкість архітектури програмної системи.
Крім того, структура застосунку враховує можливість подальшого
розширення функціональних можливостей гри. Архітектура дозволяє додавати
нові локації, персонажів, типи ворогів, предмети та ігрові механіки без
необхідності суттєвої зміни існуючої структури програмного забезпечення.
Таким чином, спроєктована структура ігрового застосунку забезпечує
модульність, масштабованість та ефективну взаємодію між компонентами
програмної системи, що є важливою умовою реалізації сучасної 2D RPG-гри на
платформі Unity.
44
2.3 Моделювання системи засобами UML
Моделювання програмної системи є важливим етапом проєктування,
оскільки дозволяє формалізувати структуру майбутнього застосунку, визначити
взаємозв’язки між його компонентами та описати логіку взаємодії користувача
з грою. Для моделювання 2D піксельної рольової гри доцільно використовувати
засоби UML, оскільки вони дозволяють наочно подати архітектуру
програмного забезпечення, поведінку системи та основні сценарії її
використання.
UML-моделювання дає можливість ще до початку програмної реалізації
визначити основні класи, функціональні модулі, ролі користувачів,
послідовність виконання дій та взаємодію між об’єктами гри. Це зменшує
ймовірність помилок на етапі розробки та спрощує подальшу підтримку
програмного коду.
У межах проєктування програмної системи було використано такі типи
UML-діаграм:
− діаграма варіантів використання;
− діаграма класів;
− діаграма діяльності;
− діаграма компонентів.
Діаграма варіантів використання призначена для відображення взаємодії
користувача з основними функціональними можливостями гри. У ролі
основного актора виступає гравець, який взаємодіє з програмною системою
через інтерфейс гри та виконує основні дії у віртуальному середовищі.
Основними варіантами використання для гравця є:
− запуск гри;
− початок нової гри;
− завантаження збереженого прогресу;
− керування персонажем;
− переміщення ігровим світом;
− взаємодія з NPC;
− виконання квестів;
45
− використання інвентарю;
− участь у бою;
− збереження прогресу;
− зміна налаштувань;
− завершення гри.
На рисунку 2.3 представлено UML-діаграму варіантів використання 2D
RPG-гри.
Рисунок 2.3 – UML-діаграма варіантів використання.
На рисунку 2.3 представлено UML-діаграму варіантів використання 2D
піксельної рольової гри, яка демонструє взаємодію користувача з основними
функціональними можливостями програмної системи. Діаграма відображає
основні сценарії роботи гри та взаємозв’язок між окремими варіантами
використання.
Основним актором системи є гравець, який взаємодіє з грою через
користувацький інтерфейс. Саме гравець ініціює виконання основних дій у
програмній системі та взаємодіє з ігровим середовищем.
46
До базових варіантів використання належать запуск гри, початок нової
гри та завантаження збереженого прогресу. Після запуску програмної системи
користувач отримує доступ до головного меню, у якому може створити нового
персонажа або вибрати файл збереження для продовження проходження.
Одним із центральних елементів діаграми є керування персонажем.
Даний варіант використання включає переміщення ігровим світом, взаємодію з
об’єктами та відкриття карти. Усі ці дії реалізуються через систему керування
персонажем та механізми фізичної взаємодії гри.
Важливою складовою RPG-гри є взаємодія з NPC. На діаграмі показано,
що під час взаємодії з неігровими персонажами користувач може вести діалоги,
отримувати квести та здійснювати торговельні операції. Деякі дії реалізуються
через зв’язки типу «extend», що означає виконання додаткових сценаріїв
залежно від умов гри.
Система квестів включає перегляд журналу завдань, виконання місій та
отримання нагород за проходження. Даний модуль взаємодіє із системою
діалогів, інвентарем та системою збереження прогресу.
Окремим варіантом використання є система інвентарю, яка дозволяє
переглядати предмети, використовувати ресурси та змінювати екіпірування
персонажа. Інвентар є важливою складовою RPG-механіки та безпосередньо
впливає на характеристики героя.
Бойова система реалізує участь персонажа у боях, виконання атак, захист
та використання спеціальних навичок. Даний варіант використання взаємодіє із
системою анімації, механікою пошкоджень та штучним інтелектом ворогів.
На діаграмі також відображено можливість зміни налаштувань гри та
завершення роботи програмного застосунку. Окремим елементом є система
збереження прогресу, яка взаємодіє з більшістю функціональних модулів гри та
забезпечує запис результатів проходження.
Для відображення взаємозв’язків між варіантами використання
застосовано зв’язки типу «include» та «extend». Зв’язок «include»
використовується для обов’язкових дій, які виконуються в межах основного
сценарію, а «extend» - для додаткових або умовних сценаріїв взаємодії.
47
Таким чином, UML-діаграма варіантів використання демонструє основні
функціональні можливості 2D RPG-гри та відображає взаємодію користувача з
ключовими компонентами програмної системи, реалізованої на платформі
Unity.
Діаграма варіантів використання дозволяє визначити основні функції
програмної системи з точки зору користувача. Вона показує, які саме дії може
виконувати гравець та які підсистеми залучаються під час ігрового процесу.
Наприклад, під час керування персонажем активуються модулі обробки вводу,
руху, анімації та фізики. Під час виконання квестів система взаємодіє з NPC,
журналом завдань, інвентарем і системою збереження прогресу.
Діаграма класів використовується для опису внутрішньої структури
програмної системи. Вона відображає основні класи, їхні властивості, методи та
зв’язки між ними. Для розроблюваної 2D RPG-гри основними класами є
PlayerController, CharacterStats, EnemyAI, NPCController, InventoryManager,
QuestManager, GameManager, SaveSystem, DialogueManager та UIManager.
Клас PlayerController відповідає за керування головним персонажем,
обробку вводу користувача та переміщення героя в ігровому світі. Клас
CharacterStats містить характеристики персонажа, зокрема рівень здоров’я, силу
атаки, швидкість руху, рівень захисту та досвід.
Клас EnemyAI реалізує поведінку ворогів, зокрема переслідування гравця,
атаку, зміну станів та реакцію на дії персонажа. Клас NPCController відповідає
за взаємодію з неігровими персонажами, запуск діалогів, видачу квестів та
торговельні операції.
Клас InventoryManager забезпечує роботу з інвентарем, додавання та
видалення предметів, використання ресурсів і зміну екіпірування. Клас
QuestManager відповідає за створення, оновлення та перевірку виконання
квестів. Клас DialogueManager забезпечує відображення діалогових вікон та
керування послідовністю реплік.
Клас GameManager виконує загальне керування станом гри, контролює
завантаження сцен, початок та завершення ігрового процесу. Клас SaveSystem
48
відповідає за збереження та завантаження даних гри, а UIManager керує
елементами користувацького інтерфейсу.
На рисунку 2.4 наведено UML-діаграму класів програмної системи.
Рисунок 2.4 – UML-діаграма класів програмної системи.
Діаграма класів демонструє, що програмна система побудована за
об’єктно-орієнтованим принципом. Окремі класи відповідають за конкретні
функції, а взаємодія між ними здійснюється через методи, події та посилання на
об’єкти Unity. Такий підхід забезпечує модульність програмного коду та
спрощує його подальше розширення.
Діаграма діяльності використовується для моделювання логіки виконання
основних дій у грі. Вона дозволяє описати послідовність етапів ігрового
процесу: запуск гри, вибір режиму, завантаження локації, керування
персонажем, взаємодія з об’єктами, виконання квестів, участь у бою та
збереження прогресу.
Основний сценарій роботи гри можна подати так:
− користувач запускає гру;
− система відкриває головне меню;
49
− гравець обирає нову гру або завантаження збереження;
− система завантажує ігрову сцену;
− гравець керує персонажем;
− персонаж взаємодіє з NPC, предметами та ворогами;
− система оновлює стан персонажа, інвентар і квести;
− за потреби виконується збереження прогресу;
− після завершення гри користувач повертається до головного меню.
На рисунку 2.5 представлено UML-діаграму діяльності ігрового процесу.
50
Рисунок 2.5 – UML-діаграма діяльності ігрового процесу.
51
На рисунку 2.5 представлено UML-діаграму діяльності ігрового процесу
2D RPG-гри. Діаграма відображає послідовність дій користувача та програмної
системи від моменту запуску гри до завершення ігрової сесії.
Процес починається із запуску гри гравцем, після чого система
відображає головне меню. Користувач може обрати режим роботи: почати нову
гру, завантажити збереження, перейти до налаштувань або завершити роботу
застосунку.
Після вибору нової гри або завантаження збереження відбувається
ініціалізація основних систем гри, зокрема системи керування персонажем,
інвентарю, квестів, аудіосистеми та системи збереження. Далі завантажується
ігрова локація, розміщуються об’єкти, NPC та вороги.
Основна частина діаграми описує ігровий процес, у межах якого гравець
керує персонажем, взаємодіє з об’єктами, відкриває інвентар, виконує квести та
бере участь у боях. Кожна дія користувача обробляється відповідними
модулями гри та відображається через користувацький інтерфейс.
Окремо на діаграмі показано взаємодію зі сховищем даних. Система
зберігає інформацію про інвентар, стан квестів, прогрес гравця та параметри
персонажа. Це дозволяє забезпечити коректне відновлення ігрового процесу
після повторного запуску гри.
У процесі виконання гри система постійно перевіряє її поточний стан.
Якщо гра триває, користувач продовжує взаємодію з ігровим світом. Якщо
користувач завершує сесію, система виконує збереження даних, звільнення
ресурсів та відображає екран завершення гри.
Таким чином, рисунок 2.5 демонструє логіку функціонування ігрового
процесу, взаємодію між користувачем, інтерфейсом, системними модулями,
ігровим світом та сховищем даних.
Діаграма діяльності дозволяє простежити логіку роботи програмної
системи від запуску гри до завершення ігрового процесу. Вона також
демонструє, у яких точках відбувається взаємодія між користувачем і
системою, а також які дії виконуються автоматично.
52
Діаграма компонентів використовується для опису загальної структури
програмної системи на рівні окремих модулів. У межах розроблюваної гри
основними компонентами є модуль керування персонажем, бойова система,
система інвентарю, система NPC, система квестів, модуль локацій, система
збереження прогресу, користувацький інтерфейс та аудіосистема.
Компонентна модель дозволяє визначити, які частини системи є
незалежними, які мають спільні ресурси та які взаємодіють між собою під час
виконання ігрового процесу. Наприклад, система інвентарю взаємодіє з
UIManager для відображення предметів, із SaveSystem для збереження даних та
з QuestManager для перевірки умов виконання завдань.
На рисунку 2.6 наведено UML-діаграму компонентів програмної системи.
Рисунок 2.6 – UML-діаграма компонентів програмної системи.
На рисунку 2.6 представлено UML-діаграму компонентів програмної
системи 2D RPG-гри. Діаграма відображає загальну структуру програмного
забезпечення та взаємодію між основними модулями системи.
Центральними компонентами є ігрова логіка, система керування сценами,
користувацький інтерфейс та система збереження даних. Окремо виділено
53
функціональні модулі гри, зокрема систему керування персонажем, бойову
систему, систему інвентарю, модуль NPC, систему квестів та аудіосистему.
На діаграмі також показано взаємодію компонентів із ресурсами гри, до
яких належать графічні ресурси, анімації, аудіофайли, сцени, скрипти та
конфігураційні файли. Зв’язки між компонентами демонструють обмін даними
та взаємодію модулів під час виконання ігрового процесу.
Таким чином, рисунок 2.6 демонструє загальну компонентну структуру
програмної системи та основні взаємозв’язки між функціональними модулями
2D RPG-гри, реалізованої на платформі Unity.
Застосування UML-моделювання дозволило визначити логіку роботи
програмної системи, структуру основних класів, взаємозв’язки між
компонентами та сценарії взаємодії користувача з грою. Отримані моделі є
основою для подальшої програмної реалізації 2D RPG-гри на платформі Unity.
2.4 Проєктування ігрових механік
Ігрові механіки є основою функціонування RPG-гри та визначають логіку
взаємодії користувача з ігровим середовищем. Саме від якості реалізації
механік залежить динаміка ігрового процесу, рівень взаємодії гравця з
навколишнім світом та загальне сприйняття програмного продукту.
Під час проєктування ігрових механік враховано особливості жанру RPG,
необхідність реалізації інтерактивного ігрового середовища, систему розвитку
персонажа та механіку взаємодії з NPC, предметами та ворогами.
Основними механіками програмної системи є:
− система переміщення персонажа;
− бойова система;
− система здоров’я та пошкоджень;
− система інвентарю;
− система взаємодії з NPC;
− система квестів;
− система збору ресурсів;
− система збереження прогресу.
54
На рисунку 2.7 представлено структуру основних ігрових механік
програмної системи.
Рисунок 2.7 – Структура основних ігрових механік.
Система переміщення персонажа реалізує рух героя в ігровому світі та
взаємодію з навколишнім середовищем. Для обробки руху використовується
система Physics2D та компонент Rigidbody2D платформи Unity. Переміщення
виконується за допомогою клавіатури, а напрямок руху впливає на
відображення відповідної анімації персонажа.
Бойова система є однією з основних механік RPG-гри. Вона забезпечує
виконання атак, обробку пошкоджень, систему захисту та взаємодію персонажа
з ворогами. Під час реалізації бойової системи враховано дальність атаки,
швидкість виконання ударів, систему здоров’я та механізм отримання досвіду
після перемоги над противниками.
Система здоров’я реалізує контроль рівня життя персонажа та ворогів. У
процесі бою значення здоров’я зменшується залежно від сили атаки
супротивника. Після досягнення критичного рівня здоров’я персонаж або ворог
переходить у стан смерті, що супроводжується відповідною анімацією та
оновленням стану гри.
55
Система інвентарю призначена для роботи з предметами, ресурсами та
екіпіруванням персонажа. Користувач має можливість збирати предмети,
використовувати ресурси, змінювати екіпірування та переглядати
характеристики об’єктів інвентарю. Для зручності роботи предмети поділено на
категорії: зброя, ресурси, лікувальні предмети та спеціальні артефакти.
Система взаємодії з NPC забезпечує реалізацію діалогів, отримання
квестів та торговельних операцій. Під час взаємодії з NPC користувач може
отримувати нові завдання, дізнаватися сюжетну інформацію або купувати
предмети.
Система квестів відповідає за формування сюжетної складової гри. Вона
забезпечує створення та виконання завдань, контроль прогресу та механізм
отримання нагород. Квести можуть бути сюжетними або додатковими та
включати різні умови виконання, наприклад знищення ворогів, збір ресурсів
або взаємодію з NPC.
Система збору ресурсів реалізує механіку отримання предметів із
навколишнього середовища. Гравець може збирати ресурси, відкривати скрині,
отримувати нагороди після боїв та використовувати знайдені предмети для
розвитку персонажа.
Система збереження прогресу забезпечує запис поточного стану гри,
характеристик персонажа, інвентарю та виконаних квестів. Це дозволяє
користувачу продовжити проходження гри після повторного запуску
програмного забезпечення.
Під час проєктування ігрових механік важливу увагу приділено взаємодії
між окремими системами. Наприклад, бойова система взаємодіє із системою
здоров’я, а система квестів – із системою NPC та інвентарем. Така взаємодія
забезпечує цілісність ігрового процесу та формує єдину логіку роботи
програмної системи.
Для реалізації механік використовується компонентний підхід Unity, за
якого кожен функціональний елемент реалізується окремим скриптом мовою
C#. Це дозволяє забезпечити незалежність компонентів та спрощує подальшу
модифікацію програмного коду.
56
Важливим аспектом проєктування є забезпечення балансу ігрового
процесу. З цією метою під час реалізації механік враховано співвідношення між
складністю ворогів, характеристиками персонажа, швидкістю розвитку героя та
системою отримання ресурсів.
Таким чином, проєктування ігрових механік дозволило сформувати
основу функціонування 2D RPG-гри, забезпечити взаємодію користувача з
ігровим світом та реалізувати основні елементи жанру рольових комп’ютерних
ігор.
2.5 Проєктування системи персонажів та ворогів
Система персонажів та ворогів є однією з основних складових 2D RPG-
гри, оскільки саме вона забезпечує взаємодію користувача з ігровим світом,
реалізацію бойових механік, систему розвитку героя та поведінку
супротивників. Під час проєктування даної системи враховано особливості
жанру RPG, необхідність створення інтерактивного середовища та
забезпечення динамічного ігрового процесу.
Основними елементами системи є:
− головний персонаж;
− NPC;
− вороги;
− система характеристик;
− система анімації;
− система штучного інтелекту;
− система взаємодії між персонажами.
На рисунку 2.8 представлено структуру системи персонажів та ворогів.
57
Рисунок 2.8 – Структура системи персонажів та ворогів.
Головний персонаж є центральним елементом програмної системи та
керується безпосередньо користувачем. Для реалізації персонажа
використовується компонентний підхід платформи Unity, за якого кожен
функціональний елемент реалізується окремим модулем.
Система головного персонажа включає:
− модуль керування рухом;
− систему анімації;
− систему здоров’я;
− систему атаки;
− систему інвентарю;
− систему взаємодії з об’єктами.
Для переміщення персонажа використовується компонент Rigidbody2D,
який забезпечує фізичну взаємодію з ігровим середовищем. Обробка вводу
користувача здійснюється через Input System Unity, що дозволяє реалізувати
рух персонажа в різних напрямках та виконання додаткових дій.
Система анімації персонажа побудована на основі Animator Controller та
набору анімаційних станів. Для кожного напрямку руху реалізовано окремі
58
анімації ходьби, бездіяльності та атаки. Плавний перехід між анімаціями
забезпечується механізмом transition у системі Animator.
NPC є неігровими персонажами, які забезпечують сюжетний розвиток гри
та взаємодію користувача з ігровим світом. NPC можуть виконувати різні
функції:
− видача квестів;
− діалогова взаємодія;
− торгівля предметами;
− надання інформації;
− сюжетні події.
Кожен NPC має власний набір характеристик, діалогів та сценаріїв
поведінки. Для реалізації діалогів використовується окремий модуль Dialogue
System, який забезпечує відображення тексту, вибір відповідей та зміну стану
персонажа після завершення розмови.
Вороги є окремим типом персонажів, що реалізують механіку бойової
взаємодії з користувачем. Основною особливістю ворогів є наявність системи
штучного інтелекту, яка забезпечує автономну поведінку під час гри.
Система ворогів включає:
− систему переслідування гравця;
− систему атак;
− систему виявлення персонажа;
− систему зміни станів;
− систему отримання пошкоджень;
− систему смерті ворога.
Для реалізації поведінки ворогів використовується AI-модуль, який
контролює стан персонажа залежно від дій гравця. Вороги можуть перебувати у
таких станах:
− очікування;
− патрулювання;
− переслідування;
− атака;
59
− смерть.
Перехід між станами виконується автоматично залежно від відстані до
гравця, рівня здоров’я або взаємодії з ігровим середовищем. Наприклад, у разі
виявлення персонажа ворог переходить зі стану патрулювання до
переслідування та починає атаку.
Система характеристик використовується для зберігання параметрів
персонажів і ворогів. До основних характеристик належать:
− рівень здоров’я;
− сила атаки;
− швидкість руху;
− рівень захисту;
− досвід;
− швидкість атаки.
Значення характеристик впливають на ефективність персонажа під час
бою та взаємодії з іншими об’єктами гри. Після перемоги над ворогами гравець
отримує досвід, який може використовуватися для розвитку персонажа.
Система взаємодії між персонажами забезпечує обмін інформацією між
окремими об’єктами гри. Взаємодія реалізується через механізм колізій,
тригерів та програмних подій Unity. Наприклад, під час наближення персонажа
до NPC автоматично активується система діалогів, а під час контакту з ворогом
запускається бойова система.
Важливим елементом системи є анімація ворогів та NPC. Для кожного
типу персонажів реалізовано окремі анімації руху, атаки, отримання
пошкоджень та смерті. Це забезпечує більш реалістичне відображення ігрового
процесу та покращує візуальне сприйняття гри.
Під час проєктування системи персонажів та ворогів також враховано
можливість подальшого розширення програмної системи. Архітектура дозволяє
додавати нові типи NPC, ворогів, анімацій та характеристик без необхідності
значної зміни програмного коду.
60
Таким чином, система персонажів та ворогів забезпечує реалізацію
основних механік взаємодії в 2D RPG-грі, формує динаміку ігрового процесу та
створює основу для сюжетної та бойової складової програмного продукту.
2.6 Проєктування користувацького інтерфейсу гри
Користувацький інтерфейс є важливою складовою будь-якої
комп’ютерної гри, оскільки саме через нього здійснюється взаємодія
користувача з програмною системою. Від якості реалізації інтерфейсу залежить
зручність керування, швидкість отримання інформації та загальне сприйняття
ігрового процесу.
Під час проєктування користувацького інтерфейсу 2D RPG-гри враховано
особливості жанру, необхідність швидкого доступу до основних функцій гри та
забезпечення комфортної взаємодії користувача з ігровим середовищем.
Основними вимогами до інтерфейсу гри є:
− простота використання;
− зручність навігації;
− адаптивність;
− мінімальне перекриття ігрового простору;
− швидкий доступ до основних функцій;
− стилістична відповідність Pixel Art-графіці.
На рисунку 2.9 представлено структуру користувацького інтерфейсу гри.
На рисунку 2.9 представлено структуру користувацького інтерфейсу 2D
RPG-гри. Діаграма демонструє основні елементи UI та їхню взаємодію під час
ігрового процесу.
Центральними компонентами інтерфейсу є HUD, система інвентарю,
карта, журнал квестів, меню налаштувань, діалогові вікна та екран завершення
гри. Кожен модуль відповідає за відображення окремої інформації та
забезпечує взаємодію користувача з програмною системою.
У нижній частині рисунка наведено додаткові елементи інтерфейсу,
зокрема систему повідомлень, підказки керування, відображення ресурсів та
систему досягнень. Також показано основні принципи проєктування
61
інтерфейсу: простота використання, адаптивність, інформативність та
стилістична відповідність Pixel Art-графіці.
Таким чином, рисунок 2.9 відображає загальну структуру
користувацького інтерфейсу гри та основні компоненти взаємодії користувача з
програмною системою.
Рисунок 2.9 – Структура користувацького інтерфейсу гри.
Інтерфейс гри реалізовано засобами Unity із використанням Canvas
System та UI Toolkit. Для відображення елементів інтерфейсу
використовуються окремі UI-компоненти, які взаємодіють із системами гри
через програмні скрипти мовою C#.
Основними елементами інтерфейсу є:
− HUD;
− система інвентарю;
− меню налаштувань;
− карта;
− журнал квестів;
− діалогові вікна;
62
− екран завершення гри.
HUD є центральною частиною інтерфейсу та відображається
безпосередньо під час ігрового процесу. До складу HUD входять:
− панель здоров’я;
− панель енергії;
− рівень персонажа;
− кількість ресурсів;
− активні предмети;
− повідомлення системи.
Панель здоров’я відображає поточний рівень життя персонажа та
змінюється залежно від отриманих пошкоджень. Для покращення сприйняття
використовуються кольорові індикатори та анімаційні ефекти.
Панель енергії використовується для контролю витрати ресурсів під час
використання спеціальних умінь або швидкого переміщення. Рівень персонажа
відображає прогрес розвитку героя та отриманий досвід.
Система інвентарю реалізована у вигляді окремого вікна, яке
відкривається під час гри. Інвентар дозволяє:
− переглядати предмети;
− використовувати ресурси;
− змінювати екіпірування;
− сортувати предмети;
− отримувати інформацію про характеристики об’єктів.
Для зручності предмети розподіляються за категоріями:
− зброя;
− броня;
− ресурси;
− лікувальні предмети;
− спеціальні артефакти.
Кожен предмет має власну іконку, назву, опис та характеристики.
Меню налаштувань забезпечує зміну параметрів програмної системи та
включає:
63
− налаштування звуку;
− параметри графіки;
− систему керування;
− зміну роздільної здатності;
− параметри мови інтерфейсу.
Карта використовується для навігації в ігровому світі та дозволяє
користувачу визначати поточне розташування персонажа, активні квести та
важливі ігрові об’єкти.
Журнал квестів забезпечує відображення поточних завдань, опис місій,
умови виконання та інформацію про отримані нагороди. Для кожного квесту
зберігається поточний стан виконання та ступінь прогресу.
Діалогові вікна використовуються для взаємодії з NPC. У межах
діалогової системи реалізовано:
− відображення тексту;
− вибір варіантів відповідей;
− отримання квестів;
− торговельні операції;
− сюжетні повідомлення.
Для покращення сприйняття інтерфейсу використано стилістику Pixel Art.
Усі елементи UI мають спрощений піксельний дизайн, що відповідає
загальному стилю гри та забезпечує цілісність візуального оформлення
програмного продукту.
Під час проєктування інтерфейсу особливу увагу приділено адаптивності.
Елементи UI автоматично масштабуються залежно від роздільної здатності
екрана та забезпечують коректне відображення гри на різних типах пристроїв.
Важливим елементом користувацького інтерфейсу є система повідомлень
та сповіщень. Вона використовується для відображення:
− отримання предметів;
− завершення квестів;
− отримання досвіду;
− системних повідомлень;
64
− попереджень про небезпеку.
Для реалізації анімації елементів інтерфейсу використовуються переходи,
ефекти появи та зміни прозорості. Це дозволяє забезпечити плавність роботи UI
та покращити взаємодію користувача з програмною системою.
У процесі проєктування також враховано принципи usability, згідно з
якими інтерфейс повинен бути інтуїтивно зрозумілим, не перевантаженим
інформацією та забезпечувати швидкий доступ до основних функцій гри.
Таким чином, проєктування користувацького інтерфейсу дозволило
сформувати зручну систему взаємодії користувача з програмною системою та
забезпечити комфортне керування 2D RPG-грою під час ігрового процесу.
2.7 Вибір технологій реалізації
Вибір технологій реалізації є важливим етапом розробки програмного
забезпечення, оскільки саме від обраних інструментів залежить продуктивність
гри, стабільність роботи програмної системи, зручність підтримки програмного
коду та можливість подальшого розвитку проєкту.
Під час розробки 2D піксельної рольової гри враховано особливості
жанру RPG, необхідність реалізації інтерактивного ігрового середовища,
систему анімації, фізики, взаємодії між персонажами та підтримку
кросплатформеного запуску гри.
Для реалізації програмної системи було обрано сучасний технологічний
стек, який забезпечує необхідний рівень функціональності та продуктивності.
Основними технологіями розробки є:
− Unity;
− C#;
− Physics2D;
− Animator System;
− Tilemap System;
− UI Toolkit;
− Visual Studio;
− Git.
65
На рисунку 2.10 наведено основні технології реалізації програмної
системи.
Рисунок 2.10 – Технології реалізації програмної системи.
Основною платформою для створення гри обрано Unity. Unity є одним із
найбільш популярних ігрових рушіїв у сфері розробки 2D та 3D ігор. Даний
рушій забезпечує великий набір готових компонентів, підтримку фізики,
анімації, UI-системи та кросплатформеного експорту програмних продуктів.
Основними перевагами Unity є:
− підтримка 2D та 3D графіки;
− компонентна архітектура;
− підтримка фізики;
− інтегрована система анімації;
− велика кількість навчальних матеріалів;
− підтримка Asset Store;
− можливість експорту на різні платформи.
Для реалізації програмної логіки використовується мова програмування
C#. Дана мова підтримується Unity та забезпечує можливість створення
об’єктно-орієнтованої структури програмного забезпечення. C#
66
характеризується високою продуктивністю, підтримкою сучасних принципів
програмування та зручністю інтеграції з компонентами Unity.
Під час реалізації фізичної взаємодії використовується система Physics2D.
Вона забезпечує:
− обробку колізій;
− взаємодію об’єктів;
− фізику руху;
− систему тригерів;
− виявлення зіткнень.
Для реалізації анімації використовується Animator System, яка дозволяє
створювати анімаційні стани, переходи між ними та керувати відображенням
рухів персонажів. Система анімації забезпечує плавність переміщення
персонажа, відображення атак, взаємодії з предметами та інших дій.
Tilemap System використовується для побудови ігрових локацій. Дана
технологія дозволяє створювати великі ігрові рівні із повторюваних плиток, що
значно спрощує процес розробки та оптимізує використання графічних
ресурсів.
Для створення користувацького інтерфейсу застосовується UI Toolkit та
Canvas System. Дані інструменти дозволяють реалізувати:
− HUD;
− систему інвентарю;
− меню налаштувань;
− карту;
− діалогові вікна;
− журнал квестів.
Важливою складовою розробки є використання середовища
програмування Microsoft Visual Studio. Visual Studio забезпечує зручне
редагування програмного коду, підтримку налагодження, автодоповнення та
інтеграцію з Unity.
Для контролю версій програмного забезпечення використовується Git.
Дана система дозволяє:
67
− зберігати історію змін;
− контролювати версії програмного коду;
− виконувати резервне копіювання;
− організовувати спільну розробку.
Під час створення графічних ресурсів використовуються технології Pixel
Art та Sprite Rendering. Pixel Art забезпечує формування стилістики гри, а Sprite
Rendering відповідає за відображення графічних елементів на екрані.
Для створення графіки можуть використовуватися такі інструменти:
− Aseprite;
− Photoshop;
− Piskel;
− Krita.
Аудіосистема реалізується засобами Unity Audio System, що забезпечує
відтворення фонової музики, звукових ефектів та аудіосупроводу ігрового
процесу.
Під час вибору технологій також враховано вимоги до продуктивності
програмної системи. Обраний технологічний стек дозволяє забезпечити:
− стабільну частоту кадрів;
− швидке завантаження сцен;
− оптимальне використання пам’яті;
− підтримку сучасних операційних систем;
− можливість подальшого масштабування гри.
Важливим фактором вибору Unity є підтримка кросплатформеності.
Розроблена гра може бути адаптована для запуску на:
− Windows;
− Linux;
− Android;
− Web-платформах.
Крім того, Unity має велику спільноту розробників та значну кількість
готових бібліотек, що спрощує реалізацію складних механік гри та скорочує час
розробки програмного продукту.
68
Таким чином, обрані технології забезпечують необхідний рівень
функціональності, продуктивності та зручності розробки 2D RPG-гри.
Використання Unity, C# та сучасних інструментів створення графіки й
інтерфейсу дозволяє реалізувати повноцінний ігровий застосунок із
підтримкою основних механік жанру RPG.
Висновки до розділу 2
У другому розділі кваліфікаційної роботи виконано проєктування 2D
піксельної рольової гри на платформі Unity та сформовано основні принципи
побудови програмної системи.
У процесі роботи було розроблено загальну архітектуру програмного
забезпечення, яка базується на модульному принципі організації компонентів.
Запропонована архітектура забезпечує незалежність окремих модулів, спрощує
підтримку програмного коду та створює можливість подальшого
масштабування програмної системи.
Виконано проєктування структури ігрового застосунку, визначено
основні сцени гри, логіку переходів між ними та взаємодію функціональних
модулів. Сформовано структуру проєкту, яка включає системи керування
персонажем, бойову систему, систему інвентарю, систему NPC, модуль квестів,
користувацький інтерфейс та систему збереження прогресу.
Проведено UML-моделювання програмної системи. Розроблено UML-
діаграму варіантів використання, діаграму класів, діаграму діяльності та
діаграму компонентів. Створені моделі дозволили формалізувати структуру
програмного забезпечення, визначити взаємозв’язки між компонентами
системи та описати логіку роботи гри.
У межах проєктування ігрових механік визначено основні елементи RPG-
гри, зокрема систему переміщення персонажа, бойову систему, систему
здоров’я, систему інвентарю, механізми взаємодії з NPC та систему квестів.
Реалізація зазначених механік забезпечує формування інтерактивного ігрового
середовища та динамічного ігрового процесу.
Також виконано проєктування системи персонажів та ворогів. Визначено
структуру головного персонажа, NPC та супротивників, сформовано систему
69
характеристик, анімацій та механізмів штучного інтелекту ворогів.
Запропонована структура дозволяє реалізувати гнучку систему взаємодії між
персонажами та забезпечити сюжетний розвиток гри.
Окрему увагу приділено проєктуванню користувацького інтерфейсу.
Визначено структуру HUD, систему інвентарю, журнал квестів, карту, діалогові
вікна та меню налаштувань. Інтерфейс спроєктовано з урахуванням принципів
usability, адаптивності та стилістики Pixel Art.
У результаті аналізу сучасних засобів розробки обрано технологічний
стек програмної системи, до якого входять Unity, мова програмування C#,
Physics2D, Animator System, Tilemap System, UI Toolkit та Git. Використання
зазначених технологій дозволяє забезпечити високу продуктивність програмної
системи, підтримку 2D-графіки та реалізацію основних механік жанру RPG.
Отже, у другому розділі сформовано повну проєктну основу для
подальшої програмної реалізації 2D піксельної рольової гри та визначено
основні структурні, функціональні й технологічні рішення програмної системи.
70
3 ПРОГРАМНА РЕАЛІЗАЦІЯ 2D RPG НА ПЛАТФОРМІ UNITY
У третьому розділі кваліфікаційної роботи виконано програмну
реалізацію 2D піксельної рольової гри на платформі Unity. Реалізовано основні
функціональні компоненти програмної системи, зокрема систему керування
персонажем, систему анімації, бойову систему, інвентар, механізми взаємодії з
NPC та побудову ігрових локацій засобами Tilemap.
Під час реалізації програмного забезпечення використано мову
програмування C#, компонентну архітектуру Unity, Physics2D, Animator System
та UI Toolkit. Основну увагу приділено забезпеченню модульності програмного
коду, стабільності роботи гри та оптимізації продуктивності програмної
системи.
3.1 Реалізація системи керування персонажем
Система керування персонажем є одним із ключових компонентів RPG-
гри, оскільки забезпечує взаємодію користувача з ігровим середовищем та
реалізує механіку переміщення головного героя.
Для реалізації керування персонажем використано компонент
Rigidbody2D, який забезпечує фізичну взаємодію з навколишнім середовищем
та плавність переміщення героя. Обробка вводу користувача здійснюється
через систему Input Manager Unity.
Основними функціями системи керування є:
− переміщення персонажа;
− зміна напрямку руху;
− запуск анімацій;
− взаємодія з об’єктами;
− обробка зіткнень;
− виконання атак.
На рисунку 3.1 представлено структуру системи керування персонажем.
71
Рисунок 3.1 – Структура системи керування персонажем.
Для реалізації руху використовується програмний скрипт
PlayerController.cs, який обробляє натискання клавіш та передає координати
переміщення до компонента Rigidbody2D.
Основний фрагмент програмного коду має такий вигляд:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5f;
private Rigidbody2D rb;
private Vector2 movement;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
72
movement.x = Input.GetAxisRaw("Horizontal");
movement.y = Input.GetAxisRaw("Vertical");
}
void FixedUpdate() { rb.MovePosition(rb.position + movement *
speed * Time.fixedDeltaTime); }
}
У наведеному коді реалізовано обробку горизонтального та
вертикального переміщення персонажа. Метод FixedUpdate використовується
для коректної роботи фізичної системи Unity.
Для обмеження проходження персонажа через об’єкти використано
Collider2D та систему колізій Physics2D. Кожен об’єкт сцени має відповідний
колайдер, що забезпечує взаємодію з персонажем.
Крім переміщення, система керування включає механізм взаємодії з
об’єктами. Для цього використовуються тригери та перевірка відстані між
персонажем і об’єктом взаємодії.
Основні параметри системи керування:
− швидкість руху;
− напрямок руху;
− тип взаємодії;
− стан персонажа;
− активна анімація.
Під час реалізації системи також враховано плавність керування та
швидкість реакції персонажа на дії користувача. Це дозволило забезпечити
комфортну взаємодію з ігровим середовищем та стабільну роботу системи
керування.
3.2 Реалізація системи анімації
Система анімації забезпечує відображення руху персонажів, бойових дій
та взаємодії з навколишнім середовищем. Для реалізації анімацій використано
Animator System платформи Unity.
Для кожного персонажа створено окремий Animator Controller, який
містить набір анімаційних станів:
73
• Idle;
• Walk;
• Attack;
• Hurt;
• Death.
На рисунку 3.2 наведено структуру Animator Controller головного
персонажа.
Рисунок 3.2 – Структура Animator Controller персонажа.
Перемикання між анімаціями здійснюється через параметри Animator:
animator.SetFloat("Horizontal", movement.x);
animator.SetFloat("Vertical", movement.y);
animator.SetBool("IsMoving", movement != Vector2.zero);
Під час руху персонажа система автоматично змінює поточний
анімаційний стан. Для забезпечення плавності переходів використовуються
transition-переходи між анімаціями.
Окремо реалізовано анімацію атак та отримання пошкоджень. Для цього
використовуються trigger-параметри:
74
animator.SetTrigger("Attack");
animator.SetTrigger("Hurt");
Система анімації також використовується для NPC та ворогів. Кожен тип
персонажів має власний набір анімацій та окремий Animator Controller.
3.3 Реалізація бойової системи
Бойова система реалізує механіку атак, отримання пошкоджень та
взаємодію персонажа з ворогами.
Основними компонентами бойової системи є:
− система атак;
− система здоров’я;
− система пошкоджень;
− AI ворогів;
− система смерті персонажів.
На рисунку 3.3 наведено структуру бойової системи.
Рисунок 3.3 – Структура бойової системи.
Для реалізації атаки використовується перевірка колізій у певному радіусі
навколо персонажа:
Collider2D[] hitEnemies = Physics2D.OverlapCircleAll(
75
attackPoint.position,
attackRange,
enemyLayers
);
Після виявлення ворога викликається метод отримання пошкоджень:
enemy.TakeDamage(damage);
Система здоров’я реалізована окремим класом:
public class HealthSystem : MonoBehaviour
{
public int maxHealth = 100;
public int currentHealth;
void Start()
{
currentHealth = maxHealth;
}
public void TakeDamage(int damage)
{
currentHealth -= damage;
if(currentHealth <= 0)
{
Die();
}
}
void Die()
{
Destroy(gameObject);
}
}
Вороги реалізують базову систему штучного інтелекту та можуть:
− переслідувати персонажа;
− виконувати атаки;
76
− змінювати стани поведінки;
− реагувати на пошкодження.
3.4 Реалізація системи інвентарю
Система інвентарю забезпечує збереження та використання предметів
гри. Інвентар реалізовано у вигляді окремого UI-вікна.
Основні функції системи:
− додавання предметів;
− видалення предметів;
− використання ресурсів;
− перегляд характеристик;
− зміна екіпірування.
На рисунку 3.4 наведено структуру системи інвентарю.
Рисунок 3.4 – Структура системи інвентарю.
Кожен предмет представлений окремим класом:
[System.Serializable]
public class Item
{
77
public string itemName;
public Sprite icon;
public int amount;
}
Для відображення предметів використовується Grid Layout Group та
система UI Toolkit.
3.5 Реалізація ігрових локацій та Tilemap
Для створення ігрових рівнів використано Tilemap System Unity. Даний
інструмент дозволяє будувати великі локації із повторюваних графічних
елементів.
Основними елементами системи є:
− Tilemap;
− Grid;
− Collider2D;
− Layer System.
На рисунку 3.5 представлено структуру ігрової локації.
Рисунок 3.5 – Структура ігрової локації.
78
На рисунку 3.5 представлено структуру ігрової локації 2D RPG-гри,
побудованої із використанням технології Tilemap платформи Unity. Діаграма
демонструє багатошарову організацію ігрового середовища та взаємодію
основних компонентів локації.
Основою структури є фоновий шар (Background), який містить
декоративні елементи навколишнього середовища: небо, гори, дерева та інші
елементи оформлення сцени. Даний шар формує атмосферу гри та забезпечує
візуальне оформлення ігрового світу.
Наступним рівнем є Tilemap-шар, який використовується для побудови
основної карти рівня. На цьому шарі розміщуються плитки землі, доріг, води,
стін та інших елементів поверхні. Tilemap дозволяє швидко створювати великі
ігрові локації та оптимізувати рендеринг графіки.
Шар об’єктів містить інтерактивні елементи сцени:
− будівлі;
− скрині;
− декоративні об’єкти;
− ліхтарі;
− покажчики;
− предмети взаємодії.
Окремо на рисунку показано шар персонажів, який включає головного
героя, NPC, ворогів та тварин. Саме цей шар забезпечує динамічну взаємодію
користувача з ігровим середовищем.
Нижній рівень структури представлений тригерами та зонами взаємодії.
До них належать:
− точки переходу між локаціями;
− квестові зони;
− області активації подій;
− точки появи персонажів;
− зони бою.
У правій частині рисунка наведено основні компоненти локації та їх
призначення. Декорації формують атмосферу гри, інтерактивні об’єкти
79
забезпечують взаємодію користувача з навколишнім середовищем, NPC
реалізують діалогову систему, а точки переходу забезпечують зміну ігрових
сцен.
У нижній частині діаграми показано взаємодію шарів локації. Tilemap
формує основу рівня, об’єкти доповнюють ігровий світ, персонажі
забезпечують активність сцени, а тригери керують подіями та сценаріями гри.
Таким чином, рисунок 3.5 демонструє структуру ігрової локації,
організацію шарів Tilemap та взаємодію основних елементів програмної
системи під час функціонування 2D RPG-гри.
3.6 Реалізація взаємодії з NPC та об’єктами
Система NPC реалізує діалоги, квести та взаємодію користувача з
неігровими персонажами.
Основні можливості системи:
− запуск діалогів;
− отримання квестів;
− торговельні операції;
− сюжетні повідомлення.
На рисунку 3.6 наведено структуру системи NPC.
Рисунок 3.6 – Структура системи NPC.
80
Для реалізації діалогів використовується масив текстових повідомлень:
public string[] dialogueLines;
Під час взаємодії з NPC викликається діалогове вікно:
dialogueUI.SetActive(true);
Система також забезпечує взаємодію з:
− дверима;
− скринями;
− ресурсами;
− предметами;
− зонами переходу.
3.7 Інтеграція компонентів програмної системи
Після реалізації окремих функціональних модулів було виконано
інтеграцію компонентів програмної системи в єдиний програмний продукт.
Основною метою інтеграції є забезпечення узгодженої роботи всіх систем гри,
синхронізації даних та стабільного функціонування ігрового застосунку.
Інтеграція компонентів виконувалася з використанням компонентної
архітектури платформи Unity, що дозволяє організувати взаємодію між
окремими модулями через програмні скрипти, події та менеджери систем.
До основних компонентів програмної системи належать:
− система керування персонажем;
− система анімації;
− бойова система;
− система інвентарю;
− система NPC;
− система квестів;
− система збереження;
− користувацький інтерфейс;
− система сцен;
− аудіосистема.
На рисунку 3.7 представлено інтеграцію компонентів програмної
системи.
81
Рисунок 3.7 – Інтеграція компонентів програмної системи.
Центральним елементом архітектури гри є GameManager, який відповідає
за керування глобальними станами гри та координацію взаємодії між окремими
модулями.
Основними функціями GameManager є:
− запуск гри;
− керування сценами;
− збереження даних;
− завантаження прогресу;
− контроль стану гри;
− взаємодія з UI.
Завдяки використанню Singleton забезпечується доступ до менеджера з
будь-якої частини програмної системи.
Система керування персонажем взаємодіє з:
− системою анімації;
− бойовою системою;
82
− системою інвентарю;
− системою NPC;
− Physics2D.
Під час руху персонажа дані про напрямок переміщення передаються до
Animator Controller, який активує відповідні анімаційні стани. Одночасно
система фізики обробляє колізії та взаємодію з об’єктами сцени.
Бойова система інтегрована із системою здоров’я, AI ворогів та системою
ефектів. Після виконання атаки виконується:
− перевірка зіткнення;
− обчислення пошкоджень;
− оновлення рівня здоров’я;
− запуск анімацій;
− відображення ефектів.
Система інвентарю взаємодіє з користувацьким інтерфейсом та системою
предметів. Під час отримання предмета виконується автоматичне оновлення UI
та збереження поточного стану інвентарю.
Для інтеграції UI використовується Canvas System та окремі UI-
менеджери. Користувацький інтерфейс забезпечує:
− відображення характеристик персонажа;
− роботу меню;
− систему діалогів;
− журнал квестів;
− повідомлення системи.
Система NPC інтегрована із системою діалогів та модулем квестів. Під
час взаємодії з NPC активується діалогове вікно, а система квестів оновлює
поточний прогрес користувача.
Приклад взаємодії систем NPC та діалогів:
public void Interact()
{
dialogueUI.SetActive(true);
dialogueManager.StartDialogue(dialogueData);
83
}
Система збереження забезпечує запис даних усіх основних компонентів
гри:
− характеристик персонажа;
− інвентарю;
− стану квестів;
− поточної сцени;
− позиції персонажа.
Для серіалізації даних використовується JSON-формат:
string json = JsonUtility.ToJson(playerData);
File.WriteAllText(savePath, json);
Інтеграція сцен реалізується через SceneManager Unity. Це дозволяє
здійснювати переходи між локаціями та підтримувати безперервність ігрового
процесу.
Приклад завантаження сцени:
SceneManager.LoadScene("Village");
Для синхронізації аудіосистеми використовуються AudioSource та
AudioManager. Аудіосистема взаємодіє з:
− бойовою системою;
− системою UI;
− анімаціями;
− подіями гри.
Під час інтеграції компонентів важливу увагу приділено оптимізації
продуктивності програмної системи. З цією метою використано:
− кешування компонентів;
− оптимізацію Tilemap;
− object pooling;
− асинхронне завантаження сцен;
− оптимізацію анімацій.
Особливу роль у процесі інтеграції відіграє система подій, яка забезпечує
обмін інформацією між компонентами без жорсткої залежності між модулями.
84
Приклад використання подій:
public static event Action OnPlayerDeath;
Після завершення інтеграції виконано тестування взаємодії компонентів
програмної системи та перевірено коректність обміну даними між модулями
гри.
У результаті інтеграції було сформовано єдину програмну систему 2D
RPG-гри, у якій усі компоненти працюють узгоджено та забезпечують
стабільне функціонування ігрового застосунку.
Висновки до розділу 3
У третьому розділі кваліфікаційної роботи виконано програмну
реалізацію основних компонентів 2D піксельної рольової гри на платформі
Unity. У процесі розробки реалізовано функціональні модулі, що забезпечують
повноцінне функціонування програмної системи та підтримують основні
механіки жанру RPG.
Було реалізовано систему керування персонажем, яка забезпечує обробку
вводу користувача, переміщення героя, взаємодію з ігровим середовищем та
підтримку фізичної моделі Physics2D. Використання компонентів Rigidbody2D
та Collider2D дозволило забезпечити плавність руху персонажа та коректну
обробку колізій.
Реалізовано систему анімації персонажів із використанням Animator
Controller. Створено анімаційні стани руху, атаки, отримання пошкоджень та
смерті персонажа. Використання Animator System забезпечило плавність
переходів між анімаціями та покращило візуальне сприйняття ігрового процесу.
У межах програмної реалізації бойової системи створено механізми атак,
обробки пошкоджень, систему здоров’я та базовий штучний інтелект ворогів.
Реалізована бойова система забезпечує взаємодію між персонажем і
супротивниками та формує основу динамічного ігрового процесу.
Також реалізовано систему інвентарю, яка забезпечує роботу з
предметами, ресурсами та екіпіруванням персонажа. Розроблено механізми
додавання, використання, сортування та збереження предметів, а також
інтеграцію інвентарю з користувацьким інтерфейсом гри.
85
Для побудови ігрових локацій використано технологію Tilemap, яка
дозволила реалізувати багатошарову структуру рівнів та оптимізувати
рендеринг графіки. Створено структуру локацій із використанням Tilemap-
шарів, об’єктів сцени, NPC, зон взаємодії та тригерів переходу між сценами.
Реалізовано систему взаємодії з NPC та об’єктами гри. Створено
діалогову систему, механізми отримання квестів та систему активації ігрових
подій. Взаємодія користувача з NPC реалізована через систему тригерів та
діалогових вікон.
Виконано інтеграцію компонентів програмної системи в єдиний
програмний продукт. Для координації роботи модулів використано
GameManager, систему подій та механізми обміну даними між компонентами.
Інтеграція забезпечила узгоджену роботу всіх функціональних елементів гри та
стабільність програмного забезпечення.
Під час реалізації програмної системи використано сучасні технології
розробки ігор, зокрема мову програмування C#, Physics2D, Animator System,
Tilemap System, UI Toolkit та систему керування сценами Unity.
Отже, у третьому розділі виконано повноцінну програмну реалізацію 2D
RPG-гри, реалізовано основні механіки жанру рольових комп’ютерних ігор та
сформовано функціональну основу програмного продукту для подальшого
тестування та аналізу ефективності роботи системи.
86
4 ТЕСТУВАННЯ ТА АНАЛІЗ РЕЗУЛЬТАТІВ РОБОТИ ГРИ
У четвертому розділі кваліфікаційної роботи виконано тестування та
аналіз результатів роботи розробленої 2D RPG-гри на платформі Unity.
Проведено перевірку функціональних можливостей програмної системи, аналіз
продуктивності гри, оцінювання якості користувацького інтерфейсу та
дослідження стабільності роботи основних механік програмного забезпечення.
Основною метою тестування є перевірка коректності роботи
функціональних модулів гри, виявлення можливих помилок програмної
системи та оцінка ефективності реалізованих механік.
4.1 Методика тестування програмного забезпечення
Тестування програмного забезпечення є важливим етапом розробки
комп’ютерних ігор, оскільки дозволяє перевірити стабільність роботи системи,
коректність функціонування окремих модулів та відповідність програмного
продукту поставленим вимогам.
Під час тестування 2D RPG-гри було використано комплексний підхід,
який включає:
− функціональне тестування;
− тестування продуктивності;
− тестування користувацького інтерфейсу;
− тестування стабільності;
− тестування сумісності;
− тестування ігрових механік.
На рисунку 4.1 представлено методику тестування програмної системи.
87
Рисунок 4.1 – Методика тестування програмного забезпечення.
Функціональне тестування виконувалося з метою перевірки коректності
роботи основних модулів гри. У межах тестування перевірялися:
− система керування персонажем;
− система анімації;
− бойова система;
− система інвентарю;
− система NPC;
− система квестів;
− система переходів між сценами;
− система збереження гри.
Тестування продуктивності проводилося для оцінки швидкодії
програмної системи та стабільності роботи гри під час виконання ігрового
процесу. Основними параметрами оцінювання були:
− частота кадрів;
− використання оперативної пам’яті;
− швидкість завантаження сцен;
88
− навантаження на процесор;
− стабільність роботи Physics2D.
Тестування користувацького інтерфейсу виконувалося для перевірки
коректності відображення елементів UI, зручності взаємодії та адаптивності
інтерфейсу на різних роздільних здатностях екрана.
Для проведення тестування використовувалися:
− Unity Profiler;
− Debug Console;
− Visual Studio Debugger;
− Physics Debugger;
− Frame Debugger.
Тестування проводилося на персональному комп’ютері з такими
характеристиками:
− процесор Intel Core i5;
− 16 ГБ оперативної пам’яті;
− відеокарта NVIDIA GeForce GTX;
− операційна система Windows 11.
У процесі тестування також здійснювався аналіз логів системи та
перевірка роботи гри під час тривалого запуску програмного забезпечення.
4.2 Тестування функціональних можливостей гри
Функціональне тестування проводилося для перевірки роботи всіх
реалізованих механік гри та взаємодії між компонентами програмної системи.
Основними об’єктами тестування були:
− система руху персонажа;
− система атак;
− система взаємодії з NPC;
− система інвентарю;
− система анімації;
− система квестів;
− система збереження.
89
На рисунку 4.2 представлено тестування функціональних можливостей
гри.
Рисунок 4.2 – Тестування функціональних можливостей гри.
Під час тестування системи керування було перевірено плавність
переміщення персонажа, коректність роботи колізій, взаємодію героя з
об’єктами сцени та реакцію програмної системи на натискання клавіш
керування. У процесі перевірки встановлено, що персонаж рухається плавно,
коректно реагує на дії користувача та не проходить крізь об’єкти ігрового
середовища. Також підтверджено стабільну роботу системи взаємодії з
ігровими елементами та правильну обробку команд керування.
Тестування бойової системи включало перевірку механіки атак, обробки
пошкоджень, роботи системи здоров’я персонажа та ворогів, взаємодії із
супротивниками, а також анімації бойових дій. У результаті тестування
встановлено, що система атак працює коректно, пошкодження обчислюються
правильно, а показники здоров’я оновлюються відповідно до логіки гри.
Анімації бойових дій відображаються без помилок, а взаємодія персонажа з
ворогами забезпечує стабільний та динамічний ігровий процес.
90
Під час тестування не було виявлено критичних помилок у роботі бойової
системи. Усі атаки коректно оброблялися програмною системою, а показники
здоров’я оновлювалися відповідно до логіки гри.
Під час тестування системи інвентарю було виконано перевірку основних
механізмів роботи з предметами та ресурсами гри. У процесі тестування
аналізувалася коректність додавання предметів до інвентарю, використання
ресурсів користувачем, сортування предметів за категоріями, відображення
іконок у користувацькому інтерфейсі та збереження даних інвентарю після
завершення ігрової сесії.
Особливу увагу приділено перевірці правильності оновлення інтерфейсу
після взаємодії з предметами. Було встановлено, що всі об’єкти коректно
додаються до інвентарю, відображаються у відповідних комірках та зберігають
власні характеристики. Система сортування працює стабільно та забезпечує
швидкий доступ користувача до необхідних ресурсів. Також підтверджено
правильну роботу механізму збереження даних інвентарю та їх відновлення
після повторного запуску гри.
У результаті тестування встановлено коректну роботу системи інвентарю
та правильне відображення предметів у користувацькому інтерфейсі гри.
Тестування системи NPC включало перевірку механізмів взаємодії
користувача з неігровими персонажами та роботу діалогової системи. У процесі
тестування аналізувалися запуск діалогів, отримання квестів, коректність
відображення текстових повідомлень, активація ігрових подій та переходи між
станами NPC.
Під час перевірки встановлено, що система діалогів працює стабільно та
забезпечує послідовне відображення текстових повідомлень і варіантів
взаємодії. NPC коректно реагують на дії користувача, активують квести та
змінюють власний стан відповідно до логіки гри. Також підтверджено
правильну роботу механізмів запуску подій та переходів між окремими
сценаріями взаємодії.
91
У результаті тестування встановлено, що система NPC забезпечує
стабільну взаємодію користувача з ігровим світом та підтримує коректне
функціонування сюжетних механік гри.
Усі функціональні модулі NPC працювали стабільно та забезпечували
взаємодію користувача з ігровим світом.
4.3 Аналіз продуктивності та оптимізації гри
Аналіз продуктивності програмної системи є важливим етапом
тестування комп’ютерної гри, оскільки дозволяє оцінити ефективність
використання апаратних ресурсів, стабільність роботи програмного
забезпечення та рівень оптимізації ігрового процесу.
Основною метою аналізу продуктивності розробленої 2D RPG-гри є
визначення швидкодії програмної системи, виявлення можливих проблем
продуктивності та оцінка ефективності використаних методів оптимізації.
Під час тестування проводився аналіз частоти кадрів (FPS), використання
оперативної пам’яті, навантаження на центральний процесор, швидкості
завантаження сцен, стабільності рендерингу, ефективності системи фізики та
продуктивності анімаційної системи. Дослідження зазначених параметрів
дозволило комплексно оцінити швидкодію програмної системи та рівень її
оптимізації.
На рисунку 4.3 представлено результати аналізу продуктивності гри.
92
Рисунок 4.3 – Аналіз продуктивності та оптимізації гри.
На рисунку 4.3 представлено результати аналізу продуктивності та
оптимізації розробленої 2D RPG-гри. Діаграма демонструє основні показники
швидкодії програмної системи, використані методи оптимізації та результати
тестування гри під час виконання ігрового процесу.
У верхній частині рисунка наведено характеристики тестового
середовища, на якому проводилося дослідження продуктивності програмної
системи. Також відображено основні показники роботи гри, серед яких
середній FPS, використання оперативної пам’яті, навантаження на центральний
процесор, час завантаження сцен та кількість draw calls.
Праворуч на рисунку показано графік зміни FPS під час тестування гри.
Отримані результати свідчать про стабільну роботу програмної системи із
середньою частотою кадрів у межах 58–60 FPS, що забезпечує плавний ігровий
процес та комфортну взаємодію користувача з грою.
У центральній частині діаграми представлено результати аналізу
використання системних ресурсів засобами Unity Profiler. Зокрема, показано
навантаження на CPU, використання оперативної пам’яті та GPU під час
93
виконання гри. Аналіз підтверджує стабільність роботи програмної системи
навіть за значного навантаження на сцену.
Окремий блок рисунка присвячений методам оптимізації, які були
використані під час розробки гри. До основних засобів оптимізації належать:
• використання Tilemap System;
• застосування object pooling;
• оптимізація Animator Controller;
• оптимізація Physics2D;
• асинхронне завантаження сцен.
У нижній частині рисунка наведено результати проведеної оптимізації.
Зокрема, показано зменшення використання оперативної пам’яті, скорочення
навантаження на процесор, зменшення часу завантаження сцен та підвищення
стабільності роботи гри.
Таким чином, рисунок 4.3 демонструє результати аналізу продуктивності
програмної системи та підтверджує ефективність використаних методів
оптимізації під час розробки 2D RPG-гри на платформі Unity.
Для проведення аналізу використовувалися вбудовані інструменти
платформи Unity, зокрема Unity Profiler, Frame Debugger, Physics Debugger,
Memory Profiler та Stats Panel. Використання зазначених засобів дозволило
отримати детальну інформацію про навантаження на процесор і відеосистему,
використання оперативної пам’яті, швидкість виконання програмних скриптів
та кількість draw calls під час рендерингу сцени.
У результаті тестування встановлено, що середня частота кадрів гри
становить близько 60 FPS, що забезпечує плавний ігровий процес та комфортну
взаємодію користувача з програмною системою. Під час аналізу також
визначено, що використання оперативної пам’яті знаходиться в межах 450–700
МБ, навантаження на CPU становить у середньому 25–40 %, а час завантаження
нової сцени не перевищує трьох секунд.
Одним із основних факторів підвищення продуктивності стала
оптимізація системи рендерингу. Для цього використовувалася технологія
Tilemap, яка дозволила зменшити кількість графічних об’єктів, оптимізувати
94
відображення сцен, скоротити навантаження на GPU та зменшити
використання пам’яті. Використання Tilemap забезпечило підвищення
швидкодії гри під час роботи з великими ігровими локаціями.
Також було виконано оптимізацію анімаційної системи шляхом
зменшення кількості одночасно активних Animator Controller, оптимізації
переходів між анімаціями та кешування параметрів Animator. У результаті
цього система анімації стабільно працювала навіть за наявності великої
кількості NPC та ворогів на сцені.
Особливу увагу приділено оптимізації системи фізики Physics2D. Для
зменшення навантаження на процесор реалізовано обмеження кількості
активних колізій, використання Layer Mask, спрощення Collider2D та
оптимізацію фізичних обчислень. Це дозволило зменшити навантаження на
CPU та забезпечити стабільність роботи системи колізій.
Для підвищення ефективності роботи об’єктів сцени використано
технологію object pooling, яка дозволяє повторно використовувати об’єкти
замість їх постійного створення та видалення. Даний підхід застосовано для
бойових ефектів, снарядів, частинок, тимчасових UI-елементів та візуальних
ефектів. Використання object pooling дозволило зменшити навантаження на
пам’ять, скоротити кількість звернень до Garbage Collector та підвищити
стабільність FPS.
Крім того, було оптимізовано систему завантаження сцен. Для цього
використовувалися асинхронне завантаження, попереднє кешування ресурсів,
оптимізація текстур та розподіл об’єктів по шарах. У результаті вдалося
забезпечити швидке завантаження ігрових локацій та зменшити затримки під
час переходу між сценами.
Для аналізу стабільності роботи гри виконувалося тривале тестування
програмної системи. Під час перевірки контролювалися витоки пам’яті,
помилки виконання, стабільність FPS, коректність роботи сцен та
функціонування системи збереження. У результаті тестування критичних
помилок або аварійного завершення роботи гри виявлено не було.
95
Також проведено аналіз навантаження на систему під час одночасного
відображення великої кількості NPC, анімацій, бойових ефектів, UI-
компонентів та об’єктів Tilemap. Результати тестування показали стабільну
роботу гри навіть за значного навантаження на сцену.
Під час аналізу продуктивності встановлено, що найбільше навантаження
створюють система анімації, Physics2D, рендеринг великої кількості спрайтів та
система освітлення. Для подальшого підвищення продуктивності можуть бути
використані технології Sprite Atlas, GPU Instancing, Addressables System,
додаткова оптимізація UI та динамічне завантаження ресурсів.
У результаті проведеного аналізу підтверджено, що розроблена
програмна система забезпечує стабільну роботу гри, ефективно використовує
системні ресурси та підтримує плавний ігровий процес на сучасних
персональних комп’ютерах.
4.4 Аналіз якості користувацького інтерфейсу
Аналіз користувацького інтерфейсу проводився з метою оцінювання
зручності використання гри, якості навігації та коректності відображення UI-
компонентів.
На рисунку 4.4 представлено аналіз якості користувацького інтерфейсу
гри.
Рисунок 4.4 – Аналіз якості користувацького інтерфейсу.
96
Під час аналізу перевірялися:
− структура HUD;
− система меню;
− відображення інвентарю;
− журнал квестів;
− система діалогів;
− адаптивність UI.
Особливу увагу приділено читабельності елементів інтерфейсу та
стилістичній відповідності Pixel Art-дизайну.
У процесі тестування встановлено, що:
− усі елементи UI коректно масштабуються;
− інтерфейс не перекриває важливі області гри;
− користувач швидко отримує доступ до основних функцій;
− система повідомлень працює стабільно.
Також перевірено адаптивність інтерфейсу на різних роздільних
здатностях екрана. Усі компоненти UI коректно відображалися без спотворення
графіки або втрати функціональності.
4.5 Оцінка результатів роботи програмної системи
Після завершення тестування було проведено загальну оцінку результатів
роботи програмної системи.
На рисунку 4.5 представлено результати оцінювання роботи гри.
97
Рисунок 4.5 – Результати оцінювання роботи програмної системи.
У результаті виконання тестування встановлено, що розроблена 2D RPG-
гра:
− забезпечує стабільну роботу основних механік;
− підтримує плавну анімацію персонажів;
− коректно обробляє взаємодію між компонентами;
− забезпечує стабільну частоту кадрів;
− підтримує систему збереження прогресу;
− має зручний користувацький інтерфейс.
Проведене тестування підтвердило коректність роботи програмної
системи та ефективність використаних технологій розробки.
Отримані результати свідчать про можливість подальшого розвитку гри,
додавання нових механік, локацій, персонажів та сюжетних елементів.
Висновки до розділу 4
У четвертому розділі кваліфікаційної роботи виконано тестування та
аналіз результатів роботи розробленої 2D RPG-гри на платформі Unity.
98
Проведено функціональне тестування основних компонентів програмної
системи, зокрема системи керування персонажем, бойової системи, інвентарю,
NPC та користувацького інтерфейсу. У результаті перевірки підтверджено
коректність роботи реалізованих механік гри.
Виконано аналіз продуктивності програмної системи та досліджено
ефективність використання системних ресурсів. У результаті оптимізації
вдалося забезпечити стабільну частоту кадрів, коректну роботу Tilemap та
плавність анімації персонажів.
Також проведено оцінювання якості користувацького інтерфейсу та
перевірено адаптивність UI на різних роздільних здатностях екрана. Аналіз
показав зручність використання гри та відповідність інтерфейсу вимогам жанру
RPG.
Отже, результати тестування підтвердили працездатність програмної
системи, стабільність роботи основних механік гри та ефективність
використаних технологій розробки.
99
ВИСНОВКИ
У результаті виконання кваліфікаційної роботи було розроблено 2D
піксельну рольову гру на платформі Unity із використанням сучасних
технологій програмування та засобів створення комп’ютерних ігор. У процесі
виконання роботи проведено аналіз предметної області, спроєктовано
архітектуру програмної системи, реалізовано основні ігрові механіки та
виконано тестування розробленого програмного забезпечення.
У першому розділі роботи проведено аналіз сучасної індустрії
комп’ютерних ігор, досліджено особливості жанру RPG та сучасні технології
розробки ігрових застосунків. Виконано аналіз ігрових рушіїв, засобів
створення 2D-графіки та технологій реалізації Pixel Art-ігор. У результаті
дослідження обґрунтовано доцільність використання Unity для реалізації
програмної системи.
У другому розділі виконано проєктування програмної системи 2D RPG-
гри. Розроблено загальну архітектуру програмного забезпечення, структуру
ігрового застосунку та UML-моделі системи. Також спроєктовано основні
ігрові механіки, систему персонажів, систему ворогів та користувацький
інтерфейс гри. Визначено основні технології реалізації програмного продукту
та сформовано структуру програмної системи.
У третьому розділі виконано програмну реалізацію основних компонентів
гри. Реалізовано систему керування персонажем, систему анімації, бойову
систему, систему інвентарю, систему NPC та побудову ігрових локацій
засобами Tilemap. Для розробки програмного забезпечення використано мову
програмування C#, Physics2D, Animator System та UI Toolkit. У процесі
інтеграції компонентів сформовано повноцінний ігровий застосунок із
підтримкою основних механік жанру RPG.
У четвертому розділі проведено тестування та аналіз результатів роботи
програмної системи. Виконано функціональне тестування основних модулів
гри, аналіз продуктивності та оцінювання якості користувацького інтерфейсу.
Результати тестування підтвердили стабільність роботи програмної системи,
100
коректність реалізації ігрових механік та ефективність використаних методів
оптимізації.
Під час виконання кваліфікаційної роботи було досягнуто поставленої
мети — розроблено функціональну 2D RPG-гру із використанням сучасних
засобів розробки комп’ютерних ігор. Реалізований програмний продукт
забезпечує:
− плавний ігровий процес;
− стабільну роботу системи керування;
− коректну взаємодію персонажів;
− функціональну бойову систему;
− систему інвентарю;
− підтримку NPC та квестів;
− адаптивний користувацький інтерфейс;
− стабільну продуктивність гри.
Практичне значення отриманих результатів полягає у можливості
використання розробленої програмної системи як основи для створення більш
складних рольових ігор, навчальних проєктів або indie-ігор із розширеним
функціоналом.
Перспективами подальшого розвитку проєкту є:
− розширення ігрового світу;
− додавання нових локацій;
− реалізація мультиплеєра;
− покращення штучного інтелекту ворогів;
− розширення системи квестів;
− додавання системи збереження в хмарі;
− адаптація гри для мобільних платформ.
Отже, результати кваліфікаційної роботи підтверджують ефективність
використання платформи Unity для створення 2D піксельних рольових ігор та
демонструють можливість реалізації повноцінної RPG-гри із сучасними
механіками, зручним користувацьким інтерфейсом і стабільною
продуктивністю.
101
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Пасічник В. В. Організація баз даних та знань / В. В. Пасічник, В. А.
Резніченко. – Київ : Видавнича група BHV, 2019. – 384 с.
2. Семеріков С. О. Інформаційні технології та програмування : навч. посіб. /
С. О. Семеріков. – Кривий Ріг : КНУ, 2021. – 460 с.
3. Шаховська Н. Б. Проєктування інформаційних систем : навч. посіб. / Н. Б.
Шаховська, В. В. Литвин. – Львів : Новий Світ – 2000, 2020. – 380 с.
4. Таненбаум Е. С. Сучасні операційні системи / Е. С. Таненбаум, Г. Бос. –
Київ : Видавнича група BHV, 2018. – 1120 с.
5. Adams E. Fundamentals of Game Design / E. Adams. – 3rd ed. – Berkeley :
New Riders, 2014. – 576 p.
6. Cook T. RPG Game Programming with Unity / T. Cook. – Birmingham : Packt
Publishing, 2016. – 420 p.
7. Dickheiser M. Beginning C# Game Programming / M. Dickheiser. – New
York : Apress, 2020. – 412 p.
8. Freeman E. Head First Design Patterns / E. Freeman, E. Robson. – Sebastopol :
O’Reilly Media, 2020. – 694 p.
9. Gamma E. Design Patterns: Elements of Reusable Object-Oriented Software /
E. Gamma, R. Helm, R. Johnson, J. Vlissides. – Boston : Addison-Wesley,
1994. – 395 p.
10. Goldstone W. Unity Game Development Essentials / W. Goldstone. –
Birmingham : Packt Publishing, 2015. – 370 p.
11. Gregory J. Game Engine Architecture / J. Gregory. – 3rd ed. – Boca Raton :
CRC Press, 2018. – 1138 p.
12. McShaffry M. Game Coding Complete / M. McShaffry, D. Graham. – 4th ed.
– Boston : Cengage Learning, 2012. – 1136 p.
13. Novak J. Game Development Essentials: An Introduction / J. Novak. – 3rd ed.
– Boston : Cengage Learning, 2011. – 640 p.
14. Nystrom R. Game Programming Patterns / R. Nystrom. – Genever Benning,
2014. – 354 p.
102
15. Pressman R. Software Engineering: A Practitioner’s Approach / R. Pressman.
– 8th ed. – New York : McGraw-Hill Education, 2014. – 976 p.
16. Rabin S. Introduction to Game Development / S. Rabin. – 2nd ed. – Boston :
Charles River Media, 2010. – 936 p.
17. Rogers S. Level Up! The Guide to Great Video Game Design / S. Rogers. –
2nd ed. – Chichester : Wiley, 2014. – 552 p.
18. Rollings A. Fundamentals of Game Design / A. Rollings, E. Adams. – London
: Pearson Education, 2016. – 570 p.
19. Schell J. The Art of Game Design: A Book of Lenses / J. Schell. – 3rd ed. –
Boca Raton : CRC Press, 2019. – 935 p.
20. Sommerville I. Software Engineering / I. Sommerville. – 10th ed. – Boston :
Pearson, 2015. – 816 p.
21. Unity Technologies. Unity User Manual [Електронний ресурс]. – Режим
доступу: Unity Documentation
22. Unity Technologies. Unity Scripting API [Електронний ресурс]. – Режим
доступу: Unity Scripting API
23. Microsoft Corporation. Documentation for C# [Електронний ресурс]. –
Режим доступу: Microsoft C# Documentation
24. Unity Learn. 2D Game Development Course [Електронний ресурс]. – Режим
доступу: Unity Learn
103
ДОДАТОК А
Затверджую
Зав. кафедри КНСА,
_________ Юрій ТРИУС
«____»____________2026 р.
2D ПІКСЕЛЬНА РОЛЬОВА ГРА НА ПЛАТФОРМІ UNITY
Специфікація
482.ЧДТУ.62291-01
Листів 2
Розробник ____________________ Мельник О.О.
Керівник ____________________ Дяченко П.В.
Черкаси – 2026
104
482.ЧДТУ. 62291-01
Позначення Найменування Примітка
Документація
482.ЧДТУ. 62291-01 12 01 Лістинг коду програми
482.ЧДТУ. 62291-01 34 01 Інструкція користувача
482.ЧДТУ. 62291-01 91 01 Результати тестування
системи
105
ДОДАТОК Б
2D ПІКСЕЛЬНА РОЛЬОВА ГРА НА ПЛАТФОРМІ UNITY
ЛІСТИНГ КОДУ ПРОГРАМИ
482. ЧДТУ 62291-01 12 01
Листів 4
Розробник: Мельник О.О.
Керівник: Дяченко П.В.
Черкаси – 2026