Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал: https://er.chdtu.edu.ua/handle/ChSTU/6920
Повний запис метаданих
Поле DCЗначенняМова
dc.contributor.advisorРудницький , Сергій Володимирович-
dc.contributor.authorЗадвернюк, Артем Олександрович-
dc.date.accessioned2026-01-26T15:03:13Z-
dc.date.available2026-01-26T15:03:13Z-
dc.date.issued2022-06-14-
dc.identifier.urihttps://er.chdtu.edu.ua/handle/ChSTU/6920-
dc.description.abstractРинок комп’ютерних ігор це одна з найбільших та затребуваніших індустрій які є в сучасному світі. З кожним роком ця галузь постійно розвивається, стає більш складною. Через неспинний розвиток технологій конкурування тут стає все більш неможливим, гіганти ринку використовують все більш складні та просунуті середовища розробки. Проте, якби цією індустрією заправляли лише великі компанії то ігор було б значно менше, а розробникам було б складніше знайти роботу в цій галузі. Тому навіть в сучасному світі ринок комп’ютерних ігор можна поділити на два табори: великі корпорації та інді розробники. На відміну від великих корпорацій інді розробники роблять наголос не на видовищності гри або якості графіки, в цьому середовищі перемагає той хто зробе гру цікавішою та креативнішою. Зручність інді розробки в тому що це може бути невеличка компанія або взагалі одна людина, і на відміну від великих компаній інді розробники використовують будь які програми більш прості та зручні в користуванні, в яких при цьому достатньо функціоналу щоб розробити повноцінну гру. Unity 3D – це мультиплатформне та багатофункціональне середовище для розробки ігор. Головна перевага цього ігрового двигуна в тому що він має візуальне середовище для розробки. Також важливим фактором для успіху будь якої гри є написання сайту або лендінгу для неї. Більшість інді розробників використовують для цього різні CMS. CMS Wordpress – це один з найпопулярніших софтів для управління контентом сайту, за його допомогою можна швидко вносити необхідні зміни на свій сайт, управляти статтями, зображеннями та іншим контентом. Метою кваліфікаційної роботи є розробка комп’ютерної гри та лендінг сторінки за допомогою сучасних технологій для створення ігор та Web-сайтів.uk_UA
dc.language.isoukuk_UA
dc.subjectUnity 3Duk_UA
dc.subjectWordpressuk_UA
dc.subjectвеб-сторінкиuk_UA
dc.subjectкомп`ютерні ігриuk_UA
dc.subjectбаза данихuk_UA
dc.titleРозробка комп’ютерної гри жанру аркадного платформера з web-додатком до неїuk_UA
dc.typeBachelor Thesisuk_UA
Розташовується у зібраннях:126 Інформаційні системи та технології (Web-технології, web-дизайн)

Файли цього матеріалу:
Файл Опис РозмірФормат 
РЕП_БАК_Задвернюк_WEB-1811.pdf
  Restricted Access
2.56 MBAdobe PDFПереглянути/Відкрити    Запит копії


Усі матеріали в архіві електронних ресурсів захищено авторським правом, усі права збережено.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛГІЙ І СИСТЕМ 
КАФЕДРА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ ПРОЕКТУВАННЯ 
 
КВАЛІФІКАЦІЙНА РОБОТА БАКАЛАВРА 
 
на тему: «Розробка комп’ютерної гри жанру аркадного платформера з 
web-додатком до неї»  
за спеціальністю 126 «Інформаційні системи та технології» 
 
Виконавець роботи: студент групи WEB-1811 Задвернюк Артем Олександрович 
 
 
Кваліфікаційну роботу 
захищено на засіданні ЕК 
з оцінкою           ___________   «___» червень 2022 р. 
 
Науковий керівник         ___________          к.т.н. Рудницький С.В. 
             (підпис)  (науковий ступінь, вчене звання, прізвище та ініціали) 
 
Голова комісії                   ___________          ____________________________ 
             (підпис)  (науковий ступінь, вчене звання, прізвище та ініціали) 
 
Засвідчую, що у цій дипломній роботі немає 
запозичень з праць інших авторів 
без відповідних посилань  
 
Студент _____________ 
     (підпис) 
 
 
Черкаси – 2022 року 
  
 
Зміст 
 
  
ВСТУП 5 
1 АНАЛІТИЧНА ЧАСТИНА 7 
1.1 Цілі, принципи, переваги застосування Unity 3D 7 
1.2 Цілі, принципи, переваги застосування CMS Wordpress 11 
1.3 Базові поняття, принципи та технології створення комп`ютерних ігор 14 
1.4 Огляд існуючих аналогів та їх порівняння 15 
1.5 Висновок до частини 1 19 
2 ПРОЕКТУВАННЯ ГРИ НА UNITY 3D 21 
2.1 Постановка задачі 21 
2.2 Можливості додатку 21 
2.3 Архітектура 22 
2.4 Стек технологій 23 
2.5 Висновок до частини 2 25 
3 РЕАЛІЗАЦІЯ КОМП’ЮТЕРНОЇ ГРИ 26 
3.1 Реалізація головного героя 26 
3.2 Реалізація перешкод 30 
3.3 Реалізація ефектів та рівнів 36 
3.4 Висновок до частини 3 46 
4 ПРОЕКТУВАННЯ ТА РЕАЛІЗАЦІЯ ВЕБ-СТОРІНКИ 48 
4.1 Стек технологій 48 
4.2 Реалізація веб-сторінки 50 
4.3 Висновок до частини 4 53 
ВИСНОВКИ 55 
  
 
ЧДТУ 221804.001 ПЗ 
Зм. Лист № докумемента Підпис Дата 
 
Розроб. Задвернюк А.О. Розробка комп’ютерної гри та web-додатку Літ. Лист Листів 
П ерев.  Рудницьки й С.В.   
 до неї Н 2 Лист 
68 
Р еценз.  Красношл ик Н.О.   ЧД ТУ 221804.001 ПЗ 
Зм А ФІТІС, 3 
Н.контрр.к . Рудн№иц ьдкоийку См.В.. Пояснювальна записка 
  Пiдпис. Дата 
нт
Затв. ПрокопенкоТ.О.. кафедра ІТП, Web-1811 
  
  
ДОДАТОК А 482 ЧДТУ 21804 – 01 Сайт-портфоліо “Дизайн інтер’єру” 56 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 67 
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
4 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
СПИСОК СКОРОЧЕНЬ ТА УМОВНИХ 
ПОЗНАЧЕНЬ 
 
 
CMS – Система управління змістом. 
UI – Користувацький інтерфейс. 
GE – Ігровий рушій. 
C# – Мова програмування сі шарп. 
PhysX – Програмне забезпечення, фізичний рушій. 
API – Програмний інтерфейс додатку. 
ПЗ – Програмне забезпечення. 
GML – Game Maker Language. 
MySQL – Система управління базами даних. 
XAMPP – Кросплатформна збірка веб-сервера. 
СУБД – Система управління базаи даних. 
PHP – Мова програмування. 
Google Chrome – Браузер. 
Apache – Веб-сервер. 
Git – Розподільна симтема управління версіями. 
VS Code – Редактор коду. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
5 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
ВСТУП 
 
 
Ринок комп’ютерних ігор це одна з найбільших та затребуваніших 
індустрій які є в сучасному світі. З кожним роком ця галузь постійно 
розвивається, стає більш складною. Через неспинний розвиток технологій 
конкурування тут стає все більш неможливим, гіганти ринку використовують 
все більш складні та просунуті середовища розробки.  
Проте, якби цією індустрією заправляли лише великі компанії то ігор 
було б значно менше, а розробникам було б складніше знайти роботу в цій 
галузі. Тому навіть в сучасному світі ринок комп’ютерних ігор можна поділити 
на два табори: великі корпорації та інді розробники.  
На відміну від великих корпорацій інді розробники роблять наголос не 
на видовищності гри або якості графіки, в цьому середовищі перемагає той хто 
зробе гру цікавішою та креативнішою. Зручність інді розробки в тому що це 
може бути невеличка компанія або взагалі одна людина, і на відміну від 
великих компаній інді розробники використовують будь які програми більш 
прості та зручні в користуванні, в яких при цьому достатньо функціоналу щоб 
розробити повноцінну гру. 
Unity 3D – це мультиплатформне та багатофункціональне середовище 
для розробки ігор. Головна перевага цього ігрового двигуна в тому що він має 
візуальне середовище для розробки. 
Також важливим фактором для успіху будь якої гри є написання сайту або 
лендінгу для неї. Більшість інді розробників використовують для цього різні 
CMS.  
CMS Wordpress – це один з найпопулярніших софтів для управління 
контентом сайту, за його допомогою можна швидко вносити необхідні зміни на 
свій сайт, управляти статтями, зображеннями та іншим контентом. 
Метою кваліфікаційної роботи є розробка комп’ютерної гри та лендінг 
сторінки за допомогою сучасних технологій для створення ігор та Web-сайтів. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
6 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Для реалізації поставленої мети слід вирішити наступні завдання: 
 Розглянути цілі, принципи, переваги застосування Unity 3D та CMS 
