Процедурная генерация — поразительное будущее игровой индустрии

Процедурная генерация. Мы слышим этот термин на регулярной основе в контексте игр. Те, кто не интересуется технологиями, представляют себе проген (процедурную генерацию, ) чем-то вроде магического заклинания, которое создает нечто на основе заданных параметров. Будь то карта в Civilization VI, пушка в Borderlands 2 или данжен в Diablo III. Однако данные примеры используют процедурную генерацию в ограниченной области. Пример более «экстремального» подхода — такие как , или No Man’s Sky, где все создано при помощи процедурной генерации.

Процедурная генерация (procedural generation, сокр. PCG) — автоматическое создание игрового контента с помощью алгоритмов. Другими словами, PCG представляет собой программное обеспечение, которое может создавать игровой контент самостоятельно, или совместно при взаимодействии с игроками или геймдизайнерами. Под контентом понимается создание уровней игры, карты игрового мира, правил игры, текстур, сюжетов, предметов, квестов, музыки, оружия, транспортных средств, персонажей и др. Ключевой особенностью создаваемого контента является то, что он должен быть играбельным — игрок должен быть в состоянии пройти созданный уровень, использовать сгенерированное оружие, подняться по сгенерированной лестнице и тому подобное.

Сид (seed) — зерно — это число, вносимый начальный параметр, которое используется в математических формулах при процедурной генерации игровой вселенной.

Применение

В качестве характерных примеров использования PCG называются: генерация без участия человека подземелий в приключенческих играх (таких как The Legend of Zelda), получающая новый мир на каждом запуске; система, создающая новые типы вооружений в шутере в космическом сеттинге в зависимости от действий игрока; генерация полной, играбельной и сбалансированной настольной игры; внутренняя процедура игрового движка, быстро заполняющая игровой мир растениями; инструмент, дающий возможность создавать человеку карты для стратегической игры, и при запросах и заданных изменениях пересчитывающий карту для её улучшения, а также предлагающий варианты, позволяющие сделать карту более сбалансированной и интересной.

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

Первые широко известные применения PCG относятся к началу 1980-х гг., когда при ограниченных ресурсах компьютеров можно было создавать большие и разнообразные миры — характерными примерами являются Rogue и Elite. В более позднее время PCG задействуется в коммерческих играх: в ролевом боевике Diablo PCG используется для создания карт, генерации местоположения и числа монстров и предметов; краеугольным камнем игрового процесса PCG становится в Spore, задействуя процедурную анимацию; повсеместно используется в серии Civilization для создания карт; известными применениями становятся Minecraft и Spelunky (игровой мир), и Tiny Wings.

Целевые свойства генерации

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

  • Скорость: в зависимости от задачи требования разнятся от миллисекунд до месяцев, но в общем случае контент должен быть создан вовремя для удовлетворения нужд игрового процесса.
  • Надёжность: некоторые генераторы создают «кучу чего-то», в то время как другие могут гарантировать выполнение заданных критериев, например всегда обеспечивать возможность проходимости игроком до выхода лабиринта.
  • Контролепригодность: способность контролировать сгенерированный контент исходя из ситуации и предоставление геймдизайнеру соответствующей свободы (данное свойство далеко не всегда требуется); например, генерация гладкого продолговатого камня или создание уровня с определённой атмосферой.
  • Разнообразие: создание такого контента, который был бы как можно разным на разных запусках, и при взгляде на него игрок не чувствовал однообразие.
  • Креативность и правдоподобие: генерация такого контента, который выглядит так, как будто его создал человек, а не генератор.

Проект Apparance

Проект Apparance — это своеобразный список «хотелок» в области процедурной генерации, участники которого подходят к процедурной генерации с совершенно разных углов. Несмотря на это, проект сохраняет общую философию:

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

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

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

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

Данный пример не относится к какой-то конкретной игре, однако отлично демонстрирует процесс и его гибкость.

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

Интересно, какой будет игровая индустрия через 10-15 лет?

По материалам: wikipedia.org, shazoo.ru

Posted on 21.07.2019

Оставить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *