Gamedev Андрей Верещагин
6 204

Создание игры для виртуальной реальности — опыт студии Playgendary

Советы от авторов Samurai Chef.

В закладки
Аудио

Игра Samurai Chef от Playgendary стала первым проектом компании для устройств виртуальной реальности. В своей колонке для DTF основатель и руководитель студии Дмитрий Шеленговский рассказал, какими сложностями столкнулась команда при создании игры и какие уроки вынесли в ходе разработки, а также поделился советами с теми, кто собирается делать VR-игру.

Любая хорошая идея может упереться в ограничения VR-платформы

Хорошую интересную игру сделать непросто, но гораздо сложнее — создавать её в условиях со множеством ограничений VR-платформы, для которой делается проект.

Например, ограничения в управлении персонажем. Если гарнитуры, такие как Oculus, HTC Vive, PlayStation VR, полностью отслеживают позицию головы и рук игрока в игровом пространстве, что позволяет вводить в геймплей наклоны и привычное взаимодействие с объектами, то с мобильными VR-платформами всё сложнее.

Google Daydream VR, например, отслеживает только повороты головы игрока. Это значит, что её перемещение в плоскости вверх-вниз не учитывается и, если пользователь в гарнитуре Google попробует наклониться или шагнуть вперёд,, его виртуальное «тело» останется на месте, и он почувствует себя некомфортно.

Также на всех VR-платформах есть некоторые технические ограничения. Игровые процессы в виртуальной реальности, в основном, происходят от первого лица и основные настройки, которые касаются восприятия пользователями виртуальной реальности, предустановлены в «железе» и для корректировок недоступны. Как, например, функция изменения поля зрения (FoV).

Разработчики при всём желании не смогут добавить в игру эффекты, основанные на изменении угла обзора: усиливающие движение эффекты, момент резкого ускорения персонажа (часто используется в гонках), или «наезд камеры», когда задний план приближается к переднему объекту.

Степень смещения картинок для левого и правого глаза или изменение угла, с которого производится «съёмка» этих картинок, также являются стандартизированными параметрами VR-устройств и разработчикам неподвластны.

Все движения персонажа в игре должны инициироваться пользователем

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

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

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

Разработчикам придётся сделать выбор: или подстраиваться под эту категорию игроков и сделать проект менее динамичным, или нацеливаться на ту аудитория, которая купила VR-гарнитуру, чтобы полностью погрузиться в игру и получить весь спектр впечатлений от пребывания в виртуальной реальности.

В конце концов, неприятные ощущения в «виртуале» в большинстве случаев — дело привычки. Так, по данным исследования компании Oculus VR, 60% игроков, которые испытывают тошноту в игре, способны приспособиться к «качке» уже после пары «погружений». И только 20% пользователей продолжают испытывать дискомфорт больше времени.

Рано или поздно разработчики VR-проекта становятся перед вопросом: поскольку люди по-разному реагируют на движение в игре, как вообще перемещать персонажа? Эту проблему решают по-разному.

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

Однако, на мой взгляд, это не очень приятный способ, поскольку игроку не дают времени адаптироваться к яркому свету. В одной игре игрок перемещался в кабине лифта между этажами здания, на каждом этаже которого находилась часть уровня-головоломки. Ещё один возможный, но довольно рискованный вариант – плавно переносить пользователя на нужное место (но мы помним, что на движение в пространстве не все игроки отреагируют хорошо).

Наш проект — игра Samurai Chef — создавался для мобильной платформы Daydream View VR. Мы изначально хотели избежать проблемы укачивания пользователя, и задумали сделать кулинарный симулятор. В игре персонаж стоит на месте, готовит еду и может только поворачиваться и двигать руками. Для перемещения игрока на кулинарные поединки с шеф-поварами других ресторанов используем телепортацию.

Руки персонажа — единственная видимая и потому важная часть игры

Разрабатывая геймплей VR-игры, стоит помнить, что пользователь будет действовать не компьютерной мышью, а собственными руками. Особенно осторожными нужно быть создателям файтингов, поскольку уже через 20 минут интенсивного виртуального боя игрок устанет и может не захотеть продолжать игру.

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

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

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

Чаще всего в VR-проектах ограничиваются летающими в воздухе перчатками. Но нам показалось, что наличие видимого тела у повара значительно усилит эффект погружения.

Важные и вспомогательные элементы интерфейса нужно располагать в поле зрения игрока

Для VR-проектов действуют те же правила по созданию интерфейсов, что и для обычных игр. Так, все элементы интерфейса должны располагаться в поле зрения игрока.

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

Если разработчик помещает важную часть геймплея за спиной игрока или сбоку, пользователь рискует её просто не заметить. С такой сложностью мы столкнулись, когда добавили в игру Samurai Chef второстепенных персонажей — работников кафе, которые помогают повару готовить блюда. В одном из прототипов игры помощники стояли справа и слева от главного героя, и игрок мог увидеть одного из них, только полностью развернувшись.

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

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

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

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

Для игровых VR-проектов существуют определённые стандарты создания 3D-моделей. Например, чтобы пользователь не чувствовал себя великаном или карликом в игровой реальности, принято располагать камеру на высоте реального (среднего) человеческого роста – 1,8 метра.

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

