Демо показывает разницу между формульным матчмейкером и моделью, обученной на боях.
Это не “магический ИИ” и не генератор случайных цифр. Это воспроизводимая модель, обученная на синтетических боях, сделанных по тем же правилам, по которым работает реальный матчмейкинг.
Мы сгенерировали 50 игроков с разными наборами характеристик.
У каждого игрока есть 11 параметров:
Параметры задаются не случайно “в лоб”. Класс, оружие и способности влияют на диапазоны характеристик.
Например:
Отдельно рандомится "скилл" игрока:
Это сделано специально, потому что в реальных играх:
два одинаковых персонажа или класса могут играть совершенно по-разному.
После генерации игроков было создано 20 000 боёв.
Это не случайные победы и поражения.
Для каждого боя:
То есть:
Ровно так работает живая PvP статистика.
На этих 20 000 боёв обучена ML-модель.
На вход она получает разницу параметров двух команд:
А на выходе она даёт:
Эта модель не требует видеокарт, кластеров и сложной инфраструктуры.
В демо используется обычный VPS с CPU без GPU. Тем не менее:
Это достигается за счёт:
В реальном проекте балансировка может:
Это не оффлайн-аналитика и не расчёты по ночам. Это быстрый online-сервис.
Фактически:
Именно поэтому решение подходит не только AAA, but и инди-студиям.
Каждый раз, когда вы нажимаете кнопку, берётся 10 случайных игроков и создаются два матча:
Использует простую формулу:
score = 0.5 * rating + 0.3 * avg_damage + 2 * winrate
Игроки сортируются по score и делятся через одного.
Перебирает все возможные комбинации 5 на 5 и выбирает ту, где вероятность победы максимально близка к 50%.
Формула — не полный мусор. Она действительно отражает скилл в среднем.
Поэтому в части матчей простой балансер случайно попадает в честное распределение.
Но у него нет цели держать баланс.
AI балансер:
В живом проекте вместо синтетических данных используются:
Модель дообучается на свежих данных и со временем:
score = 0.5·rating + 0.3·avg_damage + 2·winrate%
—
Оптимизирует вероятность победы к 50/50
—