Разрушаемость в Teardown: как совместить геймплей и технологии

Мощного физического движка недостаточно для интересной игры, но разработчики нашли решение.

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

Teardown поначалу была лишь простой технодемкой, которую программист Деннис Густафссон собрал для демонстрации своей системы разрушения. Это не первый проект разработчика, связанный с физикой: до этого Густафссон основал компанию Megon — создателей движка PhysX, который потом выкупила Nvidia, — и разработал несколько мобильных игр с физическим геймплеем — например, Sprinkle, PinOut и Smash Hit.

Словом, разрушаемое окружение и падающие здания для Густафссона не в новинку, — но физической симуляции, даже очень продвинутой, недостаточно для создания интересной игры. Сегодня мы вместе с программистом AAA-игр Александром Балакшиным разберёмся, как у него это получилось в Teardown.

Teardown

Teardown использует воксельную систему разрушения, в основе которой лежит SVO — Sparse Voxel Octree или разряженное воксельное октодерево. Грубо говоря, это куб, который можно разделить тремя плоскостями на восемь равных частей. Каждую из них можно так же поделить ещё на восемь частей, и так далее. В конце остаются элементарные, то есть минимальные воксели, из которых собирается вся геометрия на локациях.

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

Teardown

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

Разрушительные процессы выглядят убедительно благодаря удачно подобранному размеру минимального вокселя. Кубы в Teardown не настолько маленькие, чтобы съедать все доступные ресурсы, и не настолько большие, чтобы напоминать Minecraft.

Teardown

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

Реалистичности добавляет и воксельный рейтрейсинг, который вшит в игру. Отключить его нельзя, но и на производительность он влияет не так сильно, как RTX от Nvidia, например. Зато позволяет рисовать облака дыма и прочие частицы с соблюдением законов физики.

Teardown

Главная заслуга Teardown — не столько в самом разрушении, сколько в симуляции поведения объектов после того, как с ними что-то произошло. К ним применяются физические отношения, силы и ограничения. Если переломить трубу, то её половина реалистично повиснет. А если поджечь деревянный пол, то огонь распространится по всем правилам теплопроводности.

Embedded Image

Геймплей-программист

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

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

Teardown

Большинство современных движков, которые поддерживают разрушаемость больших объектов, могут реализовать всё, что есть в Teardown, — и даже больше. В Tom Clancy’s Rainbow Six Siege из разрушаемых стен и потолков технически можно собрать полноценную локацию. Но левел-дизайнеры Ubisoft не делают этого, а расставляют такие сегменты порционно, чтобы контролировать передвижение игроков.

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

Embedded Image

Геймплей-программист

Tom Clancy’s Rainbow Six Siege

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

В Teardown из естественных препятствий остались только скалы, природные подъёмы — например, крутой склон — и грунт, который игрок не может раскопать. Из искусственных — граница самой локации, за которую игрок не может выйти, но она нужна сугубо для оптимизации.

Teardown

А «неправильная» разрушаемость больших построек нужна самому игроку, — просто он об этом не знает. Технически воксельному движку Густафссона вполне по силам обрабатывать нагрузку и вес объектов. Если бы автор захотел, то все здания в игре кренились, рушились и давили на структурные элементы точно так же, как это делают местные трубы. Но, по мнению разработчика, игроков бы это только раздражало.

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

Embedded Image

Геймдиректор Teardown

Источник цитаты: escapistmagazine.com

Teardown

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

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

Teardown

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

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

Teardown

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

Embedded Image

Геймдиректор Teardown

Источник цитаты: blog.tuxedolabs.com

Чтобы идея Густафссона заработала, в Teardown нужно было добавить искусственный ограничитель, который бы отвечал за сложность. Таким ограничителем стал таймер.

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

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

Teardown

Также разработчики добавили дополнительные цели, которые игрок может проигнорировать и всё равно пройти миссию. Но если он захочет выполнить задание на 100%, ему придётся внимательнее относиться к разрушению. Дополнительные цели обычно либо спрятаны так, что неаккуратное обращение с физикой усложняет к ним доступ, либо просто лежат в отдалении от основного объекта — чтобы их забрать, игроку придётся сделать большой крюк. Некоторые предметы даже не отмечены на карте, но их приходится искать и красть, чтобы получить деньги для улучшения инструментов.

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

Teardown

Команда Денниса Густафссона предложила интересное решение проблемы «разрушительного» геймплея. Но оно не ультимативное: движок Teardown умеет работать только с вокселями, а подобрать под такую технологию подходящий жанр оказалось очень трудно.

При этом Epic Games недавно выпустила превью-версию Unreal Engine 4.26, в которой фирменный Chaos Physics доступен для всех желающих. Другие физические системы становятся реалистичнее и требуют всё меньше ресурсов, поэтому игр с разрушаемым окружением будет выходить больше. И в каждой разработчикам придётся отвечать на тот же вопрос, что и Густафссону: как сделать не просто технологию для геймплея, но и геймплей для технологии.

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