[Перевод] Паттерны дизайна уровней для 2D-игр

ba3cfe897bddef0ab287e43ef65638cd.png


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

Эти паттерны являются простыми условностями, описывающими стандартные подходы к дизайну уровней. Дизайн уровней — это часть гейм-дизайна. То есть паттерн дизайна уровней является подмножеством паттернов гейм-дизайна. Однако дизайн уровней имеет множество тонкостей, не входящих в рамки гейм-дизайна. Уровни могут подчёркивать сюжет, создавать мелкие кратковременные достигаемые цели и позволяют формировать игровой процесс с целью усиления погружённости игрока в игру. Создание уровней играет настолько важную роль в играх, что иногда разработчики предоставляют пользователям инструменты для дизайна уровней, чтобы они могли создавать новые уровни и обмениваться ими.

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

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

Содержание:

  • Предпосылки
  • Паттерны
    • Указание направления
    • Безопасная зона
    • Предвестие
    • Слои
    • Ветвление
    • Нарушение темпа
  • Обсуждение и выводы
  • Справочные материалы


Паттерны дизайна появились ещё в 70-х годов, а их основы заложил архитектор Кристофер Александер [1]. Александер создал эти паттерны с целью поиска более формализованного языка общения. В паттернах дизайна суммированы часто возникающие проблемы, которые могут обнаруживаться в окружении, а также соответствующие им решения. Описанные решения применяются в качестве общих инструкций, а не окончательных решений проблем. Эта идея была перенесена в проектирование ПО в 80-х, когда Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влисидис опубликовали книгу с описанием паттернов дизайна ПО [2]. Как и Александер, они собрали часто возникающие в объектно-ориентированном проектировании проблемы и предложили их решения. Креймейер [3] аналогичным образом ввёл паттерны гейм-дизайна как способ решения повторяющихся задач. Их определение стало менее строгим, поэтому паттерны гейм-дизайна рассматриваются как распространённые и повторяющиеся элементы гейм-дизайна, влияющие на игровой процесс [4], [5].

Разработчики, дизайнеры, учёные, создатели игр и критики уже долгое время обсуждают паттерны дизайна. Часто их называют не паттернами дизайна, а советами, рекомендациями, хитростями и т.д… Обычно они ссылаются на концепции паттернов дизайна, анализируя отдельный уровень или область мира [6], [7], [7]-[9], игры [10]-[22], жанра [23]-[31], или изучая их наиболее обобщённо [3]-[5], [32]-[42]. Эта информация обычно базируется на их опыте дизайна и разработки игр, а также участия в самом игровом процессе. Наиболее примечательными являются паттерны, повторяющиеся во множестве игр. По возможности в следующих разделах мы перечислим сходства между предыдущими попытками каталогизации и классификации паттернов дизайна уровней.

Кроме поиска и классификации паттернов дизайна исследования изучают способы использования этих паттернов в процедурной генерации контента. То есть паттерны дизайна применялись и для генерации уровней [19], [25], [38], [43]-[48]; кроме того, существовали попытки использовать их для генерации правил игр [49], [50]. В стандартном подходе паттерны дизайна используются как ограничения в процессе генерации для сокращения пространства генерации, чтобы в нём оставались только соответствующие паттернам уровни [38], [43], [44], [48], [49]; наиболее часто это применяется в конструктивных генераторах [51]. Ещё один подход заключается в использовании паттернов дизайна в функциях приспособленности для генераторов на основе поиска[52]; эти функции направляют поиск в сторону нахождения уровней, применяющих данные паттерны [25], [38], [45], [46], [50]. Существует и ещё один подход со включением паттернов в набор данных обучения алгоритма PCGML [53] с целью способствования генерации нового контента [19], [47].


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

Паттерны выбраны с учётом их важности (то есть их часто обсуждают в сообществе или других работах), повторяемости (то есть они заметны в значительном количестве игр) и влияния (важности паттерна в этих играх). Для создания достаточно репрезентативного множества было выбрано 30 игр, в том числе старые и новые игры; их издавали крупные компании и независимые разработчики; они используются в разных типах геймплея (платформерах, гоночных и боевых играх, головоломках, и т.д.). Приоритет отдавался популярным играм, играм с большим сообществом и играм, которые часто упоминают как положительные примеры.