Wordpress. 
 Провести аналіз базових понять, принципи та технології процессу 
створення комп’ютерних ігор та Web-сторінок. 
 Проаналізувати аналоги. 
 Сформувати вимоги до гри. 
 Дослідити основні етапи створення та проаналізувати технології, які 
використовуються при розробці комп’ютерних ігор та Web-сторінок. 
 Дослідити та проаналізувати технології сучасної розробки комп’ютерних 
ігор та Web-сторінок. 
 Спроектувати структуру Web-сторінки. 
 Реалізувати UI для Web-сторінки. 
 Реалізувати підтримку гри та лендінг сторінки для неї. 
 
Об’єктом роботи є розробка комп’ютерної гри Creeper Life та Web-
сторінки до неї. 
Предметом роботи є Unity 3D, CMS Wordpress, Visual Studio Code, мова 
програмування C#. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
7 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
1 АНАЛІТИЧНА ЧАСТИНА 
 
 
1.1 Цілі, принципи, переваги застосування Unity 3D 
В наш час існує багато програмних засобів для створення комп’ютерних 
ігор, їх називають ігровими рушіями (з англ. game engine). В залежності від 
цілей або масштабності проекту використовують різні GE. 
Unity 3D – це багатоплатформна, багатофункціональна та одна з 
найпопулярніших GE в світі. Unity використовує як скрипти так і візуальне 
середовище розробки. Всі бібліотеки цього GE написані мовою програмування 
C#. 
Unity має свій чіткий цикл виконання функцій (рис. 1.1). 
 
Рисунок 1.1 – Життєвий цикл скрипту в Unity 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
8 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Цілі Unity 3D 
Скрипти в Unity 3D пишуться на мові програмування С#, цей GE має 
інтерфейс типу Drag&Drop. Вся фізика в іграх як в 2D так і 3D розраховується 
за допомогою фізичного рушія PhysX. В Unity використовується так звана 
система наслідування об’єктів, в якій дочірні об’єкти копіюють всі зміни 
батьківського об’єкта. В своєму ПЗ Unity використовує графічний API DirectX. 
Кожна гра в Unity це проект. І в кожній грі є рівні, тобто так звані сцени. 
Ці сцени це окремі файли зі своїми налаштуваннями та об’єктами. В Unity саме 
до об’єктів прикріплюються скрипти у вигляді окремих компонентів. Кожен 
об’єкт в сцені має своє ім’я, розміри та координати які зберігаються в 
компоненті Transform. В Unity є формат під назвою .unitypackage, в ньому 
можна зберігати будь-які моделі, скрипти, звуки тощо та ділитися ним з іншими 
користувачами. 
Принципи Unity 3D 
В розробці комп'ютерної гри важливо розуміти що велике значення в ній 
мають: дизайн, геймплей, сюжет, розробка персонажів та ігрова механіка, 
скрипти займають в розробці лише деякий відсоток. Розуміючи це та знаючи 
базові терміни можна почати роботу в Unity. 
Спочатку треба зайти на офіційний сайт розробника та завантажити 
безкоштовний тариф. Перед встановленням ПЗ потрібно ввійти в свій Unity ID 
або зареєструватися якщо його немає (рис. 1.2). 
  
Рисунок 1.2 – Створення Unity ID 
     Лист 
     ЧДТУ 221804.001 ПЗ 
9 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Після реєстрації та проходження навчання можна почати створення 
свого проекту. Для початку потрібно створити папку та дати проекту ім’я. 
Створити новий проект можна за допомогою кнопки NEW в меню Unity. 
Інтерфейс GE містить шість елементів (рис. 1.3). 
 
Рисунок 1.3 – Інтерфейс Unity 3D 
 
За допомогою кнопки Import додаємо в сцену ассети, текстури та інші 
компоненти. В грі є спеціальні компоненти які відповідають за поводженя 
об’єктів, один із таких це компонент Transform який є базовим для всіх об’єктів. 
Скрипти – це по суті теж компоненти, але в них можна самому задавати умови 
для поведінки об’єкта. 
В Unity є важливий компонент, який надає об’єкту так звану невидиму 
оболочку яка робить об’єкт твердим, щоб він не проходив крізь інші об’єкти, 
він називається Collider. Цей компонент потрібно присвоювати двум чи більше 
об'єктам щоб вони не проходили наскрізь один одного. Також є схожий по 
принципу компонент, але який при зіткненні з об’єктом виконує якусь дію 
прописану скриптом, він називається Trigger. 
Переваги застосування Unity 3D 
Найголовніша перевага Unity на мою думку, це те що освоїти його може 
абсолютно кожен, не маючи якихось спеціальних знань. Інтерфейс Drag&Drop 
     Лист 
     ЧДТУ 221804.001 ПЗ 
10 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Допомагає розробляти та тестувати проект одразу в режимі розробки. 
Ще одним з плюсів є наявність Unity Hub, це платформа на якій можна знайти 
багато безкоштовних компонентів для створення гри, це значно спростить та 
прискорить розробку. 
Щоб більше зрозуміти переваги Unity, порівняємо його з двума 
популярними GE. 
Першим розглянемо GameMaker: 
 Unity 3D GameMaker 
C# GML 
Простий інтерфейс Більш простий інтерфейс 
Більш складна та якісна графіка Проста графіка 
Платний та безкоштовний пакет Платний та безкоштовний пакет 
2D та 3D графіка 2D графіка 
Таблиця 1.1 – Порівняння Unity 3D та GameMaker 
1. Unity використовує мову програмування C# а GameMaker мову 
GML. GML це мова яка розроблена спеціально для GameMaker, її плюс в тому 
що вона дуже проста для розуміння але вона використовується лише в цій 
програмі. C# складніший для вивчення але ця мова є універсальною, вивчивши 
її можна використовувати мову в інших ПЗ. 
2. Unity має відносно простий інтерфейс, проте у GameMaker його 
значно більше спростили для зручності. 
3. GameMaker має просту графіку, всі об’єкти в ньому завантажені у 
вигляді атласу. В Unity графіка набагато краще, тому що там є можливість 
додавання різного освітлення та шейдерів. 
4. В тому та іншому GE є як платний так і безкоштовний пакет  з 
програмним забезпеченням 
GameMaker обмежений тим що призначений для створення 2D ігор, 3D 
також можна спробувати але це буде значно складніше а ефект набагато гірше.  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
11 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Unity призначений для однаково якісного створення як 2D так і 3D ігор. 
Другим розглянемо Unreal Engine: 
Unity 3D Unreal Engine 
 Платний та безкоштовний Безкоштовний 
пакет 
Простіший Складніший 
Мультиплатформний Малоплатформний 
Простіша графіка Складніша графіка 
Таблиця 1.2 – Порівняння Unity 3D та Unreal Engine 
 
1. Unity має урізану безкоштовну версію а повна платна, Unreal же 
має повністю безкоштовну версію, потрібно платити 5% лише тоді коли доход 
проекту буде вище суми вказаної на офіційному сайті. 
2. В Unity простіше працювати, більшу частину процесів в грі займає 
код, в Unreal окрім коду потрібно розбиратись ще в багатьох різних 
компонентах. 
3. В Unreal ігри створюються в основном на комп’ютери та ігрові 
приставки, в Unity ігри розробляються для багатьох платформ. 
4. Unity проекти мають більш просту графіку, Unreal проекти 
мають дуже якісну та сучасну графіку. 
Проаналізувавши GE Unity 3D в порівнянні з двома іншими 
популярними GE, можна зробити висновок що Unity це золота середина в 
виборі програм для розробки ігор. 
 
