Грабли виртуального квеста, часть вторая: строительство, миллиард багов и тошнота в VR
На это можно смотреть бесконечно — как женщина разрушает квест и освобождает помещение под VR-клуб:
Подробности под катом.
Дизайн-проект и стройка
В Новосибирском «Квест-Хаусе» был открыт первый квест «Во все тяжкие». Он устарел морально и физически, поэтому правильным решением было бы закрыть его и переделать в виртуальный квест. Так мы и поступили.
Общая площь, которая нам была доступна — 37 м². Этого слишком много для виртуального квеста, где будет стоять 4 кресла, 4 компа и 4 Окулуса. Поэтому площадь мы решили поделить:
- 15 м² ушло на сам виртуальный квест. Больше не надо. Как оказалось, этой площади хватит и на наш сидячий квест, и на игру с Окулус Тачем стоя.
- 17 м² ушло на общую зону. Мы назвали ее зоной посиделок. Это комната, которую можно арендовать дополнительно, провести там ДР или поиграть в настолки.
- 5 м² ушло на администраторскую. С ростом количества квестов мы стали остро нуждаться в зоне, откуда мы сможем давать подсказки.
Но вернемся к комнате для виртуального квеста. Наша гипотеза была такая: все аттракционы виртуальной реальности не выглядят как супер технологичные изобретения. Мы же хотели, чтобы человек с первого взгляда на комнату виртуального квеста понимал, что здесь зона высоких технологий.
Мы обратились к нашему дизайнеру интерьеров, который делает визуализации реалити-квестов.
В итоге получилась весьма футуристическая комната
Весь ремонт мы оценили в 200 000 рублей из расчета 10 000 рублей на квадратный метр. Этот бюджет мы закладываем на общие зоны Квест-Хаусов. Сумма была прописана в тз для дизайнера, соответственно, и дизайн делался так, чтобы в эту сумму мы и вписались. Но все опять пошло не так, как мы планировали.
Мы пригласили 3 строительные бригады, в основном выбранные методом рекомендаций. Первыми пришли парни в модных рубашках, что уже было странно. Оценили ремонт «на глаз» в 350 000 рублей без материалов и ушли.
Фотография взята с сайта «Модная черная рубашка фото»
Вторые были больше похожи на строителей, но их смета, опять же, была «на глаз». Свою работу они оценили в 150 000 рублей. Уже ближе. Третьи — 135 000 рублей. Но главное, что они составили четкую смету работ. Прикинули не на глаз, а реально исходя из объема работ.
Смета на всё, кроме футуристических дверей
Про двери стоит сказать отдельно. На картинке показана схема работы дверей. Сначала открывается левая часть. Внутрь заходит 2 игрока, дверь за ними закрывается. А после этого они открывают дверь спереди. Примерно так проходит процедура дезинфекции перед входом в секретную лабораторию, я думаю. Но была проблема: стоимость дверей составила бы 150 000 рублей и это без установки!
В итоге мы отказались от дорогостоящих дверей и решили сделать раздвижные зеркальные, как у шкафа-купе. Подрядчика мы выбрали третьего. Единственная бригада, которая подготовила смету, а это уже дорогого стоит (кто делал ремонт, тот поймет).
Покупка Окулусов и датчиков Лип Моушн. Выбор компов и кресел
Окулус Рифт
Запустив ремонт, мы озадачились покупкой оборудования. Шлемы Окулус Рифт CV1 вышли только летом 2016 года, купить их напрямую в России было невозможно, компания их просто не отправляла. Сервисы, которые предоставляют американский адрес, тоже не работали. Думаю, Окулус отследил их адреса и просто не отправлял туда посылки, отменяя заказ. Мы пробовали сервисы shipito.com и pochtoy.com. Какие-то еще пробовать было небезопасно. Так как про них слишком мало информации в интернетах.
Перед нами встала проблема — как купить шлемы в США. Выходом стал наш знакомый, который летел в Лас-Вегас на покерный турнир. Он же за одно прихватил шлемы и контроллеры Leap Motion.
Общая сумма на закупку оборудования вышла: 3 440 долларов или 232 200 рублей. По 800 баксов вышел каждый шлем плюс 60 — контроллер Leap.
Компы
С компьютерами была ситуация попроще. Мы прочитали рекомендованные системные требования от Окулуса и подобрали такие компы в Новосибирске. Но как любые нормальные русские, мы решили сэкономить. При тестах на домашних компах мы не заметили особых проблем с игрой и графикой. Поэтому решили купить видеокарту попроще.
Каждый обошелся нам в 40 470 рублей. Конфигурация вышла такая:
- Блок питания 500W ATX ExeGate UN500
- Видеокарта ASUS GeForce GTX 950 STRIX на 2GB.
- Жесткий диск Toshiba 1Tb P300 HDWD110UZSVA 3.5» 7200rpm 64Mb SATA3
- Корпус Trin Q1, ATX, MidiTower, черный
- Кулер CoolerBoss Xiaolong CAH-209–03
- Материнская плата MSI B150M PRO-VDH, Socket1151, iB150, 4DDR4, PCI-Ex16, 6SATA3, 7.1-ch, 6USB 3.1, VGA, DVI, HDMI, mATX, Retail
- Память DDR4 DIMM 8Gb (2×4Gb) PC17000 2133MHz Kingston HyperX FURY Black Series CL14 (HX421C14FBK2/8)
- Процессор Intel Core i5–6400 Skylake 2700MHz 6Mb TDP-65W Socket1151 tray
Общая сумма: 202 350 рублей (4 компа + 1 серверный).
Кресла
Мы считали и считаем, что кресла очень важны. Мы не хотели покупать обычные стулья за 300 рублей, на которых мы играли в виртуальный квест конкурентов. Мы же хотели произвести впечатление на клиента еще до игры, помните?
Для кресел были следующие требования:
- Они должны вписываться в дизайн.
- Они должны быть удобными.
- Они должны быть с подлокотниками. Это важно для виртуального квеста, так как иначе руки сильно устают от постоянной игры.
Все это подходило к креслам из кинотеатров. Но проблема в том, что такие компании берут только большие партии, сразу на зал-два. А нам нужно было всего 4 кресла. В тоге из 14 компаний, согласилась выполнить наш заказ только 1.
Стоимость одного: 15 070 рублей.
Общие расходы на 4 кресла: 60 280 рублей.
Итоговый результат. Найдите 5 отличий
Нежданчик с обновлением Окулуса. Бесконечные грабли
Но вернемся к разработке квеста. Для тестов все оборудование мы разместили в офисе. Собрали несложную сеть с сервером и 4 компами. Уже на этом этапе начались свистопляски: компы просто не видели шлемы Окулус по HDMI. Мы переустанавливали драйвера, перечитали все форумы. Советы сводились к следующему: переустанавливать Windows, драйвера материнки, драйвера видеокарты, Окулус. Предлагали перетыкать в разные порты, в общем, танцевать с бубном и вызывать шаманов.
Так мы промаялись 2 дня. 2 дня, Карл. И случайно до нас дошла мысль, что дома-то все работало. В профиле системного пользователя, во временных файлах инсталлятора Окулуса нашлись логи установки. В общем это выглядело как распаковки нескольких инсталляторов отдельных компонент и установка их в unattended режиме. Из-за этого мы не видели ошибки одного из них — ругался на несуществующий путь до директории со временными файлами. В логе символы русского алфавита превратили в крякозябры. Это натолкнуло на мысль, что даже в 2016 году есть софт, который не умеет использовать не английские пути файловой системы.
Создав нового пользователя с английским логином и произведя установку под ним и — та-дааам — мы получили рабочий Окулус. Это стало первым, но не последним уроком.
Для запуска игры ты запускаешь на серверном компе сервер виртуального квеста. Подключаешь 4 компьютера по IP-адресу и после этого запускаешь игру. На этом же этапе ты можешь выбрать, с какого момента игроки начнут играть.
Так как мы были в офисе, то все сотрудники стали вдруг тестерами. Сначала эта должность была привилегированной и все просились поиграть в квест, но постепенно она превратилась в кару и наказание. Играть в одну и туже игру целыми днями — то еще веселье!
Тесты сводились к нескольким вещами:
- Правильно ли были реализованы механики загадок. Здесь было важно не потерять идеи сценариста. Любая уступка могла обернуться скучной и неинтересной игрой.
- Правильно ли работает игра при 1, 2, 3 и 4 игроках. Внутри игры игроки взаимодействую друг с другом, видят действия друг друга. Кроме этого, часть загадок работают по-разному в зависимости от количества игроков.
- Графика, озвучка и интерактивные вставки.
- Отлавливание других багов. Баги скрывались везде. Ты мог случайно провалиться в текстуры. Но были и забавные: когда шел по лестнице и проваливался в бездну, то иногда ты появлялся на старте в брюхе гигантской лягушки! Катю, нашего заядлого тестера из отдела развития, это особенно веселило.
Сначала начались проблемы с контроллерами Leap. Они постоянно отключались. Их приходилось регулярно перезапускать. Оказалось, что решением было поставить максимальное питание на порты USB. Это решило проблему.
Больше всего проблем возникало из-за того, что разработчики были из другого города. Оборудование у нас кардинально различалось. Участвовать в тестах они не могли, опять же, из-за удаленности. Получалось так, что у них функционал работает, запускаем у нас — нифига. В какой-то момент мы уже начали отчаиваться, так как никто не мог понять, в чем дело. У нас стоял только лицензионный софт, мы исключили, как нам казалось, любые косяки с нашей стороны. Но проблема оставалась — у нас жутко проседал фпс, когда играло 3 и 4 человека. Играть было невозможно.
В итоге, на одном из форумов мы вычитали, что дело может быть в бесперебойнике. У нас стоял один бесперебойник на 600 ВТ на 4 компа. А блоки питания в каждом компе на 500 ВТ. В итоге мы вложили еще 19 441 рублей, купили еще 3 бесперебойника по 500 ВТ каждый. И, о чудо, косяки прекратились. Мы думали, что самое сложное уже позади! Но куда уж там.
Дальше у нас начались проблемы с производительностью видеокарт. Это совпало с обновлением версии Окулуса. Компы вдруг начали не справляться с нагрузкой, игра стала тормозить, а комп нагреваться.
Плюс, мы заметили, что на первом компе (только на нем стояла видеокарта Palit GeForce GTX1060 6Gb) fps был на уровне 60 кадров в секундну, а на остальных: 25–30. В итоге мы решили, что нужно докупить такие же карты и на другие. Итог: еще 63 600 рублей непредвиденных вложений. Сэкономили! Сейчас средний FPS держится в районе 80–90 кадров в секунду.
Тошниловка. Результаты тестов
Это слово стало ключевым при работе с виртуальным квестов. Всем тестовым группам нравилось играть в квест. Но когда их начинало тошнить, они просто не могли продолжить игру. Только 70 процентов хотели продолжать после первых 50 минут игры. Остальные 30 просто не могли.
От чего тошнит? Основная причина в том что мозг верит в картинку и происходящие передвижения, а вестибулярный аппарат говорит, что он сидит на месте и посылает в организм сигнал, что, видимо, он отравлен и нужно избавляться от яда. Звучит странно, но так это и работает.
Мы прочитали, наверное, все статьи про тошноту в виртуальной реальности и способы борьбы с укачиванием в целом. Основные рекомендации сводятся к следующему:
- В помещении должно быть прохладно. Мы сразу поставили кондиционер, с этим проблем нет.
- В помещении должен быть свежий воздух. Когда 4 человека играли в квест, то становилось слишком душно, не хватало воздуха, и это способствовало тошноте. Мы сделали приточную вентиляцию, чтобы решить эту проблему.
- Конфетки, прохоладная вода. Все это мы разместили в зоне посиделок.
- Максимально реалистичная картинка и высокое качество графики.
- Удержание стабильно высокого FPS (выше 60), без просадок.
- Отсутствие резких перемещений, поворотов и движения в вертикальной плоскости;
- сокращение непрямых передвижений и ускорений;
- дискретные перемещения, когда человек смотрит в точку, в которую он перемещается;
- все действия в VR должны быть интуитивно ожидаемы и предсказуемы: если игрок поднимает голову вверх, то и в VR он должен поднять свой ракурс обзора, иначе вестибулярный аппарат не поймет происходящего;
- употребление продуктов содержащих имбирь перед и во время погружения в vr;
- погружаться в vr постепенно, начиная с маленьких временных промежутков, наш организм адаптируется и со временем привыкает. Меня тоже иногда укачивало, теперь же я не чувствую никакого дискомфорта.
- помещение игрока в кабину или добавление статичного элемента как например нос (по опросам игроков большинство из них не замечали его, и он никак им не мешал) или прицел. Этот элемент позволяет глазу зацепиться за него и не теряться в пространстве;
Нос в виртуальной реальности взят отсюда
Дальше мы подумали, что можно изменить в самой игре. Остановились на следующем:
Замечание про нос казалось резоным: вашему мозгу сложно центрировать изображение, так как отсутствует ориентир. Эту проблему мы решили с помощью прицела, который добавили в игру. Да, это немного снижает реалистичность происходящего, но снижает вероятность неприятных ощущений.
По тестам мы поняли, что основные приступы случаются, когда ты слишком резко поворачиваешься, идешь или летишь. Поэтому скорость всех действий была снижена на 40 процентов.
Конечно, полностью побороть тошниловку не получится, но мы хотим свести ее к минимуму. При этом мы придерживаемся позиции, что тошниловка в виртуальной реальности — это норма. Когда вы идете кататься на яхте в море, вы же понимаете, что вас может начать тошнить? Это же не значит, что катер плохой. Текущий уровень технологий не позволяет нам исключить этот фактор полностью, поэтому с ним нужно будет считаться так же, как и с тошнотой при прогулке на катере, ничего не поделаешь.
На данный момент изобретены браслеты, подающие электроимпульсы в организм. Они подают сигналы в мозг, имитирующие движение в пространстве. Но судя по отзывам пользователей VR — это всё еще не более чем плацебо.
VR-клуб, чтобы отбивать расходы
Время шло, мы уже закрыли квест «Во все тяжкие», уже сделали ремонт и были, в общем-то, готовы открыть квест. Но вот сам квест был не готов к нужной дате. Это создавало нам миллион сложностей! Мы перестали получать выручку с квеста, который закрыли. Мы ежемесячно несли расходы на аренду и заработную плату сотрудников. А конца и края разработки еще не было видно. Нужно было искать выход из ситуации.
И мы подумали, что у нас есть компы, есть окулусы. И уже есть хорошие игры в стиме и окулус сторе, в которые народ захочет поиграть. Мы сами были в восторге от туториала окулуса, от стартовых игр, которые даются в подарок. Самим хотелось попробовать и другие игры.
Мы перевезли все оборудование в квест. Офисные сотрудники выдохнули с облегчением, а администраторы Квест-Хауса напряглись :)
Из игр на ВР методом проб и ошибок мы выбрали самые интересные для игры с обычным джойстиком: Obduction, Subnautica, Monstrum, The Solus Project, Boogeyman, Bazaar, Dead Secret, Project Cars, Gunjack, Deathlike, Kittypocaltpse, Dinofense, Destinations.
Самое интересное, что лично нам зашли больше гоночки BlazeRush, которые игрались на четверых и вообще не были рассчитаны на ВР, а игрались в режиме кинотеатра. Мы играем только в режим «выживания», где твоя задача остаться в живых, а задача других игроков: подорвать тебя из оружия, либо замедлить. За вами мчится огромный каток, который уничтожает самых медленных участников.
Но мы отвлеклись!
Мы начали ковырять дальше. Недавно откопали крутой софт: Vorpx. Ее суть в том, что она адаптирует не VR-игры под VR. Так мы запустили GTA V, SKYRIM, Fallout 4, OUTLAST 2. Конечно, графика не такая крутая, как в играх, заточенных под VR. Но поиграть в GTA в очках виртуальной реальности — дорогого стоит. Кто не мечтал сесть в крутую тачку и на всей скорости врезаться в ментовскую? Когда ты играешь в игру от первого лица в очках — это совсем другие впечатления. Стоит отметить, что Vorpx — программа не для коммерческого использования.
Для рекламы мы начали снимать видеообзоры игр. Вот один из примеров.
Еще 1 плюс ВР-клуба в том, что сюда люди могут приходить сколько угодно раз, а не как в квесты — 1 раз прошел и больше не вернешься.
VR-клуб немного облегчил наше бремя, но и внезапно создал новые проблемы. Квест после переезда перестал запускаться, если монитор не подключен к компьютеру. В офисе работало, а после переезда начал требовать монитор! В этот раз причина так и не была найдена, как бы мы не старались.
Поэтому мы изобрели «заглушку». Это обычный вга-кабель, который эмитировал включенный монитор. Сигнал был аналоговым, на него было просто подать напряжение. Но в итоге Окулус запускался на встроенной на материнке видеокарте, а не на дискретной. Страдали FPS, графика. Играть было невозможно.
Первая версия наших заглушек
Начали дальше изобретать велосипед и сделали заглушку на DVI-D порт. С ней проблема была решена, участвовала только дескретная видеокарта. Если раньше, чтобы переключиться с виртуального квеста на виртуальный клуб, нужно было вытащить заглушку и перезапустить компьютер, то сейчас этого делать не нужно.
Текущая ситуация, планы на будущее.
В итоге прошло 9 месяцев с запуска разработки виртуального квеста. 9 месяцев боли, радости и разочарований. Срок разработки был просрочен на 6 месяцев.
Мы уже прошли кучу степеней общения с разработчиками: ругались друг с другом, угрожали, мирились, работали рука об руку. Они приезжали к нам, работали из Новосибирска. Сейчас проект как никогда близок к завершению. Неделя, может две, и мы запустим первый виртуальный квест в Новосибирске.
Сейчас мы одновременно работаем над открытием квеста, поиском инвестора, сбором собственной команды разработчиков и упаковкой. А грабли, они есть в любом стартапе. Но столько сложностей в одном проекте мы пережили впервые!
Если вам все еще не достаточно, то можете посмотреть видео о нашей команде на сайте конкурса «Я Бизнесмен — 2017». Оно тоже снято с нашим специфическим чувством юмора, вам понравится.
Комментарии (5)
21 февраля 2017 в 11:35
+1↑
↓
Размышляю над покупкой шлема домой и вот вопрос. А почему был выбран Oculus, а не HTC VIve?21 февраля 2017 в 11:42
+1↑
↓
Мы выбрали Окулус, потому что он дешевле, потому что в нашем квесте не надо ходить по комнате и использовать контроллеры специальные. И у Окулуса есть возможность подключить контроллеры Leap, чтобы перенести ваши руки в игру. Нам нужен был этот способ управления внутри квеста. Если интересно, мы об этом писали в первой части.21 февраля 2017 в 11:48
0↑
↓
Понятно спасибо!
21 февраля 2017 в 12:29 (комментарий был изменён)
+1↑
↓
Спасибо!
Очень читабельно и интересно, как и все ваши предыдущие статьи.
Синяя изолента отдельно доставила.21 февраля 2017 в 12:43
0↑
↓
Спасибо за интересную статью!