Крупнейшая digital-премия в Европе

Modern Tag

Заказчик: Modern Tag
Исполнитель: Digital Oxygen
Share
Modern Tag

Главное о кейсе

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

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

=ENG=

We have received a lot of positive feedback on this project, both from partners who open arenas in cities and from the players who repeatedly come to play. Everyone notes the quality of graphics, the speed and smoothness of the game, interesting shooting, team
competition with friends and the freedom of movement - all the things we put emphasis on while developing the project.

Our employees, including those who developed this project, are also happy to visit the Modern Tag arenas. We regularly hold games, and we are glad to note that the employees’ emotions are as bright as they were for the first time. It means that we did everything right.

Бизнес-задача и ее решение

Наша компания, имея за плечами огромный опыт в области VR, AR и GameDev, решила разработать не просто очередной VR проект, а полноценную инновационную игру со свободным перемещением в пространстве, мультиплеером, а также графикой высокого уровня. И всё это должно было работать на беспроводных и мобильных VR очках Oculus Quest 2 и с частотой кадров не ниже 72! Казалось бы - задача невероятная, но нам удалось её выполнить в полном объеме.

Для разрабатываемого проекта мы обозначили следующие ключевые особенности:
Проект должен быть реализован на беспроводных очках Oculus Quest 2 и без дополнительных компьютеров (используем вычислительные ресурсы только самих очков). Данные очки нельзя назвать мощным устройством по меркам VR, так что придётся уделить большое внимание оптимизации и энергопотреблению.
В игре должна быть графика высокого уровня, и она должна выделяться по сравнению со многими другими играми на данных очках. Ограниченная мощность очков Oculus Quest 2 потребует написать свою систему обработки света, если мы хотим получить хорошую графику и стабильные 72 FPS.
Алгоритм калибровки должен быть максимально простым и быстрым для пользователей. Калибровка - процесс синхронизации реального помещения и виртуальной локации. Проще говоря, это нужно, чтобы человек не врезался в стену, блуждая на локации в VR.
Большое количество одновременных игроков. Игровая площадь может быть 300кв.м, а может быть 1000кв.м, соответственно, надо дать возможность играть не только 5 на 5, но и 10 на 10. Данная особенность потребует уделить большое внимание net коду, а также снова вопросу оптимизации, так как большое количество 3D моделей игроков может потребовать больше аппаратных ресурсов для отрисовки.


Процесс создания
Разработку проекта мы осуществляли на игровом движке Unity, серверную часть реализовывали на Photon. Вся разработка была разделена на 2 части, которые поначалу шли параллельно:
Создание графического контента: модели и анимации игроков, модели оружия, карты, UI и т.д.
Реализация игровой логики и программирование всех механик

Для всего графического контента были прописаны технические регламенты и ограничения, это было крайне необходимо, так как Oculus Quest 2 имеет достаточно ограниченное аппаратное обеспечение.

При выполнении задачи по разработке ускоренного алгоритма калибровки мы провели исследование, сделали прототипы нескольких вариантов, протестировали их, провели итерацию улучшения и в итоге создали алгоритм быстрой калибровки по одной точке. Данный алгоритм позволяет произвести калибровку 10 игроков менее чем за 40 секунд, что является превосходным результатом.

Аппаратные ограничения (недостаточная мощность) очков Oculus Quest 2 очень сильно усложняли разработку, ведь мы хотели добиться высокого уровня графики. Художники создали очень качественные модели и текстуры для оружия с бликами и отражениями, но когда мы их использовали в игре, то частота кадров снижалась до 40 fps, что уже меньше наших требований в 72 кадра в секунду, а ведь пока на карте мы были одни, без других игроков. Пришлось приступить к оптимизации, и тут было потрачено много времени и ресурсов: были написаны свои шейдеры, применены более быстрые графические API, переработана система освещения, использованы механизмы повышения производительности от Oculus. Всё это позволило нам добиться 72-90 fps (в зависимости от карты и количества игроков) и обеспечить игрокам великолепную плавность и комфорт игры вместе с графикой высокого уровня.

Особое внимание было уделено сетевому коду. Вся серверная логика выполняется на отдельном компьютере (низко-средней мощности), она управляет игровым процессом и осуществляет ретрансляцию данных от игроков друг другу. Помимо удобства разработки и правильности данной архитектуры, использование отдельного сервера позволило немного снизить нагрузку с самих очков, а ведь нам очень важен каждый процент мощности Oculus Quest 2.

Для управления игровым процессом мы сделали отдельную версию ПО для администратора, который управляет игрой, ставит имена игрокам, выбирает и запускает карты, устанавливает длительность раунда и может в целом конфигурировать игровой процесс. Сами игровые сессии можно настраивать в зависимости от пожеланий игроков, например, можно отключить систему контроля прохождения сквозь стены.


Дополнительные функции и контент на момент завершения разработки:
6 карт: 1 разминочная карта – «Лобби» и 5 игровых карт – «Небоскреб», «Лабиринт», «Метро», «Ближний Восток», «Склад»
Выбор оружия представлен из 7 моделей
Кол-во участников игры от 1 до 20. Возможность смены имен игроков
Командный режим игры. Распределения по командам: «Красные» и «Синие»
Выбор внешнего вида игроков: «Спецназ», «Террористы», а также женские или мужские с автоматизированной регулировкой роста
Настройка времени игрового раунда осуществляется через приложение - ПО администратора
Статистика игры отображается после завершения игрового раунда в лобби, а также определяются MVP (наиболее результативные) игроки в каждом раунде
Система контроля прохода сквозь стены
Возможность настройки точности стрельбы каждого вида оружия, а также система повышения точности стрельбы за счет использования второй руки на цевье


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

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

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

=ENG=

Having vast experience in the field of VR, AR and GameDev, our company decided to develop a full innovative game containing such features as free movement in space, multiplayer, as well as high-level graphics. And all of that had to work on wireless and
mobile VR headsets Oculus Quest 2 with a frame rate of at least 72 frames per second! It would seem an impossible task, but we managed to fully develop the project.

When the project was under development we identified the following key features:
• The project should be implemented on Oculus Quest 2 wireless headsets without any additional computers (we use computing resources of the headsets themselves).
These headsets cannot be called a powerful device by the VR standards, so it is necessary to pay attention to optimization and energy consumption.
• The game should have high-level graphics and it should outstand other games offered for this headset. Limited power of Oculus Quest 2 headset requires us to create a special light processing system provided that we aim to achieve good graphics and stable 72 FPS.
• The calibration algorithm for users should be as simple and fast as possible. Calibration is the process of synchronizing a real room with a virtual location. To put it simply, it is necessary for a person not to bump into walls while wandering around the VR location.
• A large number of simultaneously playing users. The playing area can be 300 sq.m. or 1000 sq.m., so it is necessary to give the opportunity to play not only five- on-five, but also ten-on-ten players. This feature requires paying attention to the net
code, as well as to the optimization issue, since a large number of 3D models of players may require more hardware resources for rendering.

Creation process
The project was developed on the Unity game engine, while the back-end of the game was developed on Photon. The development prossess was divided into two parts which initially
were carried out simultaneously:
1) Graphic content creation: creation of models and animations of players, weapon models, maps, UI and etc.
2) Game logic and mechanics programming implementation.

Technical regulations and restrictions were set for all graphic content. It was necessary since Oculus Quest 2 has a limited hardware.

When performing the task of developing an accelerated calibration algorithm, we conducted a study, created prototypes of several options, tested them, iterated improvements and eventually created a one-point rapid calibration algorithm. This algorithm carries out calibration of 10 players in less than 40 seconds, which is an excellent result.

Hardware limitations (insufficient power) of Oculus Quest 2 headset complicated the development, because our goal was to achieve a high level of graphics. Our artists created high-quality models and textures for weapons, using highlights and reflections, but when the models were used in the game, the frame rate dropped to 40 fps. It did not meet our requirements of 72 frames per second, especially with the fact that at that point we were the only player present on the map.

