Это "Инструментарий Игродела", я Марк Браун. Есть одна игра, в которую я играл больше, чем в другие. Это Spelunky - ужасно сложный платформер, берущий возбуждение от передвижения вбок от Mario и Castlevania, но лишает вас возможности выучить уровень наизусть, меняя карту каждый раз, когда вы умрете. Но Spelunky становится особенной за счет того, что хоть уровни и собраны случайным образом, они всегда честны и приносят удовольствие. Даже после 1000 забегов я ни разу не наткнулся на отстойный уровень. Они не чувствуются как продукт алгоритма, который в некоторых играх создает непонятные и расфокусированные уровни полные тупиков. В Spelunky эти процедурно сгенерированные уровни настолько же точные и удовлетворяющие, как и уровни сделанные вручную. Это потому что создатель Дерек Ю раздобыл идеальный баланс между сгенерированным и авторским контентом. Он объясняет, как он сумел это сделать, в своей новой книге, названной Spelunky, которую я крайне рекомендую каждому, кто заинтересован в дизайне. Пока вы ждете, чтобы она пришла к вам по почте, я воспользуюсь частью информации из неё для объяснения того, каким образом уровень в Spelunky наполовину сгенерирован и наполовину сделан вручную После этого мы посмотрим, почему важно для игры иметь бесконечный запас уникальных уровней. Хотя, сперва, нам надо перенестись туда, где все началось, ведь пока вы думаете, что Spelunky всегда выглядела так, она началась в виде бесплатной игры с пиксель-артом теперь именуемой Spelunky Classic (классический Spelunky) Итак, каждый уровень в Spelunky создан скриптом, начинающимся одинаковым базовым образом и тем же размером: 16 комнат в коробчатой "4 на 4" сетке. в первую очередь скрипт выбирает случайную комнату из верхнего ряда, и делает там вход. Потом он случайным образом расположит комнату справа, слева и внизу. Этот процесс повторяется от комнаты к комнате; если путь встретится с краем уровня, он идет вниз, пока не доберется до самого низа. Когда он пытается пойти дальше вниз, создается выход. В каждой комнате в главном пути есть проходы налево и направо, но в комнатах, где путь идет вниз, есть проход вниз, а комнаты, куда вы спускаетесь, имеют входы сверху. В конце у вас обеспеченный путь сквозь уровень, сквозь который вы всегда сможете пройти не используя веревки или бомбы. Другие комнаты, которые не такие и важные, могут быть открыты или отделены стеной в зависимости от своего дизайна. Далее, каждой комнате дан шаблон. Дерек Ю создал некоторое число дизайнов с разной обстановкой для комнат, откуда вы спускаетесь, куда вы спускаетесь, коридоров, через которые пробегаете, и комнат, которые не такие и важные. Но эти шаблоны не неизменяемы, их части случайно генерируемы. Иногда крупные куски камня появляются случайно. Это означает, что хоть вы можете начать видеть знакомые черты, в них будут свои уникальные причуды. Далее скрипт проверяет каждый камушек на карте и бросает кость, стоит ли здесь поставить монстра, какое-то сокровище или другой объект. Это, опять же, не абсолютная случайность: ящики и драгоценные камни скорее появятся в окруженном стенами месте, а враги не спавнятся в узких пространствах. Все взвешивается так, что уровень не содержит огненных лягушек или ящиков с ракетными ранцами. Описывая свой алгоритм создания уровней, Дерек Ю говорит: "Эта система не создает самые естественно-выглядящие пещеры на свете, и игроки быстро начнут узнавать определенные ориентиры или может даже поймут, что уровни генерируются по сетке, но с достаточным количеством шаблонов и различных мутаций будет много разнообразия. Что важнее, алгоритм создает интересные и увлекательные уровни, где игрок не может просто так застрять, кое-что ценнее реализма, когда дело доходит до опыта с высоким уровнем погружения". В уровне из Spelunky есть ещё много всего, конечно же. Те комнаты, что не так уж и важны, могут содержать золотых идолов, запускающих огромный шар, или алтарь жертвоприношений,на котором можно обменять тела на полезные предметы. Комната может быть магазином, где можно покупать или красть предметы. "Сложность покупки всех предметов, которые вы хотите, влияние этого на ваш счет, - ваш итоговый счет основан на том, сколько богатств вы нашли, - создает сильный соблазн воровать из магазина", - говорит Ю. Если вы всё же стянете предмет, продавец не только будет вас убивать своим дробовиком, но и его друганы будут появляться в конце каждого уровня этого забега и атаковать вас в безумной, непредсказуемой ярости. На каждом уровне также есть девица в беде,дающая дополнительное очко жизни. В то время, как аптечки в других играх, будь то грибы, ножки индейки или пицца, активируются сразу же, Spelunky заставляет вас пронести девицу к выходу, приводя к сложным моментам, когда вам надо протащить несколько предметов через непредсказуемый лабиринт. И, в конце концов, есть призрак. Оставайтесь на уровне слишком долго, и привидение появится и убьёт вас одним касанием, если, конечно же, коснется. Все эти добавки созданные человеком, но разбросанные по процедурно-сгенерированным мирам о выборе и взвешивании возможностей. Дерек Ю говорит: "Я хотел направить [игрока] на совершение сложных решений и получения и удовольствия правильного выбора, и сожаления от неудачного". Пожертвуете ли вы свой счет на покупки в магазине или просто своруете и будете справляться с последствиями? Рискнете ли бросить туда девицу в беде или оставите свой дробовик? Возьмете ли золотой идол и рискнете быть раздавленным валуном? Успеете ли собрать все драгоценные камни, пока не пришел призрак? Эти решения было бы менее интересно принять, если вы уже играли на этом уровне, знаете правильный путь к выходу и предскажете исход хватания золотого идола. Из-за того, что вы не знаете, как в этот раз обустроен уровень, игра заставляет вас просчитывать ситуацию и строить план перед тем, как увидеть, как он идет абсолютно не так. И это всё больнее, когда вы знаете, что вас отправят на начало игры с новыми уровнями для преодоления. Ставки в игре очень высоки. К тому же, отсутствие возможности выучить уровни означает необходимость отточить управление с механиками. Вам надо понять все причуды вашего прыжка и небольшую дальность вашего хлыста. Вам надо выучить уникальное поведение каждого врага, чтобы предсказать, что произойдет, когда вы ступите в их владения. И вам надо выучить всё о предметах и секретах и трюках, что позволят вам дольше выжить. Итак, Spelunky доказывает, что алгоритм не обязательно создает бездушный уровень: баланс между авторским и сгенерированным контентом приведет у приятным для прохождения уровням. А удаление возможности выучить уровень (либо после смерти, либо на втором или тысячном забеге) поощряет изучение лежащих в основе игры механик и заставляет с осторожностью просчитывать ситуацию перед тем, как делать сложный выбор. Спасибо вам за просмотр! Spelunky одна из моих любимых игр всех времен и народов, так что было приятно углубиться в один из аспектов, которые делают её особенной. Я без сомнения вернусь к другим частям, таким как неожиданный геймплей и безумные секреты, в следующих видео. Если вы хотите помочь этому шоу, пожалуйста, подумайте о том, чтобы подписаться на YouTube, чтобы новые эпизоды приходили прямо к вам, или даже кинуть несколько долларов за эпизод на Patreon. Прямо как эти первостепенные подписчики cделали.