상단영역

본문영역

[NDC2019 #11] 넥슨 프로그래머의 ‘하스스톤’ A·I 제작기

  • 판교=이준수 기자 omega@khplus.kr
  • 입력 2019.04.26 15:31
  • 수정 2019.04.26 16:45
  • 글씨크기
이 기사를 공유합니다

4월 26일 ‘NDC 2019’가 진행된 가운데, 넥슨코리아의 옥찬호 프로그래머가 ‘하스스톤’의 예를 통해 강화학습의 방법에 대해 설명하는 시간을 가졌다.
 

사진= 경향게임스
사진= 경향게임스

‘하스스톤’은 프로게이머들 사이에 기도메타라고 불리는 메타가 존재할 정도로 불확실성이 강한 게임이다. 이용자는 자신의 덱 구성과, 현재 손에 가지고 있는 카드 외에 정보를 알 길이 없다. 옥 프로그래머는 ‘하스스톤’의 불확실성에 주목해 2017년부터 강화학습 API를 제작해 왔다. 그는 이날 발표를 통해 1년 6개월여간 게임을 이용한 강화학습의 과정이 어떻게 진행되는지에 대해 소개하고, 게임사들이 강화학습을 위해 어떤 과정을 거쳐야 하는지에 대해 밝혔다.

2016년 세상에 공개된 딥마인드의 인공지능 바둑 프로그램 ‘알파고’는 A·I(인공지능)에 대한 세상의 인식을 바꾸는데 성공했다. 이어 ‘스타크래프트2’ 기반 A·I ‘알파스타’가 프로게이머와 대결에서 압승하며 실제 게임에서 A·I가 적용될 수 있다는 점을 알렸다.
강화학습에 관심을 갖게 된 옥 프로그래머는 평소 즐기던 ‘하스스톤’에 강화학습을 통해 A·I가 덱을 만들어 공격적인 플레이를 할 수 있지 않을까 생각하고 개발에 돌입했다고 밝혔다. ‘하스스톤’의 경우 기존 A·I의 이해할 수 없는 움직임이 많았던 만큼, 강화학습을 통해 프로게이머들과 대전할 수 있는 수준까지 끌어올리겠다는 계획이었다.
그가 예시로 든 것은 ‘종말의 예언자’ 카드를 내고, 상대 하수인을 빙결 마법으로 얼려놓았을 때 일반 이용자라면 행동을 포기하지만, 현재 ‘하스스톤’의 A·I는 빙결에 걸린 하수인에 버프를 건다는 점이었다. ‘종말의 예언자’의 특수효과에 의해 확정적으로 다음 턴에 사라질 하수인들에게 버프를 걸어 카드를 낭비한다는 지적이다.
 

종말의 예언자와 빙결콤보는 하스스톤의 기본 콤보 중 하나다
종말의 예언자와 빙결콤보는 하스스톤의 기본 콤보 중 하나다

그는 A·I의 행동에 대해 “‘하스스톤’이 갖는 정보의 불완전성 때문”이라고 밝혔다. 실제 바둑은 모든 정보가 공개된 상태에서 서로 순서에 따라 플레이를 펼치기 때문에 ‘알파고’가 빠르게 성장할 수 있었다는 것이다. 이어 ‘알파스타’의 경우에도 RTS 장르가 갖는 상대에 대한 불완전한 정보가 있지만, 스스로에 대한 정보가 명확하기에 강화학습이 효과적으로 이뤄졌다고 평가했다.
반면 ‘하스스톤’은 CCG로, 내가 가지고 있는 카드를 제외하곤 모든 정보가 확실하지 않다. 상대가 어떤 패를 가지고 있는지, 어떤 카드가 다음에 나올지, 내가 받을 카드가 어떤 것이 될지 등 대부분의 정도가 불안정하다는 이 A·I가 제대로 활용되기 힘든 이유라고 밝혔다. 또한 무작위 카드가 많은 게임 특성 상 프로게이머들 역시 운에 기대게 된다는 점을 지적했다.

이어 옥 프로그래머는 게임에서 강화학습을 하는 방법에 대해 설명했다. 가장 쉬운 방법은 게임회사에서 직접 제공하는 API를 활용하는 방법으로, ‘알파스타’가 이 사례라고 말했다. 이어 게임을 해킹하는 방식의 경우 법적 문제가 발생할 수 있기 때문에 선택지에서 제외했다. 마지막으로 제시한 것이 직접 데이터와 함수를 만들어 나가는 과정이다. ‘하스스톤’의 경우 API 획득이 불가능했으르모 직접 강화학습을 위한 데이터를 모으고, 함수를 제작하게 됐다고 한다.
‘하스스톤’의 경우 출시된 카드가 1,926장이며, 카드 효과 등에 나타나는 것을 고려하면 약 6,000장의 카드가 존재한다. 딥마인드의 경우 2016년 카드를 읽고 효과를 제공하는 방식의 함수를 만들었으나 모든 카드의 정보를 얻을 수 없었다고 한다. 그는 직접 모든 카드의 효과와 능력치를 구현해왔다고 밝혔다.

그는 게임사가 강화학습에 관심을 갖고 있다면 API를 공개해 다양한 연구가 이뤄지도록 하는 것이 가장 좋다고 밝혔다. 또한 게임을 만드는 작업이 끝난다면 즉시 강화학습을 위한 작업을 진행해야 한다고 조언했다. 시간이 지날수록 데이터가 복잡해지기 때문이다. 또한 A·I가 게임의 정보를 받아드리고, 이를 기반으로 결정한 행동을 게임에 직접 전달할 수 있는 함수를 만드는 것이 핵심이라고 지적했다.

그는 마지막으로 “평소 하스스톤과 같은 카드 게임 개발이나 게임에 강화학습을 적용하기 위한 환경을 구축하는데 관심을 갖고 있던 프로그래머들에게 조금이나마 도움이 되었으면 한다”는 말로 발표를 마무리했다.

 

[경향게임스=이준수 기자]

저작권자 © 경향게임스 무단전재 및 재배포 금지

개의 댓글

0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400

내 댓글 모음