본문 바로가기

IT Insights

AI의 스타크래프트 도전기 ② 스타크래프트 인공지능 봇의 수준, 어디까지 왔나?

스타크래프트 인공지능 봇을 개발할 수 있게 된 계기는 2009년에 완성된 BWAPI(Brood War Application Programming Interface) 덕분입니다.  BWAPI는 스타크래프트 게임의 모든 상태 정보를 제공하고 AI가 모든 명령을 내릴 수 있도록 지원합니다. 현재 4.2.0 버전까지 발표되었으며, 스타크래프트 리마스터 버전을 지원하는 BWAPI 5.0 프로젝트가 진행 중이죠. ( https://bwapi.github.io/ )

학계에서는 2010년부터 BWAPI를 이용해 스타크래프트 인공지능 봇을 개발하는데 필요한, 크고 작은 문제들의 해결책을 제시하는 수많은 논문을 발표해 오고 있습니다. (이들 논문들에 대해서는 3편에서 보다 자세히 다룰 예정입니다.) 스타크래프트 AI는 인공지능 연구뿐만 아니라 AI 교육 목적에도 유용해서, 2010년부터 많은 대학들이 BWAPI를 이용해 인공지능 봇을 개발하는 강좌를 개설해 오고 있습니다. (UC Berkeley大, Washington State大, Alberta大, Comenius大, Czech Technical大 등) 그리고 스타크래프트가 인공지능 연구와 교육에 폭넓게 활용되면서 세계 3대 스타크래프트 인공지능 경진대회(AIIDE, CIG, SSCAIT)가 매년 성공적으로 개최되고 있습니다.

세계 3대 스타크래프트 인공지능 경진대회

① AIIDE(Artificial Intelligence & Interactive Digital Entertainment)
: AAAI(Association for the Advancement of Artificial Intelligence)가 주최하는 AIIDE 학회에서 열리는 대회입니다. 2010년부터 시작된, 가장 오래되고 권위 있는 대회로 작년부터 캐나다 Memorial大에서 주관하고 있습니다.
올해 AIIDE 대회는 10월 초 접수가 마감됐으며, Facebook(美), Samsung SDS(韓), Bilibili(中) 3개의 IT기업을 포함한 27개 팀이 참가했습니다. 오는 11월 15일 캐나다 Alberta大에서 열리는 AIIDE 학회에서 최종 결과가 발표될 예정입니다.
 
② CIG(Computational Intelligence and Games)
: IEEE(Institute of Electrical and Electronics Engineers) 학회가 주최하는 대회로, 2014년부터 한국의 세종대학교가 스타크래프트 AI 대회를 운영하고 있습니다.
 
③ SSCAIT(Student StarCraft Artificial Intelligence Tournament & Ladder) 
: 체코 공과대학과 코메니우스 대학에서 주최하는 대회로 참가한 봇들의 대결을 실시간으로 중계합니다. 연중 리그를 진행하며, 연말에는 리그 상위 16개 팀을 대상으로 토너먼트 대결을 통해 그 해 최종 우승자를 가립니다.
 

그럼 최근 이들 3대 세계대회에 참가한 주요 상위 봇들에 대한 리뷰를 통해, 현재 스타크래프트 인공지능 봇의 수준을 살펴보겠습니다.

[최근 세계 3대 스타크래프트 인공지능 경진대회 결과]

AIIDE(2017년)

CIG(2018년)

SSCAIT(2017년)

우승: ZZZKBot(Z)
준우승: Purplewave(P)
3위: Iron(T)
4위: cpac(Z, 중국과학기술원)

우승: Locutus(P)
준우승: PurpleWave(P)
3위: McRave(P)
4위: tscmoo(R)

우승: Cherrypi(Z, Facebook)
준우승: Killerbot(Z)
3위: Microwave(Z)
4위: McRave(P)

* Z:저그, P:프로토스, T:테란
* 2018 AIIDE, SSCAIT 토너먼트 결과는 아직 발표되지 않음(각각 11월, 12월 예정)

 

[SSCAIT 실시간 성적 (링크): 2018-10-30 기준]

Name

Race

ELO Rating

ICCUP Formula

SSCAIT Rank

Win Rate

SAIDA

T

2477

10862

A

96%

krasi0

T

2363

9326

A-

62%

DaQin

P

2322

9035

A-

62%

Locutus

P

2294

8604

B+

68%

BananaBrain

P

2265

9052

A-

62%

PurpleWave

P

2255

6284

B-

74%

Tscmoor

R

2239

6197

B-

54%

CherryPi

Z

2219

5647

C+

68%

PurpleSwarm

Z

2205

4268

C

80%

* 참고: 시작 점수 2000인 ELO rating system을 이용한 순위이며, 최근 4000게임의 SSCAIT 리그 성적만 반영함. ICCUP 성적과 순위는 Starcraft rating system을 적용하여 계산됨.
ELO rating system: 체스바둑의 실력을 공정하게 나타내기 위해 고안된 방식플레이어의 상대적인 점수 차이를 고려하여 승패에 따른 점수를 가감함본인보다 높은 상대에게 이기면 높은 점수를 획득하고 낮은 상대에게 이기면 낮은 점수를 획득하는 방식(지는 경우는 반대)으로 단순 승율보다 더 공정한 평가 방식으로 사용되고 있음. (자세한 내용은 링크 참조 )
* Starcraft rating system스타크래프트 프로게이머의 실력을 나타내기 위해 고안된 방식. 1~5만점 사이의 점수를 부여하며점수대별로 D- ~ A+ 12등급과 키보드(최하위 등급), 오륜기(최상위 등급)를 포함한 14등급으로 구분하고 각 등급의 선수들끼리 승패에 따라 점수를 가감함. (자세한 내용은 링크 참조)

 

[저그] 

1. ZZZKBot: 작년 AIIDE, CIG 우승을 차지한 봇으로 4드론부터 시작하여 상대에게 취약한 빌드를 찾아내어 공격합니다. AIIDE 대회가 하나의 봇 당 110게임씩 풀 리그로 돌아가는 점을 잘 이용한 전략이라고 할 수 있죠.

2. CherryPi: Facebook AI Research에서 개발한 봇으로 작년 AIIDE 첫 출전에서 6위, 업그레이드 버전으로 SSCAIT 우승을 차지했습니다. ZZZKBot과 유사하게 상대에게 취약한 빌드를 찾아내어 공격하는 전략을 취하고 있습니다. 봇 개발과 함께 스타크래프트를 이용한 강화학습 논문을 내는 등 연구를 활발히 진행하고 있습니다. 프랑스 출신 박사 급 인력인 Gabriel Synnaeve가 개발 리더를 맡고 있으며, 올해는 작년 AIIDE 대회 2위 봇인 ‘PurpleWave’를 개발한 Dan Gant와 ‘tscmoo’ 개발자인 Vegard Mella를 영입하여 개발했다고 하죠. 과연 올해는 어떤 성적을 보여줄 지 주목됩니다.

 

[프로토스]

1. Locutus: 강력한 질럿, 드라군 푸쉬와 무한 확장을 통한 물량으로 승부를 보는 전략을 구사합니다. 올해 3월 처음으로 SSCAIT에 출전해, 7월 중순 수년간 리그 1위를 유지하던 ‘krasi0’ 봇을 제치고 1위를 달성한바 있습니다. 그리고 이 여세를 몰아 올해 CIG 대회에서도 우승했죠.

2. DaQin: Locutus 소스를 Base로 하여 개발된 봇이며, 드라군 푸쉬 후 캐리어를 뽑아 게릴라 전술을 펴며 상대를 괴롭히고 캐리어를 모아 적을 제압하는 전략을 주로 사용합니다. 올해 SSCAIT 리그 결과를 보면 Locutus에 유독 약하나, krasi0에 강하다는 것을 알 수 있습니다.

 

[테란]

1. Iron: 작년 AIIDE 대회 3위를 했고, 2016년 AIIDE 대회 우승을 한 봇입니다.  주로 벌처, 탱크, 골리앗, 레이스 조합의 메카닉 전략을 사용하며 게릴라 전술과 레이스를 이용한 견제에 매우 능합니다. 또한 BWEM이라는 Map Analyzer를 개발하여 오픈소스로 공개했는데 성능이 뛰어나 많은 봇들이 사용하고 있습니다.

2. krasi0: 2010년부터 8년 동안 업그레이드 되며 개발된 봇으로 다양한 전략을 탄탄하게 구사합니다. 오랜 기간 SSCAIT 리그 1위 자리를 지키고 있다가 SAIDA 봇에게 최근 1위 자리를 내주었습니다. 하지만 SAIDA 봇에 대항할 전략을 꾸준히 업데이트 하고 있어서, SSCAIT TWITCH 실시간 방송에서 SAIDA와 krasi0의 대결에 대한 관심이 매우 높습니다.

3. SAIDA: Samsung SDS 사내 벤처(Xeed-Lab) SAIDA팀에서 개발한 봇으로  ‘Samsung AI & Data Analytics’의 약자입니다. 올해 AIIDE 대회에 첫 출전했으며 메카닉 전략을 기본으로 합니다. 정찰된 정보에 따라 능동적으로 전략의 변화를 주어 사람처럼 플레이하도록 개발되었습니다.

 

이들 봇들 중 세계 최고의 봇을 가리는 AIIDE 세계대회에서 과연 누가 올해 우승의 영광을 차지할까요?

잠깐 저희 SAIDA 봇에 추가 설명을 드리자면 SAIDA 봇은 10월말 SSCAIT 리그에도 출전하였는데요, 단 5일 만에 리그 1위를 달성하여 SSCAIT 운영자가 유투브로 매주 발행하는 주간 레포트 제목이 “Koreans! Welcome SAIDA!”로 선정되며 성공적으로 데뷔했습니다. 오는 11월 15일 AIIDE학회에서 발표되는 올해 AIIDE 대회도 Facebook의 CHerryPi 등과 경쟁하여 ‘SAIDA’가 우승할 수 있을지 독자 여러분들의 많은 기대 부탁 드립니다.
 
그렇다면 지금까지 개발된 스타크래프트 AI 봇 가운데, 현재 가장 실력이 좋다고 보이는 SAIDA 봇은 사람과 비교했을 때 어느 정도 수준일까요?
작년 세종대에서 주최한 인간과 봇의 대결 결과를 보면, 봇의 수준을 래더(스타크래프트에서 플레이어의 수준을 나타내는 척도, 점수가 높은 상급 프로게이머의 경우 래더는 약 2300점 이상) 1500점(중수) 정도로 보았습니다. SAIDA 봇과 실제로 대전해 본 프로게이머의 의견에 따르면, 래더 1800~1900점 정도(아마추어 고수)의 실력으로 추정한다고 합니다.
 
그럼 ‘SAIDA’ 봇과 아마추어 고수 수준의 플레이어와의 대전 영상을 통해, 현재 봇의 수준을 어느 정도인지 가늠해 보시죠.

 [SAIDA  vs 인간 플레이 영상] 

 

 


영상에서 보면 봇은 사거리 차이를 이용해서 전혀 피해를 입지 않고 상대방 유닛을 잡거나 던지는 등, 특정 상황에서 최적화된 동작을 보여주어 인간을 능가하기도 합니다. 그러나 반대로 예측하지 못한 상황에 대해서는 제대로 대처하지 못하는 한계를 가지고 있습니다. 하지만 SAIDA 봇은 상대의 전략에 따라 적응하는 방식으로 내 전략을 실행하도록 구현되어 이전까지 개발된 봇들과는 다른 매우 새로운 방식을 적용하였습니다.  따라서 사람이 SAIDA 봇과 플레이해도 매우 재미있게 즐길 수 있습니다. (실제로 유튜브에 SAIDA 봇과 사람이 대결한 영상이 최근 많이 올라오고 있습니다.)

[SSCAIT 리그에 출전한 SAIDA봇에 대한 반응]


‘SAIDA’ 봇의 세계 무대 데뷔 이후, 해외 네티즌들의 반응 중 가장 맘에 드는 것은 바로 “Korea rules StarCraft again! (한국이 다시 스타크래프트를 지배해!)”라는 말입니다.

전세계 스타크래프트 판매량의 40%가 우리나라에서 팔릴 정도로 우리나라에서 스타크래프트 게임의 인기는 세계 최고입니다. 스타크래프트의 난이도는 4단계로 나뉘는데 쉬움, 어려움, 아주 어려움 다음에 최고 난이도는 ‘한국인’이라는 말이 있을 정도로 우리나라 스타크래프트 프로게이머의 실력 또한 세계 최상이죠. 이런 프로게이머들의 도움을 우리나라는 쉽게 받을 수 있고 그들의 우수한 리플레이 데이터 확보하기 용이하기 때문에 우리나라는 다른나라에 비해 스타크래프트 인공지능 연구개발에 아주 유리한 조건을 갖추고 있습니다.

저희 ‘SAIDA’ 봇의 세계 대회 선전에 힘입어 우리나라 대학들과 기업들도 스타크래프트를 활용한 인공지능 교육과 연구개발에 많은 투자가 되었으면 합니다. 그리고 가까운 미래에, 우리나라에서 만든 인공지능이 스타크래프트를 정복하게 되기를 간절히 소망해 봅니다.
다음 3편에서는 AI가 스타크래프트를 정복하기 위한 다양한 국내외 연구 결과를 살펴보고, 남은 과제가 무엇인지 소개해보도록 하겠습니다.

 

▶  해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶  해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

배창현 프로 | 삼성SDS XEED-LAB

배창현 프로는 KAIST에서 학부를 마치고 대학원에서 수학을 전공하였습니다.
삼성SDS 입사 후 CAD S/W, PDM서비스,안드로이드 앱 개발 등 다양한 개발 업무를 담당하였으며,현재는 사내 벤처 프로그램인 XEED-LAB에서 스타크래프트 인공지능 봇을 개발하는 SAIDA팀 리더를 맡고 있습니다.