Алгоритм навчили створювати світи і персонажів для рольових ігор

Розробники з Facebook представили алгоритм, який генерує світи для текстових рольових ігор. Він складається з декількох частин, які створюють карту, прописують персонажів, збирають світ в єдине ціле, а також генерують нові описи для локацій і дійових осіб, пропонуючи граючому доповнити створені світи. Для створення алгоритму розробники використовували датасет з декількох тисяч описів складових текстових квестів, який вони зібрали раніше. Препринт статті опубліковано на arXiv.org.


Деякі ігри (в основному, настільні) вимагають створення світу з нуля: для цього необхідно прописати всіх персонажів і навколишню гравців вигадану реальність, а також список можливих у грі дій. Зрозуміло, часто в допомогу гравцям йдуть склепіння правил, написані спеціально для гри (як, наприклад, для Dungeons & Dragons), але часто - від початку і до кінця - доводиться користуватися власною фантазією.


Для того, щоб спростити завдання для гравців, розробники з Facebook під керівництвом Джека Урбанека (Jack Urbaneck) в березні цього року створили датасет LIGHT - в ньому містяться описи 633 локацій, 1755 персонажів і 3462 об'єктів (різних зброї та інших речей), які можуть бути використані при створенні текстової гри - всі використані описи були зібрані за допомогою краудсорсингу.

У своїй новій роботі дослідники вирішили використовувати датасет для створення алгоритму, який буде генерувати текстові ігри з нуля. Система, яка для цього використовується, складається з декількох алгоритмів, кожен з яких вирішує своє завдання - всі з них входять до класу навчання ранжування в обробці природної мови.

Перший алгоритм створює карту, на якій розташовані локації з датасета, їх назви та описи: для цього в датасеті передбачені «сусіди» кожної з використовуваних локацій (всього - по три сусіди), ранжирування яких роблять завдяки ім.Також розробники передбачили 25 локацій-пустушка (наприклад, чулан, в якому нічого немає), які пов'язують локації і без сусідів - для того, щоб збільшити кількість можливих карт. Наступний алгоритм зосереджений на підборі окремих предметів для персонажів і влаштований схожим чином. Нарешті, окремий алгоритм на основі архітектури нейромережі Transformer створює нові ігрові елементи, які доповнюють карти і персонажів з оригінального датасета, - для їх створення дослідники використовували датасет з двох мільярдів коментарів на Reddit.

В результаті створюється цілий ігровий світ: для кожної локації та персонажа в ньому доступний опис і предисторія, а також для кожного персонажа - набір його підручних засобів, які далі можна використовувати в грі. Всього дослідникам вдалося згенерувати п'ять тисяч різних світів, деякі з яких потім оцінили люди - їм також дали можливість використовувати запропоновані алгоритмом інші варіанти персонажів і локацій, щоб зробити ігровий світ кращим. Незважаючи на те, що більшість оцінювачів не були повністю задоволені спочатку створеними світами і використовували запропоновані модифікації, в середньому вони зійшлися на тому, що хотіли б пограти в мережтингу (4 з 5 балів).

У своїй роботі дослідники також пропонують псевдокод для генерування ігрових світів на основі запропонованих ними алгоритмів самостійно, а всю необхідну для цього інформацію можна знайти на сайті проекту.

Про ігри ми пишемо не так часто, але ніколи не проходимо повз ігрових движків, зроблених в таблицях Excel: ми писали про движок для псевдотрехмерної гри, заснованої на шутері DOOM, що працює без використання макросів, а також - зовсім недавно - про табличну версію першої «Цивілізації», яку, до речі, через Excel-рушій її назвали [Cell] ivization.


COM_SPPAGEBUILDER_NO_ITEMS_FOUND