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


Кадр: игра Warface / Astrum Entertainment
Стрельба — основа любого шутера. От точности механик и ощущения оружия зависит, захочет ли человек провести за игрой сотни часов или удалит её после первого боя. Разработчики балансируют между аркадной динамикой и реализмом, а также создают оружие, которое хочется коллекционировать.
В этой статье мы разбираемся, как устроена механика стрельбы в онлайн-шутерах, — на примере Call of Duty, Escape from Tarkov, Warface и других проектов.
Спикеры: Анастасия Джиоева, руководительница департамента разработки Astrum Entertainment, и Максим Бурак, руководитель проекта Warface.
Техническая реализация стрельбы
Есть два основных и принципиально различающихся подхода к реализации стрельбы в современных шутерах: Hitscan (оружие без физического снаряда) и Projectile-Based (оружие с физическим снарядом). Это не значит, что один из них хуже другого: разработчики определяют тип стрельбы в зависимости от целей проекта. Разберёмся, чем эти подходы отличаются друг от друга.
Hitscan: скорость и динамика
В момент выстрела игра отправляет невидимый луч от ствола оружия и проверяет, пересекается ли он с моделью противника. Если луч пересекает цель — урон наносится мгновенно. В этом заключается суть подхода Hitscan. При этом дальность луча может быть ограничена — например, расстоянием в 100 метров. Hitscan подходит динамичным играм на небольших картах. Например, он используется в серии Counter-Strike, в Team Fortress 2 и в играх серии Call of Duty.

У этого подхода есть ряд технических преимуществ. Так, он позволяет быстро вычислять попадания, что особенно важно для киберспортивных дисциплин, где точность стрельбы и скорость реакции игроков играют решающую роль в победе. Hitscan не требует создания объектов для снарядов (3D-моделей патронов, ракет и прочего) и расчёта их физики: это снижает нагрузку и на сервер, и на пользовательское устройство. В таком случае задержка между выстрелом и регистрацией попадания практически отсутствует.
Несложно догадаться, что Hitscan редко используется в играх с упором на реализм и масштаб. Если снайпер в серии Battlefield мгновенно устранит противника, находящегося за 2000 метров от него, то как минимум сильно пострадает игровой баланс. Здесь в дело и вступает второй подход к реализации стрельбы.
Projectile-Based: физика и реализм
В этом случае каждый выстрел создаёт физическую модель снаряда или пули. В отличие от Hitscan, они имеют массу и движутся в игровом пространстве с определённой скоростью, а также подвержены гравитации и другим физическим эффектам.
Например, в Escape from Tarkov игрокам нужно учитывать износ ствола оружия и пробивание брони. Во время полёта снаряда игра на каждом кадре вычисляет его позицию с учётом условий и производит проверку коллизий, то есть столкновений с объектами (персонажем игрока, стенами и прочим). При обнаружении столкновения наносится урон или активируется эффект (например, взрыв).

Преимущества этого подхода заключаются в реалистичности и открывающихся геймплейных возможностях. Например, игроки могут научиться уклоняться от ракет, рассчитывая расстояние выстрела. Кроме того, им необходимо учитывать более сложные показатели при игре с некоторыми видами оружия.
Например, снайперу нужно уметь оценивать не только расстояние до цели, но и направление её движения, и угол падения пули. Кроме того, это позволяет игрокам находить и скрытые игровые возможности, о которых разработчики могли и не думать. Фанаты серии Battlefield выкладывали ролики с самыми необычными способами уничтожения воздушной техники — например, выпрыгивая из летящего самолёта и стреляя в него из ракетницы в воздухе.
Но у подхода есть и ряд недостатков. Так как каждый снаряд требует определённого ряда вычислений, повышается нагрузка на сервер и технические требования к игровой платформе пользователя. Такие вычисления могут создавать рассинхронизацию у разных игроков и приводить к ситуациям, когда, скажем, устранение персонажа будет зарегистрировано после того, как он спрячется за укрытием. Это требует от разработчиков серьёзной работы над оптимизацией: в ином случае может возникнуть недовольство игроков.
Гибридный подход
Многие современные игры сочетают оба подхода из-за комплексности своих механик. Например, шутер Warface комбинирует три подхода:
- Подход Hitscan. К нему относятся снаряды и пули, попадание которых происходит быстрее, чем сервер успевает обработать информацию. Это важно, так как многие карты в игре компактные и динамика боёв на них крайне высока. Чтобы свести на нет задержку регистрации выстрелов логичнее использовать подход с меньшей нагрузкой. В этой ситуации мгновенное попадание из снайперской винтовки не навредит игровому процессу, а наоборот — спасёт его. В ином случае баланс игровых классов будет нарушен, никому не будет интересно играть за снайпера.