Один из лайфхаков: попробовать отрегулировать высоту моделей «на глаз». Когда мы работали над Samurai Chef, то, например, сделали двухметровую модель официанта. По факту она выше персонажа игрока, но в гарнитуре официант воспринимается даже ниже ростом.

Выбирайте VR-платформу по своим возможностям

Могу посоветовать разработчикам VR-проектов выбирать платформу, согласно собственным возможностям. Если для создания игр виртуальной реальности для ПК из-за сложной графики действительно требуется мощное оборудование, то с мобильными платформами всё гораздо проще.

К примеру, разработка нашей игры Samurai Chef велась на Unity на обычном ПК, а игровые процессы настраивались на гарнитуре, подключённой к телефону, совместимому с Google Daydream View VR.

Комфортной средней частотой кадров для VR-приложений принято считать 120 кадров в секунду, однако минимальный допустимый порог — 60 кадров. Именно на такой частоте работает мобильная виртуальная реальность, так как технические характеристики смартфонов пока значительно уступают стационарным платформам.

Для сравнения, в играх для ПК и консолей минимальная частота вдвое выше — 120 кадров в секунду, а на некоторых особо мощных ПК можно порадовать глаз частотой кадров 200 и выше.

Работайте на перспективу и думайте, что нового вы принесете индустрии

Создание VR-проектов упирается отнюдь не в технические требования, а, скорее, в вопрос дальнейшего распространения продукта. Индустрия развивается медленно и число пользователей гарнитур виртуальной реальности еще очень не скоро «догонит» количество пользователей ПК и консолей.

По прогнозам Института современных медиа (MOMRI), к 2020 году в России будет 5,4–5,6 миллиона VR-пользователей – это 4% населения страны. Всего же в мире, как прогнозировали исследователи Statista.com, в 2018 году технологиями VR будут активно пользоваться 171 млн человек. Однако пока прогнозы не совпадают с реальностью.

По информации крупнейшей онлайн-площадки для покупки игр Steam, ежемесячно подключают к своему компьютеру VR-гарнитуру только 0,72% всех пользователей платформы (это около 800 тысяч человек). Вероятно, эти цифры значительно ниже фактического количества проданных очков и шлемов виртуальной реальности, к тому же статистика Steam не учитывает пользователей мобильных и консольных VR-платформ.

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

Однако если сейчас выгода кажется не очевидной, по различным прогнозам, уже через четыре года доходы от продаж ПО для виртуальной реальности «выстрелят» и увеличатся более чем в 30 раз. Так что потенциал у VR огромный.

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

#опыт #vr #основы

{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["\u043e\u0441\u043d\u043e\u0432\u044b","vr","\u043e\u043f\u044b\u0442"], "comments": 2, "likes": 34, "favorites": 48, "is_advertisement": false, "subsite_label": "gamedev", "id": 40390, "is_wide": false, "is_ugc": false, "date": "Wed, 20 Feb 2019 17:25:04 +0300" }
{ "id": 40390, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/40390\/get","add":"\/comments\/40390\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/40390"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

2 комментария 2 комм.

Популярные

По порядку

1

"момент резкого ускорения персонажа (часто используется в гонках)" - кажется, в Sprint Vector есть что-то похожее. Там вообще много интересных механик про передвижение, от которых не сильно (или совсем не) плохо.

"В VR-играх категорически запрещается принудительно поворачивать камеру (читай – голову персонажа) за игрока" - Snap Turn работает терпимо для сидячего VR. Да и стоя можно им пользоваться в каком-нибудь Skyrim.

"Однако этот способ, хоть и позволяет перемещать игрока без тошноты, имеет другой побочный эффект — частое мигание чёрного экрана, из-за которого глаза очень быстро утомляются." - ??? Возможно, особенность мобильного VR (с которым мало сталкивался), но в обычном это почти незаметный эффект. В некоторых проектах затемнение минимальное и\или появляется только в области периферического зрения, что очень здорово добавляет комфорта.
https://store.steampowered.com/app/728070/Operation_Apex/ - вот тут неплохая реализация, например. И тут же есть чудовищная механика поворота камеры контроллером, от которой ты сразу же умираешь физически. Но даже она с затемнением (оно в опциях включается) работает приятнее (умираешь, но не сильно).

"Особенно осторожными нужно быть создателям файтингов, поскольку уже через 20 минут интенсивного виртуального боя игрок устанет и может не захотеть продолжать игру." - Creed или Beat Saber. Да, ты устаешь физически через ХХ минут игры, весь мокрый и прочее. Но у тебя вырабатываются гормоны, как на тренировке, и ты получаешь прям ощутимый кайф. И хочется возвращаться и получать его снова. Примитивно, но отлично работает. Но про осторожность верно.

"Комфортной средней частотой кадров для VR-приложений принято считать 120 кадров в секунду" - у вайва и окулуса 90, 120 только у PSVR.

В остальном, спасибо за материал, нужно больше хорошего контента про и под VR :-)

Ответить
0

Жаль, что не под PSVR

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Новая игра Ubisoft на релизе выглядит
точно так же, как и на E3
Подписаться на push-уведомления