Разработка рейтинговой платформы для мобильной игры
Задача - создать веб-платформу, которая позволит игрокам в Mobile Legends: Bang Bang (MLBB) соревноваться в неофициальном рейтинге, отслеживать статистику и организовывать турниры.
Ключевые функции и требования
1. Рейтинговая система (Skill Rating)
- Числовой показатель уровня (ELO): Основной рейтинг игрока.
- Визуальные уровни 1-10: Упрощенная градация для наглядности.
- Система лиг/рангов: Аналогия с игровыми рангами (Iron, Bronze, Silver, Gold, Platinum, Diamond, Mystic, Mythic, Mythical Immortal) с подуровнями (1-3). Ранги должны основываться на внутреннем ELO платформы, а не на официальном MMR игры.
2. PTS-система (Очковая система)
- Динамическое начисление очков за матч.
- Победа: +20-35 PTS.
- Поражение: -15-25 PTS.
- Коэффициенты для расчета:
- Уровень (рейтинг) соперника.
- Разница в очках между командами.
- Performance Score игрока (см. ниже).
3. Performance Score (Расчет эффективности)
Алгоритм должен учитывать расширенную игровую статистику MLBB для оценки личного вклада:
- KDA (Убийства/Смерти/Помощи).
- Участие в убийствах (KP%).
- Нанесенный урон героям.
- Урон по объектам (башни, крипы).
- Золотой перефарм (разница в золоте).
- Участие в командных боях.
4. Система матчмейкинга и турниров
Платформа должна предоставлять инструменты для организации матчей вне официального клиента игры:
- Создание комнат, сетов и турнирных лобби.
- Система регистрации команд и игроков.
5. Подтверждение результатов матчей
Необходимо реализовать один или несколько надежных способов:
- Через API игры: Предпочтительный автоматический метод.
- Парсинг скриншотов (OCR): Автоматическое считывание результатов с загруженных изображений итоговой таблицы.
- Ручное подтверждение: Через модераторов/администраторов платформы.
- Использование неофициальных API (с оценкой рисков для аккаунтов пользователей).
6. История матчей и детальная статистика
- Личный кабинет игрока с историей всех сыгранных матчей.
- Детальная статистика по каждому матчу: KDA, winrate, MVP, роль.
- Графики и анализ «формы» игрока (динамика результатов).
- Общая статистика профиля.
7. Техническая реализация матчей
Предлагаемые варианты архитектуры:
- Вариант А: Интеграция с мессенджером и сайтом
- Discord-бот или веб-интерфейс для поиска команды и создания лобби.
- Игроки создают лобби внутри самой игры MLBB.
- После игры загружают скриншот результата для проверки.
- Вариант Б: Автоматический сбор статистики
- Разработка или интеграция с решениями для сбора данных (аналоги Karl API).
- Автоматическая сверка результатов для минимизации ручного труда.