Процедурная Генерация в MMO

Процедурная Генерация открыла огромные возможности для разработчиков игр. Но что даёт она игрокам, которым важнее получить яркие эмоции, чем бесчисленное разнообразие, созданное математическим алгоритмом?

Из глубины

Где начало истории процедурной генерации в хронологии компьютерных игр? Может быть, появление Minecraft? Создание целого мира от начала и до бесконечности по ходу движения персонажа. Или Diablo с подземельями, которые создавались заново при каждой новой игре? А может, это первая Civilization? Помните мигающую иконку повозки колонистов посреди темноты и полной процедурной непредсказуемости новой карты?

Хотя, постойте, разве одной из первых компьютерных игр не была та, мир которой целиком построен на процедурной генерации? Elite в 1984 году давала немыслимые возможности исследования огромной вселенной. Но ведь к тому моменту уже четыре года люди спускались в процедурно-генерируемые подземелья Rogue.

Космический симулятор Elite

Первая версия Elite была разработана студентами Кэмбриджского университета Дэвидом Брэбеном и Яном Беллом. Разработка началась в 1982 году, и в 1984 были завершены две версии игры для компьютера BBC Micro: для базового варианта компьютера (на ленте) и для BBC Micro с диском. Версия для ленты умещалась всего в 22 КБ свободной памяти; компьютер с диском имел немного больше памяти, что позволило вместить несколько секретных миссий и больший набор кораблей. 

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

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

Cамый распространённый ответ звучит так: процедурная генерация лучше ручной работы тогда, когда для второй попросту не хватает рук. В остальном же принято считать, что ручная работа всегда лучше, потому что "наделяет результат душой". А процедурной генерации отводится роль аморфного бетона, который заполняет огромное пространство чем-то бездушным.

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

Алгоритмы процедурной генерации — такая же ручная работа, как код игрового движка, геймдизайн или графическое исполнение. Сама мысль о том, что ручная работа всегда будет лучше, звучит довольно странно в среде компьютерных игр, осознанно ушедших от "ручных настолок" ради безупречных просчётов и отточенных алгоритмов, на поддержание которых человеческий мозг не способен.

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

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

Из воображения

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

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

Любого, кто изучает основы дизайна, и от кого мы ждём той самой одухотворённой работы человеческого гения, знакомят с понятием "Золотое Сечение". Есть у этого термина и более старое название: "Божественная Пропорция". Всё дело в том, что изначально этот принцип был подсмотрен у природы, которая, как известно, подчиняется безупречным математическим алгоритмам.

Собственно, "реверс-инжинирингом" природных творений и занялся в средние века итальянский математик Леонардо Пизанский, известный нам под именем Фибоначчи.

Золотое Сечение или числа Фибоначчи

Что общего между древнеегипетскими пирамидами, картиной Леонардо да Винчи «Мона Лиза», подсолнухом, улиткой, сосновой шишкой и пальцами человека?

В числах Фибоначчи существует одна очень интересная особенность. При делении любого числа из последовательности на число, стоящее перед ним в ряду, результатом всегда будет величина, колеблющаяся около иррационального значения 1.61803398875… и через раз то пpевосходящая, то не достигающая его.

Более того, после тринадцатого числа в последовательности этот результат деления становится постоянным до бесконечности ряда… Именно это постоянное число деления в средние века было названо Божественной пропорцией, а ныне в наши дни именуется как золотое сечение, золотое сpеднее или золотая пропорция.

Разумеется, мы, как ещё одна деталь природы, часто принимаем красоту подсознательно — симметрия, золотое сечение, равновесие. Всё это части математики, которые могут рассказать человеку о красоте намного больше, чем попытки просто наблюдать и пытаться понять.

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

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

Из необходимости

Генератор ландшафта, уровней, целых поселений или даже планет каждый раз создаёт новое игровое окружение. Генератор квестов — новые задания для игроков. Генератор внешности — новых NPC. Генератор боевой экипировки — новые трофеи.

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

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

