Варианты применения процедурной генерации

Разработка игр | |

В правильно подобранных играх – Diablo, Rogue, Spelunky, Daggerfall, Elite, Spore и даже аналогах Football Manager – процедурная генерация творит настоящие чудеса. Она поднимает дизайн на новый уровень и подчёркивает элегантность ключевых игровых систем. Она позволяет экономить время и зарабатывать деньги. Во многом благодаря ей игры вроде Skyrim и Minecraft способны привлекать и удерживать обширную базу игроков спустя годы после релиза. Именно на ней в первую очередь держится ожидаемая многими No Man’s Sky от Hello Games.

Однако, в понимании и применении процедурной генерации легко ошибиться, а идеи о разработке алгоритмов для создания отдельных частей вашей игры на лету не всегда приходят в голову сами собой. Ричард Мосс (Richard Moss) под прикрытием Gamasutra проконсультировался с опытными разработчиками и составили список игр, где данная техника применяется интересным или необычным образом.

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

Crusader Kings II – генеалогические древа, динамически ветвящиеся в зависимости от сгенерированных личностей

CrusaderKingsII

Процедурно сгенерированный контент может добавлять персонажам и игровым системам ту же глубину и разнообразие, что и окружению и дизайну уровней (где он используется чаще всего). Благодаря этому инструменту в стратегии про Средневековье Crusader Kings II компьютерные персонажи получают собственную личность. Она проявляется в разнообразных чертах, которые на деле представляют из себя набор простых чисел (вроде +1 к интригам и -10 к жадности), смещающих баланс в определённую сторону при принятии решений данным персонажем. Но, так как игровые системы завязаны на взаимоотношениях и поведении, эти черты восхитительным образом комбинируются с родственными связями, лежащими в сердце средневековой динамики власти.

Креативный директор Kitfox Games Таня Шорт (Tanya Short) отметила, что устойчивая популярность игры и обсуждения её тонкостей на форумах немало говорят о том, что игроки со всей готовностью эмоционально привязываются к цифрам и поведению, которое они определяют (а при всей простоте, их сочетание вполне можно называть комплексным). «Даже будучи игрой с едва преодолимым порогом вхождения, она имеет нечто общее с The Sims», – говорит Таня. – «Игроки любят придумывать сюжеты, объясняющие внутреннюю согласованность отдельных личностей, их политики и т.д., к тому же, им доступна такая благодатная почва, как средневековая Европа. Отсюда и неувядающая популярность «вырванных из контекста» форумных тем». Вот, что она приводит в качестве особенно забавного примера.

Краткая выдержка: Игроки будут сопереживать сгенерированным персонажам и их отношениям, если их поведение будет соответствовать заявленным чертам – возможно, прозрачность всех чисел этому даже поспособствует.

Shadow of Mordor – противники с выраженной индивидуальностью

SHadowOfMordor

Толкиеновская экшен-RPG Shadow of Mordor тоже отходит от привычного использования процедурной генерации в уровнях и картах. Она применяет её так, что игроки могут выстраивать собственные отношения с орками. Если вкратце, каждый орк уникален – все они создаются алгоритмами системы Nemesis, определяющей всё от имени и внешности до манеры речи и отношений с другими орками. Игра бесконечно комбинирует и меняет местами черты персонажей, как кирпичики Lego.

И это ещё не всё. Орк получает повышение в армии Саурона, если убивает персонажа игрока. И он вспоминает его при следующей встрече. Если его ранить или убить, он вернётся – в этот раз с новыми способностями, озлобленным и со шрамом (прикрытый глаз, если тот был выколот, или мешок на голове, если орк был обезглавлен).

Это приводит к длительной вражде и соперничеству, раскрывая перед игроком уйму возможностей по извлечению выгоды из взаимоотношений орков (к примеру, можно натравить кого-то против его босса). Это заставляет сопереживать злодеям, что само по себе редкость, ведь в большинстве игр всё взаимодействие с ними сводится к убийству. Руководитель разработки BioShock Кен Левин (Ken Levine) называет Shadow of Mordor первой игрой с «открытым повествованием». Это важный шаг к созданию традиционных игровых сюжетов, действительно адаптирующихся к действиям игрока, а не просто ветвящихся, как в книгах типа «choose your own adventure».

Краткая выдержка: Процедурная генерация характеристик и шрамов врагов позволяет игроку чувствовать, что он сражается с особенными, неповторимыми противниками, а не с обычными полубоссами, которых встретит любой другой игрок.

