Русская Википедия:Процедурная генерация

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:Dragon trees.jpg

Процедурная генерация (Шаблон:Lang-en, сокр. PCG) — автоматическое создание игрового контента с помощью алгоритмов[1]Шаблон:Sfn. Другими словами, PCG представляет собой программное обеспечение, которое может создавать игровой контент самостоятельно, или совместно при взаимодействии с игроками или геймдизайнерамиШаблон:Sfn. Под контентом понимается создание уровней игры, карты игрового мира, правил игры, текстур, сюжетов, предметов, квестов, музыки, оружия, транспортных средств, персонажей и дрШаблон:Sfn. В данном контексте под играми понимаются компьютерные игры, видеоигры, настольные игры, карточные игры, головоломки и другиеШаблон:Sfn. Ключевой особенностью создаваемого контента является то, что он должен быть играбельным — игрок должен быть в состоянии пройти созданный уровень, использовать сгенерированное оружие, подняться по сгенерированной лестнице и тому подобноеШаблон:Sfn.

Термины «процедурный» и «генерация» относятся к компьютерам, так как PCG должно быть запущено в виде процедуры на компьютере, которая выдаст на выход что-то для последующего применения. При этом процедура является частью чего-то, например всей игры или инструмента геймдизайнераШаблон:Sfn.

Применение

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

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

Первые широко известные применения PCG относятся к началу 1980-х гг., когда при ограниченных ресурсах компьютеров можно было создавать большие и разнообразные миры — характерными примерами являются Rogue и Elite. В более позднее время PCG используется в коммерческих играх: например, в X-COM: UFO Defense (1994) и Diablo (1996) PCG используется для создания карт, генерации местоположения и числа монстров и предметов; краеугольным камнем игрового процесса PCG становится в Spore, использующей процедурную анимацию; повсеместно используется в серии Civilization для создания карт; известными примерами применения становятся Minecraft и Spelunky (игровой мир) и Шаблон:Нп3 (генерация текстур)Шаблон:Sfn.

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

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

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

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Игровая терминология