로비에서 봇을 만드는 방법. 토너먼트 더 인터내셔널

  • 번역

우리는 봇에서 사용할 수 있는 수십 가지 항목을 선택하고 그중 하나를 선택하여 연구했습니다. 우리는 또한 전통적인 강화 학습 기술을 사용하여 차단 크립을 별도로 훈련시켰습니다. 이는 상대가 나타나기 전에 발생하기 때문입니다.


봇이 Arteezy와 대결합니다.

토너먼트 더 인터내셔널

셀프 플레이와 외부 학습을 결합한 접근 방식을 통해 토너먼트가 진행되는 동안 월요일부터 목요일까지 봇의 성능을 크게 향상시킬 수 있었습니다. 월요일 저녁, Pajkatt는 특이한 아이템 빌드를 사용하여 승리했습니다. 이 빌드를 사용 가능한 항목 목록에 추가했습니다.

수요일 오후 1시쯤에 테스트를 했는데요 최신 버전봇. 봇은 첫 번째 웨이브 이후 체력을 많이 잃었습니다. 우리는 롤백이 필요하다고 결정했지만 후속 게임이 놀랍고 첫 번째 웨이브의 행동이 다른 봇의 미끼일 뿐이라는 것을 깨달았습니다. 후속 게임에서는 봇이 미끼 전략에 저항하는 법을 배웠을 때 문제가 해결되었습니다. 그리고 우리는 첫 번째 웨이브를 위해 이것을 월요일 봇과 결합했고 Arteezy가 나타나기 불과 20분 전에 완료했습니다.

Arteezy와의 경기 후 크립 차단 모델을 업데이트하여 TrueSkill을 1 증가시켰습니다. 목요일 SumaiL과의 경기 전 후속 훈련으로 TrueSkill이 2포인트 증가했습니다. SumaiL은 로봇이 적의 눈에 띄지 않는 곳에서 파괴적인 주문을 시전하는 방법을 배웠다고 지적했습니다. 이것은 우리가 알지 못했던 메커니즘 덕분에 일어났습니다. 적의 시야 밖에서 시전하면 그가 폰드를 충전하는 것을 방지할 수 있습니다.

Arteezy는 7.5K 레벨 테스터와 경기를 펼쳤습니다. Arteezy가 게임에서 승리하고 있었지만 테스터는 그가 봇에서 배운 전략으로 그를 놀라게 했습니다. Arteezy는 나중에 이 전략이 한때 Paparazi에 의해 자신에게 불리하게 사용되었으며 거의 ​​사용되지 않는다고 언급했습니다.


Pajkatt가 월요일 봇을 이겼습니다. 그는 봇을 유인한 다음 재생을 사용합니다.

봇 취약점

SumaiL은 이 봇을 "무적"이라고 불렀지만, 본 것과 너무 다른 상황에서는 여전히 혼란스러울 수 있습니다. 우리는 가능한 모든 방법으로 봇을 물리치는 것을 목표로 플레이어들이 1000개 이상의 게임을 플레이한 토너먼트 이벤트 중 하나에서 이 앱을 출시했습니다.

성공적인 취약점은 세 가지 범주로 분류됩니다.

크립을 끌고 다닙니다. 크립이 나타나는 즉시 차선에서 지속적으로 당신을 쫓아오게 할 수 있습니다. 결과적으로 수십 개의 크립이 지도 전체에서 여러분을 뒤쫓을 것이며 적 크립이 봇의 타워를 파괴할 것입니다.
Orb of Venom + Wind Lace: 레벨 1에서 봇보다 속도 이점을 제공하고 빠르게 피해를 입힐 수 있습니다.
레벨 1 Raze: 기술이 필요하지만 몇몇 6-7K 클래스 플레이어는 짧은 시간에 3-5개의 주문을 성공적으로 수행하여 레벨 1에서 봇을 죽일 수 있었습니다.

일대일 경기 문제를 해결하는 것은 Pajkatt 버그를 해결하는 것과 유사합니다. 하지만 5v5 경기의 경우 이러한 문제는 취약점이 아니며, 이전에 볼 수 없었던 이상한 상황에 대처할 수 있는 시스템이 필요합니다.

하부 구조

우리는 아직 봇의 내부 기능에 대해 논의할 준비가 되지 않았습니다. 팀은 5대5 게임의 문제를 해결하기 위해 노력하고 있습니다.