Spelunky – непредсказуемые уровни и оттачивание знаний механики

spelunky-screen-2a

Возможно, только слова Rogue и Diablo больше ассоциируются с процедурной генерацией, чем Spelunky Дерека Ю (Derek Yu). Игра, как платформер, великолепна тем, что делает упор на детальное изучение механики и внутренних систем, а не на запоминание уровней, которые каждый раз создаются заново. Профессор Нью-Йоркского университета Джулиан Тогелиус (Julian Togelius), исследователь в данной области, убеждён, что такой фундаментальный сдвиг – от изучения уровня к изучению правил игры – делает игру лучшим примером значимого применения процедурной генерации. «Чрезвычайно важно, чтобы игрок не мог предсказать грядущие испытания, поэтому генерация уровней (относительно простая, но очень эффективная) имеет такое большое значение», – говорит он.

И правда, обычный игрок в Spelunky повидал на своём веку тысячи, если не десятки тысяч уровней, но лишь скромный процент игроков добился победы по версии игры – в самой базовой форме это означает пройти шестнадцать уровней и победить последнего босса за один заход (ещё есть скрытые уровни, ведущие к альтернативным концовкам).

Важно отметить, что уровни создаются в соответствии с определённым планом; за псевдослучайным размещением врагов, продавцов, предметов, стен пещеры и прочих элементов скрывается высокоточная система.

Со времени выхода оригинальной Spelunky в 2008 на свет появилось бесчисленное множество подражателей, но ни у одного не получилось добиться такого же сочетания авторского стиля, рандомизации и элегантности.

Краткая выдержка: Благодаря процедурной генерации в реальном времени в соответствии с простой формулой, Spelunky сподвигает игроков осваивать игровые правила и системы, а не геометрию уровней.

Dwarf Fortress – взаимосвязь алгоритмических систем

Dwarf_Fortress-12-1-2015

В бесконечной комплексности и амбициозности Dwarf Fortress легко потеряться, в неё учатся играть месяцами. В начале создания каждого мира генерируется подробная родословная дворфов длиной в тысячи лет. Мне довелось работать с коллегой, который каждый день потчевал меня о разрастающихся династиях и могучих крепостях, врезающихся в основания гор. Он рассказывал о любви, об утратах, предательстве, катастрофах, приключениях, голоде, бушующем пламени, убийствах, комичных моментах, помешательстве разумных куриц и ещё много, много о чём.

Для Тани Шорт главный источник вдохновения в эпическом симуляторе жизни дворфов от Тарна и Зака Адамсов (Tarn Adams, Zach Adams) заключается во внутренней простоте десятков взаимосвязанных алгоритмических систем. «Большинство людей рассматривают Dwarf Fortress как гениальный образец инженерного искусства, но она больше похожа не на двигатель внутреннего сгорания, а на изысканную слоёную выпечку», – говорит она. – «Каждый компонент обладает собственными правилами, при этом подчиняясь правилам любого другого, но благодаря практически бесконечному количеству слоёв, комплексность проистекает из их взаимодействия – почти, как в нашей реальной вселенной. Меньше предвидения, больше эволюции».

Краткая выдержка: Особенность Dwarf Fortress не в поверхностной сложности, а в том, как её простые компоненты накладываются друг на друга, генерируя всё, с чем сталкивается игрок, так что каждая игровая сессия являет новый уникальный, комплексный и непредсказуемый мир дворфов.

RymdResa – медитативность обширных пространств в чужом враждебном мире

Rymd

Среди сегодняшнего обилия инди-игр рогаликов пруд пруди, но ни один из них не связывает процедурную генерацию с тематикой так тесно, как RymdResa. По аналогии с Elite и No Man’s Sky в RymdResa генерируется огромная вселенная с таким количеством планет и разнообразной космической мишуры, которое можно и не надеяться посетить. Только здесь это делается с одной чёткой целью – заставить игрока почувствовать одиночество.

Игрок проплывает сквозь тёмную и опасную пустоту, иногда натыкаясь на артефакты, другие корабли и космические тела, и в любой момент всё может обернуться катастрофой, когда он поймёт, что может не выбраться живым из очередной передряги. Прелесть RymdResa в том, что все эти поэтические отрывки от астронавта из вашего корабля, сама атмосфера и настроение игры – опасность, одиночество, умиротворённость, необъятность мира – возникают за счёт алгоритмов генерации, создающих эту вселенную. Такие эстетические элементы обычно находятся в компетенции левел-дизайна ручной выделки, но здесь они усилены колоссальными размерами и чужеродностью космоса, что создаётся заново каждый раз, когда вы начинаете игру.

