인공지능은 게임을 어떻게 움직이는가? | Chapter 2. 전략 게임과 인공지능은 어떤 관계일까?
인공지능은 게임을 어떻게 움직이는가? Chapter 2 정리
책 정보 📖
- 책 제목: 인공지능은 게임을 어떻게 움직이는가?
- 글쓴이: 미야케 요이치로
- 옮긴이: 안동현
- 출판사: 이지스 퍼블리싱
- 발행일: 2022년 6월 30일
- 챕터: Chapter 2. 전략 게임과 인공지능은 어떤 관계일까?
책소개
전략 게임에 사용하는 인공지능 기술 총망라! 플레이어를 몰입하게 만드는 전략 게임의 인공지능 기술을 파헤쳐보자!
국내에는 처음 소개되는 전략 게임의 인공지능 기술을 정리한 도서로, 전략 게임을 만드는 방법이 아닌 게임을 더 재미있게 만들기 위한 인공지능 기술을 설명한다. 보드게임부터 모바일 게임까지 다양한 사례를 통해 게임 AI의 개념, 원리, 역할, 구조 등에 대해 알려준다. 특히 4~6장에서는 전략 게임에 사용한 AI 기술을 구체적으로 다루고 있습니다. 4장에서는 게임 속에 등장하는 지휘관을 움직이기 위해 사용하는 AI 기술을, 5장에서는 게임의 세계관을 플레이어와 AI가 함께 만드는 데 사용하는 AI 기술을, 6장에서는 게임 속 캐릭터를 키우는 데 사용하는 AI 기술을 다양한 게임들을 예로 들어 설명하고 있다.
게임의 과거, 현재를 통해 AI의 미래를 알 수 있다! 이 책은 크게 전략 게임 속 AI가 무엇인지, 전략 게임에 사용한 AI 기술은 무엇인지, 앞으로 전략 게임 속 AI 기술이 어떻게 발전하고 다른 분야에 어떻게 활용될 것인지 등 게임 속 AI의 과거, 현재, 미래를 설명한다. 심층 학습의 등장과 인공지능의 붐으로 더욱 발전하게 된 게임 AI의 현재 모습을 알고, 앞으로의 게임 산업과 인공지능의 미래를 준비하는 데 도움이 될 것이다.
대상 독자
- 대상 독자: 게임 AI에 관심 있는 기획자, 개발자
학습 목표 🎯
- 전략 AI의 판단 로직을 살펴보고 설계 흐름 이해을 파악하고자 한다.
- 앞으로의 게임 AI에 대한 프로젝트 진행에 대한 지식 향상을 목표로 하고있다.
1. 핵심 개념 요약 🧠
- 인공지능 기술은 환경을 다방면으로 해석하고 전략을 세워 자신의 유닛 멤버에게 명령을 내려야 하는 복잡한 상황에서 올바른 의사결정을 해야한다.
- 전략 게임의 디자인 설계 방법에 따라 인공지능의 구성에 차이가 있다.
- 연관 용어/개념:
- 이산 공간: 맵을 삼각형, 사각형, 육각형 등으로 분할한 것
- 네트워크 그래프: 모든 포인트가 서로 이웃한 포인트가 어딘지 알 수 있는 그래프
- 자율형 에이전트: 자율 판단 능력이 있는 캐릭터
- 베이즈 추정: 일어난 사건에서 원인을 추론하는 것
2. 주요 내용 정리 ✍️
전략 게임의 정의
- 장소가 있고 그 장소를 조감하는 시점이 있다.
- 캐릭터 또는 그 집단이 있으며 조감 시점에서 플레이어가 지시를 내린다.
- 캐릭터가 지시를 수행하거나 목적을 수행하기 위해 자율적으로 행동한다.
- 승리 조건, 달성 목표가 있다.
전략 게임의 주요 3요소
요소를 어느 정도 사용했으며 어떤 경향을 주로 보이는가에 따라 분류하는 것이 일반적이며 각 분야에서 이용하는 인공지능 기술이 서로 다르다.
- 지휘관인 플레이어의 영향력 강도
- 그림 1-3 A영역
- 플레이어가 지휘관이되어 NPC에게 명령을 내리는 것
- 지시에 대해 캐릭터는 자율성을 가지고 자율적인 판단과 동작을 수행하는 것이 캐릭터 AI이다.
- 캐릭터와 플레이어의 거리는 전략 게임을 정의할 때 중요한 요소이다.
- 세계의 자율적 발전 강도
- 그림 1-3 B 영역
- 자율로 발전하는 세계에 플레이어가 간섭하는 것
- 인공지능 기술은 전략 게임에서 세계 그 자체가 인공지능이 되어 스스로 발전하도록 하는 핵심 기술로 확장하여 독자적인 진화를 이룬 게임 산업의 특유의 기술이다.
- 캐릭터의 학습 · 진화 강도
- 그림 1-3 C, D 영역
- 플레이어가 인공 생물, 사회를 육성하는 것
- 학습 기능이 있는 캐릭터, 자율로 진화하는 사회를 구성해 플레이어가 어떻게 교육받는가에 따라 이를 학습하고 진화한다.
- 신경망, 유전 알고리즘 등의 기술을 사용한다.
- 플레이어가 캐릭터에게 내리는 지시를 명령(커맨드), 조작(오퍼레이션)이라고 한다.
캐릭터 AI에게 내리는 지시 3계층
- 전략: 전장 전체를 장기적으로 바꾸는 지시 → 전략 AI
- 전술: 전장의 일부를 중기적으로 바꾸는 지시 → 전술 AI, 팀 AI
- 행동: 캐릭터에게 직접 내리는 국지적 · 단기적 지시
추가로 게임의 최고 계층인 플레이어 AI는 매우 중요하다.
시간과 공간의 표현
- 공간은 지능이 생각할 요소를 결정
- 시간은 생각해야 할 내용의 변화를 정의
시간 \ 공간 | 연속 공간 | 이산 공간 |
---|---|---|
실시간 전략 게임 | 연속 공간에서 실시간으로 진행하는 전략 게임 | 이산 공간에서 실시간으로 진행하는 전략 게임 |
턴제 전략 게임 | 연속 공간에서 턴제로 진행하는 전략 게임 | 이산 공간에서 턴제로 진행하는 전략 게임 |
- 이산 공간: 맵을 삼각형, 사각형, 육각형 등으로 분할한 것
- 이산적인 시간, 공간에 대해 인공지능은 더 전문적 → 오늘날 연속적인 것도 이산적으로 표현 가능해짐
예) 마법사 게임
- 유닛 편성
- 유닛을 편성하는 과제를 유닛 형성(팀 빌딩)이라고 한다.
- ‘모든 마법 속성 캐릭터가 포함되도록 유닛을 편성한다’라는 정책을 적용하면 이러한 조건을 게임 AI에서는 기준이라고 한다.
- 인간과 달리 인공지능 플레이어는 알고리즘에 따라 유닛을 편성
- 하향식과 상향식이 있으며 하향식은 지휘관 AI가 멤버를 할당하는 방식이며 상향식은 캐릭터마다 어떤 유닛에 속하고 싶은지를 순서대로 신청하는 방식이다.
- 하향식을 사용할 때는 평가식을 만들고 우선순위를 무작위로 정하는 등의 방식을 통해 멤버를 편성 할 수 있으며 이를 효용 기반 의사결정 또는 간단히 평갓값을 이용한 방법이라고 한다.
- 목적지로 유닛 출격
- 내비게이션 AI는 캐릭터를 이동시키는 AI이며 특별한 길을 찾는 기능을 경로 탐색이라 한다.
- 지형 이산화가 필요하며 지형을 삼각형으로 인식하는 내비게이션 메시 또는 포인트로 이산화 하는 웨이포인트 그래프를 만들어야한다.
- 최단 경로 탐색으로 A* 알고리즘을 사용한다.
- 장애물을 피하면서 진격
- 경로에 장애물이 있으면 리더로부터 탐색 영역을 설정하고 목표 지점에서 가장 가까운 장애물의 경계 지점을 A* 경로 탐색을 통해 발견해 이를 목표로 하는 방법이 있다.
- 적과 맞닥뜨리고 전투
- 캐릭터는 주위를 인식, 기억해 판단하여 행동한다.
- 자율형 에이전트는 이러한 역할과 자율 판단 능력이 있는 캐릭터이다.
- 이 인공지능 아키텍쳐를 에이전트 아키텍쳐라고 하며 모듈의 조합으로 이루어진다.
- 센서를 통해 게임의 세계 정보를 모은다.
- 적의 좌표, 속도 등의 정보를 기억하는 것을 기억 표현, 지식 표현이라고 한다.
- 인식에서는 센서로 얻은 정보를 추상 정보로 변환한다.
- 의사결정은 형성된 인식을 바탕으로 이루어진다.
- 이러한 의사결정에는 7가지 알고리즘이 있는데 규칙 기반은 오래되고 기본적인 방법이다.
- 운동 구성은 실제 행동을 생성하고 어느 적과 싸울 지를 고른다.
- 여러 후보 중 실제 공격할 적을 고르는 것을 타기팅 문제라고 한다.
- 상대 기지 추측하기
- 적을 발견하면 적의 기지를 추측해야한다.
- 베이즈 추정을 사용할 수 있으며 혹은 치트를 통해 빠르게 진행 할 수도 있다.
- 이러한 확률을 추측하여 진행할 수 있다.
- 유닛끼리 의사소통하기
- 캐릭터가 여럿이 협력하는 것을 멀티 에이전트 기술이라고 한다.
- 유닛 멤버끼리 메시지를 주고 받으며 협조 → 멀티 에이전트 기술
- 메시지의 시맨틱(문법) , 프로토콜을 정하며 이를 에이전트 커뮤니케이션 언어라 한다.
- 게임마다 고유의 언어를 개발하는 것이 일반적
- 의사소통 동기화가 어렵고 복잡하다.
- 대부분 상위 AI가 각 유닛에 내린 명령을 통해 협조하는 접근법을 게임 산업에서는 사용한다.
- 유연한 행동이 사라진다.
- 메타 AI는 게임 전체를 제어하는 인공지능이며 팀 AI는 적, 아군 가운데 한쪽 캐릭터에만 지시를 내리는 인공지능이다.
- 캐릭터는 명령을 받으면서 메타 AI나 팀 AI에게 주위 상황을 보고하고 행동 허락을 구해야한다.
- 공격 위치와 타이밍 정하기
- 위험도를 계산한다.
- 위험도, 효율 등을 계수 등을 통해 지표로 만들어 평가한다.
- 이러한 지표를 효용이라 하며 효용에 기반한 의사결정이라 한다.
마법사 게임 정리
기술 | 기능 |
---|---|
유닛 편성 | 캐릭터의 성능을 평가하고 유닛에 각각 할당한다. |
경로 검색 기술 | 내비게이션 데이터를 이용해 최소 비용을 검색한다. |
센서 | 센서 영역을 설정해 주위 상황을 인식한다. |
에이전트 아키텍쳐 | 캐릭터의 지능 구조이다. |
의사결정 기술 | 큐칙에 기반해 판단한다. |
유닛 이동 | 유닛이 진형을 유지하며 이동한다. |
메타 AI | 게임 전체를 조감하고 통제하는 인공지능이다. |
캐릭터 AI | 캐릭터가 의사결정을 내리는 데 필요한 인공지능이다. |
내비게이션 AI | 캐릭터를 이동하는 데 필요한 인공지능이다. |
팀 AI | 더 높은 위치에서 유닛을 통솔하는 인공지능이다. |
멀티 에이전트 기술 | 여러 개의 인공지능을 협조하도록 한다. |
효용(유틸리티) | 판단에 따른 이익이다. |
동기화된 행동 | 타이밍을 맞추어 행동한다. |
느낀점 📝
단순한 예시를 만들어서 계획을 하는데에도 수 많은 인공지능 기술들이 필요하다는 것이 느껴진다. 이러한 부분을 신경 쓰지 못했는데 게임에서는 정말 중요한 요소라는 생각이 든다. A*는 과거에 배울 기회가 있었는데 크게 신경쓰지 못했던 점이 아쉽다는 생각이 들고 내비게이션 메시의 경우도 기회가 되면 자세히 알아보고싶다.