Работали над реализацией бизнес-логики по управлению сессиями пользователей на сервере. Проще говоря, разрабатывали механизм запуска игры пользователем.
Когда вы запускаете игру через Playkey, создается так называемая “пользовательская сессия”. Пока ползет шкала загрузки, пока вы истребляете демонов в Doom или бесчинствуете в GTA, по ту сторону экрана происходит техническая магия.
Чтобы игра от запуска до выхода прошла гладко, мы делаем следующее:
- загружаем сохранения (вряд ли кому-то захочется каждый раз начинать всё с начала);
- проверяем наличие игры на компьютере майнера;
- настраиваем игру под выбранную конфигурацию (обычно вы можете сами задавать графические параметры, например, разрешение 1080p, частота кадров 60 fps);
- контролируем, не закончилось ли оплаченное игровое время;
- мониторим и регистрируем ошибки (в случае возникновения);
- выгружаем сохранения в хранилище после завершения сессии.
Как видите, даже звучит громоздко, а работы за этим списком — и вовсе непочатый край. Конкретно на этой неделе мы написали механизм контроля игрового времени по подписке и демо-времени.
Свеженаписанный код сразу же проходит ревью командой — промежуточные проверки необходимы, чтобы в будущем избежать ошибок и упростить правки. По итогам код-ревью на этой неделе нам удалось уменьшить объем кода на 20%.
На следующей неделе будем реализовывать синхронизацию буфера обмена между клиентом и сервером, а также локализацию сообщений с сервера. Подробности читайте в следующих дневниках.
P.S. Выше мы упомянули Doom. Посмотрите, как Doom работает на Playkey.net уже сегодня: