Ураганный экшен о приключениях советских военных мотоциклистов в виртуальной реальности
Андрей Терёхин, директор компании VRCORP – разработчика проекта:
— Нам позвонили из центра «Созвездия» и буквально сказали: «У нас есть музейные экспонаты мотоцикла ИМЗ М-72 и пулемёта ДП-27. Мы бы хотели их показать в очках виртуальной реальности HTC Vive». То есть не было ни идеи сценария, ни игровых механик, просто абстрактное желание сделать хороший проект. Я вспомнил, как в молодости играл в Call of Duty и мне запомнился этап, в котором приходится на машине пересекать линию фронта и уходить о погони. Возникло желание повторить тот же накал эмоций, но в условиях российского фронта и вместо машины — мотоцикл с пулемётом.
Так родилась идея проекта, которая постепенно стала обрастать деталями. Первый набросок игрового уровня представлял собой простой рисунок от руки.
Андрей Терёхин, директор компании VRCORP – разработчика проекта:
— Для разработки мы используем Unity API – это набор классов для решения наиболее распространённых задач компьютерной графики, физики и так далее. Дополнительно Unity представляет собой визуальный редактор, с помощью которого можно быстро собрать игровой проект. Самое важное в игре – это красивая картинка. Поэтому мы выбрали в проекте готовый процесс рендеринга высокой чёткости (HDRP). Для построения местности в Unity существует специальный 3D-объект Terrain. Используя его и готовые ассеты нам удалось очень быстро создать игровой мир.
Как правило, в играх стартовое меню представляет собой набор кнопок для запуска игры, её сохранения, загрузки и так далее. В игре «Red squad of motorcyclists VR» (так назвали её разработчики) стартовое меню уже представляет собой отдельное игровое пространство.
Игрок может без спешки осмотреть всю военную технику и советских солдат в военной форме мотоциклиста и пехотинца. Разработчики выбрали интересный формат выбора роли игрока, учитывая возможности виртуальной реальности: у игрока в руках находятся контроллеры HTC Vive, а в виртуальном пространстве в очках вместо них он видит руки. Поэтому игрок может естественным жестом указать на водителя мотоцикла или пехотинца, а те в ответ отдадут честь, подтверждая готовность к старту. Нажав на кнопку триггера на контроллере HTC Vive (аналог кнопки «Старт» в обычных джойстиках), игрок подтверждает свой выбор и оказывается либо за рулём мотоцикла, если выбран водитель, либо за пулемётом в коляске, если выбран пехотинец.
Сценарий начинается плавно с поездки на мотоцикле по лесной местности. Это даёт возможность игроку разобраться с игровыми механиками и погрузиться полностью в окружающий мир.
Экшен начинается за очередным поворотом: игрок внезапно натыкается на немецкий блокпост. Солдаты бросаются к укрытиям и начинают стрелять. Если игрок выбрал роль пулемётчика, то он может отстреливаться в ответ. Скорость езды и ухабы делают это дело весьма непростым.
Если вы по складу характера пацифист и за мир во всём мире, то выбирайте роль водителя мотоцикла. В этом случае всю грязную работу за вас будет делать искусственный интеллект, управляющий пулемётчиком в коляске, а вам остаётся только наблюдать.
Андрей Терёхин, директор компании VRCORP – разработчика проекта:
— Делать персонажей в игре – это одно из самых интересных занятий. Мы взяли несколько 3D-моделей немецких солдат и создали для них анимацию с помощью сервиса Mixamo компании Adobe. По правде сказать – это один из самых полезных инструментов для анимации персонажей. Анимаций там сотни – практически на любой случай: от танцев до боевых действий. В Unity существует специальный компонент Animator, который управляет состояниями анимаций. С его помощью мы настроили модели таким образом, чтобы максимально точно отобразить действия немецких солдат. Для обычного патрулирования мы воспользовались компонентом NavMeshAgent, с помощью которого в Unity можно быстро настроить перемещение объекта от точки к точки. Однако, дальнейшие задачи потребовали от нас разработки собственного компонента на языке C#, управляющего поведением немецких солдат. Мы хотели, чтобы солдаты были более «живыми». Я так и говорил своим ребятам в процессе разработки: «За каждым солдатом должна быть история: кто он и почему он находится там, где находится. Он может патрулировать, может стоять на посту, может спокойно стоять и курить, украдкой от офицеров, или же собраться с ними, чтобы обсудить анекдот». Поэтому мы тщательно прорабатывали траектории движения солдат и их поведение таким образом, чтобы кто-то из них бежал и звал на помощь при виде игрока, другие – открывали огонь. И, конечно же, чтобы они достаточно достоверно умирали.
Следующий по дороге блокпост преподносит сюрприз: дорога полностью заблокирована и игроку приходится уходить через поле боя, щедро усыпанное рытвинами и остатками военной техники. Трясучка незабываемая и настоящая проверка для вестибулярного аппарата. Проехав через поле, игрок вновь нарывается на немецкие патрули и проезжает мимо них дальше по дороге, ведущей в деревню.
В самой деревне напряжение достигает своего пика. На въезде игрока встречает колокольный звон с вершины красивой белой церкви, расположенной в центре деревни.
Тут же навстречу кидаются немецкие патрульные, расположенные в деревне на каждом шагу. Проезжая по тесным улицам, игрок внезапно оказывается рядом с танком, дуло которого практически на уровне головы мотоциклиста. Этот момент особо показывает, насколько игра погружает игрока в свой мир: практически каждый пригибается, чтобы не стукнуться лбом о виртуальное орудие.
Андрей Терёхин, директор компании VRCORP – разработчика проекта:
— Заставить игроков поверить в происходящее – это настоящее волшебство. Здесь важно всё: красивое изображение, объёмный звук, достоверная механика взаимодействия с окружающим миром и реалистичные, а не картонные персонажи. Формат виртуальной реальности с одной стороны облегчает эту задачу, полностью погружая игрока в виртуальный мир, а с другой стороны легко заметить даже малейшие недостатки, вроде камня, висящего в воздухе, или звука, доносящегося не с той стороны. Для создания качественной виртуальной реальности мы использовали SDK SteamVR, работающий с OpenVR. Этот набор содержит всё, необходимое, включая преднастроенные объекты контроллеров, камеры, интерактивных предметов, объёмного звука и так далее. К сожалению, у Unity и Valve возникли разногласия, приведшие к отсутствию поддержки Unity OpenVR. Поэтому интеграция потребовала от нас больших усилий, нежели обычно.
На выезде из деревни игрока встречает ещё один танк, перегородивший проход. Мотоцикл останавливается, а танк поворачивает дуло, направляя его на мотоцикл. Тут можно и запаниковать.
Однако, мотоцикл отъезжает назад и, свернув в узкий промежуток между домами, проезжает позади танка и углубляется в лес.
У игрока есть время отдышаться от пережитого приключения, осмотреть красоты природы, послушать пение птиц и решить: стоит ли повторить этот увлекательный аттракцион.
Материал подготовлен совместно с компанией VRCORP