Система 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.
Это был сущий левел-дизайнерск
Любые изменения в геометрии или левел-дизайне означали также, что нам также нужно менять расположение крючков и подходов к ним. Более того, нам нужно было хранить данные обо всех крючках. На тот момент мы еще планировали релиз на консолях предыдущего поколения, но памяти постоянно не хватало.
В конце концов, мы поняли, что это попросту невозможно. Мы уперлись в тупик и просто не понимали, что делать дальше. Но, к счастью, у нашего ведущего геймплейного программиста Бартоша Кулона родилась отличная идея.
Кулон: Эта идея, в итоге ставшая системой Natural Movement, была в том, чтобы сканировать окружение в реальном времени и решать, как игрок может с этим окружением взаимодействоват
Ранние прототипы были не самыми симпатичными, но они показали, что у этой системы есть потенциал. Она не загружала память, поэтому в нашем распоряжении оказалась лишняя вычислительная мощность, которую можно было использовать где-то еще. Мы начали думать, что наконец-то сломали этот крепкий орешек, что осталось немного полировки и дело в шляпе. Но в итоге вылезло еще несколько проблем…
Результат
Бинковски: В общем и целом создание Natural Movement потребовало около полутора лет. Проход за проходом. Тест за тестом. Идея была отличной, но все же требовала много работы, потому что ее реализация повлекла за собой множество трудностей, о которых мы даже не догадывались… Мы создали что-то вроде ящика Пандоры – на трудности, так или иначе связанные с Natural Movement, указывали совершенно разные команды внутри студии.
К примеру, новая система перемещения преподнесла сюрприз нашим левел-дизайнерам
Поэтому многие блеф-методы, которые обычно используются в левел-дизайне, тут попросту не работали. Теперь игрок мог заглянуть за кулисы, и нам пришлось делать это закулисье полноценным игровым окружением. Многие квесты тоже пришлось переписывать, потому что путь игрока от точки А к точке Б теперь нельзя было предугадать со 100-процентной уверенностью. К цели теперь можно было подойти с множества разных углов. У нас уже было встроено в игру немало стихийных геймплейных элементов, но теперь, когда до цели стало добираться веселее и проще, их стало на порядок больше.
Не поймите превратно. Нашей левел-дизайнерск
Затем подоспела очередь аниматоров. Они обнаружили, что без строгого контроля над тем, за что игрок может ухватиться и взобраться, многие из существующих анимаций теперь обрезаются объектами. Поэтому многие из этих анимаций приходилось либо переделывать, либо создавать с нуля новые.
Самым неприятным, впрочем, было то, что новая система разрушала чувство погружения. Передвижение стало активным процессом, к которому игрок подталкивался через левел-дизайн, геймплей и игровые механики. Бега, скольжений, прыжков и прочих паркурных движений стало гораздо больше. Но с увеличением паркурной составляющей стало очевидно, что нам нужно что-то делать с анимациями движений – они как бы забирали у игрока чувство контроля над ситуацией.
Игрок не мог ничего сделать, пока не закончится анимация. И поскольку игрокам теперь нужно было как бы нанизывать одни движения на другие, получалось такое ощущение, будто он передвигается в автомобильной пробке. То есть у игрока терялось чувство, будто именно он делает все эти ловкие движения. Игра делала эти движения сама, а игрок чувствовал себя просто пассажиром на заднем сидении автомобиля.
Поэтому мы максимально сократили время этих анимаций. Это было такое хождение взад-вперед в попытке найти золотую середину между тем, чтобы анимация смотрелась по-прежнему классно, но при этом была достаточно короткой. И хотя это помогло, у игрока по-прежнему оставалось чувство, будто он жмет на кнопку и запускает серию красивых паркурно-акробат
Кулон: Припоминаю, что ИИ-команде тоже пришлось переделать парочку вещей. Игрок стал очень проворным, и врагам теперь трудно было за ним угнаться, поэтому они перестали представлять какую-либо угрозу. Поэтому нам пришлось перепрограммиров
Атаки тоже пришлось пересмотреть. Прежде все враги старались ударить игрока. Это была их главная атака. Однако теперь игрок стал гораздо шустрее, поэтому от удара сзади мог уклониться в два счета. Поэтому столкновение с самыми простыми врагами теперь не представляло почти никакой угрозы.
Таким образом, игрок стал практически непобедим, и мы чувствовали, что этот перекос нужно поправить. В итоге мы поменяли главную атаку простых врагов с удара на хватание и кусание. То есть создали прямую угрозу вашему самому главному оружию – движению. Теперь эти враги имели возможность затормозить вас и вовлечь в неприятную схватку лицом к лицу, поэтому игроку нужно было дважды подумать перед тем, как бросаться в толпу зомби. Его способность уклоняться теперь имела неприятную Ахиллесову пяту.
Разумеется, пересмотра требовало и то, как враги появлялись. Игрок теперь мог быть в любой точке карты, а наша старая система зачастую генерировала зомби прямо из воздуха. Поэтому мы поправили систему таким образом, чтобы враги появлялись за спиной игрока, а не перед ним. Впрочем, это хорошо работало в одиночной компании, но не в кооперативе. Когда у вас несколько игроков, смотрящих в разные стороны, то провернуть такое довольно проблематично.
Поэтому мы создали несколько логичных «сценариев» появления врагов – теперь они выходили из домов, фургонов, канализаций и т.д. В дополнении Dying Light: The Following события разворачиваются в сельской местности, поэтому там были поля с высокой травой, леса и заброшенные дома. И здесь идеей было создать быстрые нападения, т.е. чтобы зомби, услышав вас издалека, сломя голову мчались в вашу сторону. Тут помогло, в частности, что вы издаете много шума.
Бинковски: Еще одной большой серьезной проблемой стала морская болезнь. Как-то на Gamescom мы общались с журналисткой из Polygon, которая рассказала, что после игры в Dying Light почувствовала тошноту, которая не покидала ее до конца дня. Не круто, в общем.
Мы поняли, что эту проблему нужно решать перед доделыванием системы движений – чтобы не губить несколько месяцев напряженной работы. Мы провели несколько тестов и заказали специальное исследование, и много раз результатом было «да, это может вызвать морскую болезнь, но не точно», поэтому мы переделывали систему снова и снова, добавляли новые детали, и в итоге имеем то, что есть.
Мы работали с разными уровнями размытия, движением камеры и расположением прицельного перекрестия. Мы также меняли поле зрения и тестировали разные экранные фильтры. Трудностью было то, что у подавляющего числа разработчиков никакой морской болезни не было вовсе, поэтому нам было трудно понять проблему, уже не говоря о том, чтоб понять, работают ли вообще вносимые нами изменения.
Кулон: Несмотря на все проблемы, наши усилия окупились. Эта система рекламируется как один из ключевых элементов, делающих Dying Light такой увлекательной, как система, работающая точно и интуитивно. Одним из самых приятных фанатских комплиментов было, когда нам сказали, что после Dying Light другие игры от первого лица разочаровывают своими ограничениями в свободе перемещения. То есть мы создали штуку, которую многие люди начали считать нормой.
Источник – Dying Light‘s Natural Movement system на Gamasutra