Интересует реализация матчмейкинга, которая будет зависеть исключительно от побед\поражений игрока.
Суть: пользователя кидает к сильному игроку - проигрывает, к слабому - выигрывает.
Так вот - не надо давать пользователю шанс повышения статистики побед выше 60%.
То есть чтобы когда статистика повышалась выше 60% его кидало к сильному противнику.
Именно этот момент и нужен мне - к кому его отправлять?
Если обычным условием делать, то получается цикл (победа, поражение, победа, поражение - при условии процента побед 50), а меня интересует именно тот момент, чтобы поражения и победы были смешаны (победа, победа, поражение, победа, поражение, поражение, поражение) но при этом процент выравнивался до +-60.
Что посоветуете? Может быть есть готовые решения данного вопроса?
Так вот - не надо давать пользователю шанс повышения статистики побед выше 60%.
Никак.
1. Нет гарантии, что сильного игрока победит другой сильный игрок.
2. Нет гарантии, что процентное отношение игроков позволит гарантированно подсовывать сильных к слабым и наоборот в нужный момент.
3. Если в игре текучка и игроки редко возвращаются, то тут вообще ничего адекватно не предсказать, первые победы/поражения могут быть везением/невезением.
Алгоритм реализуем, а вот работать не факт, что будет. А в случае сильных игроков он точно не будет работать.
Антон Спирин, Так меня реализация и интересует. После долгого отсутствия статистика будет замораживаться и проводиться так сказать калибровка под тот уровень игры, которым владеет пользователь. Если он примерно такой какой и был - разморозка. Если нет - остается та, которую заработал на калибровке.
Эти моменты меня не так интересуют. Меня больше интересует каким образом сделать, чтобы пользователь видел более менее рандом со стороны подбора соперника, а не циклы о которых я писал.
Антон Спирин, Да, это понятно. В данном случае будет зависеть еще и от игрока - победит он или нет. Если алгоритмов куча - можете привести парочку в пример, если не трудно?
drozanov, дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае, ваши вопросы будут удаляться по причине тег-спама.
Неоднократно публиковались отреверсенные алгоритмы рейтинга из battle.net, например.
Также есть более старые, времен warcraft 3, и первой части starcraft.
Возможно вам подойдет.
Вкратце: вместо подсчета процента побед, игроку начисляются очки, количество которых растет с каждым выигрышем, но чем ближе к верхней планке - тем медленнее они растут. При поражении они теряются, причем учитывается разница между очками проигравшего и выигравшего. То есть проиграв равному или сильному противнику игрок теряет меньше очков, чем проиграв слабому. И чем ближе к нижней планке - тем медленнее очки теряются.