Процедурная генерация с точки зрения геймдизайна.
Сегодня, процедурная генерация - это не только один из способов ускорить и сделать дешевле разработку некоторых дизайнерских решений в игре, но также создать вариативность, добавить новый опыт в динамике игры. Возможность удерживать игрока и возвращать в игру, путем ее реиграбельности.
В 1980 году вышла игра Rogue, которая и породила название жанра roguelike. Ее особенностью была перманентная смерть, означавшая, что игроку придется начинать с самого начала. Но куда большим вкладом стала процедурная генерация игрового пространства и его наполнения. Создавая каждый раз новый мир, но существующий по неизменным законам, игра заставляла игроков адаптироваться к изменчивой среде. В последствие, интеграция механик, завязанных на генерации случайных значений стала популярной.
Что же здесь важного, о чем в наши дни порой геймдизайнеры и разработчики забывают?
В первую очередь, простую истину - процедурные генерации не должны влиять на успех игрока. Их первостепенная задача - разнообразить геймплей: сделать его ярким, неповторимым, запоминающимся. Ведь игрок в первую очередь должен чувствовать свое влияние на собственный путь в игре. Его успех должен зависеть от полученного им опыта, закономерных и, понятных игроку, личных достижениях. Проще говоря - должна быть прогрессия. И в обратном направлении все должно происходить так же. Если в, условном, поражении игрока, он будет винить события, порожденные случайностью, то, от собственного бессилия, его интерес к игре если не исчезнет, то упадет значительно. Поэтому все достижения и неудачи игрок должен ассоциировать со своими собственными ошибкам. Ведь сидеть и бросать игральные кости, ожидая кому выпадет больше - крайне скучно.
О чем именно я говорю? Если взять распространенную модель проектирования MDA (Механика-Динамика-Эстетика), то все процедурно генерируемые элементы игры должны быть направленны на улучшение динамики (динамика - есть процесс работы правил, заложенных механиками, и приводимых в действие игроком). Ведь именно динамика дарит игроку эстетику, ради которой и создается игра. А если процедурная генерация заложена как базовая механика, то никого нового опыта она не принесет игроку, тем самым, не подарив ему ожидаемой эстетики. Сложно представить игры серий Civilization или Age of Empires без генератора случайных карт. Diablo без его уникальных подземелий и генерируемого снаряжения. Однако, и без них игра останется полноценной: механики игры по-прежнему будут создавать правила, которым будет следовать игрок. Игровой цикл не изменится, но станет значительно скучнее, более однообразным. А как следствие, эстетика не будет на достаточном уровне, чтобы удержать игрока, и вряд ли ему захочется вернуться.
Хорошим примером будет релиз No man's sky в 2016г. Разработчик (Hello Games) заложил процедурную генерацию как базовую механику игры: генерация всего и вся в бесконечном множестве разнообразия. Действительно, в игре мириады звезд, вокруг которых множество планет, каждая из которых, так или иначе не похожа на другую. Но сам игровой процесс и механики взаимодействия с ними - лишь созерцание и собирательство. В бесконечном игровом пространстве и его наполнении, игроку просто напросто нечего было делать. Игровой процесс на релизе, через каких-то пару часов повторялся, не давая игроку абсолютно никакого нового опыта и ощущений. Отсутствовала прогрессия, динамика, и, как следствие, не было ничего, чем можно было бы удержать игрока в бесконечном космосе.
Абсолютно противоположным примером будет игра Rimworld, хотя кажется, что в этой игре также все построено на случайной генерации: от создания игрового мира до параметров персонажей. Однако все процедурно генерируемое игрой не затрагивает ядра, в котором заложено огромное количество разнообразных механик, создающих глубокий и сложный игровой процесс, посредством выверенных и гармонично сочетающихся правил. Процедурно генерируемые элементы лишь задают тон каждой новой игре, делая ее не похожей на предыдущую, заставляя игрока создавать каждый раз новую формулу успеха. В следствии чего, каждая новая игра – уникальный и не повторимый опыт.
Легко представить подобное на уровне жанра, или в каких-то особенных случаях, выделяющихся из массы. Но процедурная генерация может затрагивать не только столь объемлющие понятия как игровое пространство, а более узкие, локальные аспекты. Ведь даже незначительный элемент непредсказуемости в геймплее может преподносить вариативность, создавая новизну и неповторимость процесса игры, бросать новый вызов игроку. И здесь уместно упомянуть не только процедурно сгенерированные элементы, но и генераторы (псевдо-)случайных чисел и паттерны, которые может заложить геймдизайнер. Будь то руны в Dota, пираты на торговых путях во Freelancer, случайные предметы в сундуках в RPG или многие другие мелочи, дополняющие уже полноценный геймплей.
В конце хотелось бы сказать: друзья, помните главное в разработке своих проектов - стремитесь создавать, творить, насыщать миры разнообразием, которое будет дарить игрокам желание возвращаться в ваши игры. Но не забывайте почему люди вообще хотят вернуться в игру - им нравится сам игровой процесс. Они здесь ради эстетики.