"Хочу ещё"

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

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

Rogue

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

Всякий ярус подземелья состоит из сетки 3 на 3 комнаты или тупикового коридора, в конце которого можно было бы ожидать комнату.

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

Спустя 17 лет после выхода Rogue появится Diablo — куда более успешный в коммерческом плане игровой проект, который заново познакомит со знаменитой концепцией "бесконечного переигрывания" многих из тех, кто не застал расцвет интереса к этому виду игрового развлечения в начале восьмидесятых годов прошлого века.

Сегодня "roguelike-игр" великое множество. Они развиваются и пользуются большой популярностью. При этом ключевой подход к созданию интереса вокруг переигрывания за счёт генерации совершенно новых планов подземелья остаётся неизменным с 1980 года. А вот алгоритмы процедурной генерации постоянно совершенствуются.

"Хочу больше"

Я — живой человек, который постоянно сравнивает свой игровой опыт с реальным. Я готов мириться с условностями, но только до тех пор, пока они мне помогают увеличить плотность интересных впечатлений. Если же мне хочется ощутить бескрайние просторы, нужно придумать технологию, благодаря которой у меня появится возможность отправиться в любом направлении и найти там что-то интересное.

Долгое время в компьютерных играх для создания просторов использовалась пустота. Космос, море, что угодно, что выглядит естественно, но при этом предельно однообразно. И где-то за этой пустотой может быть то, что представляет интерес. Эпоха полумер закончилась с выходом No Man's Sky. Напомню главный посыл этого проекта:

Каждый атом вселенной...

Каждый лист...

Каждый камень...

Каждое дерево...

Каждое здание...

Каждая птица...

Каждая рыба...

Каждый океан...

Каждое облако...

Каждая планета...

Каждая звезда...

Каждая галактика...

...процедурно сгенерированы.

Авторы No Man's Sky представили игрокам фактически бесконечное пространство для путешествий, которое таким и остаётся, спустя много лет после выхода. Количество планет здесь превышает восемнадцать квинтиллионов (18,446,744,073,709,551,616). Даже если допустить, что в No Man's Sky играли бы все восемь миллиардов жителей Земли, на каждого в этой вселенной всё равно приходилось бы в среднем больше двух миллиардов неисследованных планет.

И хотя к разнообразию возможных сочетаний у пресытившихся путешественников есть претензии, чисто количественный предел в компьютерных играх, где больше не существует практического ограничения на бесконечность при детализации до травинок, листочков и камней, вселенная No Man's Sky с успехом преодолела.

Как и в случае с Elite образца 1984 года (8 бит), No Man's Sky использовала предельное значение переменной, существующей в памяти компьютера как отдельный объект, для текущей компьютерной архитекуры (64 бита), чтобы создать вселенную из одного начального значения.

Из зерна

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

Чтобы рассказать о самых основах сегодняшнего состояния процедурной генерации — Вихре Мерсенна, Шуме Перлина, Диаграммах Вороного, Системах Линденмайера, использовании графов и клеточных автоматов — понадобился бы минимум один лонгрид по каждому из только что промелькнувших мимо вас понятий.

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

Зерно (Seed) — это ДНК процедурной генерации. Поэтому, если у игроков есть возможность узнавать код зерна и передавать его, они без труда могут делиться им и выращивать клонов. Клон растёт из зерна, повинуясь чёткому алгоритму, заданному проектировщиками.

Так, к примеру, обеспечивается сетевая игра в No Man's Sky или Elite: Dangerous. Фактически, каждый игрок "выращивает" клон заданной вселенной на собственном компьютере, получая в качестве одной и той же отправной точки идентичное "зерно". По сети между игроками передаются не данные обо всём игровом мире, а лишь данные об изменениях по отношению к изначальному состоянию.

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

Впрочем, процедурная генерация необязательно должна создавать нечто огромное. Она может сосредоточиться на разнообразии в виде переопределения одного и того же: достаточно подставлять разные значения зерна. В итоге мы получаем случайные подземелья в Diablo или современных "рогаликах", случайные карты в Civilization, случайные миры в Minecraft, Eco, Rimworld или Oxygen Not Included.

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