- Projectile-Based снаряды. К ним относятся медленно летящие снаряды — например, гранаты. Их техническая реализация происходит следующим образом: снаряд появляется локально (на компьютере игрока) и предсказывает направление полёта, отправляя данные на сервер. Сервер проверяет информацию. В случае, если рассчитанные им траектории расходятся с информацией от игрока, решающей будет та, что зарегистрировал сервер. Далее сервер отправляет локальной версии обратную информацию, благодаря которой у игрока воспроизводятся различные эффекты при взрыве.

- Быстро летящие метательные снаряды. Наиболее технически сложный тип снарядов, к которым относится, например, томагавк. Из-за скорости полёта они успевают попасть в цель быстрее, чем будут зарегистрированы на сервере. Подход к работе с ними похож на второй тип снарядов, но отличается отдельной работой клиента и сервера.
После того как выстрел произведён, урон от него регистрируется у второго игрока. Для этого разработчики добавляют к каждой модели персонажа невидимую упрощённую оболочку — Hitbox. Hitbox максимально близок к модели по форме, но с целью оптимизации скорости взаимодействия между клиентом и сервером состоит из максимально простых геометрических объектов — кубов и многоугольников.
Зоны урона у персонажа настраиваются на Hitbox, и урон по ним может варьироваться в зависимости от настроек дизайнеров. Так, при попадании в конечности игра может зарегистрировать 50% от базового урона, в тело — 100% (базовый урон, base damage), а в голову — 200% (критический урон, headshot). Сервер фиксирует попадание в зависимости от типа снаряда — либо напрямую, либо сравнивая с информацией, полученной от клиента.
Эстетическая реализация стрельбы
Если в предыдущем тексте мы говорили о том, как разработчики обеспечивают комфорт игрока в плане геймплея и механик, то здесь коснёмся того, что игрок видит и слышит перед собой 99% времени, Иными словами, разберёмся, как сделать оружие и игру с ним эстетически приятным процессом.
Подготовка модели оружия
Начинается всё с концепт-артов художников, которые определяют визуальную идентичность оружия в рамках сеттинга. Например, в футуристическом шутере акцент делается на чистые линии и технологии, а в постапокалиптическом — на ржавчину и импровизированные детали.
Затем на основе концептов 3D-художники создают высокодетализированную модель, которая позже оптимизируется для игрового движка. Так, разработчики Warface при создании моделей оружия берут данные из открытых источников: тактико-технические характеристики (ТТХ), описания, официальные каталоги/инструкции, фотографии, ролики и прочее. При этом важно соблюсти баланс — модель должна быть приближена к реальной, но не в ущерб проекту. Для текстур используются PBR-материалы (Physically Based Rendering, физически обоснованный рендеринг), чтобы обеспечить их реалистичное взаимодействие со светом. На этапе текстурирования особенное внимание уделяется детализации вроде царапин, гравировок, сколов или других элементов.
В случае с Warface выбор оружия происходит заранее — за 9–12 месяцев до его появления в игре. Дизайнеры руководствуются аналитикой существующего в игре оружия и основными идеями на год, чтобы все единицы вооружения выглядели интересно по геймплею и внешнему виду и гармонично соответствовали друг к другу.

Фото: игра Warface / Astrum Entertainment

Скриншот: игра Warface / Astrum Entertainment
На изображениях выше — полуавтоматическая снайперская винтовка МЦ-572 «Астарта». Разработчики подобрали одинаковые ракурсы, чтобы показать внимание к деталям на модели и текстурах. При переносе оружия в игру мы по возможности повторяем все элементы оружия, вплоть до мельчайших подробностей, учитывая внутренние стороны анимируемых объектов — магазины, и патроны.

Фото: игра Warface / Astrum Entertainment

