Как стать автором
Поиск
Написать публикацию
Обновить

Создание первомайской демонстрации онлайн за три с небольшим часа

Время на прочтение2 мин
Количество просмотров1.3K
30-го апреля после сытного обеда я сел и почесал голову: завтра намечается 1 мая, а в этот день в Новосибирске традиционно проходит широко известное культурное мероприятие — Монстрация.

Понятное дело, что никакой Монстрации в этот раз не предполагалось, в связи с карантином, а её автор — Артём Лоскутов — предложил всем уйти в онлайн:

«Вирус лишил нас иерархий: теперь нет больших и маленьких монстраций, все оказались в первом ряду своей личной монстрации, где каждый лозунг — главный. Тотальная децентрализация. Монстрация становится Облачной, отражаясь облаком фотографий — своих главных визуальных артефактов, в облаке репортажей, постов, твитов и сториз».

Ну, что же, подумал я: онлайн, так онлайн. Почему бы и нет.

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

Работаю я в основном с Unity 3D, поэтому сначала возникла мысль использовать Photon Engine для быстрой реализации мультиплеерного взаимодействия. Но бесплатная версия у них очень ограничена по количеству участников, а ведь к нам на онлайнстрацию может внезапно прийти и тысяча человек.

Тогда было решено реализовать очень простой сценарий: мы делаем простую игровую сцену с простыми персонажами, а любой пользователь может оставить своё имя и сообщение, добавив себя к толпе демонстрантов.

На изображении ниже уже конечный результат.

image

Сделать простую сцену и инстанциировать настроенные префабы — это очень лёгкое дело. Самая сложная тут задача — это сделать web-api и базу данных, чтобы хранить и обновлять информацию об участниках. У меня уже есть проверенный путь, к которому мы прибегали, когда делали корпоративный портал дополненной реальности для Росатома: мы использовали NodeJS, базу данных MongoDB и платформу Heroku для быстрого развёртывания приложения. Этим же путём мы решили пойти и в этот раз.

В итоге, буквально через три с лишним часа на свет появилось приложение онлайн-демонстрации, которое я решил назвать Онлайнстрация. Конечно, приложение далеко от идеала, можно многое оптимизировать. Элементарно создание персонажей фактически устанавливает новый игровой объект на сцене, что очень неприятно для производительности. В идеале, если мы рассчитываем на количество пользователей от 500 и выше, то лучше реализовать все сущности, используя шаблон Entity Component System и его реализацию DOTS в Unity. То есть фактически это не рабочее приложение, а прототип.

Но для фана и демонстрации стека технологий — вполне сойдёт, как нам кажется.
Теги:
Хабы:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Публикации

Ближайшие события