Bare Butt Boxing — это убийственный комбо от Tuatara

Узнайте, как Tuatara Games управляет своим хаотичным многопользовательским файтингом Bare Butt Boxing, сочетая технологии, ориентированные на данные, с экосистемой Unity для разработки многопользовательских игр.
Пример использования: Bare Butt Boxing
Как небольшой команде создать и запустить многопользовательскую игру с низкой задержкой на основе физики? Tuatara Games использует Систему компонентов сущностей (ECS) от Unity для создания масштабируемой, гибкой и производительной архитектуры кода для своего развивающегося проекта, а также Multiplay Hosting для обеспечения стабильного и отзывчивого онлайн-геймплея.
Задача
Создание надежной основы для развивающейся многопользовательской игры на раннем доступе
Платформы
Настольные ПК, консоли
Количество сотрудников
33 (5 работают над Bare Butt Boxing)
Местоположение
Ванкувер, Канада
Создание многопользовательского хаоса
Bare Butt Boxing в настоящее время находится в раннем доступе. Зная, что проект будет развиваться со временем на основе отзывов сообщества, Tuatara хотела масштабируемый стек технологий для обеспечения гибкой работы. Выбор Unity и готовых решений от Unity Gaming Services (UGS) позволил им сосредоточиться на разработке и легко менять направление, когда это необходимо.

Результаты
- Сократил затраты на предсказание сетевого клиента вдвое благодаря интеграции компилятора Burst от ECS
- Проверил три сетевых решения, соблюдая целевые сроки с использованием ECS
- Сэкономил три месяца исследований, прототипирования и интеграции, приняв Multiplay Hosting и другие решения UGS

Начать с правильной ноги
Tuatara создала Bare Butt Boxing с использованием Data-Oriented Technology Stack (DOTS) с самого начала разработки.
«Поскольку это наша первая игра как новой команды, мы хотели сделать ранний доступ с основой, достаточно прочной, чтобы мы могли изменить дизайн в правильном направлении», - говорит инженер-программист Хендрик Стефанус ду Тойт. «DOTS позволил нам модульно организовать наши системы таким образом, что мы можем тестировать идеи игрового процесса без недель переписывания кода.»

Планирование для мультиплатформенности
Подход Tuatara, ориентированный на данные, упрощает итерации и позволяет им быть гибкими с оптимизацией. «Наличие ECS означает, что мы можем легко настраивать макет данных во время выполнения, не влияя на сериализованные данные», - говорит программист Эван Аргус.
Это ключ к окончательному мультиплатформенному запуску игры. Ранняя версия Bare Butt Boxing в данный момент доступна на PC и Linux, но у Tuatara есть планы выпустить игру на MacOS и консолях. Они говорят, что создание с использованием DOTS поможет им обеспечить сопоставимый опыт на всех целевых платформах. «Основные преимущества - это короткое время загрузки и более плавный игровой процесс. Если производительность лучше по умолчанию, больше игроков смогут запустить игру, независимо от оборудования», - объясняет Эван.

Включение смоделированного хаоса
Комически преувеличенные физические взаимодействия Bare Butt Boxing являются ключевым selling point. Студия использует Unity PhysX, а не новую физику на основе ECS, но они все равно отдают должное ECS за помощь в достижении их видения без ущерба для производительности.
«ECS помог нам разделить игру на несколько слоев без проблем. Дизайн игры может быть простым и напрямую связанным с симуляцией, и мы можем создавать системы поверх этого, чтобы красиво представить это», - объясняет Эван. «Благодаря этому презентация может быть сложной, в то время как наша симуляция может быть предсказана клиентом, не нагружая слишком сильно ЦП.»

Снижение затрат с помощью Multiplay Hosting
Нацеливание на большее количество платформ означает достижение большего числа игроков, что может увеличить затраты на живую многопользовательскую игру. Зная это, Tuatara приоритизировала экономичные, масштабируемые варианты для сетевого кода и хостинга.
После того как они попробовали несколько различных решений, они остановились на комбинации Photon Fusion и Multiplay. «Photon Fusion имеет отзывчивое клиентское предсказание и сетевой код, но оплата за каждого одновременно играющего пользователя станет дорогой по мере роста нашей базы игроков», — говорит Хендрик. Смещение нагрузки на ЦП на выделенные серверы Multiplay помогло Tuatara эффективно избежать проблем со масштабируемостью, что сделало это более доступным в долгосрочной перспективе.

Соединение игроков
Выбор Unity Gaming Services означал, что Tuatara также имела доступ к другим решениям для запуска живых игр. «После интеграции UGS для MultiPlay мы увидели его потенциал и воспользовались другими услугами, о которых даже не подозревали, такими как Cloud Save, Player Accounts и Remote Config», — говорит Клемен Лозар, основатель, генеральный директор и креативный директор Tuatara.
Запуск своей игры с инструментами, которые работают вместе, помогает Tuatara добиться устойчивого успеха. «Multiplay хорошо интегрируется с другими услугами, которые игроки могут запрашивать во время раннего доступа», — говорит Хендрик. «Например, с Matchmaker мы могли легко реализовать простую модель матчмейкинга, и если игроки когда-либо захотят больше, мы знали, что у нас уже есть правильные технологии.»

Иметь Unity на своей стороне
Tuatara надеется пробиться в игровую индустрию с Bare Butt Boxing. Создавая свою игру на основе DOTS и используя Multiplay для соединения игроков, они могут гарантировать, что Bare Butt Boxing выйдет с размахом, когда она будет запущена на консолях позже в этом году.
«Полагание на другие услуги действительно помогает снять давление, особенно зная, что за нами стоит удивительная команда Unity, поддерживающая нас до самого конца», — говорит Хендрик.

“«UGS дает разработчикам возможность увидеть, что они могут упустить. Все решения находятся в панели управления, и это приятное путешествие, которое стоит пройти. Это открывает вам глаза на решения, которые вы должны принимать для своей живой игры.»”
Ewan Argouse - Tuatara Games
Software EngineerГибкие и расширяемые инструменты упрощают каждый аспект процесса разработки многопользовательских игр, от концепции и прототипирования до запуска и живых операций.