За і проти: процедурна генерація. Обговорюємо технологію з фахівцями Bloober Team, Ubisoft і GSC

Процедурна генерація — це широке поняття, в яке входить алгоритмічне створення локацій або їхніх окремих частин із застосуванням елементу випадковості. Вона найбільше застосовується в іграх з відкритими світами, роуглайках та глобальних стратегіях. Однак трапляються й інші, більш оригінальні випадки.

Саме ця технологія стала темою нашого третього випуску в рубриці «за і проти». Ми подискутували про неї з шістьма дизайнерами рівнів Bloober Team, Digital Extreme, Wargaming, GSC та Frogwares. Фахівці поділилися думками про переваги та проблеми процедурної генерації, перспективи розвитку та цікаві інструменти. А ще розробники навели гарні й не дуже вдалі приклади застосування технології в сучасних іграх.

Що належить до процедурної генерації

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

У сучасних проєктах ніхто не розставляє флору на локаціях вручну. Художники створюють асети дерев, кущів, квітів та трави. Вони продумують текстуру, форму листя та коріння, працюють з кольорами, реалізовують частково чи повністю зламані гілки. Далі ця бібліотека завантажується в програму, наприклад, Speedtree.

На основі вхідних даних софт випадковим чином комбінує різноманітні елементи, генеруючи тисячі результатів. А тоді розробники додають готову флору в рушій та розкидають її на мапі на основі карти густоти.

«Процедурна генерація вдало застосовується при роботі над оточенням, в основному як допоміжний інструмент для створення художньої основи рівня. Вона позбавляє художника необхідності робити сотні однакових операцій. Це можна порівняти з ґрунтовкою полотна при створенні картини.

Мені потрібен ліс, але я не буду руками саджати кожне деревце і кущик. Я краще знайду програму, яка зможе автоматично розпізнати поверхню землі та хаотично розмістити рослини з бібліотеки, як доступна на проєкті. Це і є процедурна генерація. Більш розвинені алгоритми навіть пограються з розміром рослин для більшого ефекту хаотичності. А от виставити галявину друїдів з вівтарем і особливим священним деревом — це вже ручна робота», — Олександр Гончарук, Game Designer / Level Designer в Ubisoft Ukraine Studios.

«Ніхто не розставляє вручну кожну травинку. Це дорого і не виправдано. Малюються текстури з різною кількістю та типами рослин. Далі це завантажується в рушій, і він за картою густоти генерує флору на локації. Здається, мої знайомі інженери застосовували таку методику ще у 2003 році при роботі над стратегією. Якщо такі візуальні дрібнички відносити до процедурної генерації, то вони є майже скрізь», — Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming.

Звісно, рослинність — це лише один варіантів. Схожим чином процедурна генерація здатна працювати з іншими невеликими асетами, якщо в цьому є потреба для проєкту. А серед наративних елементів можна виділити репліки діалогів, які використовують NPC в розмовах між собою.

Елемент випадковості визначатиме, про що саме говоритимуть неграбельні персонажі цього разу. В такому випадку бесіди повторюватимуться, як у The Elder Scrolls, адже фрази та відповіді братимуться із загальної бібліотеки. Однак схожі механізми генерації існують та застосовуються.

На другому кінці відрізка знаходяться алгоритми, які створюють повноцінні локації. Йдеться про поверхні з певним ландшафтом та обʼєкти, випадковим чином розміщені на них.

А все, що посередині, — це переважно специфічні рішення, призначені для конкретних проєктів. Різниця між ними полягає в підходах, задачах, які вимагається виконати, та активності залучення фахівців. Зазвичай йдеться про художників або левел-дизайнерів.

«Тут постає питання, що вважати процедурною генерацією. Беремо Dungeon Alchemist. Це процедурна генерація? Хтось скаже, що так: я створив кімнату, і все оточення зʼявилося автоматично. А якщо щось не сподобалося, то можна трішки переробити. Друга крайність — тільки Machine Learning і якісь супер технології. Решта в поняття не входить. Кожен розуміє, що таке процедурна генерація, по-різному. Правильної відповіді немає», — Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming.

Які існують інструменти процедурної генерації

Технологічні рішення діляться за тим же принципом, як і саме поняття. Є програми для конкретних потреби, які спрощують та оптимізують одноманітну роботу. Це один кінець відрізка, а на іншому — інструменти для генерації цілих локацій чи навіть відкритих світів.

Між ними знаходяться проміжні рішення. Як зазначив Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming, такий софт часто самописний. Тобто кожна компанія створює утиліти, орієнтуючись на власний пайплайн, вимоги на проєкті та його бачення.

«Виходячи з персонального досвіду я можу розділити всі інструменти, а точніше, методи застосування процедурної генерації в дизайні рівнів, на три основні напрямки. Якщо уявити горизонтальну шкалу та спробувати розмістити їх на ній, то зліва буде щось на кшталт „будуємо за алгоритмами все, що можемо“. А справа — „використовуємо легкий рандомайзер для розміщення заготовлених наративних або будь-яких інших префабів на вручну зробленій мапі“. Посередині знаходиться рішення, яке я використовую у своїй роботі — рандомізований збір великого рівня з декількох менших локацій, зроблених здебільшого вручну», — Макс Тішаков, Senior Level Designer у Digital Extremes.

Творець Warframe зазначив, що у них в команді є чітко сформовані правила застосування процедурної генерації. Вони влаштовують як розробників, так і фанатів творчості канадської студії. За словами Макса, Digital Extremes рухається в цьому напрямку еволюційно, а не революційно.

Тобто команда покращує наявні методики застосування технології у власному пайплайні. При цьому вона не намагається за допомогою процедурної генерації придумати нові рішення, які оптимізують виробництво наступного проєкту.

Всі інструменти Digital Extremes написані фахівцями компанії й не розповсюджуються у вільному доступі. Такий підхід актуальний для більшості студій. Проте є й загальновідомі рішення у сфері процедурної генерації. Нижче представлено список основних з них.

  • World Machine — інструмент на основі нод для створення ландшафтів. Комбінуючи геологічні параметри, він дозволяє генерувати поверхні з горами, річками, долинами та іншими природними формами.
  • Houdini — один з головних інструментів генерації в геймдеві, за відгуками розробників. Включає воркфлоу на базі вузлів й дозволяє створювати велике різноманіття асетів і навіть цілі екосистеми. Результати легко імпортуються в рушії на кшталт Unreal Engine чи Unity.

«Наскільки я знаю, то зараз Houdini заправляє балом генерації. Його використовують для генерації майже усього — від 3D-моделей до анімації», — Арсеній Алишев, Level Designer у GSC Game World.

  • Gaia — плагін для Unity, який працює на базі заданих правил та візуального скульптингу. Призначений для створення ландшафтів.
  • Terragen — генерує фотореалістичні природні середовища. Частіше використовується в кіно, та може створювати асети й для геймдеву.
  • Dungeon Architect — модульний інструмент для створення підземель зі складною архітектурою. Він обʼєднує кімнати та проходи в єдину структуру, а також розміщує ворогів.
  • Rogue Engine — схожий на Dungeon Architect, але призначений саме для roguelike. Будує підземелля, використовуючи макети на основі графів, клітинний автомат і BSP-дерева.
  • Wave Function Collapse — інструмент «заливки» тайлів. Він зшиває сусідні плитки для створення цілісних макетів на основі завантажених шаблонів.
  • SpeedTree — генерує широку бібліотеку рослинності на основі заданих асетів.
  • Blender — Geometry Nodes на базі програми дозволяє здійснювати параметричне моделювання і створювати різні ресурси, включно з елементами оточення.
  • Substance Designer — працює на основі нод і дозволяє генерувати текстури з теоретично нескінченною кількістю варіацій матеріалів.

Є також рішення, призначені для наративної компоненти. Наприклад, Versu може динамічно генерувати квести та діалоги, опираючись на дії гравця. Аналогічно працює AI Dungeon, яка функціонує на базі GPT-подібної моделі. Вона нальоту створює інтерактивні історії.

Окремо варто відзначити нативні рішення в популярних рушіях. Unity включає набір бібліотек та API для генерації різноманітного контенту. Сюди входять поверхні, текстури, матеріали, меші тощо. А ще — елементи, створені на основі шуму Перліна, як от печери, хмари та карти висот.

В Unreal Engine за процедурну генерацію відповідає Procedural Content Generation (PCG). Це окремий фреймворк, який з’явився у версії 5.2. Технологія працює на основі нод і дозволяє створювати як окремі асети, так і цілі рівні. Вона також забезпечує інтеграцію результатів в загальний пайплайн проєктів на UE. Детальніше про PCG ми розповідали в цьому матеріалі.

«Найкраще, що я бачив і використовував в проєктах, — це вбудований в Unreal Engine Procedural Content Generation (PCG). Інші або менш зручні, або вимагають знання більшої кількості інструментів. І не кожен з них безплатний. А тут все й одразу — функціонал вбудовано в редактор, а вже за декілька тижнів після релізу у вільному доступі була велика кількість навчальних матеріалів», — Данило Тарасенко, Senior Level Designer у Frogwares.

Основні переваги та недоліки процедурної генерації

Дизайнери рівнів поділилися різними думками щодо плюсів та мінусів технології. Одні вважають її доволі корисною й виділяють ряд переваг, які дає застосування процедурної генерації. Вони називають її гарним додатковим інструментом.

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

Переваги

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

— Можливість отримати велику кількість контенту.

— Зникає необхідність вручну виконувати одноманітну роботу, особливо під час реалізації невеликих деталей.

— Оптимізація процесів, завдяки чому зменшується вартість виробництва.

— Масштабування контенту. Зʼявляється можливість отримати більшу варіативність асетів при меншій кількості вхідних зразків.

  • Гліб Григор’єв
  • Данило Тарасенко
  • Олександр Соловейко
  • Макс Тішаков

«Очевидними перевагами при правильному використанні процедурної генерації рівнів є скорочення вартості виробництва контенту, підвищення рівня реіграбельності гри та масштабування контенту.

Трішки розпишу, що я маю на увазі. При створенні XCOM 2 команда хотіла збільшити кількість карт, доступних користувачам, і знизити швидкість накопичення втоми від гри. Тобто щоб проходження місій не набридало через однакові мапи. Одним з основних стовпів дизайну проєкту стала фраза „Play Forever“. Вона передбачала, що під час проходження гравець не повинен побачити дві однакові карти.

Саме тому розробники застосували процедурну генерацію рівнів. Це дало можливість підготувати певний пул асетів, з яких створювалися локації в напіввипадковому режимі, підлаштовуючись під правила генерації. Таким чином творцям вдалося масштабувати кількість мап, заощадити на виробництві ресурсів, які в іншому випадку використовувалися б раз або двічі, та покращити показник реіграбельності. Бо навіть вивчивши механіки, гравець не міг знати, яка карта його чекатиме на наступній місії», — Гліб Григор’єв, Level Designer у Bloober Team.


«Гарно написаний PCG-скрипт дозволив нам дуже швидко заповнити базові локації — тобто перехідні версії без ручної обробки. Велика мапа розміром кілометр на кілометр була в гарному стані за надзвичайно короткий проміжок часу. Але варто розуміти, що це все ж таки процедурна генерація, і ручне опрацювання виглядає цікавіше», — Данило Тарасенко, Senior Level Designer у Frogwares.


«Щодо недоліків, то він теж на базовому рівні один: якість процедурної генерації нижча, ніж ручної роботи. Саме тому World of Tanks пропрацьована вручну. Загальний масштаб всіх наших карт складає близько 100 квадратних кілометрів. І кожен метр на мапах зроблено руками. Це дуже дорого. Але з погляду сприйняття одразу помітно, що оточення виглядає якісніше та красивіше. Те ж стосується балансу. У проєктах, де відполірованому левел-дизайну відводиться ключова роль, процедурна генерація не дотягує до необхідного рівня.

Ще один недолік — застосування технології не безплатне. Це не якесь чудо, яке трапляється саме по собі. Щоб процедурна генерація почала функціонувати, необхідно виконати чимало роботи та все налаштувати. Повний рандом не спрацює. І якщо контенту потрібно небагато, то легше зробити все руками й не придумувати якусь страшну систему. Хіба що є якісь інструменти, налаштовані під конкретний жанр, про які я не знаю», — Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming.


«До плюсів можна віднести оптимізацію. За умови гарного балансу між інвестуванням людиногодин та якісним досвідом для гравця, можна отримати висококласні рівні. Вони генеруватимуться за допомогою алгоритмів набагато швидше, ніж пропрацьовані вручну.

Можна також отримати більшу варіативність коштом меншої загальної кількості контенту. Сюди ж входить різноманітність мап та ситуацій, яка гарантується застосуванням правильних технік процедурної генерації. А ще, за умови гарної реалізації, посилюється відчуття пригоди та першовідкривача», — Макс Тішаков, Senior Level Designer у Digital Extremes.

Основні недоліки

— Якість згенерованого контенту завжди нижча, ніж у ручної роботи. Інструменти не можуть видавати необхідну якість «з коробки», якщо не йдеться про дрібні елементи та специфічні рішення, створені під потреби конкретного проєкту.

— З першого недоліку витікає другий — результати процедурної генерації в більшості випадків вимагають ретельного доопрацювання.

— Збільшується складність контролю фінальної якості та перевірки на предмет помилок.

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

— Адаптація елементів, створених процедурною генерацією, під наратив може викликати проблеми.

— Навіть у випадках, де використання технології виправдане, потрібні вхідні матеріали. Завчасна підготовка асетів, на основі яких створюється широка бібліотека варіацій, завжди потребує праці фахівців. Тобто про самостійність поки не йдеться.

  • Гліб Григор’єв
  • Арсеній Алишев
  • Олександр Соловейко
  • Олександр Гончарук
  • Макс Тішаков

«Головним недоліком я б назвав брак контролю над підсумковим плануванням рівня (layout). Я працював над іграми, де сюжет і постановка відіграють одну з ключових ролей, тому мені як левел-дизайнеру хочеться мати якомога більше контролю над рівнем. А процедурна генерація — це про інше.

Іншим важливим недоліком, думаю, є пошук багів в іграх, які використовують процедурну генерацію. Одна справа перевіряти рівень, який майже не змінюється з часом. Не враховуючи ітерацій, звісно ж. А інша — перевіряти не лише конкретний рівень, а ще й наскільки добре працюють правила процедурної генерації, і до яких багів вони призводять. Проте досвіду з такими проєктами у мене немає, тому тут можу помилятися», — Гліб Григор’єв, Level Designer у Bloober Team.


«Зараз я б сказав що ніяких переваг і немає. Чому? Тому що якщо подивитися на жанр roguelike, де дуже часто кажуть про „згенеровані рівні“, то там можна побачити як тасуються локації, зібрані дизайнером. І навіть якщо взяти до уваги повністю згенеровані світи у Minecraft чи Terraria, то в них теж генерація створює лише „образ“ локації. Але з погляду левел-дизайну, цікавих рівнів там немає», — Арсеній Алишев, Level Designer у GSC Game World.


«Щодо недоліків, то він теж на базовому рівні один: якість процедурної генерації нижча, ніж ручної роботи. Саме тому World of Tanks пропрацьована вручну. Загальний масштаб всіх наших карт складає близько 100 квадратних кілометрів. І кожен метр на мапах зроблено руками. Це дуже дорого. Але з погляду сприйняття одразу помітно, що оточення виглядає якісніше та красивіше. Те ж стосується балансу. У проєктах, де відполірованому левел-дизайну відводиться ключова роль, процедурна генерація не дотягує до необхідного рівня.

Ще один недолік — застосування технології не безплатне. Це не якесь чудо, яке трапляється саме по собі. Щоб процедурна генерація почала функціонувати, необхідно виконати чимало роботи та все налаштувати. Повний рандом не спрацює. І якщо контенту потрібно небагато, то легше зробити все руками й не придумувати якусь страшну систему. Хіба що є якісь інструменти, налаштовані під конкретний жанр, про які я не знаю», — Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming.


«Я вже згадував бібліотеку рослин. Задайте собі питання: звідки вона береться? Мабуть, складається з асетів, які хтось-таки робив руками. Так, Speedtree дозволяє згенерувати велику кількість рослин, але задати зразок, яку форму і текстуру повинно мати листя, стовбури, коріння, чи можуть бути гілки зламаними — ці зразки моделюються вручну. Фотограмметрія може стати у пригоді, але не завжди. Тут треба пам’ятати, що перед легким процесом генерації потрібно виконати кропітку роботу з підготовки банки асетів, які будуть застосовані у вашому оточенні», — Олександр Гончарук, Game Designer / Level Designer в Ubisoft Ukraine Studios.


«Якщо якісь техніки можуть допомогти поліпшити різноманіття рівнів, то якісь — посилять відчуття повторюваності контенту. Тому тут треба бути дуже обережним. Виникають складнощі з побудовою наративу, орієнтацією гравця, правдоподібністю простору та особливостями реалізації прогресії», — Макс Тішаков, Senior Level Designer у Digital Extremes.

Гарні та невдалі приклади процедурної генерації

Олександр Гончарук, Game Designer / Level Designer в Ubisoft Ukraine Studios.

Згенероване оточення найбільш вдало використовується в іграх, пов’язаних із пошуком ресурсів та артефактів. Можна пригадати Minecraft, Terraria, No Man’s Sky і багато інших проєктів з елементами виживання. Тут комбінуються два основні типи ігроладу — дослідження та алхімія, коли ми поєднуємо кілька об’єктів і отримуємо якийсь новий.

На мій смак, спроби генерувати завдання зараз викликають лише відчуття, що тобі підсовують одну й ту ж страву на сніданок, обід і вечерю. Ми дуже швидко бачимо повторюваність дій, які потрібно зробити в таких місіях. Наприклад, у Starfield буває, що прилітаєш на нову планету, знаходиш такий же будинок, як і на трьох попередніх планетах, і відчиняєш скриню, яка знаходиться на тому ж місці, що і в попередніх будинках.

В таких випадках у мене в голові лунають слова нашого другого президента: «Це ж було вже». Хоча продюсерам подобається: це додає кількість локацій у загальному кошторисі, а отже, як вони вважають, і час, що ти провів у грі. Можна писати в чек-листі: «80+ годин проходження 🙂».

Данило Тарасенко, Senior Level Designer у Frogwares

Непогано реалізована процедурна генерація в Remnant II. Та наскільки я зрозумів, там реалізовувалися саме окремі блоки — тобто площа й декілька вулиць. А далі вони вже процедурно поєднувалися у випадковій послідовності.

Ми намагалися зробити процедурну генерацію в декількох проєктах. Здебільшого, якщо це не UE PCG, то все виконувалося якраз таким методом — блоками. Якщо ж говорити про невдалі приклади процедурної генерації, то варто розуміти, що деякі розробники просто не пишуть про застосування технології, адже результат виявився не дуже гарним. Здебільшого ці локації виглядають «звичайними». Тобто без художнього смаку та якихось цікавостей.

Гліб Григор’єв, Level Designer у Bloober Team

