Как устроено поведение полчищ крыс в A Plague Tale: Innocence

Проработка навигации, групповой интеллект, несколько классов грызунов и многое другое.

Геймдиректор A Plague Tale: Innocence Кевин Шото рассказал изданию Rock Paper Shotgun историю создания орд крыс, которыми игра прославилась ещё до релиза. Разработчики стремились сделать эти полчища по-настоящему живыми, пугающими и омерзительными.

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

Как устроено поведение полчищ крыс в A Plague Tale: Innocence

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

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

Как устроено поведение полчищ крыс в A Plague Tale: Innocence

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

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

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

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

В этом видео состояния крыс обозначены буквами над ними. Например, w — крыса просто блуждает, i — бездействует, e — ищет еду, d — видит объект, r — пытается избежать света.

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

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

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

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

Так выглядит навигационная сетка крыс. Они выбирают кратчайший путь до своей цели. Красные стрелки помогают грызунам избегать столкновения с препятствиями

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

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

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

Как устроено поведение полчищ крыс в A Plague Tale: Innocence

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

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

Кевин Шото, геймдиректор A Plague Tale: Innocence

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

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

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

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

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

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

Кевин Шото, геймдиректор A Plague Tale: Innocence
176176
26 комментариев

Да уж. Сам в игру не играл, но крысы сделаны действительно жутко, в хорошем смысле.

18
Ответить

Комментарий недоступен

2
Ответить

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

2
Ответить

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

2
Ответить

Вы ничего не пропустили, крысы это единственное что было хорошего в этой игре

Ответить

Комментарий недоступен

8
Ответить