Дизайн уровней и геймплея roguelike на примере Cogmind

Автор оригинала: Josh Ge
  • Перевод
image

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

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

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

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

Замысел


Ещё до начала работы над каждой картой необходимо придумать одну или несколько концепций, на которых будет строиться карта, и в данном случае у нас было несколько целей:

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

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

Как только я решил, что скорее всего сделаю это (ещё за несколько месяцев до самой реализации), я начал время от времени пересматривать эту часть заметок и дополнять их новыми идеями и рассуждениями. При каждом новом добавлении новых идей я намеренно избегал повторного перечитывания предыдущих заметок по этой теме, а просто добавлял внизу новые мысли. Это позволяло мне сохранять уникальный образ мыслей, помогавший приходить к потенциально очень разнообразным идеям или даже к тем же самым идеям, даже того не осознавая (так получалось, потому что проходили дни и даже недели и я забывал подробности своих предыдущих идей). Стоит заметить, что случайно повторяющиеся заметки о одинаковых идеях на самом деле могут быть ценными, потому что они подкрепляют эти идеи, подчас разными обоснованиями, или даже направляют их в разных направлениях, о которых я не думал в предыдущих заметках!

Этот процесс привёл к написанию примерно 2 600 слов черновых заметок по этой теме, которые как и все мои заметки упорядочены в виде вложенных списков в файле TXT.


Все черновые заметки о новой карте в моём текстовом редакторе.

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

Если описать идею вкратце, то новая игровая мини-фракция под названием «Exiles» из другого социума роботов имеет собственную лабораторию, которая даёт игроку новую сенсорную способность (под названием FarCom) и доступ к прототипам оборудования из пула возможных предметов. С точки зрения сюжета эта фракция становится самым первым знакомством игрока с лором мира. Поэтому хорошо, что я вернулся к добавлению этой карты после завершения остальной части мира, ведь она может должным образом сочетаться с моим знанием о том, как должна проходиться игра с точки зрения сюжета и геймплея. Если бы я сделал наоборот и попытался создать эту карту с самого начала, то мне, скорее всего, пришлось бы многократно обновлять или менять её контент в процессе построения остального мира. (Мир Cogmind был почти полностью построен от начала до конца, без прыжков вперёд-назад.) Я не любитель вырезания старого контента и внесения в него серьёзных изменений; стараюсь сделать всё правильно с первого раза.

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

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

Дизайн-документ карты


Последний этап планирования перед началом работы над картой — это приведение всех относящихся к делу записей в простой формат, который я использовал с момента начала Cogmind Alpha.

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


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

Дизайн-документы карт разбивают их содержимое на несколько стандартных разделов, в которых представлено как минимум следующее:

  • предназначение: основная цель добавления карты
  • схема: краткое описание факторов окружающей среды, в том числе рельеф и предметы, которые увидит игрок
  • жители: описания всех врагов (в случае Cogmind это роботы), которых можно найти на карте
  • геймплей: основные интерактивные элементы карты, в том числе все причины и следствия, связанные с динамическим контентом

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

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

Высокоуровневый дизайн


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

(*Сейчас в Cogmind есть одна побочная карта, которая, к сожалению, соответствует этому определению: Recycling. Это довольно простая и маленькая карта, имеющая собственные уникальные механики, но её преимущества не так привлекательны для игроков, как мне виделось это изначально, когда я создавал её на ранних этапах Cogmind Alpha. В то время я только начинал добавлять побочные карты и с тех пор многому научился, в том числе от постепенно созревшего сообщества игры. У меня есть планы по её улучшению, но это не в приоритете до версии 1.0, потому что она находится довольно далеко от основного пути.)

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

Как и в почти всех дополнительных ответвляющихся картах мира Cogmind, Exiles предлагает свои компромиссы, упрощая некоторые игровые области, в же время в других повышая уровень сложности.


Основные решения о долговременной стратегии, относящиеся к Exiles. Заметьте, что некоторые «недостатки» могут показаться одним игрокам хорошими (или как минимум нейтральными), поэтому этот граф можно интерпретировать иначе. (Я выбрал наиболее стандартный взгляд.)

Существуют и другие случайные сценарии Exiles, которые могут повлиять на доступные варианты выбора, но здесь я рассмотрю только самый часто встречающийся. Кроме того, на графе выше показаны только важнейшие стратегические решения — отдельные прототипы могут изменять потенциальный маршрут игрока или даже склонять его к определённым конфигурациям персонажа, потому что они случайным образом выбираются из пула вариантов. В целом эта единственная карта на самом деле открыла множество новых вариантов выбора! Об этих вариантах я расскажу ниже.