Прежде чем познакомиться с обнаруженными нами паттернами, мы записали вокабуляр, который будем использовать в этом посте. Этот вокабуляр взят из Anthropy и Clark [35], Bjork и Holopainen [4], а также wiki паттернов дизайна [5], и адаптирован под наши нужды.

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

Мы описываем паттерны по отдельности, но их можно сочетать или модифицировать для создания нового и свежего игрового процесса. Новые паттерны дизайна можно генерировать из сочетаний или вариаций уже существующих. Например, Thompson [30] показал, что паттерн из New Super Mario Bros U (Nintendo, 2012) является сочетанием нескольких известных паттернов. Стоит также заметить, что отсутствие паттерна не обязательно означает плохой дизайн. Паттерны являются просто рекомендациями и в конечном итоге решение об их использовании принимает дизайнер.

Не все паттерны применимы к любой игре или уровню, поэтому мы сосредоточились на тех, которые кажутся нам наиболее распространёнными в различных играх. В этой статье мы представили шесть паттернов: указание направления (Guidance), предвестие (Foreshadowing), безопасная зона (Safe Zone), слои (Layering), ветвление (Branching) и нарушение темпа (Pace Breaking). В последующих разделах мы рассмотрим их по отдельности и представим примеры того, как они используются в играх.

Указание направления


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

628b302c2c187d0872151fded4d68bff.png


Проще всего направлять игрока при помощи формы уровня. В этом паттерне дизайнеры используют твёрдые тайлы, чтобы направлять взгляд игрока в нужном направлении. Использование этого паттерна чаще обсуждается в 3D-играх [31], [32], [42], [54], чем в 2D [17], [36]. В 3D-играх у игроков обычно больше свободы перемещения, поэтому дизайнеры должны подталкивать их в направлении следующей локации. На рисунке выше показано, как Super Meat Boy (Team Meat, 2010 год) и Super Mario World (Nintendo, 1990 год) используют твёрдые тайлы, чтобы показать игроку направление для прохождения уровня.

a9bb6c32bbe0e81faf8d6349914400a7.png


Одним из самых часто применяемых способов указания направления является использование собираемых предметов. Они могут показывать основной маршрут, а также сообщать о местах, которые игрок пока не способен увидеть. Разработчики могут использовать эту технику, чтобы отталкивать игроков от «плохих решений», например, от прыжков вслепую, когда они не могут распознать правильный маршрут к другой локации. Собираемые предметы также можно применять, чтобы направлять игроков к исследованию пути, который изначально кажется «опасным» или ошибочным, или подталкивать их в безопасное место или к целевой области, которую они пока не видят перед собой. Пример этого можно увидеть на предыдущем рисунке. На нём показаны два идущих друг за другом экрана из Donkey Kong Country 2 (Rare, 1994 год). Если в конце второго уровня игры игроки нырнут туда, где находятся бананы (левое изображение), в место, которое выглядит, как бездонная яма, то увидят внизу платформу (правое изображение). Подобное указание направления упоминается в предыдущих работах Anthropy [36], Smith [24], Pugh [32], Koncewicz [23] и Kremers [40]. Эта концепция известна под различными названиями, например, её называют «хлебными крошками» (breadcrumbing) [32] или «знаками» (signifiers) [36], но смысл остаётся тем же.

cc1cf89ada20c46c9bc5cc428eb26e19.png


Опасности — ещё один распространённый способ указания направлений. При расположении по отдельности опасности могут влиять на инерцию игрока, об этом говорят Anna Anthropy [36], Milam и El Nasr [42]. В игре Expand (Chris Johnson and Chris Larkin, 2015 год) игроки перемещают розовый прямоугольник в полярных (а не в декартовых) координатах, пытаясь достичь центра круга. На рисунке выше показано сравнение сцены с опасностью и без неё: красным полом во внутреннем круге. Если в такой сцене опасность отсутствует (правое изображение), то игроки всегда будут касаться внутреннего круга, что даст им больше времени на избегание подвижных опасностей. Если же на внутреннем круге есть красный пол (убивающий при прикосновении), то игроки вынуждены оставаться на безопасном расстоянии от этой области (левое изображение). Хотя обе сцены одинаковы, игроки обычно подходят к их прохождению по-разному.

