← До каталогу
«Створення комп’ютерної гри «CRIDUS 3D»Перегляд документа
100%
Сторінка 1 / 70Перегляд дипломного проєкту
Інформація про дипломний проєкт та текст для пошуку

«Створення комп’ютерної гри «CRIDUS 3D»

Автор: Гозун Є.С.. Спеціальність: 123 Комп'ютерна інженерія. Освітня програма: Комп’ютерні системи та мережі.

Міністерство освіти і науки України ВІДОКРЕМЛЕНИЙ СТРУКТУРНИЙ ПІДРОЗДІЛ «ПЕРВОМАЙСЬКИЙ ФАХОВИЙ КОЛЕДЖ» Національного університету кораблебудування імені адмірала Макарова Відділення «Інформаційних технологій» Комп’ютерних технологій (циклова комісія) Пояснювальна записка до дипломного проєкту _______ фаховий молодший бакалавр _______ (Освітньо-професійний ступень) на тему «Створення комп’ютерної гри «CRIDUS 3D»» Виконав: студент 4 курсу, групи 411-КІ-20 спеціальності 123 «Комп’ютерна інженерія» (шифр і назва спеціальності) «Комп`ютерна системи та мережі» (освітня програма) Гозун Є.С. (прізвище та ініціали) Керівник Островська І.О. (прізвище та ініціали) Рецензент Бесараб І. С. (прізвище та ініціали) Первомайськ - 2024 року ЗМІСТ Вступ 3 1 Дослідження та аналіз вимог до створення комп’ютерної гри «CRIDUS 3D» 5 1.1 Аналіз існуючих аналогів 5 1.2 Дослідження методології та інструментарію створення гри 6 1.3 Формування вимог до створюваного продукту 8 2 Алгоритм розв‘язку задачі 11 3 Об‘єктно-орієнтований аналіз 13 4 Об‘єктно-орієнтоване проєктування 20 5 Об‘єктно-орієнтоване програмування 49 6 Інструкція користувача 51 7 Охорона праці 58 7.1 Аналіз умов праці 58 7.2 Гігієна праці та виробнича санітарія 62 7.3 Пожежна безпека виробничого приміщення 64 7.4 Виконання розрахункової частини 64 Висновок 66 Література 67 Додаток А Скрипти гри 68 ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Розроб. Гозун Є.С. Перевір. Островська І.О. Реценз. Бесараб І.С. Н. Контр. Затверд. Підпис Дат а Створення комп’ютерної гри «CRIDUS 3D» Літ. Арк. Аркушів 2 139 ВСП ПФК НУК 411-КІ ВСТУП Індустрія відеоігор стрімко розвивається, пропонуючи геймерам все більш захопливий та реалістичний ігровий досвід. Із впровадженням новітніх технологій комп'ютерної графіки, потужних ігрових рушіїв та інноваційних ігрових механік, попит на якісні відеоігри невпинно зростає. Жанр тривимірних лабіринтів із захопливим сюжетом займає особливе місце серед прихильників пригодницьких ігор, поєднуючи елементи розгадування головоломок, дослідження навколишнього світу та розвиток цікавої історії. Метою даного дипломного проєкту є дослідження та аналіз існуючих рішень у жанрі 3D-лабіринтів, вивчення сучасних методологій та інструментарію для розробки відеоігор, формування вимог до майбутнього продукту «CRIDUS 3D» з подальшою безпосередньою реалізацією проєкту із застосуванням новітніх підходів та технологій. Головним завданням є створення захопливої та унікальної гри, здатної задовольнити очікування гравців. Об'єктом дослідження виступають методології, інструменти, технології та підходи, що використовуються для розробки відеогри. Предметом дослідження є процес створення комп'ютерних ігор у жанрі 3Dлабіринтів із сюжетною лінією. Для досягнення поставленої мети передбачено ретельне вивчення аналогів у жанрі, аналіз їх сильних та слабких сторін, а також тенденцій на ринку відеоігор. Важливим аспектом є ґрунтовне дослідження провідних ігрових рушіїв, інструментів розробки, методології програмування та підходів до створення сюжетних ліній, діалогових систем, штучного інтелекту неігрових персонажів. На основі отриманих знань буде сформовано комплекс вимог до гри «CRIDUS 3D» з урахуванням новітніх тенденцій та очікувань користувачів. Розділ «Дослідження та аналіз вимог до створення комп'ютерної гри «CRIDUS 3D» присвячений аналізу аналогів, вивченню методології та інструментів розробки, а також формуванню вимог до майбутнього продукту. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 3 Розділ «Алгоритм розв'язку задачі» представляє деталізований план розробки гри «CRIDUS 3D», охоплюючи всі етапи від зародження ідеї до фінального тестування та підготовки до випуску. Він описує особливості створення тривимірних лабіринтів, налаштування процедурної генерації, важливість оптимізації для різних платформ та специфіку розробки нелінійних сюжетних ліній. Розділ «Об'єктно-орієнтований аналіз» фокусується на глибокому аналізі структури та поведінки гри. Центральне місце займає траса подій, яка візуалізує послідовність взаємодій між об'єктами гри. Також важливою є діаграма класів яка показує взаємозв'язки між ключовими класами. У розділі «Об'єктно-орієнтоване проєктування» детально розглядається процес створення ігрового світу, починаючи з розробки базового «будівельного блоку» для лабіринту і закінчуючи дизайном окремих рівнів та головоломок. Особлива увага приділяється реалізації квестів, інтеграції віртуального помічника та створенню різноманітних ігрових механік для кожного з восьми рівнів. Розділ «Об'єктно-орієнтоване програмування» концентрується на ключових скриптах гри, описує як ці скрипти взаємодіють між собою, управляють ігровими об'єктами та реагують на дії гравця, демонструючи складну взаємодію між різними системами гри. Розділ «Охорона праці» охоплює питання аналізу умов праці, гігієни праці та виробничої санітарії, забезпечення пожежної безпеки, а також виконання необхідних розрахунків. Результатом дипломного проєкту стане якісна та цікава відеогра «CRIDUS 3D», що демонструватиме ефективне застосування сучасних технологій та методологій розробки, а також творчий підхід до створення ігрового досвіду. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 4 1 ДОСЛІДЖЕННЯ ТА АНАЛІЗ ВИМОГ ДО СТВОРЕННЯ КОМП’ЮТЕРНОЇ ГРИ «CRIDUS 3D» 1.1 Аналіз існуючих аналогів Перед початком створення відеогри «CRIDUS 3D» у жанрі 3D-лабіринту з сюжетною лінією, проведено ретельний аналіз низки популярних відеоігораналогів. Розглянуто ігри цього жанру різних часів, випущені як відомими розробниками (серії «Uncharted», «Tomb Raider»), так і інді-студіями («The Witness», «The Talos Principle»). При цьому було детально вивчено ключові аспекти аналогів, такі як ігровий процес із акцентом на проходженні лабіринтів та вирішенні головоломок, візуальний стиль, включно з графікою, освітленням, анімацією. Розібрано звукове оформлення, зокрема музичний супровід та звукові ефекти, користувацький інтерфейс з точки зору зручності керування, способи реалізації самих лабіринтів та різноманітних головоломок, підходи до розвитку сюжетної лінії та її інтеграції в ігровий процес. Для розуміння того, як повинна виглядати відеогра «CRIDUS 3D» здійснено деталізований порівняльний аналіз сильних і слабких сторін аналогічних ігор за багатьма критеріями. Оцінено оригінальність та інноваційність ігрових механік, якість графіки, анімації та візуальних ефектів, атмосферність музики та звукових ефектів, зручність користувацького інтерфейсу та проаналізовано глибину сюжетних ліній, якість розкриття персонажів та захопливість історії. Перед формуванням вимог до майбутнього продукту ретельно досліджено відгуки користувачів, професійні рецензії від ігрової преси та думки впливових критиків щодо аналізованих ігор-аналогів. Виявлено найбільш вдалі та популярні ігрові рішення, а також типові недоліки та прогалини. На основі цього визначено можливості для створення якісного продукту в жанрі 3D-лабіринтів з сюжетом. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 5 1.2 Дослідження методології та інструментарію створення гри Для початку розробки відеогри спочатку необхідно провести ґрунтовне всебічне дослідження різноманітних методології, підходів та інструментарію, що використовуються для розробки відеоігор жанру 3D-лабіринтів із сюжетною лінією на кшталт запланованої гри «CRIDUS 3D». Для цього було ретельно вивчено провідні ігрові рушії та їх можливості. Одним з них є Unreal Engine 5 – новітній потужний кросплатформний рушій від Epic Games. Він має передові технології, такі як система глобального освітлення Lumen, віртуальні геометричні примітиви Nanite для фотореалістичного рендерингу мільйонів полігонів, підтримку трасування променів raytracing, вдосконалені фізичні системи Chaos, технологію Virtual Shadow Maps для створення деталізованих динамічних тіней. Рушій дозволяє створювати великомасштабні відкриті ігрові світи, виконувати складні фізичні симуляції, візуальні ефекти та продуктивно працювати зі штучним інтелектом. Він надає інструменти для імпорту, налаштування та роботи з 3D-моделями, текстурами, матеріалами, анімацією, системами часток, звуковими ефектами. Наступним рушієм є Unity – один з найпопулярніших ігрових рушіїв із потужною кросплатформною підтримкою. Він має візуальний редактор з інтуїтивним інтерфейсом для налаштування ігрової сцени, управління світлом, тінями, фізичними властивостями. Рушій пропонує інструменти для роботи з 3Dграфікою: полігональне моделювання, скульптинг, UV-розгортка, налаштування матеріалів шляхом підбору текстур і застосування шейдерів. За допомогою редактора Animator можна анімувати персонажів і моделі. Unity дозволяє використовувати системи штучного інтелекту, зокрема навігацію, прийняття рішень та машинне навчання з використанням модуля ML-Agents. Він надає можливості для налаштування фізичних симуляцій та вдосконалення продуктивності проєкту через оптимізацію 3D-моделей, бекграундні розрахунки, об'єднання мешів тощо. Unity має потужну екосистему з численними ассетами, Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 6 бібліотеками, плагінами від спільноти та сторонніх розробників, а також ґрунтовну документацію та багато навчальних ресурсів. Ще одним доволі потужним рушієм є Godot – відкритий вільний рушій з акцентом на продуктивності та масштабованості. Він має функціонал для створення 3D-сцен, налаштування графіки та візуальних ефектів, імпортування зовнішніх 3D-ассетів, імплементації фізичних симуляцій, роботи з анімацією та програмування ігрової логіки. Godot дозволяє працювати з мультимедіа, мережевим програмуванням та розробляти кросплатформні додатки. Він використовує власну інтегровану функціональну мультипарадигмальну скриптову мову GDScript та підтримує C++ і C# для оптимізації критичних ділянок коду. Також окремо досліджено аспект програмування ігрової логіки з використанням різних підходів, парадигм, мов та фреймворків. Досліджено об'єктно-орієнтоване програмування на С++ та С# – провідних мовах для створення комерційних ігор під Unreal Engine та Unity відповідно. Також розглянуто особливості Python як скриптової мови з великою кількістю бібліотек для машинного навчання та комп'ютерного зору. Приділено увагу імперативному та функціональному підходам до програмування у JavaScript/TypeScript для розробки веб-ігор. Перевагу вирішено віддати С# як безпечнішій мові з автоматичним керуванням пам'яттю та великим функціоналом .NET. Детально проаналізовані методи реалізації сюжетних ліній у відеоіграх, використовуючи діалогові дерева, скриптовані події, нелінійні сюжетні розгалуження. Розглянуто створення неігрових персонажів, наділяючи їх ефективною анімацією, озвучуванням та штучним інтелектом, будуючи системи прийняття рішень та емоційних реакцій. Досліджені підходи до розробки подієвого сценарію з нелінійними варіантами розвитку оповіді та застосовуючи драматургічні прийоми для максимального залучення гравців. Після ретельного вивчення численних підходів та інструментів, оптимальним вибором для створення гри «CRIDUS 3D» визначено використання рушія Unity завдяки його багатофункціональності, гнучкості, кросплатформності, Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 7 великій спільноті та екосистемі. Потужний інструментарій Unity забезпечує комфортні умови як для роботи з 3D-графікою, анімацією та візуальними ефектами, так і для програмування складної ігрової логіки, імплементації фізичних симуляцій, штучного інтелекту, сюжету та діалогів. Допоміжні ресурси та бібліотеки значно полегшують та пришвидшують розробку. Використання С# як сучасної багатопарадигмальної мови забезпечує зручність написання коду, підвищену продуктивність та безпеку порівняно зі скриптовими мовами. При цьому Unity надає гнучкі можливості для подальшої оптимізації та розгортання проєкту на різних платформах. 1.3 Формування вимог до створюваного продукту На основі ретельного аналізу великої кількості аналогічних ігор у жанрі 3Dлабіринтів із захопливою сюжетною лінією, а також ґрунтовного дослідження сучасних методологій, передових технологій та інструментарію для розробки відеоігор, сформовано комплексний деталізований перелік вимог до майбутнього ігрового проєкту «CRIDUS 3D». Ключовими функціональними вимогами визначено проходження серії 3Dлабіринтів різних рівнів складності, від простих лінійних до складних нелінійних лабіринтів з численними розгалуженнями та альтернативними маршрутами. Лабіринти повинні поєднувати елементи пригод, вирішення головоломок та пошук секретних предметів. Передбачено реалізацію широкого спектру різноманітних головоломок, що задіюють як логічне мислення, так і просторове сприйняття гравця. Визначальною функціональною вимогою є наявність нелінійної, розгалуженої сюжетної лінії з декількома можливими альтернативними закінченнями. Сюжет повинен розвиватися динамічно, відображаючи рішення та дії гравця, що робить кожне проходження гри унікальним. Важливим аспектом є інтерактивна взаємодія з численними неігровими персонажами через діалогові Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 8 системи з варіативними відповідями, здатними впливати на хід сюжету. Персонажі мають демонструвати різноманітні емоційні реакції та поведінкові моделі залежно від контексту. Для заохочення гравців та посилення їх залученості передбачено системи квестів, досягнень та винагород з відкриттям додаткового вмісту. Особливу увагу приділено створенню зручного інтуїтивного користувацького інтерфейсу з чіткою навігацією, елементами розширеного інтерфейсу гравця (HUD) та повною підтримкою налаштувань керування під різноманітні пристрої: ПК, консолі, мобільні платформи. Висунуто жорсткі вимоги до візуального оформлення з використанням новітніх технологій комп'ютерної графіки. Необхідно забезпечити якісну тривимірну графіку з ретельно деталізованими 3D-моделями персонажів, об'єктів та локацій. Моделі повинні мати високополігональні меші зі скульптингом та високоякісними PBR-матеріалами і текстурами з підтримкою карт нормалей, випуклостей, шорсткості, металевості тощо. Обов'язковою є плавна анімація персонажів з застосуванням систем кісткової та процедурної анімації, здатних відтворювати природні рухи. Необхідно впровадити візуальні ефекти найвищого рівня, такі як об'ємне туманне середовище, динамічні частинки диму, вогню, рефлекси, заломлення світла тощо. Локації повинні створювати атмосферне художнє оформлення з глибоким проробленим стилем та естетикою. Звукове оформлення гри має включати динамічний об'ємний музичний супровід високої якості, який підсилює емоційний вплив та задає відповідний настрій у різних ігрових ситуаціях. Багатоканальне позиційне озвучення звукових ефектів (кроків, взаємодій з об'єктами, спецефектів) повинно забезпечувати максимальне просторове занурення. Діалоги, монологи та коментарі персонажів вимагають професійного озвучення акторами. Однією з ключових вимог є реалізація просунутих фізичних симуляцій для реалістичної поведінки об'єктів з точною детекцією зіткнень, урахуванням сил Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 9 тяжіння, тертя та пружності. Необхідно виконати симуляції для середовищ та природних явищ, а саме текучих і хвилястих рідин, вітру, вогню, диму, хмар тощо. Анімація персонажів передбачає застосування фізично-заснованих технік на основі обернених кінематичних ланцюгів для досягнення максимальної природності та плавності рухів. Повинні бути реалізовані ефективні алгоритми навігації у 3D-просторі, прокладання шляхів з урахуванням перешкод та динамічної ситуації. Гра повинна надавати розширені можливості для налаштування багатьох аспектів: вибір роздільної здатності та якістю графіки, регулювання деталізації візуальних ефектів, вибір озвучення, мови інтерфейсу та субтитрів, налаштування чутливості та розкладки керування для різних пристроїв. Загалом, весь комплекс ретельно сформованих вимог спрямований на створення якісного, технологічно передового, захопливого та масштабного проєкту «CRIDUS 3D», здатного задовольнити найвибагливіші очікування гравців, поціновувачів жанру 3D-лабіринтів з сюжетом, а також значно розширити існуючу аудиторію завдяки інноваційним рішенням. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 10 2 АЛГОРИТМ РОЗВ‘ЯЗКУ ЗАДАЧІ Розробка комп'ютерної гри «CRIDUS 3D» у жанрі 3D-лабіринтів з нелінійним сюжетом – це складний багатоетапний процес, що вимагає ретельного планування, глибоких технічних знань та творчого підходу. Для успішної реалізації такого масштабного проєкту необхідно чітко визначити послідовність дій, етапи розробки та ключові завдання на кожному з них. У цьому розділі представлено деталізований алгоритм розв'язку задачі створення гри «CRIDUS 3D». Він охоплює весь життєвий цикл розробки – від зародження ідеї та формування концепції до фінального тестування і підготовки до випуску. Алгоритм побудовано з урахуванням специфіки тривимірної графіки, складності реалізації процедурно-генерованих лабіринтів, важливості оптимізації для різних платформ, а також особливостей розробки нелінійних сюжетних ліній з розгалуженими діалогами. Отже алгоритм складається з наступних пунктів: а) розробка ідеї та концепції гри «CRIDUS 3D», планування етапів розробки та ресурсів; б) налаштування проєкту в Unity для 3D-розробки, імпорт та налаштування базових ассетів, створення сцени лабіринту; в) моделювання та імпорт 3D-моделей підлоги, стін, стелі. Створення PBR-матеріалів та текстур для елементів лабіринту. Розміщення та масштабування елементів на сцені. Додавання динамічного освітлення та тіней; г) моделювання, текстурування та імпорт 3D-моделі головного героя. Налаштування скелетної анімації. Додавання компонентів Rigidbody, Collider для фізичної взаємодії. Розробка скриптів керування рухом, камерою від першої особи. Імплементація системи взаємодії з об'єктами; д) моделювання та розміщення перешкод (пастки, двері, лазери). Створення інтерактивних об'єктів. Розробка головоломок (логічні пазли, механічні задачі). Додавання ефектів часток (дим, іскри) для атмосфери; Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 11 е) моделювання, текстурування та анімація неігрових персонажів (NPC). Імплементація систем патрулювання та виявлення гравця; ж) створення серії рівнів зростаючої складності. Реалізація системи переходів між рівнями. Розробка нелінійного сюжету з розгалуженнями. Імплементація сюжетних тригерів; з) створення та оформлення головного меню, розробка меню паузи. Дизайн HUD (здоров'я, інвентар, компас). Створення сцен перемоги та поразки. Імплементація системи налаштувань (графіка, аудіо, керування); и) створення атмосферної фонової музики, розробка звукових ефектів (кроки, двері, механізми). Запис та інтеграція озвучення діалогів. Налаштування просторового звуку (3D Audio); к) функціональне тестування всіх ігрових механік. Перевірка сюжетних розгалужень та діалогів. Виправлення знайдених помилок та багів. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 12 3 ОБ‘ЄКТНО-ОРІЄНТОВАНИЙ АНАЛІЗ Жанром гри обрано тривимірний лабіринт з динамічними перешкодами, головоломками та нелінійним сюжетом. На відміну від двовимірних лабіринтів, у «CRIDUS 3D» рух персонажа відбувається у трьох вимірах, що додає глибини та реалістичності ігровому досвіду. Це вимагає більш складної системи керування персонажем, що враховує взаємодію з поверхнями, гравітацію та зіткнення з об'єктами. Для руху самого персонажа створено скрипт PlayerCustController. PlayerCustController є ключовим скриптом, який реалізує керування головним персонажем гри. Цей скрипт забезпечує рух персонажа у тривимірному просторі, враховуючи вхідні дані з клавіатури та миші, а також взаємодію з навколишнім середовищем. Він відповідає за обчислення переміщення, повороту камери, стрибків, зіткнень зі стінами та підлогою, відтворення анімацій руху та звуків кроків. Крім того, PlayerCustController дозволяє гравцеві налаштовувати керування під свої вподобання, завантажуючи користувацькі комбінації клавіш з файлу конфігурації. На рисунку 3.1 подана схема гри. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 13 Запуск гри Головне меню Налаштування Завантаження рівня Рух персонажу Персонаж помирає Переміщення по лабіринту Персонаж отримує пошкодження Персонаж проходить перший квест На сцені вмикається світло Персонаж збирає 8 кристалів(проходить 8 рівнів) в довільному порядку Персонаж встановлює 8 кристалів в інженерній Відкривається фінальне приміщення Персонаж активує 2 з 3 важелів З’являється попередження Персонаж активує 3-ій важіль Персонаж покидає приміщення Завантаження фінальної сцени 1 Відбувається вибух Завантаження фінальної сцени 2 Рисунок 3.1 Схема гри Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 14 На рисунку 3.2 поданий список класів проєкту. Рисунок 3.2 Список класів проєкту Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 15 Модель системи можна побачити на трасі подій (рис. 3.3) Рисунок 3.3 Траса подій Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 16 Також представлені властивості та методи основних класів. Властивості та методи PlayerCustController зображені на рисунку 3.4. Рисунок 3.4 Властивості та методи PlayerCustController Властивості та методи HealthScriptPlayer зображені на рисунку 3.5. Рисунок 3.5 Властивості та методи HealthScriptPlayer Властивості та методи MenuScript зображені на рисунку 3.6. Рисунок 3.6 Властивості та методи MenuScript Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 17 Властивості та методи QuestSystem зображені на рисунку 3.7. Рисунок 3.7 Властивості та методи QuestSystem Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 18 Властивості та методи AI_Monster зображені на рисунку 3.8. Рисунок 3.8 Властивості та методи AI_Monster Властивості та методи SaveLoadSystem зображені на рисунку 3.9. Рисунок 3.9 Властивості та методи SaveLoadSystem Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 19 4 ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОЄКТУВАННЯ Проєктування було розпочато з меню. Для початку було розроблено логотип(рис. 4.1). Після чого до сцени додано Canvas, до якого в свою чергу додано Image і логотип встановлено на даний Image. Рисунок 4.1 Логотип Далі як задній фон для меню було встановлено відео (рис. 4.2). Рисунок 4.2 Задній фон меню Після чого були налаштовані кнопки меню (рис. 4.3). Для налаштування взаємодії було написано простий MenuScript, після чого його було додано на кожну кнопку. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 20 Рисунок 4.3 Кнопки меню На кожній з кнопок, яка відповідає за перехід на певну сцену, були налаштовані компоненти MenuScript та Button, а саме Встановлено назву сцени для змінної MenuScript.SceneName та в методі OnClick() обрано виконання методу MenuScript.ChangeScene (рис. 4.4). Рисунок 4.4 Налаштування кнопок Далі, для плавного завантаження головної сцени було налаштовано можливість асинхронного завантаження сцени. Для реалізації цього було створено відповідну сцену (рис 4.5), де в Canvas також було створено фон, а також об’єкт Loader, який відповідає за анімацію завантаження та Text (TMP), який відображає прогрес завантаження. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 21 Рисунок 4.5 Сцена завантаження Також на даній сцені було створено об’єкт ASyncLoader, для якого було створено скрипт ASyncLoadScene і прикріплено на даний об’єкт, після чого встановлено параметри, зображені на рисунку 4.6. Рисунок 4.6 Налаштування компонента ASyncLoadScene Після цього була розпочата розробка головної сцени. Для початку, для побудови лабіринту, необхідно було розробити так званий «будівельний блок», з якого буде побудований сам лабіринт. Для цього в додатку Blender було створено такий блок (рис 4.7), який по суті є кубом, на якому зверху налаштовані грані, для можливості оформлення в футуристичному стилі. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 22 Рисунок 4.7 Куб в Blender Після створення даний куб було імпортовано до Unity, де було створено і налаштовано для нього матеріали, а також створено і додано декоративні елементи в вигляді футуристичних ламп, в результаті чого куб став мати вигляд, зображений на рисунку 4.8. Також до кубу були додані Mesh і Box колайдери. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 23 Рисунок 4.8 Фінальний вигляд куба Після того як куб було налаштовано, була розпочата побудова лабіринту. Оскільки це 3D проєкт, за замовчуванням Tilemap в проєкті відсутній, і тому першим чином для побудови лабіринту в Package Manager було інстальовано набір 2D пакетів (рис 4.9), що включає в себе і Tilemap. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 24 Рисунок 4.9 Набір 2D пакетів Після цього до сцени було додано Tilemap, налаштовано Grid в горизонтальній площині та налаштовано розмір кожної комірки відповідно до розміру блоку. В вікні Tile Palette (рис. 4.10) було обрано GameObject Brush для розміщення на сцені саме ігрових об’єктів та обрано ігровим об’єктом раніше створений куб. Рисунок 4.10 Налаштування вікна Tile Palette Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 25 Потім, після побудови лабіринту він став мати вигляд, зображений на рисунку 4.11. Рисунок 4.11 Лабіринт Після цього для лабіринту також було побудовано підлогу, для чого було створено ще один TileMap, який було розміщено під стіни лабіринту і в якому було заповнено тими ж кубами всю зону під лабіринтом. Те саме зроблено і для стелі. Як початкову точку в центрі лабіринту було створено кімнату (рис. 4.12), в якій спочатку буде з’являтись персонаж. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 26 Рисунок 4.12 Початкова кімната Наступним етапом розробки гри стало створення персонажа. Для цього до проєкту була додана модель персонажа зображена на рисунку 4.13, та додана на сцену. Рисунок 4.13 Головний персонаж Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 27 Спочатку для персонажу були налаштовані компоненти Animator, RigitBody, Capsule Collider (рис. 4.14). Рисунок 4.14 Налаштування основних компонентів персонажа Для руху персонажа був створений скрипт PlayerCustController, та доданий до персонажа. В даному компоненті налаштовані різні параметри, зображені на рисунку 4.15. Рисунок 4.15 Компонент PlayerCustContoller Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 28 Оскільки в даному скрипті рух персонажа відбувається завдяки анімації, то також було налаштовано аніматор персонажа (рис. 4.16), де встановлено переходи анімацій від кожного напрямку руху, до кожного, та анімація смерті персонажа. Рисунок 4.16 Аніматор Персонажа Далі, для персонажа була реалізована система життів. Для цього було створено скрипт HealthScriptPlayer (рис. 4.17) та створено Canvas для відображення кількості життів. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 29 Рисунок 4.17 Налаштування компонента HealthScriptPlayer За власне відображення кількості життів відповідає скрипт HeartSystem (рис. 4.18). Рисунок 4.18 Налаштування компонента HeartSystem Наступним етапом після налаштування персонажа, стало облаштування об’єкту. В лабіринті були облаштовані різні не пов’язані з сюжетом кімнати, такі Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 30 як загальна спальня (рис. 4.19), їдальня/кімната відпочинку(рис. 4.20), вбиральня (рис. 4.21), лабораторія (рис. 4.22). Рисунок 4.19 Загальна спальня Рисунок 4.20 Їдальня/кімната відпочинку Рисунок 4.21 Вбиральня Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 31 Рисунок 4.22 Лабораторія Наступним етапом стала розробка квестової системи. Першим квестом було вирішено встановити увімкнення світла на об’єкті, для цього було розпочато створення скрипта QuestSystem. Оскільки спочатку на об’єкті світло є вимкненим, для персонажа був створений ліхтарик (рис. 4.23). Рисунок 4.23 Ліхтарик Керування ліхтариком здійснює скрипт ControllerKeyboard, в якому зберігаються всі клавіші, які за щось відповідають. Ввімкнення/вимкнення ліхтарика відбувається при натисненні кнопки T. На цьому етапі для квестової системи треба було розробити систему взаємодії, і тому було створено скрипт RaycastManager. Цей скрипт відповідає за знаходження об’єктів перед гравцем та передачу їх даних іншим скриптам, які до них звертаються, а також за зміну кольору прицілу в Canvas. Даний компонент був прикріплений до камери, для правильної роботи даної системи. Даний компонент зображений на рисунку 4.24. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 32 Рисунок 4.24 Налаштування компонента RaycastManager Далі до проєкту були додані електричний щиток і запобіжники(рис. 4.25). Відповідно до завдання квесту, гравцю необхідно знайти в лабіринті три запобіжники та вставити їх до щитка і тоді на об’єкті з’являється світло. Рисунок 4.25 Електричний щиток з запобіжником Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 33 Для реалізації цього були налаштовані скрипти FuseController, що відповідає за електрощиток, AudioManager, який відповідає за відтворення звуків при встановленні запобіжників, InventoryController_Fuse, що відповідає за зберігання запобіжників в інвентарі та RaycastManager_Fuse, що відповідає за взаємодію із запобіжниками. Також до сцени був доданий Directional Light який вмикається при встановленні всіх трьох запобіжників. Також для квестів створено об’єкти в Canvas, які відображають поточне завдання (рис. 4.26). Рисунок 4.26 Відображення завдання в Canvas Також, в сюжет було введено штучний інтелект – віртуальний помічник (рис. 4.27) який дає інформацію щодо проходження. Для цього було створено відео, яке потім було додано до Canvas, де різні відрізки програються в певних ігрових моментах. Рисунок 4.27 Віртуальний помічник – Тейя Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 34 Після увімкнення світла починається основна частина сюжету і проходження гри. Наступним етапом є збирання восьми кристалів (рис. 4.28) які забезпечують роботу зв’язку. Кожен кристал розміщений в окремій кімнаті і кожен захищений своєю системою, тому фактично, на кожен кристал виділено свій рівень. Взаємодію з даними кристалами реалізовано через створений раніше RaycastManager, Також для самих кристалів було створено скрипт CyberCrystalController, необхідний для забезпечення чесності проходження. Рисунок 4.28 Кристал Для доступу до кожної кімнати поряд з входом створено та встановлено термінал (рис. 4.29), який активується за допомогою робота помічника (рис. 4.30). Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 35 Рисунок 4.29 Термінал Для активації терміналу, гравцю потрібно навестись на термінал і натиснути на клавішу взаємодії, що за замовчуванням є клавішею E, після чого помічник підлітає до терміналу і активує його, таким чином даючи доступ до рівня. Рисунок 4.30 Робот-помічник Рівень з першим кристалом (рис. 4.31) складається з блоків-привидів. Фактично це блоки підлоги у яких вимкнено колайдери. В скрипті QuestSystem було налаштовано, щоб коли персонаж підходить до початку таких блоків, вони декілька секунд мигали, щоб гравець зміг запам’ятати по яких блоках можна йти, а по яких ні. Якщо гравець падає під підлогу, він падає в кислоту, де одразу вмирає. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 36 Рисунок 4.31 Рівень з першим кристалом Рівень з другим кристалом реалізовано як міні-лабіринт (рис 4.32), в якому гравець знаходиться над лабіринтом, і повинен провести по ньому свого роботапомічника. Після того, як робот доходить до кінцевої точки, відкривається місце з другим кристалом. Рисунок 4.32 Рівень з другим кристалом Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 37 Рівень з третім кристалом (рис. 4.33) – це вже міні-лабіринт, де гравцеві самому необхідно пройти його і дібратись до відповідного кристалу. Рисунок 4.33 Рівень з третім кристалом Рівень з четвертим кристалом (рис. 4.34) є логічною головоломкою, де щоб відчинити двері до кристалу, необхідно активувати важелі в правильній послідовності. Для визначення послідовності, біля важелів на моніторі, розміщено підказку. У разі активації важелів не у правильній послідовності, прогрес скидається. Рисунок 4.34 Рівень з четвертим кристалом Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 38 Рівень з п’ятим кристалом (рис. 4.35) є випробуванням пам’яті. Перед гравцем є стіна з трьома проходами, де через один з них можна пройти, а інші два телепортують гравця на початок мапи. І таких стін є 12 підряд і гравцеві необхідно в кожній такій стіні запам’ятати правильний прохід і пройти. Рисунок 4.35 Рівень з п’ятим кристалом Рівень з шостим кристалом (рис. 4.36) має перешкоди в вигляді лазерів, та кристал-обманку, при взаємодії з яким випускається радіація і персонаж вмирає і завантажується сцена смерті. Правильний же кристал заховано за блокомпривидом. Рисунок 4.36 Рівень з шостим кристалом Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 39 Рівень з сьомим кристалом (рис. 4.37) складається з 24-х кристалів-обманок та одного вірного. Для визначення вірного, позаду підставки кристалу є елемент, який за кольором трохи відрізняється від інших. Рисунок 4.37 Рівень з сьомим кристалом Рівень з восьмим кристалом (рис. 4.38) має декілька пасток. Перша – це кристал-обманка та блоки-привиди навколо нього, гравцеві необхідно також пройти через стіну-привид. Друга – блоки-привиди на шляху до справжнього кристалу, однак на даному рівні у справжніх блоків відрізняється матеріал кола, зображеного на підлозі. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 40 Рисунок 4.38 Рівень з восьмим кристалом Після того, як гравець зібрав 8 кристалів, йому необхідно становити їх в інженерному приміщенні (рис. 4.39), після чого, йому відкриється доступ до фінального рівня. Рисунок 4.39 Інженерне приміщення Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 41 На фінальному рівні (рис. 4.40) відповідно до сюжету, гравцеві відкривається можливість покинути даний об’єкт. Для цього йому необхідно активувати три важелі позаду антен. Рисунок 4.40 Фінальний рівень Після того як гравець активує, два з трьох важелів, Тейя дає попередження про ймовірність випустити вірус при виході з об’єкту. Тут з’являється сюжетне розгалуження. Гравцеві дається вибір, або активувати третій важіль і покинути об’єкт, після чого завантажується перша сцена-кінцівка (рис. 4.41), або повернутись назад і тоді об’єкт вибухає і завантажується друга кінцівка (рис. 4.42). Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 42 Рисунок 4.41 Перша кінцівка. Рисунок 4.42 Друга кінцівка. Також, сцена смерті зображена на рисунку 4.43 Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 43 Рисунок 4.43 Сцена смерті Також для цього всього було організовано звуковий супровід, для чого до кожного джерела звуку був прикріплений свій звук, і створений AudioMixer (рис 4.44) з чотирма групами, за вдяки чому можна регулювати не лише загальний звук, а й різні види. Рисунок 4.44 AudioMixer Відповідно також було створено налаштування гри (рис. 4.45). Реалізовано, такі налаштування, як налаштування дисплея, налаштування звуку, налаштування графіки та налаштування керування. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 44 Рисунок 4.45 Сцена налаштування В налаштуваннях дисплея (рис. 4.46) можна налаштувати роздільну здатність, вертикальну синхронізацію, та частоту оновлення екрану. Рисунок 4.46 Налаштування дисплею В налаштуваннях звуку (рис 4.47) можна налаштувати загальний звук, звук фонової музики, навколишнього середовища та гучність віртуального помічника. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 45 Рисунок 4.47 Налаштування звуку В налаштуваннях графіки (рис. 4.48) можна налаштувати якість зображення. Рисунок 4.48 Налаштування графіки В налаштуваннях керування (рис. 4.49) можна налаштувати клавіші, що відповідають за взаємодію, налаштування керування зберігаються в файлі Мої документи/CRIDUS 3D/KeyData.dat. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 46 Рисунок 4.49 Налаштування керування Також для збереження і відновлення прогресу проходження гри було розроблено SaveLoadScript (рис. 4.50), який зберігає дані про проходження квестів та стани відповідних ігрових об’єктів в файлі Мої документи/CRIDUS 3D/GameData.dat. Рисунок 4.50 Компонент SaveLoadSystem Також, для сцени розроблено просте меню паузи (рис. 4.51). Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 47 Рисунок 4.51 Меню паузи Після цього гра була побудована для платформи Windows для 64-х бітної версії системи та створено для неї інсталятор. На цьому проєктування гри було завершено. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 48 5 ОБ‘ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ При створені гри, було написано 39 скриптів, які подані в додатку А. Далі буде розглянуто основні. Першим є QuestSystem, який відповідає квестову систему. Даний скрипт має 820 рядків і відповідає за перемикання та роботу квестів. В ньому прописані як перемикання квестів і перевірка виконання завдань, так і механіка роботи самих квестів. Також в ньому прописаний виклик методу SaveGame() зі скрипта SaveLoadSystem по прийняттю та завершенню квестів. Сам скрипт також можна побачити в Додатку А. Наступним є PlayerCustController. Він відповідає за рух, стрибки персонажа та поворот камери. Рух реалізовано за допомогою анімації. Далі предсталено частину коду, яка змінює параметри аніматору. if (Mathf.Abs(moveHorizontal) > 0.1f || Mathf.Abs(moveVertical) > 0.1f) { animator.SetBool("IsRunning", true); if (moveHorizontal > 0.1f && moveVertical > 0.1f) { animator.SetFloat("Direction", 1f); // forward right } else if (moveHorizontal < -0.1f && moveVertical > 0.1f) { animator.SetFloat("Direction", 2f); // forward left } else if (moveHorizontal > 0.1f && moveVertical < -0.1f) { animator.SetFloat("Direction", 3f); // backward right } else if (moveHorizontal < -0.1f && moveVertical < -0.1f) { animator.SetFloat("Direction", 4f); // backward left } Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 49 else if (moveHorizontal > 0.1f) { animator.SetFloat("Direction", 5f); // right } else if (moveHorizontal < -0.1f) { animator.SetFloat("Direction", 6f); // left } else if (moveVertical > 0.1f) { animator.SetFloat("Direction", 7f); // forward } else if (moveVertical < -0.1f) { animator.SetFloat("Direction", 8f); // backward } } else { animator.SetBool("IsRunning", false); } Іншим важливим скриптом є AI_Monster, який керує роботомпомічником гравця. Він відповідає за навігацію робота, його анімацію та інтерактивність. Робот слідує за гравцем, прискорюючись при більшій відстані, та взаємодіє з терміналами за командою гравця, що активує підквести. Під час взаємодії з терміналами, робот тимчасово вимикає колізії та переміщується до визначених точок. Скрипт також контролює анімації робота та звуки його кроків, а в режимі ведення, він рухається попереду гравця, демонструючи складну взаємодію між системами навігації, анімації, аудіо та квестів. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 50 6 ІНСТРУКЦІЯ КОРИСТУВАЧА При запуску гри з'являється головне меню (рис. 6.1). У головному меню є чотири кнопки: «Нова гра», «Продовжити», «Налаштування», «Вийти». Рисунок 6.1 Головне меню При натисненні на кнопку «Нова гра» гра завантажує сцену завантаження (рис. 6.2), після якої гра починається з початку. Кнопка «Продовжити» завантажить збережену гру з того місця, де гравець зупинився востаннє. Рисунок 6.2 Сцена завантаження Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 51 При натисненні на кнопку «Налаштування» відкривається меню налаштувань (рис. 6.3), де гравець може змінити різні параметри гри. При натисненні на кнопку «Вийти» гра закривається. Рисунок 6.3 Меню налаштувань У меню налаштувань є чотири розділи, такі як «Дисплей», «Звук», «Графіка», «Керування». В розділі «Дисплей» гравець може налаштувати роздільну здатність екрану, вертикальну синхронізацію та частоту оновлення екрану. В розділі «Звук» гравець може налаштувати гучність загального звуку, фонової музики, звуків навколишнього середовища та віртуального помічника. В розділі «Графіка» гравець може налаштувати якість зображення. В розділі «Керування» гравець може змінити клавіші, що відповідають за рух, стрибок, взаємодію та ввімкнення/вимкнення ліхтарика. Після натискання «Нова гра» або «Продовжити» і завантаження гри, гравець опиняється у початковій кімнаті (рис. 6.4). У грі керування персонажем здійснюється за замовчуванням за допомогою клавіш, де W – рух вперед, A – рух вліво, S – рух назад, D – рух вправо, рух миші – поворот камери, Пробіл – стрибок, E – взаємодія з об'єктами, T – ввімкнення/вимкнення ліхтарика. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 52 Рисунок 6.4 Початкова кімната Першим квестом є увімкнення світла. При завантаженні сцени віртуальний помічник Тейя дає інструкції. Гравцю необхідно знайти три запобіжники та встановити їх у електричний щиток (рис. 6.5). Запобіжники можна знайти у різних частинах лабіринту. Щоб взяти запобіжник, гравець наводить на нього приціл та натискає E. Коли гравець зібрав всі три запобіжники, він підходить до щитка і, дивлячись на нього, натискає E і встановлює запобіжники. Після цього світло на об'єкті вмикається. Рисунок 6.5 Електричний щиток Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 53 Після увімкнення світла Тейя повідомляє гравцю, що необхідно відновити зв'язок, для чого потрібно зібрати вісім кристалів (рис. 6.6). Кожен кристал розташований в окремій кімнаті, і щоб отримати до неї доступ, гравцю потрібно активувати термінал біля входу. Гравець підходить до терміналу і, дивлячись на нього, натискає E. Робот-помічник підлітає і активує його, надаючи гравцю доступ до рівня. Рисунок 6.6 Кристал У грі є вісім рівнів, кожен із власною механікою. Рівень з блокамипривидами, де гравець повинен запам'ятати послідовність блоків, по яких можна ходити. Міні-лабіринт для робота-помічника, де гравець керує роботом згори. Звичайний міні-лабіринт, який гравець проходить сам. Рівень з активацією важелів у правильній послідовності. Рівень з проходженням 12 стін з трьома проходами. Кімната з лазерами та кристалом-обманкою. Рівень з 24 кристалами-обманками та одним справжнім. Рівень з пастками та блоками-привидами. Якщо гравець втрачає всі життя (від пасток, лазерів), завантажується сцена смерті (рис. 6.7). На сцені смерті є дві кнопки: «Перезапустити», яка перезапускає гру з останнього збереження, та «Вийти», яка повертає гравця до головного меню. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 54 Рисунок 6.7 Сцена смерті Зібравши всі вісім кристалів, гравець отримує повідомлення від Тейї, що необхідно встановити їх в інженерному приміщенні (рис. 6.8). Після встановлення кристалів гравцю відкривається доступ до фінального рівня (рис. 6.9). На фінальному рівні гравцю необхідно активувати три важелі, розташовані позаду антен. Після активації двох важелів, Тейя надає попередження про ймовірність випуску вірусу при виході з об'єкту. Рисунок 6.8 Інженерне приміщення Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 55 Рисунок 6.9 Фінальний рівень Тут з'являється сюжетне розгалуження. Якщо гравець активує третій важіль, завантажується перша кінцівка (рис. 6.10). Якщо гравець повернеться назад, об'єкт вибухне і завантажиться друга кінцівка (рис. 6.11). Після завантаження будь-якої з кінцівок, гравець побачить титри і дві кнопки: «Перезапустити», яка починає гру з початку, та «Вийти», яка повертає гравця до головного меню. Рисунок 6.10 Перша кінцівка Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 56 Рисунок 6.11 Друга кінцівка В будь-який момент гри гравець може натиснути Esc, щоб викликати меню паузи (рис. 12). У меню паузи є дві кнопки: «Продовжити», яка повертає гравця до гри та «Вийти», яка повертає гравця до головного меню без збереження прогресу. Рисунок 12. Меню паузи По проходженню гри гравець має можливість заново пройти останній квест і побачити другу кінцівку, або розпочати гру заново. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 57 7 ОХОРОНА ПРАЦІ 7.1 Аналіз умов праці Перед розробкою дипломного проєкту було проаналізовано умови праці у середовищі, де повинна відбуватись розробка комп'ютерної гри «CRIDUS 3D». Робоче місце облаштоване у житловій кімнаті з комп'ютерним столом (рис 7.1) стандартної висоти 71 см. Рисунок 7.1 Комп’ютерний стіл Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 58 Робоча поверхня стола має достатні розміри близько 150х100 см, що забезпечує комфортний простір для розміщення обладнання та документів. Монітор (рис. 7.2) розташований прямо перед користувачем на оптимальній відстані для зручного перегляду. Рисунок 7.2 Робочий монітор Приміщення освітлене двома вікнами (рис. 7.3), що забезпечує належний рівень природного освітлення у денні години. Для вечірнього часу передбачено додаткове локальне підсвічування робочої зони настільною лампою (рис. 7.4) та освітлення самого приміщення. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 59 Рисунок 7.3 Вікно приміщення Ергономіка робочого місця загалом відповідає рекомендованим вимогам. Крісло (рис. 7.5) підлаштоване під зріст користувача та забезпечує підтримку попереку. Рисунок 7.4 Настільна лампа Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 60 Рисунок 7.5 Крісло Клавіатура (рис. 7.6) має положення необхідне для природного положення рук. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 61 Рисунок 7.6 Робоча клавіатура Після аналізу робочого середовища проаналізовано ряд порад щодо дотримання правильної постави, організації робочого простору та чергування періодів роботи і відпочинку для запобігання розвитку втоми та порушень опорнорухового апарату під час тривалої розробки відеогри вдома. 7.2 Гігієна праці та виробнича санітарія Під час розробки гри «CRIDUS 3D» у домашніх умовах необхідно дотримуватись належних гігієнічних вимог та забезпечувати виробничу санітарію Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 62 для створення оптимальних та безпечних умов праці відповідно до чинних санітарних норм і правил. Приміщення, у якому облаштовано робоче місце розробника гри, має площу 16 м2 та висоту стелі 2,7 м, що відповідає нормам ДБН В.2.2-40:2018 щодо забезпечення необхідного об'єму повітря на одного працівника не менше 15 м3. Параметри мікроклімату підтримуються на оптимальному рівні, а саме температура повітря на рівні 20-25°С, відносна вологість – у межах 40-60%, що відповідає категорії робіт Іа (легка) згідно з ДСН 3.3.6.042-99. [11] Робоче місце облаштоване відповідно до вимог НПАОП 0.00-1.28-10. Використовується ергономічний комп'ютерний стіл. Монітор з діагоналлю 23,8 дюймів роздільною здатністю 1920х1080 пікселів встановлено на відстані 60 см від очей, як рекомендовано у Санітарних нормах і правилах 3.3.2.007-98 «Державні санітарні правила і норми роботи з візуальними дисплейними терміналами електронно-обчислювальних машин». [12] Освітлення у робочій зоні відповідає нормативним вимогам згідно з ДБН В.2.5-28-2018, поєднуючи натуральне бічне світло та штучне енергоефективне освітлення світлодіодних ламп, що забезпечує необхідний рівень освітленості для виконання зорових робіт високої точності. [10] Для запобігання впливу виробничого шуму та вібрацій під час тривалої роботи використовуються навушники з активним шумопоглинанням, що дозволяє не порушувати допустимі рівні шуму згідно з ДСН 3.3.6.037-99. [11] Дотримуються загальні вимоги до виробничої санітарії та особистої гігієни відповідно до НПАОП 0.00-8.24-05. Регулярно провадиться прибирання за допомогою пилососа та вологе протирання поверхонь з використанням дезінфікуючих засобів. Щодня здійснюється провітрювання для забезпечення чистоти повітря. Облаштовано зону відпочинку для періодичних перерв. [13] Такі організаційно-технічні заходи забезпечують належні гігієнічні умови праці та виробничу санітарію під час розробки гри «CRIDUS 3D» у домашньому середовищі, мінімізуючи вплив шкідливих факторів на здоров'я розробника. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 63 7.3 Пожежна безпека виробничого приміщення Забезпечення пожежної безпеки під час розробки гри «CRIDUS 3D» у домашніх умовах є важливим аспектом із огляду на наявність електричного обладнання та можливі ризики займання. Приміщення обладнане автономним димовим сповіщувачем згідно з ДСТУ EN 14604:2018 для своєчасного виявлення диму або підвищеної температури та оповіщення мешканців. [1] Евакуаційні виходи з приміщення вільні від сторонніх предметів. Дотримуються основні правила пожежної безпеки: − не допускається паління та користування відкритим вогнем; − після завершення роботи все електроустаткування відключається від мережі живлення; − регулярно перевіряється справність електропроводки та відсутність оголених дротів; − не використовуються самовільно виготовлені подовжувачі; − забезпечено вільний доступ до електророзеток для екстреного відключення струму. Члени домогосподарства проінструктовані щодо дій у разі виникнення пожежі та номерів екстрених служб. Таким чином, дотримання встановлених норм та правил пожежної безпеки забезпечує належний рівень захисту від пожеж. 7.4 Виконання розрахункової частини З метою забезпечення належних умов праці під час розробки комп'ютерної гри «CRIDUS 3D» у домашньому середовищі, було проаналізовано параметри робочого місця та виробничого середовища і порівняно їх з діючими санітарногігієнічними нормами. Дотримання нормативних вимог дозволило створити Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 64 сприятливі та безпечні умови для тривалої роботи розробника, захистити його від шкідливих виробничих факторів і уникнути професійних захворювань та травм. У таблиці 1 виконано розрахунки основних показників робочого місця та параметрів виробничого середовища та порівняно їх з припустимими нормативними значеннями. Таблиця 1 Показники робочого місця та параметри середовища Фактор виробничого середовища Температура Санітарно-гігієнічні Існуючі норми показники 19-25ºС 23 Відносна вологість 40-60% 50% Освітленість робочої поверхні Відстань від очей до монітора Висота столу Не менше 300Лк 450 Лк 600-700мм 690 680-720 710 Ширина столу 900 1000 Довжина столу 1600 1500 Висота стільця 400-500 450 Розміри сидіння стільця 380-400 400 Площа на одного працівника 5 м2 6м (мінімально 4,5м ) 2 2 Висновок Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Відповідає нормам Аналіз показав, що всі параметри робочого місця та виробничого середовища для розробки комп'ютерної гри «CRIDUS 3D» у домашніх умовах відповідають діючим санітарно-гігієнічним нормам, створюючи належні та безпечні умови для роботи розробника. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 65 ВИСНОВОК У рамках дипломного проєкту було ретельно вивчено сучасний стан індустрії відеоігор, проаналізовано провідні ігрові проєкти у жанрі 3D-лабіринтів, визначено їх сильні та слабкі сторони, а також тенденції ринку. На основі ґрунтовного дослідження було сформовано комплексний перелік вимог до майбутньої гри, особливу увагу приділивши інноваційним функціям та рішенням. Для реалізації проєкту був обраний потужний ігровий рушій Unity з широкими можливостями для створення високоякісної 3D графіки, фізичних симуляцій та штучного інтелекту. Використовуючи передові технології комп'ютерного рендерингу, анімації та візуальних ефектів, у грі було досягнуто високого рівня реалістичності зображень. Окрім візуальної складової, ключовим аспектом стала розробка захопливого сюжету з цікавими головоломками та квестами. Для забезпечення максимального занурення в ігровий світ було впроваджено систему штучного інтелекту для неігрового персонажу, що дозволило йому демонструвати реалістичну поведінку та адекватно реагувати на дії гравця. У результаті дипломного проєкту була розроблена комп'ютерна гра «CRIDUS 3D» відповідно до сформованих вимог у жанрі 3D-лабіринтів з інноваційними функціями, високоякісною графікою, захопливим сюжетом та реалістичним ігровим світом. Створений продукт повністю відповідає визначеним вимогам та здатний зацікавити широку аудиторію любителів відеоігор, пропонуючи незабутній ігровий досвід. Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 66 ЛІТЕРАТУРА Бельська М.В. Дипломне проєктування. Методичні вказівки до виконання 1. розділу дипломного проекту «Організація охорони праці та протипожежний захист». – Первомайськ, 2023 – 16 с. Ендрю Троєлсен, Мова програмування С# 2005 та платформа .NET 2.0 2. «Вільямс» Київ. 2011 р. – 1168 с. Ірина Островська. «Розробка комп’ютерної гри». Методичні вказівки до 3. виконання дипломного проєкту. – Первомайськ: ВСП ПФК НУК, 2024 – 21 с. Мова C#. Базовий курс: навчальний посібник 2-е вид., Подбельський В.В. 1. 4. Київ, «Фінанси та Статистика», 2014. – 408 с. Переддипломна практика. Методичні вказівки для студентів освітньої 5. професійної програми «Комп’ютерні системи та мережі» спеціальності 123 Комп’ютерна інженерія /Укл. О.В. Калашніков, І.О.Островська. – Первомайськ, 2024.- 32 с. Розробка ігор на Unity 2017: ігрові об'єкти та додатки / Франческо Саріо ; 6. пер. з англ. А. Стогнія. - Харків : Ранок, 2018. - 384 с. Head First. Патерни проєктування / Ерік Фрімен, Елізабет Робсон, Кеті 7. Сьєрра і Берт Бейтс; пер. з англ. Г. Якубовська — Харків : ВД «Фабула», 2020. — 672 с. 8. Unity в дії: розробка ігор на Unity 5 / Джо Хокинг ; пер. з англ. В. Крижного. - 2-ге вид. - Київ : Ексмо, 2018. - 536 с. 9. ДБН В.2.2-40:2018 «Інклюзивність будівель і споруд» 10. ДБН В.2.5-28-2018 «Природне і штучне освітлення» 11. ДСН 3.3.6.042-99 «Санітарні норми мікроклімату виробничих приміщень» 12. НПАОП 0.00-1.28-10 «Правила охорони праці під час експлуатації електронно-обчислювальних машин» 13. НПАОП 0.00-8.24-05 «Перелік професій, виробництв та організацій, працівники яких підлягають обов'язковим профілактичним медоглядам» Арк. ВСП ПФК НУК 123.411.24.05 ПЗ Змн. Арк. № докум. Підпис Дат а 67