По задумке, стандартные преимущества, даваемые картой Exiles (один бесплатный прототип + FarCom) особенно примечательны в ближней перспективе, но имеют недостатки в дальней, поэтому становятся отличным выбором для новых или неопытных игроков. Я не хочу сказать, что они не могут быть полезными и для опытных игроков — один из пользователей уже забрался очень далеко благодаря использованию FarCom, который по сути не позволяет использовать ответвления Research на поздних этапах игры, даже несмотря на то, что в них игрок обычно получает доступ к самым эффективным инструментам, позволяющим справляться с обширными сложностями игры.

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

Ну ладно, с планированием покончено, пока приниматься за реализацию.

Строительные блоки


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

Но на этом этапе я ещё даже не добавляю их на новую карту — она пока не существует.

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

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

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

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

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

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

Предметы


Предметы — минимальные строительные блоки карты, поэтому мы начнём с них.

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

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


Арт некоторых прототипов EX-технологий из Beta 8. Каждый из новых основных NPC, запланированных мной для новой карты, «подписал» свой прототип собственным именем.

Сразу за артом я взялся за лор. С каждым из новых предметов связан текст лора. Увидев, что в некоторых случаях он позволяет определить или усовершенствовать характеристики предмета, я захотел обеспечить точность и целостность всех текстов. Поэтому все эти фрагменты были написаны за раз, и это важно: подразумевается, что игрок будет обнаруживать и читать их в определённом порядке.

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

Оружие «Latent Energy Streamer» (LES) добавляет совершенно новый ресурс под названием «скрытая энергия» (latent energy), который потенциально можно использовать в дальнейшем шире, но пока он добавлен только для единственного оружия, хоть и на его реализацию ушло несколько дней.

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


Активация LES, которая также обнаруживает находящуюся поблизости скрытую энергию.

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


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

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

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

NPC


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

На карте Exiles есть четыре новых важных NPC, каждый из которых имеет набор данных, определяющий их свойства. И это довольно большой набор!


Вот пример данных одного из новых NPC по имени 8R-AWN. (Я пару раз перенёс строку данных, чтобы вам не пришлось слишком долго её прокручивать.)

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

Хотя на самом деле нет… На этом этапе я решил, что прежде чем приступать к карте я реализую сенсорную способность FarCom, которую могут дать игроку NPC. Над ней тоже можно работать как над изолированной системой, потому что я подробно протестировать её, а не сразу же разрабатывать подходящий способ получения сенсора в игре. Как кусок пазла его можно прикрепить и позже.


FarCom в действии: он демонстрирует тусклый круг, в котором обнаружены враждебные боты 0b10. (Круг слабо пульсирует, но в gif это плохо заметно.)

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


Сравнение стандартных сенсоров и FarCom. Зелёные ячейки — положительные свойства, красные — отрицательные.

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

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

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

В целом я очень доволен тем, как всё получилось.

Схема и интеграция


Настало время создавать карту! Ну, или типа того…

Я всегда начинаю с пустых листов бумаги, потому что мне это кажется наиболее естественным, быстрым и свободным способом работы.


Планирование общей схемы, контента и связи с миром карты Exiles.

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

Карта Exiles доступна или с глубины -10 (по сути, самый нижний уровень!), или с -9; кстати, на той же глубине находится Mines. Однако если они появляются только на одной глубине, то вход спрятан внутри Mines; поэтому я добавил специальный индикатор, позволяющий наблюдательным игрокам узнать, находятся ли они на одной глубине с Exiles. Я не хотел, чтобы игроки зря тратили своё время, обходя всю глубину Mines в поисках входа, которого там может и не быть, поэтому добавил так называемые "ощущения уровня" — механику, использованную во множетве классических roguelike, например, в NetHack, ADOM и Angband, в которых при попадании на новую карту вы получаете сообщение лога, отражающее особый аспект этой карты.


Первый пример использования в Cogmind «ощущения уровня»; добавленного для экономии времени игроков при поиске Exiles.

Также игроки могут читать в терминалах Exiles лор, который объясняет сканирование.

