Для хитбоксов нет универсального решения — как устроена система регистрации столкновений в играх

Каждому жанру подходит свой тип хитбоксов.

Журналист издания PC Gamer Алекс Уилтшир поговорил с несколькими разработчиками и узнал, как в играх реализуется система регистрации столкновений. Оказалось, что для каждого жанра подходит свой тип хитбоксов, который лучше всего соответствует геймплею и правилам. Мы выбрали из текста главное.

Для хитбоксов нет универсального решения — как устроена система регистрации столкновений в играх

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

В разных играх работают разные правила, поэтому те решения, которые подходят для одной игры, могут всё испортить в другой. Тем не менее хитбоксы применяются в огромном количестве тайтлов: удары в Mortal Kombat, прыжок над пилами в Super Meat Boy, хедшот в Rainbow Six: Siege. Во всех этих случаях хитбоксы влияют на то, справился ли игрок с испытанием или нет.

Хитбоксы работают в обе стороны — всё же в столкновении принимают участие два объекта. Для этого существует понятие «хёртбокса» (hurtbox) — у кулака, бьющего противника, и пилы также существует невидимая геометрия, которая регистрирует попадание.

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

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

То же самое относится и к серии Monster Hunter, начиная с Monster Hunter Tri, в которой хитбоксы очень точно соответствуют моделям героев и противников.

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

В играх жанра shoot 'em up используется другой подход. Там хитбоксы обычно намного меньше, чем сама модель или спрайт игрока. Это помогает уворачиваться от огромного количества пуль, которые зачастую заполоняют весь экран. Если бы хитбоксы полностью соответствовали аватару, то такие игры были бы намного более трудными и менее приятными для прохождения.

В Blue Revolver есть возможность выделить хитбокс корабля. Он настолько маленький, что его трудно заметить
В Blue Revolver есть возможность выделить хитбокс корабля. Он настолько маленький, что его трудно заметить

Абстрактный музыкальный экшен Endlight использует традиционные для shoot 'em up хитбоксы. В Endlight у корабля есть три хитбокса, каждый из которых выявляет определённый тип коллизий. Хитбокс, который регистрирует столкновения со стенами, намного меньше корабля — это даёт большую свободу маневрирования. Хитбокс, анализирующий столкновения с ценными объектами, значительно больше аватара. Из-за этого игрок ощущает собственное мастерство.

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

Endlight

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

Это говорит вам о том, что опасность рядом. Так игра даёт больше времени, чтобы отреагировать.

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

Ян Виллем Ниджмен, разработчик Disc Room

При этом хитбоксы в Disc Room используют ещё и временные показатели.

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

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

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

Разработчики из Metanet потратил целых десять лет на настройку и полировку хитбоксов для своей серии платформеров N. Например, работа над хитбоксами продолжалась даже в последние недели создания N++. Именно тогда увеличились хитбоксы предметов, которые нужно собирать, и уменьшились хитбоксы опасных объектов.

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

Маре Шеппард, разработчица N++

Несмотря на название, хитбоксы — это не всегда «боксы». В то время как хитбоксы в Dark Souls, Monster Hunter World и Apex Legends повторяют форму персонажей, в играх других жанрах они бывают самыми разными: сферы, ромбы и так далее.

В файтингах по-прежнему используются квадратные хитбоксы, которые появились ещё в Street Fighter 2. Но есть и исключения — например, Marvel vs. Capcom, в которой используются круги. А в 3D-файтинге Mighty Fight Federation применяются сферы и кубы.

Из-за углов у кубов получается слишком много ложных регистраций попаданий.

Джулиан Спиллейн, разработчик Mighty Fight Federation

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

N++
N++

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

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

Doom Eternal
Doom Eternal

В Endlight на экране одновременно присутствует множество объектов, поэтому разработчику Джиму Макгинли пришлось оптимизировать игру. Он сократил количество проверок неподвижных объектов и проигнорировал объекты, которые находятся далеко от пользователя. Поскольку это рельсовая игра, Макгинли знает, что каждый объект прилетает к игроку через 20 секунд после спауна. Именно поэтому хитбокс появляется у них только через 18 секунд после появления.

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

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

Ян Виллем Ниджмен, разработчик Disc Room
564564
94 комментария

Ммм, лучшая сторона DTFа,)

69

Мы же не на подсайте о порно

13

Статья пустая, надо было писать то как хитбоксы соотносится с видимой моделью в сетевых баталиях. Примеры left 4 dead 2, cs, overwatch и прочее. В этих играх, же победа у того кто лучше видит хитбоксы, а не реальную модель.

35

Пример того, анализ чего я хотел увидеть в статье

20

Хитбоксы обсуждаете, а мемы не мемите

33

 N++Вот это имя я не слышал уже очень много лет.
Спасибо, пойду наковыряю где-нибудь оригинальную N и сяду переигрывать.

12