Процедурная генерация — поразительное будущее игровой индустрии
Процедурная генерация. Мы слышим этот термин на регулярной основе в контексте игр. Те, кто не интересуется технологиями, представляют себе проген (процедурную генерацию) чем-то вроде магического заклинания, которое создает нечто на основе заданных параметров. Будь то карта в Civilization VI, пушка в Borderlands 2 или данжен в Diablo III. Однако данные примеры используют процедурную генерацию в ограниченной области. Пример более "экстремального" подхода — такие игры как No Man's Sky, где все создано при помощи процедурной генерации.
На сегодняшний день этот подход в создании уровня или целой планеты имеет серьезные ограничения — у нас просто нет настолько мощного железа и передовых алгоритмов, которые могли бы генерировать не просто оболочку, пытающуюся убедить в том, что она существует. К счастью, прогресс не стоит на месте.
Совершенно случайно в Twitter занесло на страничку Сэма Свэйна — бывшего программиста Lionhead, который сейчас занимается разработками в области процедурной генерации. Как выяснилось, он входит в группу проекта Apparance — своеобразного списка "хотелок" в области процедурной генерации, участники которого подходят к процедурной генерации с совершенно разных углов. Несмотря на это, проект сохраняет общую философию:
Apparance это экспериментальная технология, создаваемая для интерактивного визуального оформления процедурных алгоритмов и обширных трехмерных миров для видеоигр.
Так как весь контент генерируется, такой подход позволяет во много раз сократить объем требуемого пространства на накопителе. Более того, с такой технологией не требуется никаких загрузок во время игры — все процедуры загружаются во время запуска приложения. Несмотря на то, что все генерируется процедурно, каждый объект, каждый кустик и кирпич имеют свой собственный серийный код, что открывает возможности кастомизации.
Генерация происходит в реальном времени, так что разработчикам не требуется ничего запекать или компилиовать — изменения сразу перестраивают созданный мир. Подобная модель позволяет определять масштаб самостоятельно, настраивая комплексность сцен и даже миров.
Вы только взгляните на этот своеобразный генерируемый данжен, который в реальном времени меняет свой вид в зависимости от размера рабочей площади. Как раз он и вызвал у меня интерес, покопаться, что же это за технология.
Random Dungeon Rooms V3; More content, variety, and sub-rooms. Shows changing layout decisions with size. #procgen #Unity3D #gamedev pic.twitter.com/j7NvuctM84
— Sam Swain (@ga5p0d3) October 18, 2017
Сэм сказал во время переписки, что данный пример не относится к какой-то конкретной игре, однако отлично демонстрирует процесс и его гибкость.
С каждым годом игры становятся все сложнее и больше. Открытые миры шире и разнообразнее — настолько, что даже команда из 1000 человек не сможет вручную создать все. Процедурная генерация способна взять на себя самые сложные задачи, позволяя людям заниматься креативным процессом. Можно не сомневаться, что в будущем к технологии подключат ИИ, чтобы тот упрощал жизнь разработчиков.
Интересно, какой будет игровая индустрия через 10-15 лет?
- Создатель Dragon Age говорит, что если кранч — это единственный способ делать масштабные игры, "возможно, индустрия заслуживает смерти"
- Bloomberg: Tencent делает мобильные аналоги Palworld
- Sony добавит на PS5 подсказки от игроков