1.2  Цілі, принципи, переваги застосування CMS Wordpress 
CMS Wordpress – це система для управління контентом сайту, ця CMS є 
найпопулярнішою у світі. Сам Wordpress написаний мовою програмування php.  
CMS зручні тим, що для створення сайту не обов’язково використовувати 
код. Саме завдяки цьому кожен охочий може створити собі Web-сторінку, в тому 
числі і інді розробники. Вордпресс використовують не тільки малі компанії але й 
     Лист 
     ЧДТУ 221804.001 ПЗ 
12 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
такі гіганти як Forbes або New York Times. Перед початком роботи як і в інших 
CMS, потрібно пройти реєстрацію (рис. 1.4). 
 
Рисунок 1.4 – Реєстрація в CMS Wordpress  
 
Цілі CMS Wordpress 
На Wordpress можна створити будь які сайти: 
Бізнес-візитка – це сайт якоїсь компанії яка представляє свої послуги, це 
може бути як компанія по виготовленню машин, так і IT компанія, сайти 
популярних брендів. 
Форум – тематичний сайт де користувачі можуть ділитися інформацією 
про якусь конкретну тематику для якої створено сайт, або так само знаходити 
відповіді на запитання по потрібній темі. 
Блог – одна з найпопулярніших форм сайту, його створює конкретний 
користувач який ділиться інформацією про якісь події, про своє життя тощо. 
Онлайн енциклопедії – це сайти з пошуком будь якої цікавої інформації, 
сподібні до Вікіпедії, енциклопедія може бути як про все так і про якісь 
конкретні теми та галузі. 
Дошка оголошень – сайт на якому люди можуть виставляти свох товари 
на продаж або купувати щось, окрім цього там можна виставляти та шукати 
вакансії. 
Соціальна мережа – Також дуже популярний в сучасному світі тип 
сайту, там люди з різних куточків світу можуть спілкуватись один з одним. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
13 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Принципи CMS Wordpress 
Спочатку потрібно встановити Worpdress з офіційного сайту, потім при 
створенні сайту вказати його назву, ім’я адміністратора на поштову адресу. 
Щоб мати можливість працювати з сайтом, змінювати його дизайн, 
створювати публікації та інше, потрібно увійти до консолі Worpdress ввівши 
попередні реєстраційні дані. 
Також потрібно провести деякі налаштування, налаштувати дату та час, 
змінити структуру посилань. Також можна змінити інші налаштування для 
комфортного користування. Після встановлення у сайту буде стандартна тема, 
тому щоб зробити його привабливішим потрібно вибрати якісь більш цікаву 
тему із представлених в Worpdress. Тема – це так званий шаблон сайту із 
готовим дизайном. 
Якщо в стандартній темі чогось не вистачає можна встановити різні 
плагіни на власний розсуд. Плагіни це по суті доповнення які розширюють 
можливості сайту. В Worpdress є бібліотека в якій доступні тисячі різних 
плагінів для завантаження. 
Після проведення всіх процедур, написання статей та налаштування 
дизайну можна переходити до створення домену та ставлення сайту на хостинг. 
 
Переваги застосування CMS Wordpress 
Одна з найбільших переваг Wordpress в тому що вона є безкоштовною. 
Налаштування цього CMS проходить дуже просто та швидко. Вона зрозуміла в 
управлінні та має простий інтерфейс. Має автоматичну адаптацію під різні 
пристрої. На Wordpress не обов’язково самому створювати теми для сайту 
самоу, тому що платформа пропонує велику кількість безкоштовних шаблонів.  
Wordpress підтримує багато різних хостиг платформ та провайдерів. Ну і 
найголовніше мабудь це те, що дана CMS має велику спільноту користувачів. 
Цей показник означає що Wordpress дійсно одна із найкращих CMS і тому її 
обирають мільйони. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
14 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
1.3  Базові поняття, принципи та технології створення комп'ютерних 
ігор 
Для початку потрібно зрозуміти головне поняття, що таке комп’ютерна 
гра? Комп’ютерна гра або відеогра – це по своїй суті комп’ютерна програма, 
яка створена задля розваги або навчання користувачів які в неї грають. За довгі 
роки свого існування, відеоігри перестали бути просто розвагою, вони стали 
цілою культурою та значно вплинули на розвиток всієї сучасної культури. 
Відеоігри можна ставити на один рівень з кіно, живописом та музикою. Вони 
містять в собі велику кількість жанрів, деякі ігри робляться по мотивам відомих 
фільмів та навпаки, фільми знімають по мотивам відеоігор. 
Розробка комп’ютерних ігор це процесс яким може займатись як одна 
людина так і ціла компанія. Інді розробники розробляють ігри зазвичай для 
комп’ютерів та телефонів, а великі компанії крім цього і для ігрових приставок.  
Ігровий рушій (або GE який я згадував раніше) – це сукупність програм 
які виконують всі процеси да задачі в розробці гри, тобто код, графіку, фізику, 
звук та інше. Ігрові рушії розвиваються дуже швидко, в наш час кожна людина 
без спеціальних знать може створити гру яку б ціла компанія в 2000 році не 
могла б навіть уявити. 
Окрім розробки самої гри та веб сторіки для неї, однією з 
найважливіших речей є створення документації: 
Концепт-документ – це документ в якому по суті буде опис концепції 
гри, коротка розповідь про гру, про те якою вона має бути. 
Дизайн-документ – це майже те саме що й концепт-докумет, проте він 
розробляється вже після нього та є більш детальним. 
Створення гри можна поділити на такі етапи: 
Планування – на цьому етапі розробляється концепція гри, її дизайн,  
Обговорити з командою план самої розробки. 
Розробка – головний етап в створенні гри, на цьому етапі в ігровому 
рушії розробляється все те що було обговорено на етапі планування. 
Випуск – цей етап настає після того як гра вже розроблена та 
     Лист 
     ЧДТУ 221804.001 ПЗ 
15 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
протестована, на цьому етапі вже створюють веб сайт для гри та виставляють її 
на різних платформах. 
Підтримка – хоч ігри розроблені і протестовані, та за певний проміжок 
часу користувачі самі знаходять багато проблем, тому необхідно постійно їх 
вирішувати. Також доповнювати гру чимось, проводити оновлення. 
 
1.4   Огляд існуючих аналогів та їх порівняння 
Мій проект – це комп’ютерна гра в жанрі аркадного платформера, вона 
має назву Creeper Life.  
Аркада – це жанр ігор який характеризується простим геймплеєм, 
коротка, проте з інтенсивним процесом. Історію свою цей жанр бере із 80-х 
років в америці де були широко розповсюджені так звані аркадні автомати, ігри 
з них перенесли на інші пристрої і стали називати аркадними, а згодом почали 
просто розробляти подібні ігри і аркада поступово стала окремим жанром. 
Платформер – це жанр в якому головною задачею є ходіння по різним 
рівням та виконання всіляких завдань. Вони бувають самими різними, десь 
потрібно вбивати монстрів, а десь просто проходити складні рівні з 
лабіринтами та орієнтуватись на логічне мислення.  
Creeper Life представляє з себе платформер, головний персонаж – 
Кріпер, ціль якого пройти всі рівні щоб виграти. В грі всього 5 рівнів і кожен 
новий рівень складніше попереднього. Здається що нічого складного,  але 
концепція полягає в тому щоб пройти всі рівні з однієї спроби. Тобто якщо ви 
навіть дійдете до останнього рівня і програєте доведеться починати спочатку. 
Складності додає ще те що в грі обмежений запас пального, в деяких рівнях є 
бонуси у вигляді батарейок, але і їх може бути недостатньо. 
Для своєї гри я обрав графіку схожу на ту яка є в популярній грі 
Minecraft, але щоб при цьому відрізнялася. У Minecraft 3D графіка з 
пiксельними текстурами на блоках і предметах розширенням 16х16 і більше. 
Щоб моя гра мала відміну я зробив наголос на low poly і воксельну графіку 
(рис. 1.5). 
     Лист 
     ЧДТУ 221804.001 ПЗ 
16 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 1.5 – Приклад воксельної графіки  
 
Low poly – це тривимірна графіка яка характеризується простими 
текстурами об’єктів з мінімальною деталізацією та невеликою кількістю 
полігонів. 
Воксельна графіка – векселі це по суті альтернатива для полігонів, деякі 
2D ігри роблять піксельними, вокселі це майже те ж сааме що й пікселі тільки в 
тривимірному просторі. 
 
