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

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

За пределами игрового пространства

Суть проблемы: Игрок может выбраться за пределы уровня.

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

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

Например, в Counter-Strike: Global Offensive этим часто грешат даже профессиональные геймеры, которые выбираются за пределы игрового пространства ради получения преимущества.

Как избежать? Больше всего от этой уязвимости страдают игры, в которых есть механики перемещения предметов (см. Half-Life 2, Prey, Deus Ex и т.п.). Какой бы высокой ни была стена, игроки всегда смогут построить из объектов импровизированную лестницу, чтобы перемахнуть любое препятствие. Поэтому, для решения проблемы необходимо физическое запирание геймплейного пространства невидимыми стенами и потолками.

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

Приведу пример из личного опыта. На вступительном уровне из Robinson: The Journey главный герой должен разблокировать силовое поле, чтобы выбраться за пределы своего лагеря. Для этого ему нужно найти способ отпугнуть агрессивных динозавров с внешней стороны периметра, которые вынуждают систему безопасности держать силовое поле активным.

Из-за наличия в игре механики манипуляций с объектами, наиболее сообразительные игроки решали проблему, используя ящики. Им удавалось попасть за пределы периметра раньше, чем это было предусмотрено сюжетом. Оказавшись за силовым полем, игроки отправлялись на следующий уровень, т.к. реакция динозавров на их появление не была предусмотрена дизайнером.

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

Поощрение грязной игры

Суть проблемы: Использование игроками особенностей окружения, которые делают позицию настолько выгодной, что противник оказывается не в состоянии быстро определить источник угрозы. Также это явление называют кемперством.

Если в игре возникает проблема кемперства, то не стоит винить в нем игроков. Они всего лишь действуют в рамках того, что им позволяет игра. А если игра позволяет кемперить, значит это проблема её дизайна. Корень проблемы кроется, как в самом уровне, так и в отсутствии у игры противо-кемперских механик.

Как избежать? Игровое пространство не должно давать возможность играть грязно. Необходимо устранять любые элементы, провоцирующие игрока заниматься кемперством.

Какие элементы окружения провоцируют игроков на кемперство?

Во-первых, это любая густая растительность (пушистые кусты, высокая трава). Если в местах большого скопления игроков есть кусты, полностью скрывающие персонажей, то какая-то часть людей обязательно использует их в качестве кемперской позиции.

Кусты в качестве геймплейного элемента следует использовать строго в только предназначенных для этого местах.

Также стоит избегать ситуаций с целыми полями из кустов, среди которых игроки могут свободно перемещаться, оставаясь незамеченными (рис. 1). Для этого достаточно группировать растительность в отдельные «островки», чтобы игрока, решившего сменить куст, можно было легко отследить (рис. 2).

Как сделать так, чтобы куст не производил впечатление идеальной кемперской позиции? В Fortnite статичные кусты реализованы в виде непрозрачной сферы, которая скрывает только тело персонажа (рис. 1). Таким образом, противника в засаде всегда можно заприметить по торчащей голове. Редкие заросли высокой травы также не позволяют полностью скрыть персонажа (рис. 2).

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

В синглплеерных играх ложные укрытия превращают оппонентов, управляемых искусственным интеллектом (ИИ) в беспомощных болванчиков. На изображении ниже можно видеть пример такой уязвимости из игры Wolfenstein: The Old Blood.

В-третьих, на кемперство игроков провоцируют стены с маленькими дырками или щелями, через которые можно незаметно подстрелить противника.

Снова приведу пример из личного опыта. В Hunt: Showdown заброшенные и покосившиеся постройки с множеством щелей между досками создали условия для нечестной игры. Например, на локации «Davant Ranch» стены одного из сараев были слишком дырявыми, что позволяло игрокам, находящимся внутри получить преимущество (рис. 1). Для решения проблемы дизайнеры не только закрыли все щели в стенах, но и обозначили оставшиеся опасные направления. Так, дыру в стене справа обрамили красными металлическими листами, а на окно второго этажа, для лучшей читаемости, добавили красные ставни (рис. 2).

Дальность прорисовки

Суть проблемы: Оптимизация дальности прорисовки объектов на уровне оказывает негативное влияние на геймплей.

В погоне за оптимизацией производительности, разработчики вынуждены настраивать дальность прорисовки объектов, что часто приводит к преждевременному исчезновению геометрии уровня (куски зданий, укрытия, растительность). В результате чего, игроки получают возможность видеть сквозь стены и укрытия.

К примеру, в PlayerUnknown’s Battlegrounds можно использовать заросли густой растительности для скрытного перемещения ползком (рис. 1). Благодаря слишком агрессивным настройкам отрисовки, трава начинает исчезать слишком рано, позволяя снайперу видеть прячущегося игрока (рис. 2).

Как избежать? Дальность отрисовки любых объектов, влияющих на геймплей необходимо настраивать вручную.

Искусственный интеллект

Суть проблемы: ИИ не может добраться до игрока и становится беспомощным.

В Wolfenstein II: The New Colossus встречаются закоулки, из которых можно безнаказанно расстреливать толпы противников. Это слепые зоны, куда ИИ не в состоянии зайти по причинам отсутствия навигационных маркеров, либо из-за нарушения стандартов игрового мира (например, персонаж не проходит по габаритам через маленькую дверь).

Примеры уязвимостей: 1. ИИ не может переходить из одного вагона поезда в другой. 2. От врагов можно легко спрятаться, если забраться под лестницу. 3. Маленький дверной проход не позволяет зайти в комнату крупногабаритным противникам.

Также популярными уязвимостями арен для сражения с ИИ являются так называемые «бутылочные горлышки» и «открытые выходы» с локаций.

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

Для того, чтобы у игрока не было возможности кемперить в таких местах, необходимо физически запереть его на арене вместе с противником.

Например, в Control это достигается либо при помощи перепада высот (рис. 1 и 2), либо за счет возникающих временных стен (рис. 3). Сражение начинается сразу же, как только игрок проходит «бутылочное горлышко» и оказывается запертым внутри арены.

Еще одна проблема — «открытый выход» с локации, позволяющий игроку быстро покинуть поле боя, минуя ИИ.

Разработчики The Last of Us решают проблему следующим образом — они всегда блокируют выход с локации каким-нибудь интерактивным объектом (тяжелый ящик, раздвижная лестница), требующим помощи от напарника, который остается в укрытии до тех пор, пока все враги на арене не будут ликвидированы.

Как исправить? ИИ должен иметь возможность достать игрока в любой точке уровня — выкурить гранатами, зайти в тыл через дополнительные двери. Если ИИ не умеет лазать по вертикальной лестнице, замените её на трамплин. Входы и выходы на арену для битвы с ИИ нужно физически запирать до выполнения игроком условий, обеспечивающих победу.

Итого

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

Поэтому, создавая свой уровень, старайтесь физически пресечь любую возможность выхода за пределы игрового пространства; не поощряйте грязную игру кемперскими позициями; следите, чтобы настройки дальности отрисовки объектов не влияли на геймплей; а также создайте такую среду, в которой ИИ сможет бросить достойный вызов игроку.