Из генератора

У любого процедурного генератора есть две базовые степени свободы. Первая —  сложность алгоритма генерации. Её можно назвать "свободой в глубину". Вторая —  разнообразие результата. Или "свобода в ширину". 

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

Смена алгоритма процедурной генерации в NMS: Next

Через два года после запуска вселенной No Man's Sky её авторы решились на существенные изменения в алгоритме генерации поверхности планет. На деле это означало полное переопределение всех планет вселенной:

"Я пребывал в предвкушении, вооруженный собственными представлениями о том, как должен измениться мир. Конечно, я понимал, что ландшафт всех планет будет переопределен. Но я почему-то был уверен, что их тип останется прежним. Поэтому ожидал увидеть уже исследованный Fanam таким же сочетанием зеленых участков суши посреди оранжевого океана. Только теперь с более эпичным ландшафтом и, конечно же, облаками.

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

В сущности это означало, что мои предыдущие календари исследованных систем, которыми я с вами делился, потеряли всякую актуальность. Обидно, но пускай это будут теперь архивные данные. Стакан прежних открытий оказался пуст, но свободен для новых впечатлений. Представьте — все миры во всей этой огромной вселенной сейчас абсолютно новые и их никто не видел. Интересно, как себя чувствуют сообщества куда более амбициозных исследователей и каталогизаторов?"

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

Скажем, когда в No Man's Sky добавляют всего один новый цвет травы, трава на всех планетах обязана переопределиться. Вы тщательно выбирали место для жизни по сочетанию цвета неба, воды, поверхности и листвы деревьев, но достаточно было бросить в генератор несколько новых вариантов, и вот вы уже видите через иллюминатор своей базы совсем другую картину.

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

Из любви

Я люблю процедурную генерацию примерно так же, как сами компьютерные игры. Для меня она не просто ещё один подход или технология. Не метод экономии усилий разработчиков. Она суть того, что я ценю в играх — моделирование.

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

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

Системы Линденмайера

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

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

В 1968 году Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Можно смело утверждать, что, даже создавая рукотворные локации сегодня, художники в большинстве случаев используют готовые модели растений, созданые на основе знаний и тех же L-cистем, а также кисти, использующие, как минимум, Шум Перлина для реалистичного и небанального расположения объектов друг относительно друга.

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

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

Из принципа

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

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

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

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

Огромная вселенная No Man's Sky показала, что людям здесь проще потеряться, чем встретиться. Да и смысла особого встречаться при таком подходе к организации игрового пространства нет. Безграничные просторы неисследованных территорий будят в людях азарт первоткрывателя и стимулируют постоянно двигаться туда, где нет конкурентов.

Остаётся вариант "перемешивания карт" ради увеличения интересности переигрывания, но и он, скорее, приводит нас вместо длительного развития мира и отношений в нём к не самой желательной цикличности.

Из соблазна

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

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

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

Миры Haven and Hearth

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

Первый мир Haven and Hearth позвал к себе игроков больше десяти лет назад, а недавно стартовал двенадцатый по счёту. Это значит, что в среднем мир живёт немногим меньше одного года. Такая цикличность сказывается на модели поведения сообщества. С момента старта, на который приходится максимальный онлайн, интерес игроков неуклонно затухает. Чем больше времени прошло от сотворения мира, тем меньше вокруг людей и меньше смысла затевать что-то интересное. Проще ждать нового старта, который принесёт новый заряд интереса к игре.

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


Скорее всего, подобные MMO-миры сформируют какое-то отдельное направление. Возможность существенно преображать игровое пространство, кажется, не выживет без возможности стереть всё с доски и начать заново. Как процесс рисования не может выжить без чистого листа.

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

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

Впрочем, это не значит, что и в таком направлении нет смысла искать более изящных решений.

Экспедиции в Salem

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

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

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

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

