Технология, стоящая за первым мечами военных роботов

Технология, стоящая за первым мечами военных роботов

25 июля 2025 г.

Привет! Я Дмитрий Улитин, старший игровой дизайнер в проекте «Военные роботы».

Когда мы решили добавить в нашу игру робота на меча 190, мы знали, что принимаем серьезный вызов. Впервые в истории игры робот владеет мечом-оружием ближнего боя в мире, где все привыкли к оружию и дальнейшему бою. Мы уже экспериментировали с боем в ближайшем количестве, используя определенное робот-оружие, но это никогда не было по-настоящему «ближнего боя»: гарпуны и оружие AOE приближались, но никогда не было истинного «меч». Итак, на этот раз мы хотели, чтобы робот поднялся прямо на лицо врага - и для этого нам пришлось построить новую систему.

Но новое оружие не было «отводом меча»-это был меч внутри способности. Другими словами, он активировался после прыжка и должен был соответствовать игровому процессу концепции робота.

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

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

Как сделать борьбу в ближнем бою в игре с стрельбой?

Первая и наиболее очевидная проблема: как вы реализуете атаки ближнего боя в игре, где вся боевая система создана для боя?

Мы выбрали самый простой подход: мы использовали обычный пистолет, но заставили его стрелять в заранее определенную область, а не по прямой. Технически говоря - это «выстрелил» внутри коллайдера. Эта форма коллайдера построена из примитивов, как блоки в строительном наборе, но невидимой для игрока. Это позвольте нам использовать существующую логику оружия игры. Единственная разница: нет полета снаряда - ущерб мгновенно наносится всем в коллайдере в момент атаки.

War Robots

Это похоже на системы, используемые в файтингах и слэшеров - мы просто адаптировали их для наших нужд.

Ultra Street Fighter IV

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

Когда робот слишком быстрый

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

В действительности, таргетинг вызвал большую проблему. Робот точно летит к позиции врага, но часто превышает «пролетающий», и хитбокс был слишком маленьким, чтобы нанести удар, как только он приземлился. Даже с немного большим невидимым коллайдером этого было недостаточно. Хуже всего - робот пролетел по земле, потому что он двигалсяслишком быстроПолем Физический двигатель не был разработан для этого, особенно при синхронизации между несколькими игроками.

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

Первая итерация: повышение скорости

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

Вторая итерация: большая зона попадания

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

Третья итерация (самая рискованная): переписать физику

Мы создали пользовательский слой поверх физики игры. Робот теперь перемещается от точки A в точку B, используя контролируемый алгоритм. Базовая физика была все еще там, но обнаружение и путь столкновения обрабатывались кодом. Это все решило - теперь способность сработала гладко и надежно.

Но как роботы качаются мечи?

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

Мы исследовали разные стили атаки: перекрестный слой, наверху, вращающаяся слэш ...

Spinning slash

Overhead slash

Anime-style cross-slash

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

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

В конце концов, мы остановились на сбалансированной анимации, которая выглядела механической, идеально подходила к игровому процессу (боковая зачистка), и позвольте нам точно настроить время.

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

Когда анимация живет своей жизнью

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

ВВоенные роботы, мы обычно строим механику в первую очередь и визуальные эффекты позже. Здесь способность вызвала два параллельных процесса: анимация и «выстрел». Всего всего три секунды, но любое отставание между клиентами вызвало Desync между двумя. Это должно было быть исправлено.

Это было особенно заметно, когда игроки увидели, как к ним летал блок меча - разыгрывался, но урон наступил позже.

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

Это позволило нам синхронизировать анимацию и набрать более точно.

Чтобы сгладить эффект, мы заставляли каждый качание доставить три удара-как в аниме: робот разрывается один раз, но наносит три удара с 0,1-секундными интервалами. Таким образом, похоже, что меч проливается через цель несколько раз.

Конечный результат

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

Создание робота меча требовало сотрудничества между программистами, аниматорами, игровыми дизайнерами и артистами VFX. Но когда все собралось вместе, это создало уникальный опыт, который никогда не видел вВоенные роботыПолем

Блок 190 Меча не просто стал новым роботом - он открыл дверь для боя в ближнем бою в игре. И теперь, когда мы знаем, как решить эти проблемы, вы можете увидеть больше роботов, обладающих мечом, в будущем!



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE