Командные поединки для Dota Bot - PullRequest
2 голосов
/ 19 декабря 2009

У меня есть бот ghost ++, в котором находятся игры DotA ( карта Warcraft 3, в которую играют 5 игроков против 5 игроков ). Я пытаюсь придумать хорошие формулы, чтобы сбалансировать игроков, которые собираются на матч, основываясь на их записях ( У меня есть история игр для нескольких тысяч игр ). Я знаком с некоторыми концепциями, необходимыми для подбора игроков, такими как достоверность, основанная на размере выборки количества игр, в которые они играли, аппроксимации параметров и степеней свободы. Таким образом выбрасывая любые переменные, которые не вносят достаточный вклад в r ^ 2. Мой бот собирает довольно много переменных для каждого игрока из каждой игры:

The Important ones:
Win/Lose/Game did not finish
# of Player Kills
# of Player Deaths
# of Kills player assisted

The not so important ones:
# of enemy creep kills
# of creep sneak attacks
# of neutral creep kills
# of Tower kills
# of Rax kills
# of courier kills

Быстрое объяснение:

Убийства / смерти не определяют, кто победит, но золота, полученного и потерянного в результате этого, обычно достаточно, чтобы наклонить игру. Целью игры является убийство Башней / Раксом ( после того, как команда потеряет все свои башни / ракс, ее трон может быть атакован, и если это будет уничтожено, они потеряют ), но я не действительно посчитайте их важными, потому что это довольно случайно, кто получает кредит на убийство башни. И есть вероятность, что если вы разрушите башню, то только потому, что какой-то другой игрок чувствует себя хорошо и отвлекает другую команду в других местах на карте.

Я немного запутался, пытаясь разобраться с тем фактом, что в команде 5 игроков, поэтому, в конечном счете, каждый не несет ответственности за победу команды.

Возьмите игрока, который действительно хорош в убийстве, имеет 40 убийств и только 10 смертей, но в своих 5 играх он выиграл только один раз. Должен ли я дать ему дополнительную оценку за столь высокий показатель убийства, несмотря на проигрыш ( при проигрыше, трудно поддерживать положительное соотношение убийства / смерти )? Или я должен пристыковать его за то, что он проиграл, предполагая, что, несмотря на хорошее соотношение убийств и смертей, он, вероятно, играет очень жадным образом, только следя за собой и не помогая своей команде?

В конечном счете, я не думаю, что мне нужно угадывать подобные вопросы, потому что у меня так много данных. Но я не знаю, как посмотреть на данные, чтобы ответить на такие вопросы. Может ли кто-нибудь помочь мне придумать формулы, которые помогут команде сбалансировать и предсказать результат?

Спасибо, Dan

1 Ответ

3 голосов
/ 19 декабря 2009

Я думаю, что часть проблемы заключается в том, что это командная игра, и поэтому общая способность команды не является строго суммой способностей игрока. Комбинации игроков одного и того же или разных стилей могут дополнять или мешать команде в целом, таким образом изменяя общие способности команды независимо от индивидуальных уровней мастерства игроков.

Возможно, вам нужен метод для классификации каждого игрока по «типу игрока», а затем провести анализ прошлых данных, чтобы увидеть, как комбинируются различные наборы типов игроков, которые вы затем могли бы использовать для оценки своих командных рейтингов.

...