CinemaVR - это комплексное решение, которое пронизывает весь стек от железа, до системы управления франчайзи и разработки новых VR-игр. В работе мы столкнулись с массой технических проблем и решили много интересных задач:
Автоматизация систем, которые плохо предназначены для автоматизации (игровые машины на персональной версии windows и steam);
Работа и централизованное управление площадками в условиях нестабильного интернета;
Разработка интересных VR-игр для игры на большой площади;
Мониторинг и аналитика работы сети.
В этом докладе я расскажу про путь, который прошел проект с нуля до работающей сети из десяти локаций по Москве и Петербургу, с какими проблемами мы столкнулись и как их решили.
Отчет за 2014-2015 годы. План до конца 2015 года.
Подписывайтесь на нас!
VK: https://vk.com/drupalsib
FB: https://facebook.com/groups/drupalsib
Twitter:
https://twitter.com/SibDrupalCamp
https://twitter.com/DrupalSib
Instagram: https://instagram.com/drupalsib
Есть ИТ-проект со своим софтом и сроками, ресурсами и ценами. Есть контент-проект со своей дорогой редакцией, статьями и комментариями. И есть ивент-проект со своими участниками и спикерами, программой и булочками с клюквой. Что общего и как навыки управление ИТ- и контент-проектами помогают сделать отличную конференцию для разработчиков.
Отчет за 2014-2015 годы. План до конца 2015 года.
Подписывайтесь на нас!
VK: https://vk.com/drupalsib
FB: https://facebook.com/groups/drupalsib
Twitter:
https://twitter.com/SibDrupalCamp
https://twitter.com/DrupalSib
Instagram: https://instagram.com/drupalsib
Есть ИТ-проект со своим софтом и сроками, ресурсами и ценами. Есть контент-проект со своей дорогой редакцией, статьями и комментариями. И есть ивент-проект со своими участниками и спикерами, программой и булочками с клюквой. Что общего и как навыки управление ИТ- и контент-проектами помогают сделать отличную конференцию для разработчиков.
Андрей Харченко, jocker3d@gmail.com, Game Developer
Независимая разработка игр. Что это такое и как правильно начать?
Создание собственной игры - увлекательный, но тем не менее достаточно сложный процесс.
Важно знать о многих аспектах, начиная от выбора технологии и заканчивая правильной организацией работы в команде.
В докладе будет рассмотрено:
- Плюсы и минусы технологий: Marmalade SDK, Unreal Engine, Unity, Cry Engine, Custom Engine
- Команда: Сколько нужно человек для разработки игры
- Объем проекта: Цифры на примере реального проекта
- Рабочий pipe line: Итерации в процессе разработки
- Фокус-тесты: Почему это очень важно
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Ontico
HighLoad++ 2017
Зал Калининград, 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2939.html
CinemaVR - это сеть аттракционов виртуальной реальности, расположенных в торговых центрах и кинотеатрах.
Сеть была запущена 1-го января с 10 локациями, в августе локаций было 25, к концу года будет 80.
На каждой локации 4-8 игровых машин и локальный сервер (итого: флот в сотню машин), которыми нужно управлять: контролировать, что конфигурация операционной системы соответствует целевой; что игровой контент и сопряженные сервисы скопированы и настроены; мониторить загрузку, статус работы, нетиповые события; собирать бизнес-события и синхронизировать данные, которые должны быть общими во всей сети.
...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...DevGAMM Conference
В рамках лекции будет рассмотрен ряд уже имеющихся инструментов оптимизации на движке, о которых стоит знать, начиная работу над проектом. Доклад также затрагивает практическую основу и причины таких подходов, совмещая тематику архитектуры современных игровых движков и механик рендера сцены.
Павел Прищепа - Drupal хостинг полного циклаDrupalSPB
Павел Прищепа - Drupal хостинг полного цикла
Событие: Drupal White Nights 2014
Дата: 07.06.2014
Анонс: http://camp2014.drupalspb.org/sessions/drupal-hosting-polnogo-cikla
Publishing a Unity based Title on mobile, PC and consolesDevGAMM Conference
As we know the Unity allows us to develop one project on different platform from mobile till consoles. So how we can do it practically? Using experience existence game we talk about several necessary steps to publish project on PC/PS-4/Xbox one successfully.
#MadeWithUnity
В докладе я рассказываю о практиках, которые мы активно используем в компании Банки.ру. Как мы добились стабильного процесса выкладки изменений на бой. Как мы отслеживаем, что наши изменения действительно приводят к успеху.
The report I talk about practices that we actively use in the Banki.ru company . As we have achieved a stable process calculations of changes in the fight. How do we keep track of our changes do lead to success .
Xp days 2019 - Why startups need SRE practicesAlexey Andreev
In Prisma we process more than 500k photos per day on the server. I would like to present why SRE practices are needed in a small company, how to implement them without pain, why it pays off, and how we reduced the number of incidents.
C++ в играх, больших и не очень, Игорь Лобанчиков
С++, являясь прямым потомком C - одновременно гибкий и эффективный с точки зрения производительности язык. За счет оптимизирующего компилятора любой красиво и правильно написанный код будет быстрым, стабильным и безопасным. Ну, или нам бы этого очень хотелось.
На простых примерах из жизни мы рассмотрим благие намерения, куда они нас заводят и почему так получается.
Машинное обучение - это не только веб-сервисы на сверхпроизводительных TPU. В реальных условиях может потребоваться возможность применять ML-модели на конечных устройствах.
Например, мобильное приложение, которое должно работать в оффлайн, или Enterprise-сервис, который работает в закрытом контуре.
При этом не всегда есть возможность вместе с моделью внедрить специализированное оборудование и приходится запускаться на чем есть.
В этом докладе на примере одной конкретной модели машинного зрения я покажу, как её запустить:
- в облаке на GPU;
- в браузере клиента;
- на мобильном устройстве;
- на ноутбуке без видеокарты;
- на микросхеме за $10.
Покажу, какой trade-off требуется в каждом случае и что происходит с производительностью и качеством.
Андрей Харченко, jocker3d@gmail.com, Game Developer
Независимая разработка игр. Что это такое и как правильно начать?
Создание собственной игры - увлекательный, но тем не менее достаточно сложный процесс.
Важно знать о многих аспектах, начиная от выбора технологии и заканчивая правильной организацией работы в команде.
В докладе будет рассмотрено:
- Плюсы и минусы технологий: Marmalade SDK, Unreal Engine, Unity, Cry Engine, Custom Engine
- Команда: Сколько нужно человек для разработки игры
- Объем проекта: Цифры на примере реального проекта
- Рабочий pipe line: Итерации в процессе разработки
- Фокус-тесты: Почему это очень важно
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Ontico
HighLoad++ 2017
Зал Калининград, 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2939.html
CinemaVR - это сеть аттракционов виртуальной реальности, расположенных в торговых центрах и кинотеатрах.
Сеть была запущена 1-го января с 10 локациями, в августе локаций было 25, к концу года будет 80.
На каждой локации 4-8 игровых машин и локальный сервер (итого: флот в сотню машин), которыми нужно управлять: контролировать, что конфигурация операционной системы соответствует целевой; что игровой контент и сопряженные сервисы скопированы и настроены; мониторить загрузку, статус работы, нетиповые события; собирать бизнес-события и синхронизировать данные, которые должны быть общими во всей сети.
...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...DevGAMM Conference
В рамках лекции будет рассмотрен ряд уже имеющихся инструментов оптимизации на движке, о которых стоит знать, начиная работу над проектом. Доклад также затрагивает практическую основу и причины таких подходов, совмещая тематику архитектуры современных игровых движков и механик рендера сцены.
Павел Прищепа - Drupal хостинг полного циклаDrupalSPB
Павел Прищепа - Drupal хостинг полного цикла
Событие: Drupal White Nights 2014
Дата: 07.06.2014
Анонс: http://camp2014.drupalspb.org/sessions/drupal-hosting-polnogo-cikla
Publishing a Unity based Title on mobile, PC and consolesDevGAMM Conference
As we know the Unity allows us to develop one project on different platform from mobile till consoles. So how we can do it practically? Using experience existence game we talk about several necessary steps to publish project on PC/PS-4/Xbox one successfully.
#MadeWithUnity
В докладе я рассказываю о практиках, которые мы активно используем в компании Банки.ру. Как мы добились стабильного процесса выкладки изменений на бой. Как мы отслеживаем, что наши изменения действительно приводят к успеху.
The report I talk about practices that we actively use in the Banki.ru company . As we have achieved a stable process calculations of changes in the fight. How do we keep track of our changes do lead to success .
Xp days 2019 - Why startups need SRE practicesAlexey Andreev
In Prisma we process more than 500k photos per day on the server. I would like to present why SRE practices are needed in a small company, how to implement them without pain, why it pays off, and how we reduced the number of incidents.
C++ в играх, больших и не очень, Игорь Лобанчиков
С++, являясь прямым потомком C - одновременно гибкий и эффективный с точки зрения производительности язык. За счет оптимизирующего компилятора любой красиво и правильно написанный код будет быстрым, стабильным и безопасным. Ну, или нам бы этого очень хотелось.
На простых примерах из жизни мы рассмотрим благие намерения, куда они нас заводят и почему так получается.
Similar to Стачка 2017: CinemaVR - история запуска (20)
Машинное обучение - это не только веб-сервисы на сверхпроизводительных TPU. В реальных условиях может потребоваться возможность применять ML-модели на конечных устройствах.
Например, мобильное приложение, которое должно работать в оффлайн, или Enterprise-сервис, который работает в закрытом контуре.
При этом не всегда есть возможность вместе с моделью внедрить специализированное оборудование и приходится запускаться на чем есть.
В этом докладе на примере одной конкретной модели машинного зрения я покажу, как её запустить:
- в облаке на GPU;
- в браузере клиента;
- на мобильном устройстве;
- на ноутбуке без видеокарты;
- на микросхеме за $10.
Покажу, какой trade-off требуется в каждом случае и что происходит с производительностью и качеством.
2. Про VRTech и меня
● VRTech - фонд, вкладывается в VR-проекты
● Андрей Татаринов
○ CTO в VRTech
○ До этого CTO в Спутник, Zvooq, Enter; SRE в Google
3. Про CinemaVR
● Сеть аттракционов
виртуальной реальности
● Модульная архитектура
● Уникальные игры по сюжетам
фильмов
● Размещение рядом с
кинотеатрами в Москве и
Петербурге
● В будущем: франшизная сеть
5. С чего все началось
● 20 сентября
● Запуск на новогодние праздники, сдвинуть нельзя
● 10 локаций
○ Застроить и запустить
○ Меньше - плохо, лицензии за контент - фикс
● Три месяца до старта
● Ресурсы
○ Разработки платформы нет - найм под проект
○ Разработка игр на аутсорсе
○ Застройка на аутсорсе
○ Непрофильные задачи - люди с других проектов
6. Что делать с такой постановкой задачи?
● Два сильных условия
○ образ результата и дата запуска
● Три месяца на весь проект
● Команда разработки
○ Нанимается под проект
○ “Нет времени объяснять, надо кодить!”
● Водопад
○ Сформировать концепцию и план по исследованиям/разработке
○ Найти хотя бы какой-то ответ на все вопросы, реализовать все ключевые компоненты
○ Подготовить оборудование для всех локаций
○ Развернуть
○ Запустить
○ Не дать упасть
● Фокусировка
8. Старт работы
Первые пара недель:
● Думать: проектировать систему
● Нанимать команду
○ HH.ru
○ Конверсия 50 → 10 → 1
○ Junior/Middle
○ Готовность к широкому спектру задач
9. Концепция: что использовать для VR?
Задачи VR:
● Показать картинку (+реагировать на движения головы)
● Отслеживать положение пользователя в пространстве
Решения:
Маска Трекинг
Samsung GearVR +
OptiTrack/Vicon
GearVR OptiTrack/Vicon (+свое
решение по синхронизации
систем)
Oculus Rift Oculus Oculus (камера)
HTC Vive HTC Vive HTC Vive (Lighthouse)
17. Архитектура и системы
● VR
○ HTC Vive, SteamVR
● Контент
○ Собственный контент - unity/unreal, аутсорс
○ Игры из Steam
● Управление локацией
○ Агент на игровой машине - C#, разработка
○ Сервер управления локацией - Ruby on Rails, разработка
● Управление конфигурацией
○ Chef, разработка
● Управление сетью локаций + сайт
○ Ruby on Rails, разработка
● Аналитика
○ Kibana, Jupyter
19. План есть, работаем
● Трелло борда с фичами по приоритетам
● Приоритет 0 должен быть закрыть любыми средствами
● Четкий план по времени
● Квотирование времени по фичам (ex: за неделю должно быть найдено и
реализовано любое решение)
● Ежедневный стендап, но без аврала: по выходным - отдыхаем
23. Запуск
● За две недели до запуска (~15 декабря) переходим в режим подготовки
оборудования для локаций
● Процесс еще плохо автоматизирован
● 1-2 дня для подготовки локации (сейчас: 4 часа)
● План-график по застройке и старту локаций
● Разработка фактически закончена
24. Запуск
● Первый месяц (с 15 декабря по 15 января) поддержка силами команды
разработки
● Существенных проблем не было
● 2-го января обновился Steam, пришлось перезагружать все игровые
машины
● 3-го января обновляли драйвера DirectX и выкатывали новую игру
25. Нюансы
● Калибровка легко сбивается если задеть лайтхаус
● Администраторы площадок занимаются перекалибровкой вместо того,
чтобы звонить в саппорт
● Обновления в win10 нельзя отключить, после скачивания обновления
windows перезагружается
● Стим обновляется и сбивает настройки
● Wi-Fi в ТЦ перегружен, видео-стриминг не работает без провода
● Интернет плохой и быстро кончается
● Крючки для одежды в кубе забыли
26. Жизнь после запуска
● Развитие платформы
○ Аналитика
○ Автоматизация ручных процессов (например отчетность по итогам дня)
○ Расширение функционала (например билеты на полчаса)
● Отладка процессов
● Расширение ассортимента игр
● Старт продаж франшизы