Из повторения

Если вернуться к MMO-мирам, которые собираются жить вечно, перед ними всегда существовала проблема удержания внимания вокруг неизбежно повторяющихся действий.

В MMO нас, безусловно, удерживают люди. Они же увеличивают интерес и непредсказуемость. Но что насчёт игры? Мы же все здесь собрались не просто так. Если сам по себе игровой процесс всем наскучил, рано или поздно люди просто разбегутся.

Кажется, что вот оно — идеальное место для процедурной генерации.

Динамические подземелья в WoW: Shadowlands

Глубоко в Утробе находится Торгаст, Башня Проклятых. В этой потусторонней тюрьме томятся души самых страшных злодеев из разных миров. Это постоянно меняющееся подземелье в стиле игр жанра roguelike. Здесь можно до бесконечности исследовать залы и коридоры и сражаться с прислужниками Тюремщика — ужасного владыки Торгаста. Те, кто справится с испытаниями, получат легендарные сокровища и помогут освободить души героев, несправедливо заключенные в Торгасте.

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

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


MMO-проектам в жанре "парк аттракционов" с этим намного проще. WoW в следующем дополнении Shadowlands берёт процедурную генерацию на вооружение в полной мере для нового вида подземелий. Если задуматься, нам предлагают поиграть в Diablo, которая и была "меняющимся подземельем в жанре roguelike", но теперь появится внутри World of Warcraft.

Кажется, что куда сложнее такую изменчивость вплести в структуру цельного открытого мира, доступного всем его жителям. Впрочем, почему бы не представить подобные подземелья (или башни) в открытом мире, меняющие свою структуру раз в неделю, и предлагающие приключенцам совершенно новое пространство для исследования? Почему в целом не начать манипулировать общим игровым пространством, постоянно освежая картину?

EVE Online: Apocrypha

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

Это сложный, многогранный и высоко детализированный мир, живущий и развивающийся уже много лет. Но ему чего-то отчаянно не хватает. За все это время он утратил важный, практически необходимый настоящему космическому миру атрибут. Ведь вселенная, космос, должны быть бесконечными. У них не может быть окраин. За окраинами должны быть следующие территории. Фронтир. А за ним — неизвестность. Вот этой неизвестности на шестом году жизни миру EVE Online отчаянно не хватало.

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

Так что же сделали разработчики? Они создали огромное количество новых совершенно неосвоенных звездных систем, у которых нет стандартных прыжковых ворот. То есть попасть в них можно только через червоточину.
Сами червоточины имели ограниченный срок жизни. Они то возникали, то исчезали, и каждый раз вели в новое место. Это мог быть подпространственный тоннель, который воздвигал шаткий, временный, но такой удобный мост между привычными старыми звездными системами, соединяя на время самую удаленную точку нулей с торговым центром Империи. Но зачастую червоточины вели в неизведанное пространство wormhole-space, или, как мы его называли про себя, «ч-пространство».

Пример добавления не только особого пространства с меняющимися связями, но и постоянно изменяющихся переходов между известными локациями в EVE Online, показал потенциал того, каким динамичным может становиться, на первый взгляд, статичное пространство. Сколько новых игровых ситуаций может создавать такая механика. А главное — какой потенциал для исcледования рождает подобное "перемешивание карт" без необходимости убегать от всех в неизведанные земли.

Из привязанности

При создании Ultima Online авторы упёрлись в физическое ограничение вместимости серверов. Чтобы объяснить, почему игроки находятся в, казалось бы, идентичных мирах, но физически остаются изолированными в рамках серверов, разработчикам пришлось придумать легенду о расколовшемся мире. Так родилось понятие "осколки" (shards).

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

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

Рассуждения идеолога Camelot Unchained

Гордость за сервер — одна из важнейших и самых сложных целей, на мой взгляд. Почему вообще игроки должны испытывать гордость за свой сервер, если это, фактически, кусок железа, на котором разворачиваются события? Но для тех, кто играл в Dark Age of Camelot, споры о том, на каком сервере самое лучшее сообщество — знакомая ситуация. И эти споры продолжаются до сих пор.
Для меня лично, гордость за сервер — воплощение всего, чего мы хотим достичь при создании Camelot Unchained, потому что это сумма гордости на индивидуальных уровнях обо всем, что есть в игре, плюс гордость за сообщество. 

Игроков не нужно убеждать в необходимости всех видов гордости. Потому что они жили в Dark Age of Camelot и других подобных играх. Это то, что многие MMORPG потеряли со временем, и то, что мы пытаемся возродить в Camelot Unchained.


Идея "гордости", как фактора привязанности к конкретному серверу и сообществу — интересная тема, достойная развития в тех MMO, которые вынужденно или намеренно распределяют игроков по шардам.

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

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

Но почему бы не сделать ваш шард ещё и не похожим на другие? Представьте себе мир Lineage II, в котором привычные территории Глудиo, Диона, Гирана, Орена, Адена, Руны и других феодов процедурно сгенерированы. Элементы архитектуры, элементы природы и даже монстров одинаковые, но собираются в общее целое по-разному.

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

Из противостояния

Многие MMO сложно представить себе без толп монстров. Да и стоит ли отказываться от них, как от угрозы, объединяющей игроков вместе? Кажется, главная их проблема — предсказуемость. Чем больше люди живут в конкретном мире, тем больше адаптируются к угрозам. Но почему угроза не может адаптироваться к людям?

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

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

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

Из прошлого в будущее

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

Бесспорно то, что генерируемый контент создаётся со скоростью, которую живым авторам никак не достичь. Сейчас к скорости прибавилось ещё и качество результатов на выходе. В каком-то смысле ситуация повторяет замену живых "алгоритмизаторов" настольных игр компьютерными программами: от "графики" из ASCII-символов в Rogue до бесконечных детализированных планет No Man's Sky. Только теперь речь идёт о создании контента, который раньше полностью вели за ручку авторы.

Да, в этой технологии легко увидеть просто высокоинтеллектуальный шум. Мало того, нет причин считать, что это действительно не просто шум, в котором мы пытаемся разглядеть какой-то смысл. В конечном итоге, всё зависит от конкретного алгоритма и его целей. Именно цели в контексте MMO и определяют реальную ценность применения процедурной генерации здесь.

Я смотрю в будущее с оптимизмом. Но и с некоторой опаской, при всей искренней любви к этой технологии.

Потенциальный конфликт я вижу в наметившемся разночтении термина "контент", за который и отвечает процедурная генерация. С моей точки зрения, основной контент в MMO должен возникать при взаимодействии людей, в силу развития их отношений. Если этого в MMO не происходит, что-то пошло не так.

Авторы могут сделать бесконечные процедурные квесты, бесконечные процедурные карты, процедурных монстров, экипировку, поселения, NPC. Дать возможность сколько угодно начинать сначала. Но что будет отличать такую MMO от одиночной игры? Процедурная генерация может развлекать игрока очень долго. Вот только всё это время, возможно, игрок будет занят диалогом с игрой.

Реальным будущим процедурной генерации в MMO, по-моему, будет осознанная попытка при помощи этой технологии помочь диалогу между игроками. Сделать его более интересным, разнообразным, долгосрочным, глубоким. И в этом смысле у процедурной генерации, как у технологии, все козыри на руках. Но тасуют и сдают карты всё равно живые люди.

Всё благодаря вам!

Этот материал вышел исключительно благодаря достижению финансовой цели нашей ежемесячной Patreon-кампании. Спасибо всем тем замечательным людям, которые поддерживают наш проект.

Над текстом работали:

Автор

Редактор

Консультант


При подготовке материала использовались работы дизайнера John Kunz, созданные с помощью процедурной генерации.

Пожалуйста, оцените и прокомментируйте текст

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

mmozg.net

Все об онлайновых виртуальных мирах для тех, кто не боится размышлять.

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