Инди Vadim Kaipov
188

Кейс: как наши зомби под мобильный VR на CES2017 со стартапом съездили

– Холодная зима была, холодная… Я как сейчас помню… В том году еще летом воду отключали, дороги были не очень, а зима коммунальные службы застала совсем врасплох… Какой же это год был? Тысяча девятьсот девяносто… Или две тысячи… Две тысячи шестнадцатый или же семнадцатый…

В закладки

– К делу давай, откуда зомби то?

– Ребята пришли, молодые такие, активные… Бодрые - во! Пальцы гнут! Причем, есть чего гнуть! На пальцах у них штука диковинная, а в глазах огонь, как у единорогов!

Вадим (наш проактивный директор отдела маркетинга, подбивший меня на все эти буквы) возмутился:

– Че ты несешь, Ян! Каких единорогов? И чего ты как дед заладил – тебе 31! Я просто попросил написать какие-то кейсы для vc! Опиши нормально и всё…

– Сынок, ближе садись и подливай-наливай! Не стесняйся, все как на духу расскажу…

Кейс: Разработка многопользовательских техно-демок по заказу Finch VR для контроллеров виртуальных рук под мобильную виртуальную реальность, подготовка демок к CES2017

Исполнитель: GD Forge

Время действия: холодная зима 16-17 года

Обратился к нам классный уфимский «железный» стартап – Finch VR! Виртуальная реальность гремит, она еще пока она не на блокчейне и сильно будоражит умы техноэнтузиастов. У ребят тогда вовсю ковались контроллеры рук для виртуальной реальности, в том числе мобильной, и потребовались им техно-демки. Ребята классные – про них и Forbes написали и они и нас там упомянули! Готовились они зимой на CES2017 в Лас-Вегас поехать. Точнее полететь, не больно то от нас туда доедешь…

Задача сразу встала в режиме хардкора:

– Значит так, отряд! Ни шагу назад! Чтоб мобильная виртуальная реальность и красиво! Это всё пропаганда врага, что телефоны совсем не Голливуд и не Болливуд! Красиво! И мультиплеер! Чтоб демки на двух игроков были! И по мобильной сети работали! И синхронизировались в реальном времени! И режим демонстрации на выставочную плазму, чтобы прохожие не гадали «чевой-то там в черной коробочке у пользователя на морде такого интересного происходит?!» И не в виде двух ущербных кругов с телефона через ScreenCast транслировались! Знаю я вас! А полноценно в HD! Full HD! Вопросы?

После продолжительного и наполненного фатализмом молчания среди бойцов (Витька, Сашки, Женька и других принужденных добровольцев) взорвалась бомба из чистого сарказма:

– Может еще и с отдельного ракурса игровой процесс демонстрировать? И чтоб камера переключалась между глазами игроков и на постановочный ракурс со стороны? А управлять сессией с административной панели они не хотят, чтоб телефоны из шлема не вынимать?

Но что другим сарказм – для нас служба и долг:

– Это вы в корень зрите, салаги! Внесите в ТЗ! А чтобы пешей прогулкой это всё не казалось – SDK будет дорабатываться в процессе. И еще. Стоим насмерть – ради нас CES на пару дней не подвинут!

Тактические цели были определены так:

  • Административная панель презентабельного вида с режимом демонстрации геймплея и возможностью выбирать игры и перезапускать сессию.
  • Кооперативный зомби-шутер – два товарища отбиваются от прущих отовсюду зомби, машут руками, чтобы как Vive, но на мобилках!
  • Дуэль магов – закидываем друг-друга заклинаниями и отбиваем их – этакая волшебная вариация понга, швыряемся файерболами, отбиваем щитом, фигачим молниями.
  • Бокс.

Вооружились до зубов Unity3D – по стратегическим соображениям: наличие экспертизы под 3D и сети на мобилки и подготовленности SDK от устройств под юньку.

Отправились в бой. Было жарко. Был обмен военнопленными – отправили часть отряда в Уфу для непосредственной работы над железом, а оттуда привезли языка для непосредственной работы над кодом и интеграцией SDK. Могло получиться посредственно, но обошлось! Борьба была нешуточной. Были потери. Бокс не выжил. Согласованно стороны сошлись, что лучше потратить ресурсы для полировки самых зрелищных и веселых техно-демок: зомби-шутера и дуэли магов.

