Генерація рівнів для ритмічних ігр віртуальної реальності
dc.contributor.affiliation | Національний університет «Львівська політехніка» | |
dc.contributor.author | Ріжко , Марія Олегівна | |
dc.coverage.placename | Львів | |
dc.date.accessioned | 2024-04-18T07:41:25Z | |
dc.date.available | 2024-04-18T07:41:25Z | |
dc.date.issued | 2022 | |
dc.date.submitted | 2024 | |
dc.description.abstract | Ragnarock — це ритмічна гра віртуальної реальності, в якій гравець грає за капітана вікінгів, який змагається в гонці на кораблі. Завдання гри — руйнувати двома молотками руни, що надходять синхронно з епічною музикою вікінгів. Руни визначаються картою ударів, яку гравець може створити вручну. Створення цих карт займає години. Завдання даної роботи — автоматизувати процес створення карт ударів, також відомий як завдання на навчання хореографії. Завдання розбивається на три частини: визначення часу ударів (розміщення дії), визначення місця розташування рун, пов’язаних із обраними ударами (вибір дії) і розроблення веб-додатку. Для першого завдання розміщення дії використовується алгоритм вилучення переважної локальної інформації про пульс із музичних записів. Його результатом є інформація про де і скільки ударів має бути розміщено. Для другого завдання вибору дій використано рекурентні нейронні мережі, зокрема вентильний рекурентний вузол, щоб вивчати послідовності ударів та їх шаблони. Це дало можливість відтворити ці правила та отримати абсолютно нові рівні. Потім останнім завданням було побудувати рішення для не технічних гравців, завданням було об’єднати моделі результати виконання першого і другого кроку у веб-додаток для зручного використання. Для цього завдання був створений інтерфейс за допомогою JavaScript і React, а бекенд використовував python і FastAPI. Ragnarock is a virtual reality (VR) rhythm game in which you play a Viking captain competing in a longship race. With two hammers, the task is to crush the incoming runes in sync with epic Viking music. The runes are defined by a beat map which the player can manually create. The creation of beat maps takes hours. This work aims to automate the process of beat map creation, also known as the task of learning to choreograph. The assignment is broken down into three parts: determining the timing of the beats (action placement), determining where in space the runes connected with the chosen beats should be placed (action selection) and web-application creation. For the first task of action placement, extraction of predominant local pulse (PLP) information from music recordings is used. This approach allows to learn where and how many beats are supposed to be placed. For the second task of action selection, Recurrent Neural Networks (RNN)[10][11] are used, specifically Gated recurrent unit (GRU)[12][13] to learn sequences of beats, and their patterns to be able to recreate those rules and receive completely new levels. Then the last task was to build a solution for non-technical players, the task was to combine the results of the first and the second parts into a web application for easy use. For this task the frontend was built using JavaScript and React and the backend - python and FastAPI. | |
dc.format.pages | 38 | |
dc.identifier.citation | Ріжко М. О. Генерація рівнів для ритмічних ігр віртуальної реальності : пояснювальна записка до бакалаврської кваліфікаційної роботи : 122 «Комп’ютерні науки» / Марія Олегівна Ріжко ; Національний університет «Львівська політехніка». – Львів, 2022. – 38 с. | |
dc.identifier.uri | https://ena.lpnu.ua/handle/ntb/61751 | |
dc.language.iso | en | |
dc.publisher | Національний університет «Львівська політехніка» | |
dc.title | Генерація рівнів для ритмічних ігр віртуальної реальності | |
dc.type | Students_diploma |