Что касается пути назад после посещения Exiles, то я подумал, что возможно стоит отправить игрока обратно на основной путь через Lower Caves, но это было тогда, когда я ещё пытался ограничить дизайн уже имеющимися вариантами выбора. Но в результате я решил добавить новую глубину Mines на -8, которую можно достичь, только возвращаясь из Exiles. Это и улучшает геймплей (Mines — это самые маленькие и простые карты, подходящие для слабых игроков), и более логично (не должно казаться, что Exiles слишком близко к Complex, поэтом нельзя напрямую возвращаться к нему с этой карты).


Внутриигровая карта мира, показывающая маршрут игрока, посетившего Exiles и возвращающегося в -8/Materials через -8/Mines. Эта глубина Mines обычно недоступна напрямую в обратном направлении из -8/Materials, чтобы избежать добавления на эту карту ненужных выходов.

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

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

*Я левша, поэтому обычно располагаю бумагу горизонтально и заполняю страницы заметками справа налево.

Проработав соединения, надо переходить к созданию более подробного эскиза схемы карты!


Первая версия справочного эскиза для схемы карты Exiles.

Это статичная карта, где есть взаимодействия с важными NPC, поэтому схема должна учитывать процесс прохождения нового игрока, попадающего на неё в первый раз — что он увидит в первую очередь и что он подумает, чтобы порядок прохождения имел смысл?

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

Завершив с диалогами, я сделал ещё один проход по эскизу карты, создав вторую, более конкретную итерацию, соответствующую диалогам:


Вторая итерация по справочному эскизу схемы карты Exiles.

Игрок входит на карту из правого нижнего угла, видит ещё один коридор, ведущий к выходу, но рядом нет врагов, поэтому можно безопасно продолжить исследования. Кроме того, в туннеле перед игроком есть несколько «поддельных» источников питания — эта механика оказалась возможна только благодаря технологиям Exiles, а потому будет новой для игрока. Любопытные игроки могут захотеть изучить их, а потом продолжить исследование карты, впервые встретив в коридоре 8R-AWN с приветственной речью/введением. Затем игроки перемещаются в центральную область и находят второго важного NPC, EX-HEX, который излагает ещё немного лора и предлагает найти EX-BIN для помощи с проектом. После этого игрок может двинуться куда угодно: или узнать больше об этом месте от NPC-тестировщиков прототипов в южной области, или направиться на север, чтобы получить основные бонусы этой карты — FarCom и прототипы. Оба направления вполне подходят для первого прохождения. Затем игрок может выйти с карты, повернув обратно к восточной стороне, или, вероятнее всего, пройдя через задний выход.

На этом этапе я двинулся дальше: создал весь дополнительный лор из терминалов и диалоги с маловажными NPC, потому что в них могло быть нечто, тоже способное повлиять на схему карты (на самом деле схема не изменилась, но как бы то ни было, завершение создания диалогов стало хорошим способом сохранить темп работы, по-прежнему находясь в «режиме сценариста» — вот она, эффективность!).

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


Карта Exiles обретает форму в REXPaint. Пока это всего лишь единственный слой, содержащий общую схему, вход и выходы, но без объектов и других деталей. Также на нём отсутствуют отдельные подробности схемы, которые могут возникнуть/стать необходимыми после добавления объектов.

И после сохранения этого файла его уже можно добавлять в игру!

(Эта карта имеет полностью статичную схему, поэтому в ней пропущены некоторые этапы, которые могут потребоваться многим другим картам. Подробнее об этом в дополнении.)

Контент


Теперь настало время строить сам игровой процесс, начав… за пределами карты.

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

На одном из первых уровней Materials, соответствующем глубине Exiles, 8R-AWN можно найти прокладывающим путь по уровню к выходу из Mines. Вероятность нахождения его там выше для новых игроков, которые никогда до этого не видели Exiles (если только они не использовали seed, потому что порождаемый seed контент должен быть постоянным и независимым от истории игрока). Заметив игрока, 8R-AWN предлагает ему следовать за ним, и продолжает уничтожать враждебных роботов по всему маршруту до выхода. (Или если игрок находился в дальней части карты, то он может просто найти тропу из разрушенных роботов, когда 8R-AWN уже давно покинул карту.) Робот сам доберётся до выхода, и если он ранее говорил с игроком, то будет ждать, пока игрок прибудет, после чего начнётся ещё один диалог и робот продолжит вести его к скрытому входу в Exiles.

Ещё одна возможная встреча с 8R-AWN происходит во время вторжения в Mines. Внезапное нападение роя Assembled — это довольно плохая ситуация для неподготовленного игрока, поэтому хорошо, что 8R-AWN может появиться здесь и спасти положение, воспользовавшись специальной технологией для их удалённого отключения. В этом случае, если он видит игрока, то тоже проведёт его к скрытому входу.

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


