Навчання з підкріпленням для керування поведінкою неігрових персонажів у багатокористувацькій RPG
Loading...
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Національний університет ”Львівська політехніка”
Abstract
Дана магістерська кваліфікаційна робота виконана студентом групи КНСШ-22 Будником Романом Романовичем. Тема «Навчання з підкріпленням для керування поведінкою неігрових персонажів у багатокористувацькій RPG». Робота направлена на здобуття ступеня магістр за спеціальністю 122 «Комп’ютерні науки». Метою даної дипломної роботи є розробка системи керування неігровими персонажами для багатокористувацької RPG гри із залученням моделей машинного навчання. Об’єктом дослідження роботи є різні моделі машинного навчання для відеоігор, а також підходи до їх навчання та способи їх впровадження у ігровий продукт. За основу для роботи взято ігровий продукт, розроблений раніше на платформах Angular 2 та Node.js для клієнтської та серверної сторін відповідно. Мовою розробки є мова TypeScript, в якості ігрового рушія обрано рушій Phaser 3. В процесі виконання роботи проводиться детальний огляд існуючих напрацювань у галузі штучного інтелекту для відеоігор. Проведений огляд показав, перш за все, актуальність галузі, а також дав уявлення про існуючі пропоновані методи та моделі, а також про жанри відеоігор, до яких доцільно їх застосовувати. У другому розділі роботи розроблені та реалізовані власне система керування персонажами із підтримкою різних моделей поведінки, які легко заміняються, та стандартна модель поведінки, що, базується на скінченному автоматі із жорсткими правилами переходу між станами. Крім цього розроблені різні допоміжні системи, зокрема система тестових кімнат з конфігураціями і система генерації датасетів для навчання моделей. Розглянуто різні моделі машинного навчання, які потенційно підійшли б для навчання на даному датасеті. У третьому розділі роботи виконано детальний аналіз згенерованого системою датасету, аналіз його недоліків та їх виправлення. Після цього здійснюються експерименти з навчання різних розглянутих раніше моделей машинного навчання на згенерованому датасеті, з метою визначення їх придатності до вирішення поставленої задачі. Відібрано дві моделі, які справились найкраще, для подальшої роботи. Ці моделі інтегровано у систему керування персонажами в якості нових моделей поведінки. Розроблено та описано систему збору статистики, яка паралельно запускає велику кількість симуляцій, у яких порівнюються дві різні моделі поведінки. Зібрана системою статистика підсумована та оформлена у вигляді трьох таблиць, також проведено аналіз отриманих результатів. Отримані результати можуть застосовуватись у комерційних ігрових продуктах з метою наближення поведінки персонажів, керованих штучним інтелектом, до людської. Об’єм роботи становить 50 сторінок. Робота складається з трьох розділів, 4 додатків, 4 таблиць та 18 рисунків. Artificial intelligence plays a significant role in the field of video game development. Historically, game AI developed in parallel with the development of video games themselves. The oldest popular video games that we know, such as Pac man or Mario, already widely employed characters that were controlled by a primitive AI. In most cases game AI fulfills one of the two roles: it either controls a non-player character (NPC), or it assumes the role of a character, that can be controlled by a player, imitating human user. The latter is much more complicated, since such AI has to authentically portray the behavior of a real human player. Video games are very diverse in their genre, rules, and game mechanics. This leaves room for a lot of various approaches and methods for developing an artificial intelligence for a particular game. One of the simplest approaches is to build a behavior based on a number of primitive rules. Characters, controlled by such model, would act different based on their own state, and state of the surrounding game world. Such model would be appropriate only for the simplest games, where the choice of possible actions is very limited for the controlled character. A much better approach is to develop an artificial intelligence model based on finite state machines. The character being controlled has a number of possible states. Each state defines a specific behavior for that character. A number of rules is also defined that regulate the transition between these rules. Such models are widely used in many modern games. It is especially popular in games that have a real-time game process that isn’t turn-based. Many computer-based versions of classic board games (such as chess, checkers, and go) feature an approach that utilizes decision trees. This method is also used for many turn-based strategy games. The artificial intelligence calculates all possible game outcomes a few turns ahead and calculates a score for each of them. It then picks turns that lead to the most desirable outcome.
Description
Keywords
багатокористувацька гра, машинне навчання, навчання з підкріпленням, неігрові персонажі, модель поведінки, multiplayer game, machine learning, reinforcement learning, non-player characters, behaviour model
Citation
Будник Р. Р. Навчання з підкріпленням для керування поведінкою неігрових персонажів у багатокористувацькій RPG : пояснювальна записка до магістерської кваліфікаційної роботи : 122 «Комп’ютерні науки» / Роман Романович Будник ; Національний університет «Львівська політехніка». – Львів, 2022. – 88 с.