Щоб показати в чому унікальність моєї гри я хочу порівняти її з іншими 
схожими проектами: 
- Flappy Bird 
- Jetpack Joyride 
- Getting Over It 
1. Flappy bird (рис. 1.6). 
     Лист 
     ЧДТУ 221804.001 ПЗ 
17 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 1.6 – гра Flappy Bird 
Що спільного: 
- Інтерфейс 
- Концкпція побудови рівня 
- Інді-проект 
Відмінності 
Creeper Life Flappy Bird 
Управління через Управління кліками 
зажим 
Система рівнів Гра нескінченна 
3D графіка 2D графіка 
Ліміт на час польоту Немає ліміту 
Таблиця 1.3 – Порівняння Creeper Life та Flappy Bird 
 
Ігри мають спільний інтерфейс та концепцію побудови рівня, вони схожі 
тим що там і там потрібно літати та проходити перешкоди. Різниця в тому що 
управління в Flappy Bird здійснюється кліками а моїй грі за допомогою 
зажимання кнопки. Моя гра має систему рівнів а Flappy Bird нескінчення там 
головна ціль це ставити рекорди. В Creeper Life є обмежений рівень палива для 
польоту, в Flappy Bird таких обмежень немає. 
2. Jetpack Joyride (рис. 1.7). 
     Лист 
     ЧДТУ 221804.001 ПЗ 
18 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 1.7 – гра Jetpack Joyride 
Що спільного: 
- Управління героєм 
- Інтерфейс 
- Концепція побудови рівня 
- Інді-проект 
Відмінності 
Creeper Life Jetpack Joyride 
Система рівнів Нескінченна 
3D графіка 2D графіка 
Ліміт на час Немає ліміту 
польоту 
Немає ворогів Є вороги 
Таблиця 1.4 – Порівняння Creeper Life та Jetpck Joyride 
 
В обох іграх однакове управління через зажим кнопки, схожий 
інтерфейс та концепція побудови рівня, хоча вона трожи відрізняється різним 
розташуванням перешкод. В обох іграх є бонуси, але в Jetpack Joyride їх багато 
а в Creeper Life це тільки бонус у вигляді батареї.  
Creeper Life має рівні, а Jetpack Joyride нескінченна і як Flappy Bird 
розрахована на рекорд. В Jetpack Joyride в якості перешкод виступають також 
вороги, в моєму проекті ворогів немає. 
1. Getting Over It 
Єдине що я взяв з цієї гри це саму концепцію проходження гри. Getting 
     Лист 
     ЧДТУ 221804.001 ПЗ 
19 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Over It представляє з себе гру в якій всього один рівень, проте його дуже 
складно пройти, гравець може практично дістатись фінішу і через одну 
помилку опинитись на початку рівня і проходити все заново. В Creeper Life 
схожа концепція, різниця лише в тому що треба пройти 5 рівнів з одієї спроби 
щоб виграти гру, якщо ви програєте на будь якому рівні то знову опинитесь на 
першому. В іншому ці ігри абсолютно різні. 
Creeper Life Flappy Bird Jetpack Joyride Getting Over It 
Система рівнів Нескінченна Нескінченна Один рівень 
Проходження з Не проходиться Не проходиться Проходження з 
одної спроби одної спроби 
Немає ворогів Немає ворогів Є вороги Немає ворогів 
Управління Управління Управління Управління 
зажимом кліками зажимом рухами мишки 
3D графіка 2D графіка 2D графіка 2D графіка 
Таблиця 1.5 – Порівняння чотирьох ігор 
 
1.5 Висновок до частини 1 
В ході проведення аналізу я визначив які цілі має ігровий рушій Unity 
3D, розглянув його принципи, та етапи розробки проекті в самому ігровому 
рушії. 
 Визначив цілі CMS Wordpress, розглянув якого типу сайти можна на 
ньому створити. В принципах описав особливості розробки сайту в даній CMS. 
Зробивши порівняння Unity 3D з іншими популярними ігровими 
рушіями визначив, що саме цей GE має простий інтерфейс і є простим в 
користуванні, і при цьому має весь необхідний функціонал для створення ігор. 
Завдяки цьому визначив що він є золотою серединою серед інших GE і 
найкраще підходить для мого проекту.  
При порівнянні Wordpress з іншими CMS визначив, що саме його обирає 
більша частина компаній, його використовують не тільки невеликі компанії а й 
гіганти світового ринку. Дослідивши цю інформацію зробив висновок, що саме 
Wordpress є найкращим варіантом серед інших. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
20 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Було розглянуто базові поняття в розробці комп’ютерних ігор. Розглянув 
кожен етап розробки, розписав послідовність та задачі які виконуються на тому 
чи іншому етапі. 
Роглянув жанр до якого відноситься мій проект, та тип графіки який я 
використовував. Розглянув декілька різних ігор і порівняв їх зі своєю щоб 
пояснити, чому саме мій проект є унікальним. Було розглянуто схожі та відмінні 
риси щоб показати чим саме моя гра відрізняється від схожих проектів. 
Порівнявши всі три гри між собою прийшов до висновку, що всі порівнювані ігри 
унікальні та мають відмінності. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
21 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
2 ПРОЕКТУВАННЯ ГРИ НА UNITY 3D 
 
 
2.1  Постановка задачі 
Головним завданням кваліфікаційної роботи є розробка комп’ютерної 
гри в жанрі аркадного платформера. Її особливістю є її унікальність, те що вона 
відрізняється від подібних ігор. 
Проект буде розроблятися на ігровому рушії Unity 3D. Управління в грі 
повинно бути максимально зручним та при цьому не занадто простим щоб в 
ггрі була оптимальна складність. Графіка підібрана так щоб гравцеві було 
максимально приємно сприймати її та комфортно грати. 
Також важливим аспектом є сама побудова рівнів, вони розроблені по 
принципу зростання складності, чим далі тим складніше. Але при цьому дизайн 
та розстановка самих перешкод зроблені так щоб гра була проходимою попри 
свою складність. 
Головним героєм я взяв персонажа із відомой комп’ютерної гри 
Minecraft. Такий хід обумовлено тим що ця гра має велику популярність, тому 
користувачі побачивши назву або цього персонажа на скріпах зацікавляться та 
матимуть бажання пограти. А коли вони почнуть грати то не зможуть 
відірватися тому що ігри подібного жанру затягують, і люди не заспокояться 
доки не пройдуть її. 
 
2.2 Можливості додатку 
Unity 3D має простий Drag&Drop інтерфейс який легко налаштовувати, 
ігри створюються мовою програмування С#. Якщо в сцені високодеталізовані 
моделі віддаляються вони стають менш деталізованими і завдяки цьому гра 
менше навантажує комп’ютер, ця система називається Level of Detail. Також є 
система при якій об’єкти які не потрапляють в камеру не візуалізуються, ця 
система називається Occlusion Culling.  
Також великим плюсом є те, що Unity містить всі необхідні компоненти 
     Лист 
     ЧДТУ 221804.001 ПЗ 
22 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
для створення мультіплеєру. При імпорті текстури в Unity, генерується alpha-
канал, mip-уровни, normal-map, light-map, щоб прикріпити текстуру на модель 
створюється спеціальний матеріал на який накладається шейдер. 
2.3  Архітектура 
Creeper Life – це гра в жанрі аркадний платформер. Головна мета це 
проходження всіх рівнів гри з однієї спроби. Сама гра містить 5 рівнів різної 
складності, від самого простого до самого складного. Кожен рівень 
відрізняється один від одного дизайном та побудовою розташування перешкод, 
проте на всіх рівнях збережена одна й та сама концепція. В цьому розділі я 
розгляну саму архітектуру гри, щоб стало більш зрозуміло в чому полягає її 
концепція. 
 
Рисунок 2.1 – Архітектура рівня в Creeper Life 
 
Розглянемо спочатку архітектуру рівня в Creeper Life (рис. 2.1). 
1 – Головний Герой 
3   – Вогонь із турбін 
3 – Старт 
4 – Фініш 
5 – Перешкоди 
6 – Батарея з енергією 
Гравець з’являється на стартовій точці, при зажиманні клавіші він 
     Лист 
     ЧДТУ 221804.001 ПЗ 