Дизайн входа в Exiles на карте Mines. С точки зрения игрока кажется, что коридор продолжается, пока не поворачивает за угол, после чего скрытые двери открываются автоматически, при условии дружественности игрока.

Этот вход располагается как гарантированная заготовка, с помощью метода перед генерацией карты, описанного здесь.

Exiles


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

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

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


Соответствующие данные записываются в текстовый файл, характеристики которого я описывал в статье Map Prefabs, in Depth.


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

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

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

Украшательства


Закончив с основным контентом, я перешёл к более поверхностным элементам.

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


EX-BIN использует FarCom Aligner, чтобы добавить его к своей системе.

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


Визуализация звуков окружения области вокруг FarCom Aligner. Яркость означает громкость. Если вы хотите почитать об этом подробнее, то я уже писал о звуках окружения.

Есть и другие звуки, не относящиеся к звукам окружения. Ими тоже нужно заняться.

Варианты


Я продолжаю повторять, что карта Exiles «статична», но это не значит, что в ней не может быть небольшой вариативности!

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

Также вариативность создаётся благодаря тому, что игрок может встретить или не встречать 8R-AWN до посещения Exiles; поэтому появляются уникальные варианты диалогов.

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

  • 51%: стандартный сценарий, описанный выше. Это состояние также всегда принудительно выбирается при различных условиях мира за пределами карты, поэтому истинный процент выше.
  • 12%: опустошённый. Exiles уже очистили свои терминалы и покинули лабораторию.
  • 12%: уничтоженный. Комплекс 0b10 уже атаковал Exiles и карта пострадала в бою. На ней больше нет выживших, но в области сохранились полезные остатки.
  • 25%: эквивалент стандартного сценария, только силы 0b10 нападут, пока игрок находится на карте.

Сначала я создал базовую карту, затем реализовал нападение 0b10 (по сути, это прикреплённое событие), а затем перешёл к двум другим вариантам, потому что они были проще. Более сложные варианты карты должны идти первыми, потому что для правильной работы они могут потребовать изменения частей карты. Поэтому если оставить сложные варианты на потом, то придётся тратить время на переделку предыдущей работы! Сложно заранее предсказать все необходимые изменения, поэтому такой приоритет важен.

Опустошённый и уничтоженный варианты карты создать было просто, ведь по сути это изменённые данные и карты REXPaint.


Заготовка уничтоженного Exiles в REXPaint со всеми слоями данных. Сравнение с предыдущим стандартным сценарием показывает присутствие новых разрушенных машин, рандомизированные (и случайным образом смещённые) обломки, взорванные области и другой процедурный контент, например, роботов, которых можно пустить на запчасти.

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


Exiles атакованы комплексом 0b10. Я включил отображение всей карты для наблюдения и отладки. 8R-AWN прикрывает бегство, а EX-DEC перед отходом устанавливает сторожевую турель.

Особенности


Наконец-то почти всё готово! На этом этапе готов «обычный» способ прохождения, но есть ещё один важный этап: меры против хитрецов.

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

Примечание: не все roguelike обязательно так балансировать, некоторые из них даже веселят своим полным дисбалансом, но Cogmind по большей части задумывался как очень сбалансированный игровой процесс. Даже если некоторым игрокам удастся благодаря чрезвычайной ловкости расширить границы, я хочу быть внимательным, чтобы определённые действия всегда казались более вознаграждаемыми, чем другие, и игроки видели их как «правильный путь» к цели и отказывались от всех других возможностей.

Пусть Exiles — это дружественный народ, но игроки, смотрящие на них, как на средство достижения цели, попытаются прикончить этих роботов. Решение этой проблемы было немного сложнее, чем обычно, потому что игровой процесс Exiles не ограничен одной картой — враждебное поведение игроков может начаться, когда они ещё не увидели 8R-AWN, поэтому поведение может меняться при следующих встречах, в том числе и на самой карте.

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

1) Воспользоваться стандартным подходом: взять один прототип из хранилища Exiles и использовать его и функции сканирования FarCom в помощь при прохождении основных областей Complex.

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

2) Взять один прототип и FarCom, и всё равно посетить ответвления Research.

