본문 바로가기
읽기/IT

인공지능은 게임을 어떻게 움직이는가? (미야케 요이치로, 이지스퍼블리싱)

by 문화교양인 2022. 7. 13.

1. 들어가며

 

이지스퍼블리싱은 Do it! 프로그래밍 시리즈로 유명한 IT 실용서 전문 출판사이다. 주로 엑셀, 포토샵, 파이썬, 자바 등 특정 컴퓨터 프로그램이나 프로그래밍 언어의 활용법을 출간하는데, 이번에 낸 '인공지능은 게임을 어떻게 움직이는가?' 는 일종의 교양서에 가깝다.

 

직관적인 제목에서 알 수 있듯이, 이 책의 내용은 전략 게임(strategy game) 을 구동하는 인공지능 기술을 설명하는 것이다.

 

업계에서 통용되는 전략 게임의 명확한 정의는 아직 없지만, 저자는 다음과 같은 4가지 특징을 통해 전략 게임을 다른 게임과 구분 짓는다.

 

1) 장소(필드)가 있고 그 장소를 조감하는 시점이 있다.

2) 캐릭터 또는 그 집단이 있으며, 조감 시점에서 플레이어가 지시를 내릴 수 있다.

3) 지시를 받은 캐릭터 또는 그 집단은 지시한 대로, 또는 목적을 수행하고자 자율적으로 행동한다.

4) 승리 조건이나 달성 목표가 있다.

 

우리에게 가장 익숙한 디지털 전략 게임의 예는 블리자드 사에서 출시한 '스타크래프트'일 것이다. 테란, 저그, 프로토스 세 종족이 벌이는 전투를 다루고 있는 스타크래프트는 한국의 게임 문화, 더 나아가 인터넷 문화의 발전에 큰 영향을 미쳤다. 즉, 전략 게임은 뭔가 고상하고 복잡해 보이는 그 이름과는 달리, 많은 이들이 오늘날 가장 친숙하게 즐기는 게임의 형태라 할 수 있다.

 

이 책은 바로 이런 전략 게임의 화려한 화면 구현하기 위해 투입된 인공지능 기술을 소개한다.

 

 

 

2. 책의 구성과 내용

 

전체 8개 장으로 짜여 있으며, 각각의 주요 내용은 다음과 같다. 

 

 

1) 전략 게임과 인공지능 살펴보기

 

이 장에서는 전략 게임을 총 4종류로 구분하고 전략 게임 속 인공지능 기술의 역할을 간단하게 개관한다.

 

2) 전략 게임과 인공지능은 어떤 관계일까?

 

전략 게임의 정의를 내리고 주요 요소 3가지를 소개한 뒤, 전략게임에서 시간과 공간이 중요한 까닭, 그리고 간단한 게임의 예를 들어 인공지능을 통해 게임에서 해결해야 하는 과제를 설명한다.

 

이 과제들은 목적에 따라 유닛 편성하기, 목적지로 유닛 출격시키기, 장애물을 피하면서 진격하기, 적과 맞닥뜨리고 전투 시작하기 등 플레이어가 게임을 통해 달성해야 하는 다양한 세부 과제들이다. 이 과제들이 성취됨으로써 승리 또는 패배라는 특정한 결과에 도달할 수 있다.

 

3) 게임 AI 간단히 살펴보기

 

디지털 게임에서 플레이어의 경험을 메타 AI, 캐릭터 AI, 공간 AI 의 3가지로 나누어 설명한다. 또한 공간 정보 추출을 위한 AI 기술을 설명하는데, 전략게임이 대부분 특정한 공간에서 유닛들이 수행하는 행동에 따라 진행된다는 점에서 이 부분을 이해하는 것이 중요하다.

 

4) 지휘관으로서의 인공지능

 

여기서부터는 본격적으로 AI 기술에 대한 설명이 시작된다. 전략게임은 플레이어가 일종의 지휘관으로서 멤버에게 명령을 내림으로써 진행된다. 이에 따라 팀, 시간, 그리고 공간의 3가지 계층화를 동기화하게 된다. 

 

또한 이 장에서는 건설, 정찰, 경로검색, 무리제어, 스티어링 등 스타크래프트 등 전략게임에서 구체적으로 수행되는 알고리즘이 설명되고 있다. 역시 책의 후반부까지 내용을 이해하기 위해서는 이 부분을 이해하는 것이 중요하다.

 

5) 플레이어와 인공지능이 함께 만드는 세계

 

이 장에서는 플레이어가 세계를 시뮬레이션하는 전략 게임을 살펴본다. 대표적인 예로는 우리나라에서도 큰 인기를 끈 또다른 게임인 '심시티'가 있다. 

 

시뮬레이션 전략 게임에서는 그리드 맵을 겹쳐 자기 발전하는 세계를 구현하는 방법을 이해해야 한다. 또한 자원, 유닛, 맵 등의 계층 내에서 게임의 캐릭터인 에이전트들이 활동하게 되는 스크립트에 대한 설명이 이어진다.

 

이어서 지형 연결, 대상의 영향 범위, 계층적 지형 표현 등 전략게임의 3가지 세계 표현이 등장한다. 전략 게임에서는 장소에 큰 의미가 있어서, 그 지형을 분석하여야 인공지능이 공간을 이용해 플레이하는 데 도움이 되기 때문이다.

 

6) 학습하고 성장하는 인공지능

 

이 장에서는 육성 전략 게임을 살펴 본다. 플레이어가 팀의 리더나 매니저가 되어 AI 캐릭터 집단을 관리하고 능력을 향상시키는 게임을 말한다. 

 

여기서는 기존에 AI 와 관련하여 익숙하게 느껴지는 유전 알고리즘, 신경망, 퍼셉트론, 결정 트리 등의 용어들이 등장한다.

 

'시티 컨퀘스트'와 같은 게임을 일컫는 '타워 디펜스형 게임'은 경로 주변에 자동 공격을 하는 타워를 두고 경로를 따라오는 적을 방어하는 게임이다. 

 

적이 오는 경로는 정해졌으므로 적이 왔을 때 포대가 어떻게 움직일지를 정해 두어야 하는데, 이러한 게임을 개발할 때 어려운 점은 게임 설계에 대한 검증이다. 이는 인간인 개발자나 플레이어가 검증하는 것보다는, 일관된 결과를 얻어내기 위해 인공지능을 통한 자동 플레이 검증이 선호된다.

 

그런데 타워는 종류가 다양하고 설치 방법도 수많은 조합이 있으므로, 마치 유전자가 생명체에서 조합되는 것과 유사하게 움직이는 알고리즘을 칭하는 '유전 알고리즘'을 통해 검증한다 .

 

또한 실시간 전략으로 캐릭터를 학습시키는 게임에서는 신경망 기술이 사용되며, 퍼셉트론이나 결정 트리를 이용하여 효용 기반 의사결정을 학습시킬 수 있다. 

 

즉, 인공지능은 전략 게임에서 학습과 진화를 발생시킴으로써 플레이어가 끊임없이 새로운 환경에서 게임을 즐길 수 있게 한다. 이것이 전략 게임에서 AI 의 아주 중요한 역할이다.

 

7) 전략 게임의 학술 연구

 

제6장까지의 내용이 AI 기술이 구체적으로 게임에 응용되는 예를 다루었다면, 제7장은 전략게임이 실제 AI 기술의 학술적 연구에 사용된 예를 다루고 있다. 예를 들어, '알파고'의 개발사로 우리에게도 잘 알려진 '딥마인드'는 블리자드와 협력하여 스타크래프트2를 연구하였다. 그리고 이를 통해 기계 학습에 필요한 파이썬 기반 API 인 PySC2를 개발했다.

 

또한 이 장에서는 알파고에서도 사용된 몬테카를로 트리 탐색까지 설명하고 있다. 이처럼 다양한 예를 통해 일반적인 교양서의 수준을 뛰어넘는 학술적 내용을 개괄적으로 다룬다.

 

8) 전략 게임 AI의 일반이론

 

마지막 장인 제8장에서는 전략 게임의 개별적인 예를 넘어 일반적으로 다양한 분야에서 적용할 수 있는 기초 이론을 제시한다. 시계열적 사고방식, 시간과 공간의 계층화, 상위 인공지능과 하위 인공지능 등 다양한 개념을 설명함으로써 인공지능의 개념에 대한 이해를 돕는다.

 

 

 

3. 나오며

 

이 책은 맨 끝의 '찾아보기'까지 정확하게 300페이지 분량으로 구성돼 있다. 이 한정된 분량 안에서 다룰 수 있는 내용은 거의 다 다루었다고 생각이 될 정도로 내용의 밀도가 아주 높은 책이다.

 

보통 일본인 저자가 쓴 교양서는 추상적인 내용보다는 구체적인 현실의 예를 들어 알기 쉽게 설명하는 경우가 많은데, '인공지능은 게임을 어떻게 움직이는가' 역시 그러한 장점에 충실한 책이다. 

 

다만 그만큼 일반적인 독자들에게는 낯설게 느껴질 수 있는 인공지능 개념이 끊임없이 등장하므로, 집중하면서 배운 내용을 정리해 가며 읽어야 끝까지 책을 독파할 수 있을 것으로 보인다. 

 

책의 앞부분에 독자의 이해를 돕기 위한 '주요 용어 정리'가 있는데, 간단한 설명을 추구한 것으로 보이지만 각 용어당 한 줄짜리 해설은 다소 부족한 느낌이 든다. 아직까지는 전략게임의 인공지능 관련 용어가 대중화되지 않았으므로, 개정판이 나온다면 이 부분의 설명을 좀 더 보강하는 것도 바람직할 것으로 생각한다.

 

책의 주요 소재는 전략게임이지만, 이는 인공지능에 대한 설명을 더 구체적으로 하기 위해 채택한 것에 불과할 뿐, 인공지능 교양서 내지는 개론서로 손색이 없는 책이다. 

 

* 이 리뷰는 출판사의 이벤트를 통해 책을 증정받고 쓴 것입니다.