Optimization took a lot of time and resources: our own shaders were written, faster graphics APIs were applied, the lighting system was redesigned, and the mechanisms for increasing Oculus productivity were used. All of this allowed us to achieve 72-90 fps (depending on the map and the number of players) and to provide players with a smooth and comfortable gameplay, along with high-level graphics.
Particular attention was paid to the net code. All of the server logic runs on a separate computer (low-to-medium power), it controls the gameplay and retransmits data among players. In addition to the convenience of development and the good architecture,
the use of a separate server allows us to slightly reduce the load on the headset. It was crucial for us because every percentage of the Oculus Quest 2 power was very important to us.

To manage the gameplay, a separate version of the software for the administrator was created. This way the administrator manages the game, players’ names, selects and launches maps, sets the duration of the round and can configure the gameplay. The game sessions themselves can be adjusted to the players’ wishes, for example, it is possible to disable the control system of passing through walls.

Additional features and content at the time of development completion:
• • 6 maps: 1 warm–up map - "Lobby" and 5 game maps – "Skyscraper", "Labyrinth",
"Metro", "Middle East", "Warehouse";
• 7 weapon models to choose from;
• 1 to 20 players in the game. Players’ names can be changed;
• Team mode. Players are split up into two teams: “Red Team” and “Blue Team”;
• It is possible to choose the players’ appearance: "SWAT Team" or "Terrorists".
There are also female or male models with automated height adjustment;
• The time of a game round is set through the administrator’s software application;
• After the end of the game round the game statistics are displayed in the lobby and
the MVP (most productive) players of each round are determined;
• Wall Passing Control System;
• It is possible to adjust the accuracy of shooting for each type of weapon. In addition, there is a system for improving the accuracy of shooting by using the second hand on the forearm.

The result achieved
As a result, all the objectives were achieved, and all the key features were implemented in accordance with the original requirements. During the development process, complex software solutions were applied and custom algorithms were developed.
All this provides key advantages to the project, makes it unique and globally competitive.

As part of this project, VR arenas for team battles will be opened in different cities. Some arenas have already been opened in several cities, and some arenas are being prepared for opening at the moment.

We have plans to develop and expand this project: there will be new modes, new maps, new content, and improvements in terms of the software. We are already doing a research and testing a new algorithm for automatic calibration with a reduced chance of
error.

Прочая информация о кейсе

Modern Tag — аппаратно-программный комплекс, который позволяет проводить уникальные командные сражение в виртуальной реальности (VR) со свободным перемещением. Игрок погружается в виртуальное поле боя, берет оружие в руки и становится полноценным участником сражений с максимальным эффектом погружения.

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

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

=ENG=

Modern Tag is a hardware and software complex that allows its users to carry out unique team battles in virtual reality (VR) with free movement. After the players are immersed into a virtual battlefield, they pick up a weapon and become a participant in battles with maximum immersion effect.

The game takes place in a specially prepared room with an area of 200 sq.m. In this room, markings are applied for a more stable tracking, and all virtual maps are adapted to the area and features of this room in advance. Before the start of the game, all headsets
synchronize the real space with the virtual one. The players put on a headset, split up into two teams and appear on virtual arenas, where the battles take place. All players can see each other in the virtual world with an accuracy of up to a centimeter. The gameplay itself is a shooting game with various types of virtual weapons and a variety of maps.

The classic VR experience involves little to no movement in a room. In our project we synchronized real space with virtual locations to give our users complete freedom of movement.


Скриншоты

Видео

Share
Бронза
• Лучшее решениев AR / VR
Tagline Awards 2022

Номинации

Mobile, AR, VR, IoT → AR / VR (дополненная / виртуальная реальность)

Дата запуска

15 марта 2021 года

Авторы

Команда DIGITAL OXYGEN

Ссылки

youtube.com