c3f7caa108346493a83e41468ee2eff9.png


Враги могут обеспечивать указание направления иначе, чем большинство опасностей. Врагов можно использовать для привлечения внимания игроков, потому что они должны сражаться с врагами. Такой тип указания обсуждался в серии видео Boss Key Series [15] при анализе игры Super Metroid (Nintendo, 1994 года), в работе Milam и El Nasr [42] при анализе паттерна преследующего ИИ в 3D-играх, а также в работе Hoeg [22] при анализе влияния движения на выбор игрока в играх жанра FPS. Наличие врагов направляет игроков в их сторону. Например, наличие врагов в кажущихся недоступными местах заставляет игроков задуматься, как до них добраться. На левом изображении предыдущего рисунка показано, как Super Metroid (Nintendo, 1994 год) использует врагов, чтобы подталкивать игроков к нужному маршруту. На правом изображении показано, как враги используются для привлечения игроков к ловушке (проваливающемуся полу) вместо пути с вознаграждением в игре Castlevania Legends (Konami, 1997 год).

a588c57745efae1f6c5faa5b326902cf.png


Ещё один распространённый способ указания направления — это применение подсказок в окружении, например, более ярких тайлов (смена цвета или текстуры отдельных тайлов сцены стимулирует любопытство игрока). Эта техника рассматривалась в нескольких предыдущих работах [3], [10], [15], [18], [31], [41], [42], [54]. Авторы изучают вопрос, как использование различных тайлов окружения может привлечь внимание игрока к определённым областям, стимулируя их к исследованию. На рисунке выше показано, как тайлы с разными текстурами применяются для мотивации игрока к исследованию в Super Metroid (Nintendo, 1994 год) и в The Legend of Zelda: A Link to the Past (Nintendo, 1991 год).

Безопасная зона


«Безопасная зона» — это паттерн, обозначающий одну или несколько областей в текущей сцене, в которых игроки не подвергаются негативным взаимодействиям (с опасностями, врагами и т.п.). Наличие безопасных зон создаёт участки пространства, в которых игроки могут проанализировать своё окружение и безопасно запланировать свои дальнейшие действия. Особенно важны они в начальной точке (точке спауна) аватара, чтобы игроки успели освоиться с окружением и понять лежащие перед ними трудности. Безопасные зоны редко отрисовываются на экране явным образом, игрок определяет их, понаблюдав за сценой в течение короткого времени и не заметив близких опасностей и их паттернов.

0fca33e584769d44deae259e7f5b224f.png


На рисунке выше мы прочертили красными пунктирными прямыми линии огня врагов, находящихся на экране, которые в самой игре невидимы. В этих примерах безопасной зоной является пространство, где аватар может стоять, не пересекая ни одной линии огня. В сцене из Mega Man (Capcom, 1987 год), показанной на изображении слева, можно заметить безопасные зоны на самых нижних платформах, зону прямо над самой левой лестницей и зону в правом верхнем углу экрана. В сцене из Star Guard (Loren Schmit, 2010 год) можно заметить безопасные зоны в виде пустых чёрных пространств. В таких ситуациях игроки обычно пытаются изобретать стратегии перемещения между безопасными зонами в сторону своей цели.

06501b144307d565bf53d1a0daca42c6.png


На рисунке выше мы отрисовали пунктирные красные прямоугольники, показывающие в сцене безопасные зоны. На изображении слева показан уровень из (Brett Taylor, 2017 год), в котором есть большая центральная область, где игрока не могут достать подвижные опасности. Игрокам важно использовать безопасные зоны для перемещения по сцене, потому что опасности движутся быстрее, чем их аватар. На изображении справа показано, что двери комнат подземелья в The Legend of Zelda (Nintendo, 1986 год) являются безопасными зонами, позволяющими игрокам знакомиться с трудностями, которые им предстоит преодолеть.

Безопасные зоны могут обеспечивать возможность нарушения темпа — этот паттерн мы рассмотрим ниже. Но кроме того, их можно использовать для указания направления, подталкивая игроков в сторону определённых маршрутов. Концепция безопасных зон упоминалась и в предыдущих работах [8], [24], [26], [34], но там она обычно использовалась для размещения чекпоинтов и комнат сохранения [4], [5], [14], [36].

Предвестие


Предвестие — это литературная концепция [55]-[57]: автор намекает на нечто, что произойдёт позже в истории. Эту концепцию в целом можно применить и к играм [6], [10], [14], [15], [41]. Мы можем назвать «предвестием» паттерн знакомства игрока с элементом в контролируемом окружении, прежде чем этот элемент станет более целостной частью игры.

4abfc1c2148392639603cf295ff168a4.png


Предвестие — это полезный паттерн, позволяющий игроку познакомиться с новой игровой механикой или игровым объектом без туториалов. Как только игроки освоят основы новинки, игра может представить сложную ситуацию, основанную на этом новом элементе. На рисунке выше показано, как в Mighty Jill Off (Anna Anthropy, 2008 год) игрок знакомится с новой опасностью. Паук сначала появляется в сцене, показанной на изображении слева, и становится более опасным позже в игре (изображение справа).

e0a507085081e54a4f4df1a6e1df6f88.png


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

e50aaba2222cb2c076f653fcfeab367a.png


Кроме того, предвестие стимулирует любопытство игроков, заставляя их волноваться в предчувствии будущих возможностей. Это распространённый элемент игр с исследовательской природой. На рисунке выше показаны два примера этого. The Legend of Zelda: A Link to the Past (Nintendo, 1991 год) знакомит игрока с объектами, с которыми он сможет взаимодействовать только позже в игре (изображение слева). Super Metroid (Nintendo, 1994 год) дразнит игрока маршрутами, которыми можно пройти только после получения power-up. Такое применение паттерна «предвестие» обычно подчёркивает дизайн, стимулирующий игроков возвращаться назад, что часто происходит во время исследований.

Слои


Слои — это паттерн объединения нескольких объектов для создания нового игрового процесса. Часто для того, чтобы трудности были для игрока честными, этот паттерн предваряется паттерном «предвестие». Чаще всего слои используются для добавления новых, более сложных трудностей без необходимости введения новых элементов. Ранее игрок познакомился с разными элементами по отдельности, поэтому знаком с их поведением, но теперь ему приходится изобретать новую стратегию для их преодоления. Этот паттерн может привести к созданию раздражающего игрового процесса, когда результат смешения элементов оказывается незапланированным. Многие игры эффективно используют этот паттерн [9], [11], [13], [17], [20], [28], [35], чтобы в них не было редко появляющихся объектов, которые игрок считал бы неважными (из-за этого данный паттерн имеет нечто общее с паттерном Throw away Томпсона [12]).

a64a2d1e8e01fb9409884e26d5cc0488.png


На рисунке выше показано, как игры могут создавать более сложный игровой процесс, сочетая несколько экземпляров одного врага или опасности. В Lesbian Spider-Queens of Mars (Anna Anthropy, 2011 год) эта задача решается добавлением множества одинаковых врагов, а в VVVVVV (Terry Cavanagh, 2010 год) на уровне по определённой схеме размещаются несколько копий подвижных опасностей.

e231cc45a0d56cd77ee09ee9c26cbc85.png


На рисунке выше показаны игры, создающие благодаря комбинированию различных врагов совершенно новый игровой процесс. В показанном слева Mega Man (Capcom, 1987 год) игроки должны ждать, прежде чем прыгать на исчезающие платформы, пока они не станут твёрдыми, но в то же время следить за врагом, который бегает из стороны в сторону по платформе, на которой они стоят. В Mighty Jill Off (Anna Anthropy, 2008 год) игроки должны как можно быстрее пробраться по уровню, не касаясь пламени и успеть до того, как паук выберется из жёлтого ящика и начнёт преследовать игрока.

Ветвление