Скриншот: игра Warface / Astrum Entertainment
Процесс производства такой единицы занимает в среднем три месяца — примерно столько времени проходит обычно от разработки технического задания до тестирования уже готовой модели в игре. В разработку входит создание двух 3D-моделей — для первого и третьего лица, создание текстурных наборов, интеграция оружия непосредственно в редактор игры, настройка характеристик, подключение эффектов и набора иконок для отображения оружия на витрине. Также под каждую единицу оружия готовится весь необходимый набор анимаций, включая и стойку персонажей с оружием в интерфейсе.
Создание анимаций
При помощи анимаций перезарядки, стрельбы и движения с оружием разработчики передают его «характер». Тяжёлые пулемёты анимируются с медленной перезарядкой и мощной отдачей, а пистолеты — с быстрыми и точными движениями.
При этом существуют разные подходы к созданию анимаций. Если разработчики хотят сделать упор на реализм (такое можно заметить в сериях Battlefield и Call of Duty), то обычно используют технологию Motion Capture для захвата движений реальных моделей оружия. А если в проекте идёт упор на стилизацию, то они могут создать анимацию вручную или стилизовать движения Motion Capture, как в Overwatch и Fortnite.
Анимацию важно также синхронизировать с игровым процессом — она должна соответствовать задержке выстрела, поведению типа оружия. Например, в Counter-Strike 2 резкий рывок из-за отдачи при стрельбе из AWP усиливает ощущение мощности.

Фото: EA DICE / DICE Studios
Звуковой дизайн и эффекты
В реалистичных шутерах разработчики обычно берут за основу звуки, соответствующие реальным прототипам, а затем модифицируют их под нужды проекта. Создатели Warface адаптируют громкость и тембр звука, при необходимости делают его сочнее.
В футуристических шутерах звуки оружия обрабатываются ещё больше. При помощи инструментов саунд-дизайна — скажем, синтезаторов — сочетания различных реальных звуков могут создавать уникальную атмосферу вымышленного оружия. Это помогает сформировать аудиоидентичность проекта. Порой добавляются и другие эффекты. К ним относятся, например, эффекты, рассеивающиеся после выстрела: дым из ствола, искры, звук падающей гильзы и прочие.
Уникальное оружие позволяет поклонникам онлайн-шутеров самовыражаться, что особенно важно в современных играх. Valve, например, отталкиваясь от этой потребности игроков, создала обширный рынок продажи скинов в серии Counter-Strike. Разработчики Warface тоже предоставляют возможности для самовыражения игроков: так, в шутере представлено огромное разнообразие скинов для оружия, в том числе в стилистике аниме.
Баланс оружия
Ещё один важный фактор для получения удовольствия от стрельбы заключается в том, чтобы все типы оружия имели уникальные преимущества и могли дополнять друг друга. Так, разработчики шутеров присваивают каждому элементу вооружения свою роль —- ближний бой, средняя дистанция, дальняя дистанция.
Например, дробовики мощны в ближнем бою, но практически не наносят урона на средней и дальней дистанциях, снайперские винтовки требуют меткости, но устраняют противника с одного выстрела с большого расстояния, а штурмовые винтовки имеют большую кучность и эффективны на средних дистанциях, но плохо противостоят пистолетам-пулемётам на ближней.

Один из главных параметров баланса оружия — время убийства (time to kill, или ТТК). Он рассчитывается на основе скорости стрельбы и урона за выстрел. Оружие с повышенным уроном имеет большую отдачу или малую точность при непрерывной стрельбе, а ёмкость магазина и время перезарядки ограничивают частоту использования мощной модели.
Баланс оружия — постоянно меняющаяся задача. Разработчики следят за статистикой игры с определённым типом оружия (среднее количество устранений и проигрышей тому или иному виду оружия и другие параметры) и принимают решение о необходимости его усиления (баффа) или ослабления (нерфа).
* * *
Увлекательная стрельба в шутерах — это сложное сочетание технических и творческих решений. Разработчики балансируют между хардкорностью и аркадностью для достижения наилучшего результата. Эстетическая составляющая усиливает эмоциональное вовлечение, а постоянная работа над балансом оружия и добавление новых моделей обеспечивает разнообразие тактик и долгосрочный интерес игроков.
В результате именно сочетание точной механики, визуально-звуковой выразительности и продуманного дизайна превращает стрельбу в ключевой элемент, определяющий успех игр жанра.