Проблемы и трудности:

Почти всё в этом проекте было трудностью и проблемой. Поэтому мы нарекли их приключениями и плотно ими занялись: приключение с real-time синхронизацией между живыми игроками в виртуальной реальности на мобильном устройстве, приключение с оптимизацией моделей для греющихся и садящихся в плане аккумулятора мобильных устройств, приключение коварно тающих сроков и невозможности двигать дедлайн. Как справились – руками. Никаких трюков. Для сети помог Photon Bolt, а со всем остальным помогли вера, надежда и любовь! Слепая вера, последняя оставшаяся в живых надежда и жёсткая любовь с проектом.

Как всё работало:

Запускаются клиенты на мобильных устройствах, устройства вставляются в шлем Samsung GearVR, клиенты соединяются по сети с сервером на ноутбуке, который имеет панель управления со встроенным режимом демонстрации, по своей сути также являясь третьим игроком со своей отдельной ролью наблюдателя и собственными виртуальными камерами: одна с кинематографическим ракурсом на сцену, а также две – по одной в головах персонажей игроков. Камеры динамически переключаются, всё это красиво выводится с ноутбука на плазму.

Перед CES была еще возможность протестировать демки на Google DevFest Ekaterinburg 2016 в декабре, с небольшим стендом собрали у участников фидбэк по игрушкам. Очень полезно, кстати попытаться собрать достойные показа тестовые версии посреди разработки. Дисциплинирует, как любое извращенное издевательство, вроде принудительного публичного обнажения, ну, только в технологическом плане. Ох, уж это хихикание при вылете и наши робкие «это первая стабильная сборка» и последующее осознание, что слово «стабильная»... Кхм… (Вадим, отстань, не пихайся, ты сам просил для маркетинга честные кейсы, на чьей стороне правда – тот и сильнее, ой, иди вот и посмотри, если классику не смотрел, и не мешай!).

Видео, как и что получилось в конечном итоге можно увидеть в этом промо:

Алсо, за время работы над проектом помогали ребятам с VFX для их промо-видео:

Что в итоге: мы, сами, конечно в Вегасах этих не бывали, но отчеты были весьма приятные: https://vk.com/wall-117405411_249

Поигрались с клевыми девайсами и получили очень мощную экспертизу в мобильной виртуальной реальности, сетевом взаимодействии и оптимизации 3D под мобильные платформы! Ещё были упомянуты в Forbes, что всегда к месту!

Веселые факты от Яна:

  • В процессе разработки собрали сервер с административной панелью… под Android. То есть сервер может быть не только на ноутбуке, но и на третьем телефоне! Кроссплатформенная разработка рулит! Вообще, по правде сейчас это не звучит, как веселый факт, но мы тогда собрав из Unity3D сервер под Android чуть животики не надорвали… Сервер у них… На Andorid’е… Истерика, наверное…
  • Во время этого кейса в тренде был мем «ВЖУХ!» с волшебным котиком, помните тот зашквар?
– А кто слушал – молодец! Без труда не выловишь и рыбку! На безрыбье и ракообразное – позвоночное!Вадим, прочитав всё это, резонно замечает:– Знаешь, Ян, может лучше пока не спешить дальше с кейсами…Но что он понимает, верно? Влюбимся на следующей неделе?С вами был Ян Шевченко - директор и основатель студии разработки игр и VR/AR проектов GD Forge. Появились вопросы или просто хочется познакомиться – гугльните нас!
{ "author_name": "Vadim Kaipov", "author_type": "self", "tags": [], "comments": 4, "likes": 7, "favorites": 1, "is_advertisement": false, "subsite_label": "indie", "id": 20740, "is_wide": false }
{ "id": 20740, "author_id": 65606, "diff_limit": 1000, "urls": {"diff":"\/comments\/20740\/get","add":"\/comments\/20740\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/20740"}, "attach_limit": 2, "max_comment_text_length": 5000 }

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

Популярные

По порядку

0

Классная статья, надо бы тоже начать что-то делать/

Ответить
0

плиз только не пиксельное

Ответить
0

"мобильный VR" - это что-то из садомазохизма?

Ответить
0

Не без этого

Ответить
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" } } } ]
Невероятно! Skyrim портировали на...
Подписаться на push-уведомления