Игра LaserTag
Обработка игровых событий и взаимодействия элементов системы для игры LaserTag.
Для игровой зоны было разработана система для взаимодействия между точками(минисервера - в разных сценариях имеют разные режимы), базами игроков в реальном времени.
База оператора представляет собой веб-интерфейс, в котором присутствуют все необходимые данные о состоянии точек и игры.
Также реализованы звуковые в игре, которые воспроизводятся на нескольких каналах (базы игроков, игровые события).
Разработано 7 типов миссий:
(у каждой миссии есть настройки и их можно очень гибко кастомизировать)
1) Время
Задача игроков захватить как можно больше точек, пока не кончились время или не набрали нужное количество очков.
2) Перестрелка по очереди
Задача игроков захватить точки, этот тип миссии, отличается тем, что не все точки сразу активны. У точек есть приоритет захвата. У нескольких точек может быть одинаковый приоритет.
3) Поочередный захват
Задача игроков также захватить точки. Захватывать точки нужно по приоритету. У каждой точки разный приоритет. Точки открываются также по порядку захвата. Возможен встречный захват команда на команду.
4) Перенос флага
Задача игроков перенести флаг из одной точки в другую, по пути захватить нужное количество точек. В миссии есть 3 типа точек: Место выдачи флага (Откуда), место куда нужно принести флаг (Куда) и Точки (их захватывают по пути следования)
5) Уничтожение домов
Задача игроков захватить дома противника (захватить точки)
Задача и механика похожи на миссии “Время” но немного отличаются инициализацией точек, меньше параметров передается.
6) Выживание
Каждый игрок играет за себя. Задача выжить на площадке до конца раунда, некоторые точки излучают радиацию. Когда время раунда закончится прозвучит сирена. Пока звучит сирена - нужно сделать выстрел в финальную точку. Кто первый сделал выстрел в финальную точку то и выиграл.
7) Установка бомбы
Задача игроков - взорвать дома противника. Игрок получает бомбу - стреляет в точку. Этот игрок назначен “бомбоносцем” теперь игрок должен донести бомбу до дома противника за “Время на установку бомбы” бомба устанавливается выстрелом в точку.
Когда бомба установлена запускается таймер бомбы, противник может обезвредить бомбу - выстрелить в точку.
Разработано 6 режимов работы баз игроков:
1) Ожидание нажатия
Этот режим нужен на момент старта миссии, ждем нажатия кнопки игроками. Когда игроки нажмут кнопку - база отправит запрос на сервер. Если обе команды отправили запросы о готовности - раунд начинается.
2) Бесконечное возрождение / Режим лечения
В этом режиме инициализация баз происходит 1 раз во время старта. Лечит игроков (добавляет здоровье), или возрождает (новая жизнь если убили).
3) Возрождение по времени
В этом режиме, при получении запроса от сервера - база воскрешает игроков и ждет следующего запроса. Период воскрешения рассчитывается сервером по специальному алгоритму.
4) Ограниченное возрождение
На базе есть ограниченное число воскрешений, которое пополняется каждые N секунд. При использовании возрождения, база отправляет запрос на сервер.
5) Склад
В этом режиме, база команды работает как склад игровых бонусов. Этими бонусами могут являться возрождения, патроны, броня и так далее. Ресурсы могут пополнятся при захвате определенных точек.