Мені дуже сподобалася гра Hades. Завдяки процедурній генерації рівнів, я неодноразово повертався в гру, щоб зробити одну або дві пробіжки з царства Аїда. Як позитивний приклад також можна відзначити No Man`s Sky. Попри те, що на релізі процедурна генерація планет у проєкті працювала погано, зараз, коли пройшли роки після виходу, відвідування нових куточків космосу дарує дійсно приємні враження. А от генерація планет у Starfield — це поганий приклад. Думаю, мало кому здалося, що це було гарне рішення.

Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming

Процедурна генерація не підходить для всіх ігор. Якщо взяти Diablo, яка не вимоглива до дизайну рівнів, то там ще з 1996 року застосовується процедурна генерація. І під час кожного проходження світ перебудовується. Ще один приклад — Civilization та всі ігри цього жанру: Humankind, Ara: History Untold, Old World тощо. Тут навіть невдалий левел-дизайн — це частина ігроладу.

Мені дуже подобається, коли випадає якась дурна карта, на якій доводиться викручуватися й придумати нестандартні рішення. Звісно ж, якщо ми говоримо про соло-режим, а не мультиплеєр. Це прикольно і це працює. Є також гарні tower defence з процедурною генерацією.

З невдалими прикладами складніше. Щоб знайти їх, потрібно зайти в гру і провести в ній достатньо часу, побачивши результат роботи процедурної генерації. І цей проєкт має бути привабливим в багатьох інших аспектах, щоб не покинути його одразу. Тобто йдеться про гру з великим набором гарних елементів, але поганою процедурною генерацією. Серед вимогливих до дизайну рівнів ігор я взагалі не знаю прикладів, де технологія гарно себе показала.

Макс Тішаков, Senior Level Designer у Digital Extremes

Якщо процедурна генерація дуже помітна для гравця, то є над чим попрацювати. Наприклад, однотипні порожні планети, на яких нема чим зайнятися, окрім як відвідати дві-три точки інтересу. А вони якраз заготовлені вручну і зʼявляються в різних місцях. Те ж стосується майже однакових підземель чи арен, зібраних за певними алгоритмами з невеликого набору тайлів чи асетів.

Як на мене, у Warframe досить непогано впроваджена процедурна генерація. Хоча вона має свої обмеження та можливості для покращення. Ще як гарний приклад відзначу Valheim. В проєкті реалізовані окремі біоми, які генеруються за своїми правилами. Вони різні за складністю, обсягом та типом ресурсів, розділені великими перешкодами, які потрібно долати за допомогою спеціальних засобів, та приховані в тумані війни на карті. Такий підхід мені сподобався. Все працює на відчуття першовідкриття. Хоча б з алгоритмом появи біомів я б трішки попрацював, щоб поліпшити прогресію гравця.

Наскільки активно зараз може застосовуватися процедурна генерація

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

Перший полягає в тому, що рішення краще підходить для деяких жанрів і не зовсім доцільне для інших.

Тут найчастіше виділяють roguelike або roguelite, пісочниці з елементами виживання у відкритому світі, глобальні стратегії та захист веж. При створенні проєктів цих категорій процедурна генерація може проявити себе як прекрасний інструмент, який спростить виробництво та гарно впишеться у фінальну концепцію. А от для зрежисованих сюжетних ігор сучасних можливостей технології недостатньо. І з цим погоджуються всі опитані левел-дизайнери.

«Все залежить від жанру. У roguelike процедурна генерація використовується з давніх часів. Те ж стосується Civilization. Якщо ж брати онлайн-шутери, то на картах для PvP всі важливі елементи пропрацьовуються вручну.

Тобто є жанри, де процедурна генерація — основне рішення від початку розробки. Ви одразу починаєте створювати інструментарій і налаштовувати його під цю технологію. А є жанри, де надто важливе ручне пропрацювання. Якщо у World of Tanks прибрати кілька кущиків на квадратному кілометрі, я зламаю карту. Гравці будуть нажахані й протестуватимуть.

Трапляються випадки, коли доводиться застосовувати хитрі рішення. Ми створювали процедурну генерацію для мобільного проєкту tower defence. Жанр теж чутливий до левел-дизайну: щось трішки пересунь, і все посиплеться. Проте я вважаю цей досвід успішним.

У грі формату „захист веж“ процедурна генерація дозволяє отримати дуже багато карт. Хоча вони не будуть настільки ж гарно збалансованими, як рівні, пропрацьовані вручну. Ми будували гру таким чином, щоб у гравців був вибір. А в процедурну генерацію закладали контроль складності.

Користувачі завчасно бачили набір карт з різними нагородами та дизайном. І вони самостійно обирали, на якій з мап битися. Якщо вдавалося знайти легший варіант, то це заслуга гравця. Він молодець, тому що розуміє правила та механіки в проєкті. Це частина процесу — знайти локацію, на якій вдасться перемогти. Користувачам також давалася змога міняти карти, якщо запропоновані варіанти не влаштовують. За допомогою технології ми створили тисячі чи навіть десятки тисяч карт. Вона забезпечувала контентом десь на пів року активної гри», — Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming.

«Процедурна генерація вже багато років активно використовується в левел-дизайні й часто з дуже позитивним результатом. Важливо розуміти, що на поточному етапі рішення більше підходить для певних жанрів, наприклад, roguelike і пісочниці на виживання, а ще — для ігор з відкритим світом. Якщо ж ваша мета зробити Last of Us III або Uncharted 5, то процедурну генерацію поки що бажано відкласти», — Гліб Григор’єв, Level Designer у Bloober Team.

«Процедурна генерація може застосовуватися досить активно. Достатньо подивитися на список ігор з „Вікіпедії“, які так чи інакше використовують процедурну генерацію. В ньому є як інді-ігри, що покладаються на алгоритми, на кшталт Don’t Starve, Spelunky, Terraria, Vallhelm та Minecraft, так і великі проєкти. До останніх відноситься навіть World of Warcraft, де рандомізують окремі елементи та ворогів», — Макс Тішаков, Senior Level Designer у Digital Extremes

Другий нюанс. Процедурна генерація підходить не для всіх задач.

Найкраще вона показує себе в рандомізації та масштабуванні певних елементів оточення та асетів. Розробники перелічили випадкові події, несподівані сутички з ворогами, левел-арт, правки ландшафту та швидкі ітерації рівнів.

А третій нюанс — необхідність допрацьовувати все руками.

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

«Дуже часто бачу на презентаціях, як використовується генерація без стадії блокаута. Одна з них — демонстрація Unreal Engine 5.2. Там показували, як додали та прибрали гору на шляху машини. І все це в режимі реального часу. Гадаю, це приклад того, як можна буде реалізовувати ітерації та правки на всіх стадіях проєкту. Тому що не потрібно залучати цілий відділ арту для якихось змін — все зробить генерація за завчасно прописаними правилами художників», — Арсеній Алишев, Level Designer у GSC Game World.

«Як дизайнер рівнів я дуже активно використовував UE PCG. Серед прикладів — поява або розміщення ігроладних сутностей та пасток, левеларт в різних біомах, „нарощування“ одних асетів поверх інших. Інструментарій дозволяє робити безліч різноманітних локацій дуже швидко. Але потрібно розуміти, що все доведеться допрацьовувати руками для гарного результату», — Данило Тарасенко, Senior Level Designer у Frogwares.

Перспективи розвитку процедурної генерації й чи зможе вона створювати повноцінні рівні

Макс Тішаков, Senior Level Designer у Digital Extremes

Мені чомусь здається, що повноцінне створення рівнів за допомогою процедурної генерації вже існує. Якщо говорити про «мінімальне доопрацювання руками», то я бачу це в наступному форматі.

Ви створюєте 95% рівня за допомогою алгоритму. Сюди входить поверхня, ландшафт і шляхи; розташування основних точок інтересу, важливих для наративу, та другорядних, потрібних для дослідження; розміщення ворогів та союзників за фракціями та рівнями, колекційних предметів, здобичі тощо. Виходить система на кшталт шарів у фотошопі.

Мені здається, у такому вигляді правильно налаштований алгоритм вже зараз може видавати щось більш-менш якісне. А ось чи зможемо ми досягти моменту, коли ці ж 95% не відрізнятимуться від ручного пропрацювання? Можливо, за допомогою штучного інтелекту.

Арсеній Алишев, Level Designer у GSC Game World

О, за цим майбутнє. Думаю, через років 10-20, якщо не раніше, левел-дизайнер стане оператором генератора рівнів. Він буде заготовлювати вручну пропрацьовані локації та «годувати» ними штучний інтелект. А ШІ вже видаватиме середній результат на базі завантажених даних. 
Але це лиш один з варіантів майбутнього, бо машина може ніколи й не зрозуміти, що таке «весело». Зрештою зʼявиться окрема категорія «згенерованих ігор». Люди будуть дивитися на них, як на позначку ГМО, та критикувати такі проєкти. Тому, думаю, саме люди продовжать вирішувати, що весело, а що — ні.

Данило Тарасенко, Senior Level Designer у Frogwares

Процедурна генерація дуже полегшує роботу левел-артістам та левел-дизайнерам, але тільки якщо потрібно «заповнити» пустий простір між іншими цікавими та вручну пропрацьованими локаціями. Як приклад — зробити звичайний ліс, всередині якого стоятиме скеля. На її вершині знаходитиметься величезне унікальне дерево, зроблене вручну. І саме його реалізація займе найбільше часу. Тобто технології ще є куди розвиватися.

Олександр Соловейко, Lead Technical Game Designer / AI Engineer у Wargaming

У майбутньому теж все залежатиме від жанру. В деяких з них процедурна генерація досі не працює й невідомо коли запрацює. А десь застосовується успішно вже тридцять років. Чи впораються звичайні алгоритми зі складними речами, як от геометрією в онлайн-шутерах? Я не певен. Тут одразу приходять на думку нейромережі. Дивлячись на те, які зараз існують мовні моделі, відповідь, швидше за все, буде так — процедурна генерація зможе створювати повноцінні рівні.

Але тут виникає питання: скільки вартуватиме навчити цю нейромережу і чи окупиться це? Я нещодавно читав, скільки коштує навчання ChatGPT. Це 2,5 тисячі останніх чіпів NVIDIA, які працюють протягом трьох місяців. Кожен споживає 500 Ватт. Виходить десь 1 МВатт. Тому всі ці розмови про необхідність власної електростанції перестають здаватися жартом. А ще ж є вартість з погляду залучення людських ресурсів, які необхідні для навчання. Тож не візьмуся сказати, що за найближчі десять років процедурна генерація зможе застосовуватися в мультиплеєрних шутерах.

Гліб Григор’єв, Level Designer у Bloober Team

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

Також цілком ймовірно, що нейромережам вдасться підняти процедурну генерацію на зовсім інший рівень. Я, звісно, не фахівець у середовищі ШІ та машинного навчання. Але буде цікаво подивитися на результат, який видасть штучний інтелект, якщо йому «згодувати» рівні з God of War, Tomb Raider, Uncharted, Last of Us, Dishonored та інших ігор з видатним левел-дизайном.

Олександр Гончарук, Game Designer / Level Designer в Ubisoft Ukraine Studios

Процедурна генерація оточення стає гарним допоміжним інструментом для створення основи вашого рівня, що дає можливість сконцентруватися на ключових місцях локації. Чи матимемо ми колись можливість генерувати повноцінні рівні з налаштованим проходженням? Ну, якщо вам подобаються шаблонні місії в шаблонному світі, то так. Питання тільки в тому, чи буде цікаво в це грати.

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn


Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

mr. Soloway точно щось знає про ШІ 🤖

Підписатись на коментарі