Это чрезвычайно сложный вариант. Вход в ответвление Research с FarCom мгновенно запускает режим Maximum Security — самую сильную реакцию Complex, которая по сути является мгновенно включающейся версией High Security с ещё большим количеством нападений (по сути, это входящие на карту бесконечные волны всё более сложных противников). Этот режим был добавлен в Cogmind специально как реакцию на FarCom, но имело смысл включать его и в некоторых других ситуациях, поэтому я использовал его и в них.

В черновых заметках о дизайне можно увидеть, что изначально план противодействия FarCom для ответвлений Research заключался в выпуске роботов Tracker — нового вида быстрого и смертоносного бота-прототипа. Позже я решил, что здесь лучшим решением будет Maximum Security (в основном потому, что это ещё более устрашающее средство), но уже полностью подготовив добавление роботов Tracker, я решил по крайней мере сделать их частью переделанной системы отрядов перехвата.

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

В идеале механика сенсора FarCom и другие строительные блоки, столь фундаментальные, как MaxSec и новые перехватчики, необходимо задавать на ранних этапах процесса дизайна карт, но пока я не пришёл к хорошему решению и мне пришлось временно оставить всё как есть. К тому же мне не терпелось выпустить Exiles к Beta 8, поэтому это пришлось отложить и я не принял решения до завершения финального этапа. Некоторым серьёзным изменениям лучше подождать.

3) Украсть все три прототипа из хранилища Exiles и повысить сложность в пещерах посередине игры.

Те, кто сильно хочет собрать несколько прототипов, могут это сделать, хоть и заплатив за это. Во-первых, перестанет работать FarCom, потому что украв все прототипы, вы не выполнили все их инструкции; однако для некоторых игроков может быть положительным событием, ведь для них появится возможность посещения ответвлений Research (а при желании и «запечатления»!).

Прототипы довольно мощны, поэтому необходимо, чтобы за их кражу взималась какая-то цена. Для этого варианта я добавил новую помеху: опытных воров (Master Thieves). Хоть они встречаются не так часто, в пещерах Cogmind и так скрываются воры, поэтому я создал их особый вид, ещё более эффективный и специально отслеживающий игрока-вора, когда он пробирается по пещерам. Если украсть у отщепенцев, они украдут у тебя — это сделка типа «око за око». (Воры стремительно несутся и пытаются оторвать деталь от своей цели, а затем убежать и после пропадания из области видимости скрыться навечно.)

После выпуска Beta 8 уже прошло какое-то время, и по статистике этот маршрут опытные игроки выбирают чаще, чем остальные. Я не уверен, будет ли это необходимо, но если такой маршрут всегда обеспечивает преимущество, то стоит подумать над другими изменениями, например, позволить опытным ворам таскать детали и из инвентаря игрока. Тем не менее, я не хочу делать этот компромисс таким же дорогим, как связь между FarCom и Research — это должен быть выбор, который игроки захотят сделать в определённых условиях.

4) Украсть все три прототипа, но придерживаться только основных областей Complex, избегая пещер.

Хоть это и не самый простой вариант, он всё равно легче, чем прохождение без посещения Exiles. Кража всех прототипов означает потерю FarCom, но использование датчиков вместо него и избегание пещер означает безопасность от воров и в то же время возможность скрытных набегов на ответвления Research для поиска лучших деталей. Избегание пещер не означает невозможность использования преимуществ среднего этапа игры, но они необязательны и всё равно есть полезные ответвления без пещер, которые можно посетить.

5) Убить Exiles, в частности, 8R-AWN, чтобы забрать его превосходную конфигурацию из прототипов, а также украсть и все три прототипа.

По сути, это самый мощный результат для игрока (если допустить, что ему не нужен FarCom), но в то же время самый опасный вариант, потому что 8R-AWN довольно силён, а Cogmind в начале игры слаб. Однако игроки всё равно уже выбирают этот вариант.

Я добавил возможность нападения на игрока Hero of Zion за все его враждебные действия, но это нападение не гарантировано, поэтому игроки могут сыграть так, чтобы реализовать потенциал своей хитрости. Пусть лучше он нападает только в некоторых случаях, и это будет неожиданное событие, связанное с лором.

Как видите, при добавлении новой карты есть довольно много особенностей! Нужно подумать над тем, как игроки будут реагировать на каждую из возможностей, и посчитают ли они разные компромиссы стоящими своей цены. Когда я принимаю такие решения, очень полезно бывает играть самому; кроме того, я всегда читаю о том, как игру проходят игроки.
Поддержать автора
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 0

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

Самое читаемое