2009-12-18 2 views
2

DotA (워크래프트 3 맵은 5 명의 플레이어 대 5 명)의 게임을 호스트하는 고스트 ++ 봇을 보유하고 있습니다. 나는 자신의 기록 (나는 수천 게임에 대한 게임 기록을 가지고)을 기반으로 경기에 들어가는 선수들의 균형을 맞추기 위해 좋은 공식을 생각해 내고 있습니다. 필자는 그들이 플레이 한 게임의 샘플 크기, 매개 변수 근사 및 자유도에 기초한 자신감과 같이 플레이어를 맞추는 데 필요한 몇 가지 개념을 잘 알고 있습니다. 따라서 r^2에 충분히 기여하지 않는 변수를 버린다.Dota Bot 팀 매치업

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 

빠른 설명 : 내 봇은 각 게임에서 각 선수에 대한 꽤 많은 변수를 수집

명/사망은 누가이기 든 결정하지 않지만, 금 얻고 잃어버린 것은 보통 게임을 기울이면 충분합니다. 타워/Rax의 살인은 게임의 목표입니다 (한 번 팀이 타워/렉스를 모두 잃으면 왕좌가 공격을받을 수 있고, 그것이 파괴된다면 그들은을 잃습니다). 타워 살해를위한 신용을 얻은 사람은 꽤 무작위 적이기 때문에 중요합니다. 타워를 파괴하면 다른 플레이어가 잘하고 맵의 다른 곳에서 다른 팀을 산만하게하기 때문에 가능성이 있습니다.

팀에 5 명이 있다는 사실을 다루려고 혼란 스러울 때가 있습니다. 궁극적으로 각 팀은 팀이이기 든 그렇지 않든 책임이 없습니다.

살인력이 정말 좋으며, 40 명이 죽고 10 명이 죽는다. 그러나 5 번의 게임에서 그는 오직 한 번만 승리했다. 패배시에도 높은 킬 점수를 얻으려면 추가 크레딧을 제공해야합니까 (패배시 긍정적 인 킬/사망률을 유지하기가 어렵습니다)? 아니면 좋은 살인/사망률에도 불구하고 자신을 돌보고 자신의 팀을 돕지 않는 욕심 많은 방식으로 게임을한다고 가정하면 잃을 지 모릅니다.

궁극적으로 나는 데이터가 너무 많아 궁극적으로 이와 같은 질문을 추측 할 필요가 없다고 생각합니다. 그러나 나는 이런 질문에 대답하기 위해 데이터를 보는 방법을 모른다. 누구든지 팀 균형을 유지하고 결과를 예측할 수있는 공식을 찾도록 도와 줄 수 있습니까?

덕분에, 댄

답변

3

나는 문제의 일부는, 팀 기반의 게임 있다는 생각과 같은 팀의 능력의 전체 엄격 플레이어의 abilitys의 합이 아니다. 플레이어의 동일하거나 다른 스타일 조합은 팀 전체를 칭찬하거나 방해 할 수 있으므로 플레이어의 개별 기술 수준에 관계없이 팀의 전반적인 능력을 변화시킵니다.

"플레이어 유형"으로 각 플레이어를 분류 한 다음 과거 데이터의 분석을 실행하여 다양한 유형의 플레이어 유형이 결합 된 방식을 확인하는 방법이 필요합니다. 그런 다음 팀 순위에 무게를다는 데 사용할 수 있습니다. .

+0

음, 선택할 수있는 영웅이 60 명 있습니다. 나는 플레이어에게 임의의 영웅이 주어지는 게임을 주최한다. 3 명의 살인/3 명의 사망자는 일부 영웅에게는 좋지만 일부 영웅 영웅에게는 끔찍할 수 있습니다. 내 문제의 일부는 대부분의 플레이어가 5 개 이하의 게임을 가지고 있기 때문에 개인을 분류하는 데별로 도움이되지 않는다는 것입니다. 나는 단지 "스타일"을 소음으로 몰아 내서 내가 원하는 r^2에서 멀어지게 할 수도있다. 플레이어 유형은 계속 될 것입니다 ... 그래서 우리는 각 플레이어에게 최소한 각 플레이어의 제한된 샘플에서 그리기에는 너무 많은 2 차원 점수 (스킬 + 유형)를 제공 할 것입니다. – Dan

+0

문자 부족 ...귀하의 의견을 appriciate 및 승리/잃을 기여할 수있는 고유 한 형식을 볼 수 있는지보고 시도하고 일부 의미있는 특성을 생각해 낼 수 있는지보십시오. 궁극적으로 저는 데이터를 자르는 많은 다른 방법을 시험해보고 가장 좋은 것이 무엇인지보아야 할 것입니다 ... 어떤 단일 모델도 최고의 가변 회귀가 될 수는 없습니다. – Dan

+1

거친 하나 또는 두 개의 매개 변수 플레이어 유형으로도 유용한 팀 가중치를 작성하는 데 충분할 수 있습니다. Stance = "Offensive/Defensive", 침략 포커스 = "Player/Creep/Building", Style = "Solo/Group"과 같은 것들이있을 것입니다. – jball