23 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
взлітає випускаючи з турбін вогонь. Управляє ракетою рухаючи її вліво та 
вправо, проходе перешкоди і поповнює запас палива батареєю. Проходячи всі 
перешкоди доходить до фінішу і після дотику з фінішною точкою відбувається 
переход на наступний рівень. 
Тепер розглянемо архітектуру самої гри (рис. 2.2). 
 
Рисунок 2.2 – Архітектура гри Creeper Life 
 
Перший екран це стартовий екран, після натиску кнопки старт 
запускається гра з 1 рівня. При проходженні якщо гравець програє на будь 
якому з рівнів запуститься перший рівень. Після проходження останнього рівня 
завантажиться екран виграшу (поки запускається перший рівень тому що гра 
ще в розробці). 
 
2.4 Стек технологій  
Комп’ютерна гра буде розроблена на ігровому рушії Unity 3D, Unity 
написаний мовою програмування C#.  Для 3D фізики розрахунки виконує 
фізичний рушій PhysX. Використовується графічний API – DirectX (рис. 2.3). 
     Лист 
     ЧДТУ 221804.001 ПЗ 
24 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 2.3 – Встановлення DirectX 
 
 Середовищем розробки обрано Visual Studio Code (рис. 2.4). VS Code – 
це редактор вихідного коду, він є одним із найпопулярніших редакторів коду. 
Він має при собі інструменти для роботи в Git, включає в себе відладчик. 
Оснований VS Code на фреймворкі Electron. Цей редактор коду є 
безкоштовним. 
 
Рисунок 2.4 – Інтерфейс VS Code 
 
Цей редактор містить в собі інтеграцію з Git, яка дозволяє програмістам 
робити зміни в коді не виходячи з редактора. Підтримує багато мов 
програмування, серед яких Python, JavaScript, HTML, CSS, TypeScript, C++, 
Java, PHP та інші. VS Code надає функції для управління кодом, такі як Peek 
Definition, Go to Definition, rename Symbol та Find all References. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
25 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
2.5 Висновок до частини 2  
В цій частині я визначив задачі кваліфікаційної роботи, а саме розглянув 
основні інструменти та прийоми які будуть задіяні в проекті. Пояснив який 
принцип побудови рівнів в грі, яка графіка та управління. Розповів чому саме 
цього персонажа було прийнято взяти головним героєм для гри та чому ця гра 
буде приваблива для гравців. 
Оглянув можливості ігрового рушія Unity 3D, чому він є зручним для 
розробки та які має переваги в навантаженні готових проектів на комп’ютер. За 
допомогою якого інструмента а об’єкти накладаються текстури. 
Детально розглянув архітектуру проекту, а саме визначив в чому полягає 
основна суть гри. Пояснив концепцію рівнів, в чому полягає особливість його 
проходження та складові із яких складається рівень. Після цього розглянув 
складову архітектуру самої гри, щоб показати як відбувається процес 
проходження, виграшу та програшу в цій грі. Чому саме така гра є унікальною. 
Обрав стек технологій які будуть використані в розробці гри. Розглянув 
які компоненти використовують ці технології. Які мови програмування 
використовують, та які підтримують в процесі розробки. Також побачив 
функції які надають обрані програмні забезпечення. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
26 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
3 РЕАЛІЗАЦІЯ КОМП’ЮТЕРНОЇ ГРИ 
 
 
3.1 Реалізація головного героя 
 Після запуску Unity 3D створюємо новий проект (рис. 3.1). Коли проект 
завантажиться потрібно створити нову сцену, саме на ній ми будемо 
працювати.  
 
Рисунок 3.1 – Новий проект в Unity 3D 
 
На новій сцені створюємо перший об’єкт в вигляді підлоги на яку буде 
падати герой. Після цього можна почати розробляти головного героя, 
придумати його дизайн та зібрати з різних компонентів. Можна створювати 
героя одразу в Unity за допомогою примітивів, або використовувати допоміжні 
програми такі як Blender, 3D Max та інші. Свого героя я створив із примітивів в 
Unity. 
Примітиви – це стандартні геометричні фігури, які можна розставити в 
будь якому порядку та задавати будь який розмір та колір. Розглянемо на 
прикладі героя мого проекту Кріпера (рис. 3.2). 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
27 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.2 – Головний герой гри 
 
Можна побачити що він складається з прямокутників. Тіло героя 
складене з чотирьох прямокутників (2 – ноги, 1 – тіло, 1 – голова), та обличчя з 
5 прямокутників.  Тіло має зелений колір, а фігури обличчя чорний.  
Після створення героя потрібно написати йому код за допомогою якого 
він буде рухатись. Але перед тим як почати написання коду йому потрібно 
ввімкнути компонент Rigidbody (рис. 3.3). Цей компонент по суті вбудована 
фізика яка є в ігровому рушії Unity. За його допомогою налаштовується 
поведінка об'єктів в просторі та їх взаємодія між собою. Саме цей компонент 
реалізується за допомогою фізичного рушія PhysX про який я писав раніше. 
 
Рисунок 3.3 – Компонент Rigidbody 
 
