Система Natural Movement в Dying Light

Разработка игр | |

natural-movement-dying-light

Этой статьей мы продолжаем нашу серию материалов об элементах гейм-дизайна, которые кажутся простыми, но при этом имеющих в своей основе очень непростые решения. На этот раз речь пойдем о Natural Movement – системе перемещения в Dying Light.

Кто

Матей Бинковски (Maciej Binkowski) – ведущий гейм-дизайнер Dying Light

Бартош Кулон (Bartosz Kulon) – ведущий геймплейный программист Dying Light

Студия

Techland. Основана в 1991 году. Компания начинала с продажи переводческого ПО и продажи западных игр на польском рынке. Создатели франшиз Call of Juarez, Dead Island и Dying Light. Более 300 сотрудников. Имеет студии, расположенные в Варшаве (Польша), Вроцлаве (Польша) и Ванкувере (Канада).

Что

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

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

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

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

natural-movement-hooks

До и после. Красные точки вверху – это те самые «крючки», добавленные на начальных этапах левел-дизайна. Красные области внизу – это паркур-элементы после внедрения системы Natural Movement.

natural-movement-climbable-areas

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

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

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

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

natural-movement-prototype1

natural-movement-prototype2

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

Результат

Бинковски: В общем и целом создание Natural Movement потребовало около полутора лет. Проход за проходом. Тест за тестом. Идея была отличной, но все же требовала много работы, потому что ее реализация повлекла за собой множество трудностей, о которых мы даже не догадывались… Мы создали что-то вроде ящика Пандоры – на трудности, так или иначе связанные с Natural Movement, указывали совершенно разные команды внутри студии.

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

natural-movement-construction

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

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

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

natural-movement-clipping

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

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

natural-movement-animation1

natural-movement-animation2

natural-movement-animation3

 

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

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

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

natural-movement-overwhelmed

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

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

natural-movement-alley

Поэтому мы создали несколько логичных «сценариев» появления врагов – теперь они выходили из домов, фургонов, канализаций и т.д. В дополнении Dying Light: The Following события разворачиваются в сельской местности, поэтому там были поля с высокой травой, леса и заброшенные дома. И здесь идеей было создать быстрые нападения, т.е. чтобы зомби, услышав вас издалека, сломя голову мчались в вашу сторону. Тут помогло, в частности, что вы издаете много шума.

Бинковски: Еще одной большой серьезной проблемой стала морская болезнь. Как-то на Gamescom мы общались с журналисткой из Polygon, которая рассказала, что после игры в Dying Light почувствовала тошноту, которая не покидала ее до конца дня. Не круто, в общем.

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

natural-movement-interior

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

Кулон: Несмотря на все проблемы, наши усилия окупились. Эта система рекламируется как один из ключевых элементов, делающих Dying Light такой увлекательной, как система, работающая точно и интуитивно. Одним из самых приятных фанатских комплиментов было, когда нам сказали, что после Dying Light другие игры от первого лица разочаровывают своими ограничениями в свободе перемещения. То есть мы создали штуку, которую многие люди начали считать нормой.

Источник – Dying Light‘s Natural Movement system на Gamasutra

Обзор Dying Light 2.

Владимир FrostBite Хохлов frostbite@progamer.ru

Поделиться

Обсудить