프로젝트의 첫 번째 단계는 물리적 GPU의 클라우드에서 Dota 2를 실행하는 방법을 알아내는 것이었습니다. 이러한 경우 게임에서는 이해할 수 없는 오류가 발생했습니다. 그러나 Greg의 데스크탑에서 GPU를 실행했을 때(쇼 중에 이 데스크탑이 무대에 나타났습니다) 우리는 Dota가 연결된 모니터와 함께 로드되었으며 모니터 없이 동일한 메시지를 표시하는 것을 발견했습니다. 이것이 바로 우리가 가상 머신을 구성하여 물리적 모니터가 연결된 것처럼 가장하도록 구성한 이유입니다.

당시 Dota는 전용 서버를 지원하지 않았습니다. 즉, GPU 없이 스케일링을 사용하여 출시하는 것은 소프트웨어 렌더링이 매우 느린 버전에서만 가능했습니다. 그런 다음 로드에 필요한 호출을 제외한 대부분의 OpenGL 호출에 대한 스텁을 만들었습니다.

동시에 우리는 비교를 위한 표준(특히 내장된 봇이 1:1 모드에서 제대로 작동하지 않기 때문에)과 봇용 API의 의미를 이해하기 위해 스크립트에 봇을 작성했습니다. 스크립트 봇은 빈 경로에서 10분 만에 70개의 마지막 히트에 도달했지만 여전히 꽤 좋은 플레이어에게 패배합니다. 우리의 최고의 1v1 봇은 약 97에 도달하고(그는 타워를 일찍 파괴했기 때문에 추정만 가능함) 이론적 최대치는 101입니다.


봇은 SirActionSlacks와 대결합니다. 수많은 택배기사로 봇의 주의를 분산시키는 전략이 통하지 않았습니다.

5x5

1:1 게임 – 어려운 일, 그러나 5v5는 복잡성의 바다입니다. 이를 처리할 수 있으려면 AI의 한계를 뛰어넘어야 합니다.

일반적인 방법으로 동작을 복사하는 것부터 시작하겠습니다. Dota는 하루에 약 백만 개의 공개 게임을 개최합니다. 경기 기록은 2주 동안 Valve 서버에 저장됩니다. 우리는 지난 11월부터 전문가 수준의 모든 게임 녹화를 다운로드해 왔으며 580만 개의 게임에 대한 데이터 세트를 축적했습니다(각 게임은 10명의 플레이어로 약 45분 소요). 우리는 OpenDota를 사용하여 게시물을 검색하고 $12,000(10배)를 기부했습니다. 뿐만 아니라, 연간 모금을 원하는 금액)을 통해 프로젝트를 지원합니다.

우리는 여전히 많은 아이디어를 가지고 있으며, 우리를 도와줄 프로그래머(기계 학습에 관심이 있지만 반드시 전문가는 아닐 수도 있음)와 연구원을 고용하고 있습니다. 우리 작업에 도움을 준 Microsoft Azure와 Valve에 감사드립니다.

태그: 태그 추가

단지 플레이 방법을 배우려는 신규 플레이어는 훈련을 받지만 충분하지 않으며, 모든 영웅과 아이템의 능력을 배우기 위해 봇과 함께 플레이하기로 결정합니다. 그러나 다시 말하지만, 각 캐릭터가 특정 상황에서 무엇을 해야 하는지, 어떤 아이템을 구매해야 하는지 이해하려면 봇과 함께 수십 개의 게임을 플레이해야 합니다. 그리고 이것은 아주 오랜 시간이 걸렸습니다. 최소한 게임의 기본 능력을 빨리 배우고 기억하고 싶습니다. 이것이 Valve가 Dota 2에 로비를 만든 이유입니다. 초보자가 로비에 오면 봇과 함께 포즈를 취하고 가능한 모든 것을 배울 수 있습니다.

Dota 2에서 봇을 관리하는 방법은 무엇입니까?

로비에 들어섰는데 다음은 뭘까요? 우리는 스스로 영웅을 선택하고 적 영웅을 만들어야 합니다. 그러나 서있는 적에 대해 약 20 분 동안 연습하고 가능한 모든 아이템 조합과 그 효과를 연구 한 후에는 흥미롭지 않고 질문이 생깁니다. Dota 2 로비에서 봇을 제어하는 ​​​​방법은 무엇입니까? 결국, 우리는 적이 서 있기를 원할 뿐만 아니라 일종의 저항을 제공하기를 원합니다.

로비에서 모든 팀은 다음과 같이 나눌 수 있습니다.

  1. 캐릭터 생성;
  2. 문자 제거;
  3. 새로 고침 – 모든 능력과 캐릭터가 즉시 복원됩니다.

Dota 2 로비에서 봇을 제어하려면 몇 가지 명령만 기억하거나 적어두면 플레이가 훨씬 더 흥미로워질 것입니다.

영웅 만들기<Имя персонажа>– 사실, 게임에 나오는 영웅의 이름을 입력하기만 하면 그가 나타날 것입니다. 마지막에 적을 추가하면 적 영웅이 등장하고, 추가하지 않으면 아군 영웅이 등장합니다. Roshan에 대해 이 코드를 작성할 수도 있습니다. 그러면 Roshan이 나타나 그를 죽이기 위한 전략을 테스트할 수 있습니다.

"createhero" 명령을 사용하면 로비에 있는 거의 모든 것, 심지어 추가 분수까지 생성할 수 있습니다. -createhero fountain을 입력하면 모든 적 크립, 영웅, 심지어 타워까지 캡처하는 분수가 생성됩니다.

첫 번째 레벨 영웅과 함께 플레이하지 않으려면 간단한 명령 –levelbots를 사용하여 매우 쉽게 레벨을 추가할 수 있습니다.<необходимый уровень>.

이렇게 하면 거대한 군대를 만들어 서로 대결하고 결국 누가 승리하는지 확인할 수 있습니다. 이 과정은 매우 재미있으며 로비에 앉아 하루 종일 다양한 전략을 테스트하면서도 눈치채지 못할 수 있습니다.

Dota 2 로비에서 크립을 관리하는 방법은 무엇입니까?

Dota 2에서 크립을 관리하려면 먼저 크립을 생성해야 합니다. -createhero npc_dota_creep_goodguys_melee 명령으로 생성되며, 이것이 간단한 근접 크립이 생성되는 방식입니다. 이제 그것은 창조자의 완전한 통제하에 있으며 당신은 그것으로 마음이 원하는 무엇이든 할 수 있습니다. 같은 간단한 방법으로 중립 크립을 만들 수 있습니다.

한 가지 비밀을 알려드릴게요 - 선수들 높은 레벨그들은 종종 게임보다 로비에서 더 많은 시간을 보냅니다. 특히 새 패치가 출시되면 모든 변경 사항과 혁신을 각 캐릭터에 대해 두 번 이상 테스트해야 합니다. 이것은 매우 흥미로운 활동입니다. 게임의 모든 요령을 알고 이해하며 이를 구현하는 연습을 하게 됩니다. 로비에서 몇 시간을 보내다 보면 Dota의 새로운 기능 몇 가지를 직접 발견하고 게임에서 해당 기능을 가장 잘 사용할 수 있는 방법을 찾아 시험해 보게 됩니다. 매우 흥미로운 창작 과정입니다.

Real Dota 2 서버는 플레이어를 완벽하게 훈련시키고 그에게 귀중한 경험을 많이 제공할 수 있습니다. 그러나 특정 캐릭터와 싸울 때 자신이 무엇을 할 수 있는지 100% 알기 위해서는 봇 영웅을 활용하는 것이 좋습니다. 오늘 기사에서는 Dota 2의 로비에서 영웅을 만드는 방법에 대한 정보를 공유할 뿐만 아니라 다른 유용한 기술에 대해서도 알려 드리겠습니다.

게임 "Dota 2"의 인기

먼저 게임 자체에 대해 조금 이야기하고 싶습니다. "Dota 2"는 데스크톱 컴퓨터를 위한 멀티 플레이어 게임으로, 장르는 전략으로 설명할 수 있습니다. RPG 요소. 게임 플레이는 지도에서 이루어지며, 반대편여기에는 탑, 성채, 기지, 막사 등 다양한 건물이 있습니다. 중앙과 측면에는 세 개의 경로가 있으며, 여기에는 특별한 방어 타워가 있습니다. 그들은 끊임없는 적의 흐름을 막기 위해 설계되었습니다.

두 팀이 전투에 참여하며 각 팀의 플레이어는 5명 이하여야 합니다. 한 팀은 빛의 측면을 나타내고 두 번째 팀은 어둠의 측면을 나타냅니다. 전투를 완료한 후 플레이어는 특정 포인트를 획득하여 레벨을 높일 수 있습니다. 캐릭터 단위로 제어가 이루어집니다.

Dota 2 로비에 영웅을 추가하는 방법

봇 캐릭터는 플레이어를 돕기 위해 설계되었습니다. 싱글훈련 대상의 역할을 맡습니다. 도움을 받으면 좋아하는 특정 챔피언의 능력을 테스트하거나 경험을 얻을 수 있습니다.