Тепер можна приступити до створення коду для головного героя. Створюєо 
компонент Script.Cs в тому ж розділі де компонент Rigidbody. Спочатку за 
допомогою if(Input.GetKey(KeyCode.Space) створюємо функцію польоту для 
героя. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
28 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Щоб він міг нормально злітати потрібно налаштувати його вагу (Mass) в 
Rigidbody. І коли польот буде нормальним, зробити управління поворотами за 
допомогою тієї ж функції.  
В компоненті Rigidbody є розділ Constrains, в ньому заморожуємо 
поворот героя по осям х та у, а для z залишаємо. Для того щаб заморожувати 
ось z прописуємо перед строкою поворотів команду physics.freezeRotation = 
true, тобто вона заморожує падіння героя в сторони в той момент коли йде 
управління поворотами. А щоб герой знову міг падати коли припиняється 
управління Кріпером, після управління поворотів пишемо physics.freezeRotation 
= false. 
 
Рисунок 3.4 – Скрипт управління ракетою 
 
Після налаштувань управління потрібно зробити об’єкт фінішної 
платформи, батарею з пальним та ворожі об’єкти. Але щоб це все могло 
працювати потрібно налаштувати ще один компонент, він називається Box 
Collider. Box Collider це по суті невидимий контейнер для об’єкта якому можна 
надати тег по якому в коді приписувати яку саме функцію він буде виконувати 
при зіткненні з іншим об’єктом. Зіткнення з іншими об’єктами в коді 
прописується за допомогою команди Collision.  
 
Перед створенням батареї та взаємодії з нею потрібно в Unity 
налаштувати компонент UI (рис. 3.5).  Він додасть зміни на екрані камери 
рамки якої охоплюють ігрове поле. Нам потрібно додати в кутку екрану числові 
     Лист 
     ЧДТУ 221804.001 ПЗ 
29 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
значення енергії які будуть показувати скільки енергії залишилось у героя.  
 
Рисунок 3.5 – Вікно UI 
 
Далі потрібно задати змінну [SerializeField] int energyTotal = 2000, вона 
означатиме рівень палива за замовчуванням. При самому польоті Кріпера, та 
енергія яка стоїть за замовчуванням має відніматись. Для цього прописуємо 
команду energyTotal -= Mathf.RoundToInt(energyApply*Time.deltaTime). Це 
математичний вираз який розраховує яка кількість енергії витрачається при 
заживанні клавіші.  
energyApply це значення яке буде відніматись при зажиманні клавіші, а 
Time.deltaTime це команда яка означає залежність від кадрів в секунду. Тобто при 
заживанні клавіші в героя буде відніматись задана кількість палива в залежності 
від значення кадрів в секунду. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
30 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.6 – Скрипт польоту 
 
Щоб показик енергії показувався в кутку нашої UI рамки, потрібно 
звернутися до бібліотеки using UnityEngine.UI. А в методі польоту прописати 
energyText.text = energyTotal.ToString(). За допомогою цієї комади ми беремо 
числа в кутку UI рамки та приписуємо їй значення енергії яка є в героя. Далі 
реалізуємо скрипт який даватиме енергію коли герой братиме батарею. 
 
Рисунок 3.7 – Скрипт взяття батарейки 
 
Метод PlusEnergy запускається лише один раз, коли гравець підбирає 
батарею. battery.GetComponent<BoxCollider>().enabled = false означає, що після 
зіткнення з батарейкою її оболочка вимикається. Це потрібно для того, щоб 
коли герой випадково торкнеться до батарейки двома частинами тіла енергія 
додалася лише один раз. energyTotal += energyToAdd додає до енергії яка вже є 
ту енегрію яка міститься в батарейці. Потім відбувається команда Destroy, вона 
знищує об’єкт батарейку щоб гравець більше не міг взяти її повторно.  
3.2 Реалізація перешкод 
 Перед створенням перешкод треба спочатку зрозуміти що таке теги. В 
моєму проекті є 2 вида тегів: Friendly, Finish та Battery. Battery – це наша 
     Лист 
     ЧДТУ 221804.001 ПЗ 
31 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
батарея, Friendly – дружні об’єкти які не будуть завдавати шкоди нашому 
герою, Finish – фінішна платформа. Теги потрібні для того, щоб за допомогою 
команди Collision додати якусь певну подію при зіткненні героя з об’єктом який 
містить певний тег. В створенні третього ворожого тегу немає сенсу. Об'єктами 
Friendly виступатимуть платформи старту та фінішу, а Battery – батарея. А все 
інше що не є одним з цих об’єктів і не містить жодного з цих тегів є ворожим, 
це прописується за допомогою команди default.  
 
Рисунок 3.8 – Скрипт Collision для тегів 
 
Тепер необхідно налаштувати функцію програша при зіткненні героя з 
перешкодою. Нагадую, що при виграші герой просувається на кожен новий 
рівень вперед, а при програші опиняється на першому. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
32 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.9 – Скрипт програшу 
 
Коли герой зіткнеться з перешкодою, одразу запуститься метод Lose. 
Стан героя зміниться на State.Dead. Спрацює 
audioSource.PlayOneShot(boomAudio), ця команда запускає звук вибуху при 
зіткненні Кріпера з перешкодою, і завдяки PlayOneShot, звук запуститься лише 
один раз. Invoke("LoadFirstLevel",2f) запустить метод LoadFirstLevel (рис. 3.10) 
після затримки в 2 секунди. 
 
Рисунок 3.10 – Метод LoadFirstLevel 
 
Цей метод звертається до менеджера сцен та запускає перший рівень. 
Фініш працює за схожим принципом, тільки там за допомогою формули 
додається +1 рівень до поточного (рис. 3.11).   
 Рисунок 3.11 – Метод LoadNextLevel 
     Лист 
     ЧДТУ 221804.001 ПЗ 
33 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.12 – Метод Finish 
 
Перешкоди в грі мають рухатися, для них потрібно створити новий код. 
В цьому коді прописуємо змінну [SerializeField] [Range(0,1)] float moveProgress, 
вона означає рух об'єкта від 0 до 1. 0 – це стартова позиція об’єкта, а 1 – це сто 
відсотків заданного переміщення. [Range(0,1)] створює цю змінну в самому 
редакторі Unity для зручності (рис. 3.13).   
 
 
Рисунок 3.13 – [Range(0,1)] в редакторі Unity 3D 
 
Тепер потрібно створити код завдяки якому буде відбуватись зацикленне 
переміщення об’єкта (рис. 3.14).   
 
Рисунок 3.14 – Код переміщення перешкоди 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
34 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
В методі void Start () записано початкові координати перешкоди в сцені. 
В void Update записані дві формули завдяки яким розраховується переміщення 
об’єкта в відсотках заданих в [Range(0,1)].  
Vector3 offset =  movePosition * moveProgress, в цій формулі я множу 
числове значення наскільки я хочу зрушити об’єкт в координатах на відсоток в 
[Range(0,1)]. 
transform.position = startPosition + offset, тут ми звертаємося до 
компоненту Transform в Unity, і змінюємо положення перешкоди додаючи до 
стартової позиції значення offset. Тобто, коли повзунок в [Range(0,1)] рухається, 
відсоток moveProgress змінюється, і разом з ним ззмінюється положення 
перешкоди. 
 
Рисунок 3.15 – Стартове положення перешкоди в сцені 
 
Ми бачимо стартове положення перешкоди в сцені (рис. 3.15), 
moveProgress = 0, значить стартова позиція залишається тою, яку ми виставили 
спочатку. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
35 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.16 –  Переміщення перешкоди при макс. значенні 
moveProgress 
 
А тут показано положення об’єкта при (рис. 3.16), максимальному 
значенні повзунка. Тобто перешкода повністю перемістилась на ті координати 
які я задав в змінній movePosition. 
  
Рисунок 3.17 –  Переміщення перешкоди при середньому значенні 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
36 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
На рис. 3.17 показано положення об'єкта при значенні moveProgress 0.5. 
Тобто максимальне значення координат яке вказане в змінній movePosition 
множиться на 0.5, і як результат переміщення об’єкту на половину цих 
координат. 
moveProgress = Mathf.PingPong(Time.time*moveSpeed,1) – функція, яка 
завдає об’єкту автоматичне рухання. Time.time це системна змінна в Unity яка 
означає час, а moveSpeed змінна яку ми будемо вказувати самі. PingPong це 
функція яка дозволить перешкоді рухатись до кінцевої точки до початкової і 
навпаки, і так по колу. 
 
3.3 Реалізація ефектів та рівнів 
Щоб придати своїх грі більше фарб, та щоб вона була повноцінною їй 
потрібно додати різні ефекти та рівні. Саме основне із чого слід почати, це 
звукові ефекти. Перш ніж перейти до них, потрібно додати в сцену оди 
компонент, який має назву Audio Listener. За допомогою цього камера буде 
нібито слухати цей звук який ми додали та передавати його нам.  
Для отримання звуку у нас потрібно бути його джерело, на сцені це буде 
наш герой, при заживанні кнопки польоту має бути характерний для нього звук. 
Для цього нам треба додати до нашого героя компонент AudioSource (рис. 3.18). 
 
Рисунок 3.18 –  Компонент AudioSource 
     Лист 
     ЧДТУ 221804.001 ПЗ 
37 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Як бачимо, цей компонент має різні налаштування, саме в AudioClip 
потрібно перемістити звук який ми обрали для Кріпера. При створенні 
AudioSource, з’являється галочка на функції Play On Awake, її потрібно 
прибрати, вона відповідає за те що звук починає грати відразу після запуску 
гри. 
Тепер потрібно зробити так, щоб звук спрацьовував саме тоді коли ми 
зажимаємо клавішу польоту, та переставав грати коли її відпускаємо. Для цього 
повертаємось до скрипту головного героя (рис. 3.19). 
 
Рисунок 3.19 –  Скрипт управління звуком польоту 
 
В цьому скрипті описано, що при зажиманні клавіші, якщо звук не 
програється то запустити його один раз, інакше поставити його на паузу. Це 
зроблено для того щоб обраний звук не зациклився за не запускався кожен кадр 
коли зажата клавіша польоту. Щоб сам звук звучав нормально він має бути 
доволі довгим, хоча б на 2 хвилини. 
Тепер потрібно додати звуки коли наш герой програє і тоді, коли 
прилітає до фінішу. Для програшу було обрано звук вибуху, а для фінішу свій 
характерний звук. Щоб додати декілька звуків на нашу ракету, потрібно додати 
змінну звуку в сам скрипт героя. А точніше три змінних для трьох типів звуку 
(рис. 3.20). 
     Лист 
     ЧДТУ 221804.001 ПЗ 
38 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.20 –  Звукові змінні 
 
Коли ми задали змінні можна приступити до їх призначення, коли Кріпер 
прилутає до фінішу то має один раз програтися звук перемоги. Так само й з 
програшом, один раз має програтися звук вибуху. Реалізовувати це ми будемо за 
допомогою скрипта (рис. 3.21). 
 
Рисунок 3.21 –  Скрипт запуску звука вибуху 
 
Спочатку прописуємо команду AudioSource.Stop(), вона потрібна тому що 
коли герой дійде до фінішу або взірветься звук вибуху та польоту накладеться на 
звук вибуху і це буде звучати не дуже гарно. Тому ця команда зупиняє програш 
попереднього звуку. Ну а audioSource.PlayOneShot(boomAudio) запускає звук 
вибуху одразу після зупинки звука польоту. Для ралізації звуку фініша потрібно 
зробити все те саме (рис. 3.22). 
 
Рисунок 3.22 –  Скрипт запуску звука фініша. 
 
 
Тепер нашій грі не вистачає візуальних ефектів, щоб їх додати 
використаємо ще один компонент – ParticleSystem. Перший ефект який нам 
потрібен, це зображення вогню із турбін коли герой злітає. Спочатку додам 
     Лист 
     ЧДТУ 221804.001 ПЗ 
39 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
нашому герою пустий об’єкт, а йому додам компонент ParticleSystem (рис. 
3.23). 
 
Рисунок 3.23 –  Компонент ParticleSystem. 
 
ParticleSystem – це набір графічних частинок, чотирикутників які завжи 
повернуті обличчям до користувача, вони мають назву білборди. Створювати 
свої ParticleSystem занадто складно, тому можна звернутись до UnityHub та 
знайти там безкоштовні системи які нам підходять.  
     Лист 
     ЧДТУ 221804.001 ПЗ 
40 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Нам потрібно три різних ефекти, перший для польоту Кріпера, другий 
для фініша і третій вибух. Після завантаження додаємо ці системи на нашого 
героя і налаштовуємо їх положення відносно нього. Тепер цим ParticleSystem 
потрібно зробити змінні (рис. 3.24). 
 
Рисунок 3.24 –  Змінні ParticleSystem. 
 
Реалізація ParticleSystem в скрипті схожа зі звуком (рис. 3.25).  
 
Рисунок 3.25 –  Реалізація ParticleSystem при польоті. 
 
При польоті наш ефект вмикається і постійно працює доки ми не 
перестанемо зажимати клавішу. При вибухі та фінішу ParticleSystem програється 
всього один раз. Тепер розглянемо як виглядають ці ефекти в самій грі. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
41 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.26 –  Ефект вогню з турбін. 
 
 
Рисунок 3.27 –  Ефект вибуху. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
42 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.28 –  Ефект фінішу. 
 
Тепер, коли ефекти готові, можна приступити до основної стадії розробки 
– створення рівнів. З кодом який управляє переходами з рівня на рівень ми вже 
розібралися, тому тепер перейдемо до творчої частини та створимо дизайн рівням. 
 
 
Рисунок 3.29 –  Перший рівень. 
 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
43 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Перший рівень я вирішив зробити максимально простим, щоб гравець 
розібрався з управлінням та зрозумів фізику гри. Дизайн виконаний в стилі 
пустелі, для рівня вибрана відповідна йому фонова музика, точніше це навіть не 
музика а звуки вітру. 
 
Рисунок 3.30 –  Другий рівень. 
 
Другий рівень трохи складніший, в ньому вже з’явились перешкоди, 
проте палива більш ніж достатньо щоб їх пройти. Дизайн виконаний в стилі 
космічного корабля, на фоні грає відповідний йому звукоряд. 
 
Рисунок 3.31 –  Третій рівень. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
44 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Третій рівень ще більш складніший, перешкоди в ньому виставлені 
хаотично, а через вибраний дизайн ночі орієнтуватися в ньому складніше. 
Доречі в цьому рівні використано ще один ефект – підсвічування. Один ліхтар 
підсвічує фініш а інший рухається разом з героєм та підсвічує його. Аудіофайл 
для рівня також вибрано тематичний, з звуками цвіркунів та гулом сови.  
 
Рисунок 3.32 –  Четвертий рівень. 
 
Для четвертого рівня обрано дизайн фабрики, він складний тим що тут 
з’явились перші рухливі перешкоди та батарея з енергією. Проте герою більш ніж 
достатньо енергії щоб не поспішаючи пройти перешкоди та поповнити запас. 
Аудіофайл для цього рівня це звуки заводу та працюючих на ньому конвеєрів та 
інших апаратів. 
 
 
 
 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
45 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 3.33 –  Пятий рівень. 
 
У п’ятого рівня дизайн дитячої кімнати. Цей рівень самий складний та 
самий цікавий, на фоні грає дитяча мелодія яка в суміші з дизайном створює 
цікаву атмосферу рівня. Через особливість перешкод, їх руху, розміру щілин та 
швидкості його складно пройти, і зробити це не поспішаючи не вийде, 
потрібно одразу швидко пролетіти під правильним ракурсом до батареї а від 
неї до фінішу. 
 
Рисунок 3.34 –  Головне меню. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
46 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Також не забуваємо про головне меню, для нього був зроблений простий 
і водночас привабливий дизайн з деякими ігровими об’єктами. Для нього 
написаний окремий код для запуску першого рівня (рис. 3.35). 
 
 
Рисунок 3.35 –  код головного меню. 
 
3.4 Висновок до частини 3 
В цьому розділі я реалізував проект Creeper Life. Спочатку я розробив 
дизайн головного героя, потім налаштував йому фізику. Після цього 
налаштував його управління та взаємодію з іншими об’єктами. А саме, 
налаштував його поведінку з дружніми об’єктами та ворожими. За допомогою 
UI технологій налаштував йому показник енергії який показує скільки витрачає 
герой під час польоту та скільки придає батарейка.  
Налаштував рух перешкод, а саме завдяки скрипту заставив їх рухатись 
циклом від точки а до точки б та навпаки.  Пояснив принцип по якому працює 
скрипт руху об'єкта та зацикленного руху. 
Реалізував різні ефекти для гри, а саме звукові та графічні. Із звукових 
     Лист 
     ЧДТУ 221804.001 ПЗ 
47 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
ефектів я додав звук гулу двигуна коли головний герой летить. Звук вибуху 
коли він стикається з перешкодою та звук фінішу коли прибуває туди.  
Із графічних ефектів розглянув ParticleSystem, а саме як з її допомогою 
реалізувати різні ефекти для Кріпера. Розробив анімацію вогню із турбін який 
йде коли зажата клавіша польоту і перестає йти коли її відпускаєш. Реалізував 
анімацію вибуху коли ракета стикається з перешкодою, та анімацію фінішу. 
Після розробки всіх основних функцій гри та додавання ефектів я розробив 
дизайн рівнів. Детально розглянув кожен з п’яти рівнів та пояснив в чому їх 
особливість, в чому особливість їх дизайну та як зроблених принцип наростання 
складності. Кожен рівень це по суті окрема локація і для кожної з них розроблено 
свій дизайн та підібрано відповідне звукове супроводження. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
48 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
4 ПРОЕКТУВАННЯ ТА РЕАЛІЗАЦІЯ ВЕБ-СТОРІНКИ 
 
 
4.1 Стек технологій 
Веб-додаток буде реалізовано на CMS Wordpress (рис. 4.1). Я вирішив 
вибрати цей CMS насамперед через те, що він є безкоштовним. Для створення 
простого сайту чи блогу абсолютно кожен може зробити це без грошових 
витрат. Другий не менш важливий плюс це те, що CMS Wordpress простий в 
використанні, кожен посидівши в ньому буквально за декілька годин зможе 
розібратись як тут створити веб-сторінку 
 
Рисунок 4.1 –  Інтерфейс CMS Wordpress. 
 
Також CMS Wordpress має велику кількість плагінів, які потрібні для 
покращення веб-сайту чи веб- сторінки. Багато шаблонів, доповнень та 
модифікаторів доступні в безкоштовному доступі. Завдяки тому що розробники 
постійно оновлюють гру, шанс ураження комп’ютера вірусами знижується. 
Також не менш важливим плюсом, я б навіть сказав одним з найбільших є те, 
що через високу популярність даної CMS на просторах інтернету можна без 
труднощів знайти відповідь на будь-яке запитання яке виникло під час роботи. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
49 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
В якості СУБД, я вирішив використати XAMPP (рис. 4.2). XAMPP – це 
кросплатформерна сбірка веб-серверів, вона містить в собі Apache, MariaDB, 
PHP, Perl та інші додаткові бібліотеки. Головне що він містить СУБД MySQL 
яка буде потрібна нам для створення сторінки.  
 
Рисунок 4.2 –  Встановлення XAMPP. 
 
До плюсів XAMPP можна віднести те, що він є дуже простим в 
встановленні і на ньому можна створити повноцінний веб-сервер. Сам пакет 
доволі простий в використанні, і при цьому відповідає всім потребам. Головне 
чим він відрізняється від інших СУБД, це те що він не створює ніяких 
додаткових дисків на комп’ютері, як це робить Open Server, Joomla, Denwer та 
інші. 
В якості браузера для запуску сайту я буду використовувати Google 
Chrome (рис. 4.3). Це мабуть найпопулярніший браузер в світі, він розроблений 
компанією Google на основі Chromium та Blink. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
50 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Рисунок 4.3 –  Інтерфейс Google Chrome. 
 
Цей браузер має велику кількість плюсів, першим можна відмітити легку 
установку. Він без проблем та зайвих зусиль завантажується як на комп’ютер 
так і на телефон. Інтерфейс в ньому максимально простий, наскільки це 
можливо, кожна деталь в дизайні продумана до найменших дрібниць. 
 В браузері Google Chrome є баланс між великою кількістю функціоналу 
та продуктивністю, завдяки цьому браузер працює швидко. Цей браузер 
регулярно оновлюється, причому автоматично без зайвих повідомлень. Дуже 
корсною функцією є синхронізація, за допомогою акаунта Google всі паролі 
будуть до нього прив’язані, не залежно від того з якого пристрою заходити на 
акаунт. 
Вбудований перекладач, теж доволі корисна функція. Якщо ви не знаєте 
англійської але потрібна вам інформація є на англомовному сайті, ви можете 
перекладати все на місці, не копіюючи текст в перекладач. 
 
4.2 Реалізація веб-сторінки 
Коли визначилися з програмним забезпеченням яке будемо 
використовувати, можна перейти до створення веб-сторінки, а саме лендінг. 
 
     Лист 
     ЧДТУ 221804.001 ПЗ 
51 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Лендінг сторінка – це веб-сторінка, яка створена в комерційних та 
маркетингових цілях. Її задача це реклама певного продукту, інформація про 
який буде розміщена на цій сторінці.  
Спочатку нам потрібно встановити XAMPP на комп’ютер, на диск С. 
Потім завантажуємо з офіційного сайту CMS Wordpress (рис. 4.4). 
 
Рисунок 4.4 –  Завантаження CMS Wordpress. 
 
Після завантаження у нас з’являється архів, цей архів потрібно 
розпакувати. А саме в папку hdocs (рис. 4.5). 
 
Рис 4.5 – Встановлення  CMS Wordpress. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
52 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
Після цього відкриваємо XAMPP, вмикаємо Apache та MySQL (рис. 
4.6). Вводимо в адресну строку браузера localhost/phpmyadmin, в назві домену 
пишемо свій домен а в кодуванні вибираємо utf8_general_ci.  
 
Рис 4.6 – Панель XAMPP. 
 
Після того як увімкнули Apache та MySQL, та налаштували домен свого 
сайту, вводимо в адресну строку браузера localhost/wordpress. Нам 
відкривається сторінка CMS Wordpress.  
Тепер потрібно обрати тему для майбутнього сайту, я вирішив брати 
twentytwenytwo. Після обрання теми потрібно налаштувати шрифти (рис. 4.7). 
 
Рис 4.7 – Налаштування шрифтів. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
53 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Після цього можна почати створювати дизайн веб-сторінки. (рис. 4.8). 
 
Рис 4.8 – Дизайн веб-сторінки для гри Creeperlife. 
 
В хедері сайту ім’я гри та логотип який зображує обличчя головного 
героя гри. На самому сайті написана інформація про цю гру, історія про яку 
вона розповідає. Колірна гамма обрана відповідно до дизайну головного героя. 
Також на сторінку додав скріншот з 5 рівня, вирішив обрати його тому що його 
дизайн найпривабливіший і з більшим шансом приверне увагу користувачів ніж 
інші рівні. 
 
3.1 Висновок до частини 4 
В цій частині ми розглянули стек технологій які використовувались в 
створенні веб-сторінки. А саме, розглянули детальніше CMS Wordpress та чому 
було обрано саме його. Розглянули які переваги має CMS Wordpress. 
Розглянули кросплатформне ПЗ XAMPP, чому серед інших конкурентів 
я вирішив взяти саме його. А саме що без створення додаткових папок він 
виконує той же функціонал що інші. Також обрали браузер за допомогою якого 
запускали та створювали нашу веб-сторінку. Проаналізували що цей браузер є 
найкращим рішенням. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
54 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
 
Розглянули етапи створення сайту, а саме як встановити СУБД та сам 
CMS Wordpress. Через адміністративну панель задали домен веб-сторінки та її 
кодування та запустили її в браузері. Почали створення веб-сторінки, 
визначившись з темою налаштували шрифти. Після створення шрифтів обрав 
колірну гамму для сайту та розробив його дизайн. 
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
55 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
ВИСНОВКИ 
 
 
Розібралися з основними питаннями які стосуються розробки 
комп’ютерної гри на Unity 3D та веб-сторінки на CMS Wordpress. Розглянули 
цілі, загальні принципи та переваги застосування саме цих ПЗ.  
Визначились з базовими поняттями створення ігор та технологіями. 
Провели порівняльний аналіз схожих ігор та визначили чому саме мій проект 
унікальний. 
В розробці гри визначились з задачею яку потрібно досягнути в роботі. 
Більш детально розглянули можливості Unity 3D.  
Побудували архітектуру рівнів та взагалі всієї гри, розглянули більш 
детально стек технологій який стосується розробки саме комп’ютерної гри. 
Реалізували розробку комп’ютерної гри. Спочатку реалізували 
головного героя, визначилися з його дизайном, управлінням та взаємодією з 
іншими об’єктами.  
Розробили перешкоди для героя, реалізували їм зациклений рух. Додали 
в гру різних ефектів щоб гра була насиченішою, розробили дизайн кожного 
рівня. 
Визначили стек технологій який стосується розробки веб-сторінки, 
розглянули можливості цих додатків. Поетапно реалізували веб-сторінку, а 
саме створили домен та базу даних до неї та розробили дизайн. 
Мета кваліфікаційної роботи досягнута. Всі вимоги виконані відповідно до 
чіткого технічного завдання. 
     Лист 
     ЧДТУ 221804.001 ПЗ 
56 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
57 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
58 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
59 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
60 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
61 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
62 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
63 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
64 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
65 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
66 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
  
     Лист 
     ЧДТУ 221804.001 ПЗ 
67 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
 
 
1. Unity Game Development in 24 Hours, Sams Teach Yourself by Mike 
Geig – 2013 
2. Learning C# Programming with Unity 3D by Alex Okita – 2014  
3. Blood, Sweat, and Pixels: The Triumphant, Turbulent Stories Behind 
How Video Games Are Made by Jason Schreier – 2017  
4. Level Up! The Guide to Great Video Game Design by Scott Rogers – 
2010  
5. The Friendly Creeper Diaries (Book 1): The Creeper Village by Mark 
Mulle – 2016  
6. Adventures of a Creeper: An Unofficial Minecraft Diary by Elliot Godar 
– 2019  
7. Clean Code in C#: Refactor your legacy C# code base and improve 
application performance by applying best practices by Jason Olls – 2020  
8. Computer Graphics from Scratch: A Programmer's Introduction to 3D 
Rendering by Gabriel Gambetta – 2021  
9. Artificial Intelligence for Games by Ian Millington and John Funge – 
2006  
10.  Wordpress: The Missing Manual by Matthew McDonald – 2012  
11.  Learning Web Design by Jennifer Niederst Robbins – 2012  
12.  Web Development: This Book Includes: Web Development for 
Beginners by Andy Vickler – 2021  
13.  Building Web Apps with WordPress: WordPress as an Application 
Framework by Brian Messenlehner  and Jason Coleman – 2014  
14.  WordPress Website Development With Xampp: Working With Multiple 
Offline WordPress Templates by Lavoy Allison – 2020  
15.  Perfect Landing Page. We create selling web pages by Anton Petrochenkov 
and Evgeniy Novikov – 2021  
     Лист 
     ЧДТУ 221804.001 ПЗ 
68 
Зм Арк. № докум. Пiдпис. Дата 
нт
  
16. C# 9.0 in a Nutshell: The Definitive Reference by Joseph Albahari – 2021  
17. SQL in 10 Minutes, Sams Teach Yourself by Ben Forta – 2019  
18. HTML and CSS: Design and Build Websites by Jon Duckett – 2012  
19. Unity 5.x Cookbook by Matt Smith and Chico Queiroz – 2015  
20. WordPress for Beginners 2021: A Visual Step-by-Step Guide to Mastering 
WordPress by Andy Williams – 2021  
     Лист 
     ЧДТУ 221804.001 ПЗ 
69 
Зм Арк. № докум. Пiдпис. Дата 
нт