Ветвление — это предоставление игроку нескольких путей для достижения их цели. Наличие выбора даёт игрокам ощущение расширения возможностей. Изучив предыдущие работы [4], [5], [7], [9], [12], [14], [15], [20], [24]–[28], [30], [34], [37], [39], мы пришли к выводу, что этот паттерн используется различными способами для создания разных типов игрового процесса. Иногда игра даёт ложное чувство выбора [21], когда для завершения исследования уровня требуется прохождение большинства маршрутов, например, подземелий в The Legend of Zelda (Nintendo, 1986 год). В Mega Man (Capcom, 1987) уровни можно проходить в любом порядке. То есть любой уровень можно пройти, имея только те инструменты, которые предоставлены игроку в самом начале. Super Mario Bros (Nintendo, 1985 год) известна тем, что в ней есть трубы, в которые может заходить игрок, чтобы найти альтернативный маршрут прохождения уровня.

2fa7f6af550155c6b3e2cd09ba6d48bf.png


Уровни могут иметь ветвление без ограничений, то есть все маршруты открыты для выбора игрока, это подкрепляет ощущение исследования. На рисунке выше показаны две сцены, в которых используется ветвление без ограничений. В L«Abbaye Des Morts (Locomalito, 2010 год), показанном на левом изображении и в The Legend of Zelda (Nintendo, 1986 год), показанном справа, игроки могут свободно выбирать маршрут движения.

3cbe8ec4f35799fcde23e9a8fff9519b.png


Условное ветвление даёт игроку несколько маршрутов на выбор, но позволяет ему двигаться отдельными путями только после выполнения определённых условий. Такой вид ветвления стимулирует любопытство игрока и может требовать возврата назад по уровню или многократных попыток исследований нескольких путей. На рисунке выше показаны два примера условного ветвления. В Super Metroid (Nintendo, 1994 год) на изображении слева по уровням разбросаны двери, которые закрыты, пока игроки не найдут открывающее их оружие. В случае Super Mario Land (Nintendo, 1989) аватар может находиться в одном из двух состояниях, маленького или большого роста. На изображении справа показан уровень из Super Mario Land, на котором игроки могут пройти по одному из путей, только если персонаж маленький. Это вынуждает игроков принимать интересные решения — маленький персонаж более уязвим, но только он может двигаться по некоторым маршрутам [7].

a9b4a8933cf2b6eab51550a595e8895b.png


Наконец, ветвление может создавать ситуацию «вознаграждения за риск» [4], [5], [12], [14], [26], [30], [34], [37]. Когда игра знакомить игроков с несколькими маршрутами, один может быть безопасной альтернативой с маленькой наградой, а другой требовать более высокого навыка, но и давать бОльшую награду. Это даёт игрокам мотивацию тратить больше времени в игре, потому что они вознаграждаются за это вложение сил. На рисунке выше показаны гоночные игры Excitebike (Nintendo, 1984 год) и SpeedRunners (DoubleDutch Games, 2013 год), в которых применено ветвление с наградой за риск. В обеих играх игроки могут выбирать пути, требующие бОльших навыков, но в случае успеха они дают преимущество в конкуренции.

Нарушение темпа


Нарушение темпа — это намеренное изменение течения игры от одной сцены к другой. Оно используется для повышения или снижения напряжённости, чтобы игроки вкладывали больше усилий в общий игровой процесс. Самыми мощными способами передачи нарушения темпа являются звуковые и визуальные подсказки. Обычно с нарушением темпа сочетается паттерн «слои», потому что присутствие множества элементов естественным образом повышает напряжённость, особенно при создании сложных ситуаций [24], [25]. С другой стороны, безопасные зоны можно использовать для создания противоположного эффекта и нарушать темп для снижения напряжённости [24], [25].

ed0a1d8ded413017a56cb90759c5e0fa.png


Распространённым способом создания нарушения темпа является введение опасностей сильно повышенной сложности. Они могут восприниматься игроками как битва с боссом; обнаружение присутствия повышенной угрозы обычно привлекает внимание игроков, повышая напряжённость игрового процесса. На рисунке выше показана разница между обычным геймплеем и боями с боссами в Final Fight (Capcom, 1989 год). При переходе к сцене боя с боссом игра изменяет сценарий и фоновую музыку, а потом появляется более крупный враг, вооружённый оружием и имеющий отдельную полосу энергии. Всё это показывает, что он является новым, более сложным препятствием.

b00a80e085e882e11261cbce6ce490c8.png


Снижение темпа игры может привести к интересным результатам. Его можно использовать, чтобы дать игрокам передохнуть и насладиться другими аспектами игры, например, новыми окружениями или возможностями. Иногда интересно дать игрокам момент спокойствия прямо перед напряжённой сценой, чтобы создать кульминацию (затишье перед бурей) [35]. На рисунке выше показаны два примера нарушения темпа, снижающих напряжённость игрока. В показанной слева L«Abbaye Des Morts (Locomalito, 2010 год) игрокам дают время отдохнуть после серии напряжённых моментов и насладиться картиной ночного неба. В Mega Man 11 (Capcom, 2018 год) добавлена совершенно пустая комната прямо перед кульминацией уровня — боем с боссом. Это создаёт момент спокойствия прямо перед пиком накала драматизма уровня.

ff6f0c2b9f74660e595712e9f0027d11.png


Нарушение темпа может стать мощным инструментом, позволяющим познакомить игроков с новым игровым процессом, ощущением или механикой игры [36]. Когда в Super Metroid (Nintendo, 1994 год) игроки получают новый power-up, они обычно должны использовать его в очень простой ситуации. Часто такие ситуации возникают сразу после кульминационного момента игры, потому что power-up в Super Metroid обычно даются как вознаграждения за преодоление очень сложных препятствий. На предыдущем рисунке показан очень похожий подход из Lesbian Spider-Queens of Mars (Anna Anthropy, 2011 год). На изображении слева вы видите обычный уровень игры, на котором игроки должны использовать лазер для захвата других персонажей. На правом изображении показано начало уровня, где игроки пытаются добраться до других персонажей, пока они не вырвутся на свободу и не превратятся в более сильных врагов. Эта смена темпа нарушает обычный игровой процесс, который требует реакции и ловкости, появлением уровня, в котором игроку нужно выполнять задание на скорость (препятствие в виде таймера).

edc92ac2491b778860834867b9afd4e1.png


Ещё один пример нарушения темпа — это уровни, в дизайне которых предусмотрены узкие места [4], [5], [28], арены [29] или точки столкновений [26]. Они перемещают игрока из пространства, где у него есть больше свободы движения и избежания опасностей в более тесное пространство, где взаимодействия с опасностями обычно не избежать. На предыдущем рисунке показана эта концепция на примере Mighty Bomb Jack (Tecmo, 1986 год). В длинной серии уровней, показанной на левом изображении, игроки управляют своим аватаром в длинном коридоре, собирая power-up и предметы и избегая опасностей. На бонусных уровнях (изображение справа) игроки находятся в маленькой комнате, в которой опасности намного сложнее избегать, и в то же время для прохождения нужно собрать все бомбы.
В этом посте мы рассмотрели шесть паттернов дизайна уровней, выделенных при исследовании различных 2D-игр. Подразумевается, что они являются условностями, позволяющими улучшить игровой процесс, а не обязательными для создания качественной игры требованиями. Формализация этих паттернов способствует созданию универсального языка разработчиков, позволяющего делиться знаниями и расширять их.

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

Паттерны дизайна уровней обычно имеют положительное влияние на игровой процесс. Однако стоит заметить, что намеренный отказ от таких концепций может создать уникальный игровой опыт. Например, в Syobon Action (Chiku, 2007 год) и в I Wanna Be The Guy (Michael «Kayin» O’Reilly, 2007 год) в качестве элемента дизайна уровней используется неожиданность. В игре представлены объекты, стандартные для популярных платформенных 2D-игр, но игроков застаёт врасплох их неожиданное поведение, например, наличие смертоносных ловушек в местах, где обычно лежат бонусы, или создание без предупреждения врагов над персонажем игрока.