Dota 2 로비에서 영웅을 만드는 것은 특정 도움을 통해서만 가능합니다. 콘솔 명령. 활성화하려면 콘솔 자체를 활성화하고 치트 추가 기능을 활성화하는 것을 잊지 마십시오. 콘솔을 열고 게임 아이콘을 클릭하세요. 스팀 라이브러리속성/옵션 설정을 선택합니다. 그런 다음 창에 -console을 입력하고 "확인"을 클릭하세요. 콘솔은 "~" 키를 사용하여 불러올 수 있습니다.

위의 예에 표시된 대로 Dota 2 로비에서 영웅을 만들려면 다음 단계를 따르세요.

  1. sv_cheats 1을 입력하세요.
  2. 채팅을 열고 -createhero ___ neutral/enemy 명령을 입력하세요. "___" 대신에 캐릭터 이름을 표시하고 중립/적 부분을 표시합니다. 문자 그대로중립 또는 적군을 나타냅니다.

Dota 2 로비에서 Ax라는 영웅을 생성하는 방법의 예를 살펴보겠습니다. 이를 생성하려면 콘솔 라인에 -createhero axe 적을 작성해야 합니다. 축하해요 - 새로운 캐릭터준비가 된! 마우스 커서가 위치할 위치가 나타납니다.

봇 기능

따라서 Dota 2 로비에서 영웅을 성공적으로 생성했습니다. 이제 모든 혜택을 어떻게 활용할 수 있습니까?

봇과의 전투 중에 주요 목표- 경험치 획득입니다. 상대방과 같은 캐릭터를 가지면 다양한 미묘함을 배울 수 있습니다 게임플레이, 그리고 또한 친해지세요 약점적. 혼자 플레이하고 싶지 않다면 친구를 초대해 함께 플레이할 수도 있습니다. 이렇게 하면 다른 플레이어와 함께 연습할 수 있는 기회를 얻게 되며, 이는 온라인 경기에서 확률을 크게 높여줄 것입니다.

봇은 레벨이 다양할 수 있으며, 이는 봇의 레벨에 영향을 미칩니다. 일반 지표: 전투 중 빠른 결정을 내리는 능력, 효과적 팀 게임파트너에 대한 지원, 움직임의 선명도 등. 그러한 레벨의 수는 5개입니다. 설정을 통해 사용자 정의할 수도 있습니다. 올바른 명령콘솔을 통해 - levelbots x. x를 1에서 5까지 원하는 수준에 해당하는 숫자로 바꾸세요. 그 후에는 생성된 모든 캐릭터가 지정한 레벨을 받게 됩니다.

아군 영웅을 조종하는 것은 전적으로 당신에게 달려 있습니다 자신의 선택특정 전략에 따라 행동하는 적 봇과는 다릅니다. 위치를 변경하고 지시를 내릴 수 있습니다.

기타 유용한 콘솔 명령

아래 제시된 치트는 Dota 2 로비에서 영웅을 만드는 방법의 문제와 관련이 없지만 그다지 유용하지는 않습니다.

기억하세요: 특정 명령을 비활성화하려면 숫자 "1"을 "0"으로 바꾸는 것으로 충분합니다. 콘솔에 코드를 붙여넣을 때 "-" 기호를 제거하는 것을 잊지 마세요.

일반 명령:

  • do-ta_pla-yer_un-its_au-to_atta-ck "1" - 자동 공격;
  • do-ta_sh-op_for-ce_hot-keys "1" - 단축키를 사용하여 상점에서 아이템을 구매하는 기능을 활성화합니다.
  • do-ta_ap-m - 1분 동안 수행된 작업 수를 나타냅니다.
  • do-ta_alwa-ys_sh-ow_he-ro_nam-es "1" - 캐릭터 위에 별명을 표시합니다.
  • do-ta_un-it_us-e_pla-yer_co-lor "1" - 이제 장치가 백라이트됩니다.
  • do-ta_no_min-imap "1" — 미니맵을 비활성화합니다.
  • do-ta_min-map_sim-ple_co-lors "1" - 지도를 두 가지 색상으로 나눕니다. 녹색은 아군 부대를 나타내고 빨간색은 적군을 나타냅니다.
  • do-ta_hu-d_fli-p "1" - 이제 미니맵이 오른쪽에 표시됩니다.
  • do-ta_hu-d_heal-tbar_num-ber "1" - 체력이 숫자로 표시되며 영웅의 머리 위에 표시됩니다.