Краткая выдержка: Склонность к процедурной генерации иных миров может подчеркнуть атмосферу и тематику игры, задавая настроение игрока или передавая ощущение чуждого и опасного места.

Civilization – Исследование новой местности

civ map

Попробуйте сыграть в любую из частей Civilization на созданной вручную, фиксированной карте, как вам тут же станет скучно. Серия славится фокусом на известной поговорке Сида Мейера (Sid Meier) о том, что хороший дизайн в форме серии интересных ситуационных выборов не будет нормально работать, когда вы заранее знаете, что и где расположено. Как отмечает Джулиан Тогелиус: «Очень важно каждый раз начинать игру на новой карте, которую вы будете исследовать в первой половине игры, не зная, что и кого встретите на пути».

Тут главное понять, почему играм вроде Civilization – или Age of Empires, если брать RTS-аналоги – необходима процедурная генерация, а другие прекрасно себя чувствуют с фиксированными картами. Сгенерированные карты подталкивают к исследованию местности, но их очень трудно балансировать для разных типов геймплея и стратегий. В 2013 Тогелиус состоял в команде тестирования процедурно генерируемых карт для StarCraft. «Геймерское сообщество отнеслось к нам с пренебрежением, поскольку карты не были на 100 % симметричными», – говорит он.

Краткая выдержка: Процедурная генерация позволяет каждый раз создавать новую карту, так что игроки будут исследовать их и экспериментировать, однако без неё вы достигнете лучшего баланса в мультиплеере, если изучение местности не является основой геймплея.

Экспериментальные игры с процедурной генерацией предлагают креативные, точечные решения сложных проблем

inquisitr

Наиболее передовые и инновационные примеры процедурно сгенерированного контента поступают из научных исследований, а не из коммерческой разработки игр. Недавний проект Georgia Tech демонстрирует автоматический генератор уровней для Super Mario Bros с алгоритмом, обучающимся по видеороликам на YouTube. В другом их проекте генерируются простые интерактивные повествования.

А искусственный интеллект ANGELINA способен процедурно генерировать целые игры – вплоть до игровой механики – из текстового ввода на обычном языке (например, определяющее тематику слово). Его создатель Майкл Кук (Michael Cook) проводит Procedural Generation Jam, на котором в 2014 появилась игра о расследовании убийства, помимо других интригующих вещиц.

Краткая выдержка: Научные и экспериментальные разработки стоят того, чтобы за ними следить, поскольку часто предлагают свежие решения сложных проблем. В частности, на данный момент они полезны помощью в разработке систем, адаптирующих гейм-дизайн к различным стилям игры.

Не только производство контента

Изучив эти и другие игры с процедурной генерацией, очень важно понять, что это инструмент для решения проблем. Ей можно пользоваться для получения множества уровней или безграничного окружения, или же для внесения элемента случайности во внешний вид и поведение врагов – всё это вещи, которые долго и трудно делать вручную. Однако, написание и тестирование алгоритмов тоже отнимает кучу времени, особенно, когда они взаимодействуют с другими игровыми системами.

Никогда не теряйте из внимания тот факт, что повышенное разнообразие не обязательно сделает вашу игру лучше.

К тому же, процедурная генерация – это не только средство создания контента. Большинство вышеупомянутых игр – особенно RymdResa – используют её в эстетических целях, создавая чувство чужеродности или неизведанности, или же добавляя особое настроение в дизайн.

Процедурно генерируемый контент может служить самым разным целям: будь то адаптивная анимация на манер Spore, схемы подземелий, как в Diablo и Rogue, бесконечные уровни, развивающиеся города, иноземные просторы, бесконечная реиграбельность, интуитивно понятные системы, адаптивная музыка или что угодно ещё.

Использование процедурной генерации сводится к простому вопросу: с какими элементами вашей игры грамотный алгоритм или набор алгоритмов справится лучше вас самого?

Источник – 7 uses of procedural generation that all developers should study – Gamasutra.

Владимир FrostBite Хохлов frostbite@progamer.ru

Поделиться

Обсудить