Паттерны дизайна уровней демонстрируют, что выводы этой статьи можно применять не только
в 2D-играх. Они были выявлены в результате изучения 2D-игр, но применимы и к 3D-играм. Определения не ограничены двухмерным пространством, и смена контекста не обесценивает их применение. Орды зомби в Left 4 Dead (Valve, 2008 год) — это результат использования слоёв, создающего напряжённость с помощью нарушения темпа. Концепция игр в открытом мире, например, Red Dead Redemption (Rockstar Games, 2010 год) является экстраполяцией паттерна «ветвление». В Super Mario 64 (Nintendo, 1996 год) постоянно используются монетки, чтобы направлять игроков и предвещать новые возможности для стимулирования любопытства игроков.

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

В конечном итоге, паттерны дизайна уровней использовались в играх всегда. Знание принципов улучшения игрового процесса — очень полезный инструмент. Формальная классификация упрощает распространение этих концепций, стимулирует их развитие, помогая усовершенствовать процесс дизайна уровней.


[1] C. Alexander, A pattern language: towns, buildings, construction. Oxford university press, 1977.
[2] E. Gamma, Design patterns: elements of reusable object-oriented software. Pearson Education India, 1995.
[3] B. Kreimeier, «The case for game design patterns,» https://www.gamasutra.com/view/feature/132649/the_case_for_game_design_patterns.php? print=1, last Accessed: May 23, 2019.
[4] S.Bjork and J.Holopainen, Patterns in game design (game development series). Charles River Media, 2004.
[5] S. Bjork, «Gameplay design patterns collection,» http://virt10.itu.chalmers.se/index.php/Main_Page, 2009, last Accessed: May 30, 2019.
[6] A. Anthropy, «Level design lesson: To the right, hold on tight», http://auntiepixelante.com/? p=465, 2009, Last Accessed: March 5, 2018.
[7] A. Anthropy, «Level design lesson: In the pyramid», http://auntiepixelante.com/? p=459, 2009, Last Accessed: March 5, 2018.
[8] A. Anthropy, «Star guard», http://auntiepixelante.com/? p=499, 2009, Last Accessed: March 5, 2018.
[9] A. Anthropy, «Level design lesson: Low overhead», http://www.auntiepixelante.com/? p=1022, 2011, Last Accessed: March 5, 2018.
[10] J. Penner, «Breaking the law of Miyamoto», The Gamer«s Quarter, no. 7, pp. 4–11, 2006.
[11] A. Anthropy, «Knytt syndromes», http://knyttlevels.com/levels/dessgeega-KnyttSyndromes.knytt.bin, 2011, Last Accessed: Jan 4, 2019.
[12] T. Thompson, «Researching super mario bros. level design», https://www.youtube.com/watch? v=tzXpKlccRE, 2015, Last Accessed: Jan 4, 2019.
[13] M. Brown, «Super mario 3d world«s 4 step level design», https://www.youtube.com/watch? v=dBmIkEvEBtA, 2015, Last Accessed: Jan 4, 2019.
[14] G. Soup, «Cave story«s masterful game design», https://www.youtube.com/watch? v=c0sjTBzCW0, 2015, Last Accessed: Jan 4, 2019.
[15] M. Brown, «Boss keys series», https://www.youtube.com/playlist? list=PLc38fcMFcVul4D6OChdWhsNsYY3NA5B2, 2018, Last Accessed: Jan 4, 2019.
[16] M. Thorson, «Level design workshop: Designing celeste», https://www.youtube.com/watch? v=4RlpMhBKNr0, 2018, Last Accessed: Jan 4, 2019.
[17] M. Brown, «How mega man 11«s levels do more with less», https://www.youtube.com/watch? v=nYxHMZX6lN8, 2018, Last Accessed: Jan 4, 2019.
[18] G. Soup, «Crosscode«s brilliant level design: Analysis», https://www.youtube.com/watch? v=Dk9OEt02aDE, 2017, Last Accessed: Jan 4, 2019.
[19] M. Guzdial, J. Reno, J. Chen, G. Smith, and M. Riedl, «Explainable pcgml via game design patterns», arXiv preprint arXiv:1809.09419, 2018.
[20] S. Dahlskog and J. Togelius, «Patterns and procedural content generation: revisiting mario in world 1 level 1», in Workshop on Design Patterns in Games. ACM, 2012, p. 1.
[21] M. Stout, «Learning from the masters: Level design in the legend of zelda», https://www.gamasutra.com/view/feature/6582/learningfromthemasterslevel.php? print=1, 2012, Last Accessed: Jan 8, 2019.
[22] T. Hoeg, The invisible hand: Using level design elements to manipulate player choice. Guildhall at Southern Methodist University, 2008.
[23] R. Koncewicz, «What made those old, 2d platformers so great?» http://www.significant-bits.com/what-made-those-old-2d-platformers-so-great/, 2009, Last Accessed: Jan 4, 2019.
[24] G. Smith, M. Cha, and J. Whitehead, «A framework for analysis of 2d platformer levels», in SIGGRAPH symposium on Video games. ACM, 2008, pp. 75–80.
[25] K. Compton and M. Mateas, «Procedural level design for platform games.», in AIIDE, 2006, pp. 109–111.
[26] S. Larsen and E. Aarseth, «Level design patterns», 2006.
[27] S. Dahlskog, S. Bjork, and J. Togelius, «Patterns, dungeons and generators», in Foundations of Digital Games. ACM, 2015.
[28] K. Hullett and J. Whitehead, «Design patterns in fps levels», in Foundations of Digital Games. ACM, 2010, pp. 78–85.
[29] G. Smith, R. Anderson, B. Kopleck, Z. Lindblad, L. Scott, A. Wardell, J. Whitehead, and M. Mateas, «Situating quests: Design patterns for quest and level design in role-playing games», in International Conference on Interactive Digital Storytelling. Springer, 2011, pp. 326–329.
[30] T. Thompson, «The fine line between rehash and sequel: Design patterns of the super mario series», in Workshop on Design Patterns in Games, vol. 15, 2015.
[31] G.J. Winters and J. Zhu, «Guiding players through structural composition patterns in 3d adventure games.», in FDG, 2014.
[32] T. Pugh, «Level design tips and tricks», http://www.gamasutra.com/blogs/TomPugh/20181022/329044/LevelDesignTipsandTricks.php, 2018, Last Accessed: Jan 4, 2019.
[33] R. Terrell, «Folded level design», http://critical-gaming.com/blog/2008/8/5/folded-level-design.html, 2008, Last Accessed: Jan 4, 2019.
[34] A. Stamos, «Level design primer», http://renegadesector.com/level-design-primer/, 2014, Last Accessed: Jan 4, 2019.
[35] A. Anthropy and N. Clark, A game design vocabulary: Exploring the foundational principles behind good game design. London, United Kingdom: Pearson Education, 2013.
[36] A. Anthropy, «Game dev 1», https://docs.google.com/presentation/d/1l-uRlLM6jjQ1vwyyb-QPphk-EIAAEiOfayMrvZwEQOQ, 2017, Last Accessed: March 5, 2018.
[37] M. Sharif, A. Zafar, and U. Muhammad, «Design patterns and general video game level generation», International Journal of Advanced Computer Science and Applications, vol. 8, no. 9, pp. 393–398, 2017.
[38] S.M. Beaupre and T.G. Wiles, «General video game level generation», 2018.
[39] E. Adams and J. Dormans, Game mechanics: advanced game design. New Riders, 2012.
[40] R. Kremers, Level design: concept, theory, and practice. CRC Press, 2009.
[41] S. Rogers, «Everything I learned about level design I learned from Disneyland», https://www.gdcvault.com/play/1305/Everything-I-Learned-About-Level, 2009, Last Accessed: March 24, 2019.
[42] D. Milam and M.S. El Nasr, «Design patterns to guide player movement in 3d games», in Proceedings of the 5th ACM SIGGRAPH Symposium on Video Games. ACM, 2010, pp. 37–42.
[43] A. Khalifa, D. Perez-Liebana, S.M. Lucas, and J. Togelius, «General video game level generation», in Genetic and Evolutionary Computation Conference. ACM, 2016, pp. 253–259.
[44] A. Khalifa and M. Fayek, «Automatic puzzle level generation: A general approach using a description language», in Computational Creativity and Games Workshop, 2015.
[45] S. Dahlskog and J. Togelius, «Patterns as objectives for level generation,» 2013.
[46] A. Baldwin, S. Dahlskog, J.M. Font, and J. Holmber

© Habrahabr.ru