Добро пожаловать, berk
Twitter Группа Steam Страница Вконтакте Группа C.O.R.E. Dragon Age Контакте Новостная лента RSS

[Torment: Tides of Numenera] Разработка Некрополя

Добавил: m00n1ight » 2016 » Сентябрь » 21 » 13:07

Torment: Tides of Numenera

Разработчики любят обещать вкладчикам на Kickstarter увековечить их в игре. Но что если желающих становится слишком много? Эта статья будет интересна не столько игрокам, сколько разработчикам.

Мозговой штурм

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

Давайте начнём с того, как мы планировали нашу кампанию на Kickstarter. Мы с самого начала решили, что увековечим в игре самых щедрых вкладчиков. Могила — идеальный способ оставить о себе память в игре, посвящённой наследию и миру, построенному на останках былых цивилизаций. Было придумано огромное кладбище, названное Долиной павших героев. Сотни могил, посвящённых героям прошлого, естественным образом поднимали главный вопрос игры: «Что значит одна жизнь?»

Подобно персонажам вкладчиков, могилы должны были идеально вписаться в игровой мир. Мы хотели, чтобы игроки с интересом изучали их — быть может, не все, но хотя бы некоторые. Задача непростая, но мы не сомневались, что справимся… пока кампания на Kickstarter не превзошла все ожидания, а количество могил и эпитафий не превысило четыре тысячи.

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

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

Разработка

Привет, это Джоби. У меня много работы: я пишу программные сценарии и внедряю готовые сцены (некоторые я разработал сам), придумываю новые идеи — особенно я горжусь движущимися столбами во вступительной сцене тринадцатой Глубины [Fathom 13]. Когда до меня дошли слухи, что ребята бьются над идеей гробниц для вкладчиков, я пришёл в восторг. Адам объяснил, что необходимо сделать, и моей реакцией было нечто среднее между истерическим хохотом и тихим плачем в уголке офиса.

Будучи вкладчиком многих проектов на Kickstarter, я отлично понимал важность полученных вкладчиками впечатлений. Для них важно не просто найти свой след в игре, он должен быть вплетён в повествование. Это была самая интересная часть моей работы над Torment — невыполнимая задача, ограниченные ресурсы и огромный объём работы по созданию материалов вкладчиков, и всё это должно логично вписаться в игровой мир.

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

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

Некрополь (1) // Torment: Tides of Numenera

Приведём немного технических подробностей. Структура гробниц выровнена по двумерной сетке с координатами X и Y, задающими как абсолютное, так и относительное расположение ячейки. Используя адресную систему из четырёх цифр в пятеричной системе счисления (0000-4444, или, что более понятно обычному человеку, 1111-5555) мы получаем сетку 25 на 25 (625) гробниц. Этого вполне достаточно, чтобы вместить могильные камни всех наших вкладчиков. Я пытался использовать различные фракталы и заполняющие пространство кривые вроде кривой Госпера, но обычная сетка оказалась удобнее и проще всего.

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

Некрополь (2) // Torment: Tides of Numenera

Готово. Но это лишь пустые комнаты. Разумеется, несмотря на общее оформление, гробницы должны отличаться друг от друга, хотя бы для того, чтобы игрок ощущал переходы между ними. Нам пришлось создать дополнительные материалы, которые мы поместили в гробницы рядом с могильными камнями и памятниками вкладчиков. Художник Дэниэль Ким предложил специальную подборку объектов для оформления гробниц.

Некрополь (3) // Torment: Tides of Numenera

Чтобы создать сотни комбинаций объектов, выглядящих случайными, но таковыми не являющимися, я воспользовался встроенной в Unity функцией шума Перлина. Если вы играли или хотя бы одним глазком видели, как играют в Minecraft, то вы уже знакомы с применением шума Перлина для создания процедурно генерируемых ресурсов. Двумерный шум Перлина представляет собой матрицу случайных значений, которая будет одинаковой и неизменной для всех игроков.

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

Некрополь (4) // Torment: Tides of Numenera

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

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

Некрополь (5) // Torment: Tides of Numenera

Обсудить на форуме »

Просмотры: 319 | Теги: inXile Entertainment, Torment: Tides of Numenera, инди, kickstarter

Обновления форума

Копирайты

  • C.O.R.E. © 2009 – 2016
Система Orphus Creative Commons License
Войти на сайт?
Логин:
Пароль: