TLDR; game.jugru.org.

Пост о публичной части игрового приложения.

Предыстория

Моя команда выпустила к Joker 2020 beta версию игрового вида конференции нового типа.

Основная идея: персонаж может бегать и взаимодействовать с другими игроками и партнерами через webRTC.

Игровая платформа до сих пор доступна на основном портале live.jugru.org.

Мотивация

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

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

Имя ему game.jugru.org.

Задачи

Публикацией сервиса я решил задачи:

  • Тестирования на большом кол-ве пользователей функциональности до запуска на основном продукте
  • Сбор фидбека с клиентов во время проведения звонком и митинг румов
  • Проведение митапов с интеграцией с youtube
  • Обкатку новых технических решений в части авторизации, SFU webRTC, net5
  • Подготовки к продуктизации решения

Запуск и изменения

Для того что бы запустить такой сервис необходимо было решить глобально такие задачи:

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

Backend я сознательно не разделял на приватную и публичную часть, чтобы дополнительно тестировать нагрузку и возможности автоматического расширения в кластере k8s.

Модификация backend заняла почти 2 недели и привела с попутными исправлениями TODO меток и технического долга к рефакторингу почти 30% кодовой базы.

Самые большие изменения были сделаны в авторизационной части и в части интеграционных тестов.

Модификация frontend части не понадобилась.

В итоге через 14 дней 17 декабря 2021 на площадке состоялся первый митап SpbDotNet с трансляцией в youtube.

Хорошо поехало!