포스트

인공지능은 게임을 어떻게 움직이는가? | Chapter 4. 지휘관으로서의 인공지능 - 멤버나 유닛을 지휘하는 게임

인공지능은 게임을 어떻게 움직이는가? Chapter 4 정리

인공지능은 게임을 어떻게 움직이는가? | Chapter 4. 지휘관으로서의 인공지능 - 멤버나 유닛을 지휘하는 게임

책 정보 📖

  • 책 제목: 인공지능은 게임을 어떻게 움직이는가?
  • 글쓴이: 미야케 요이치로
  • 옮긴이: 안동현
  • 출판사: 이지스 퍼블리싱
  • 발행일: 2022년 6월 30일
  • 챕터: Chapter 4. 지휘관으로서의 인공지능 - 멤버나 유닛을 지휘하는 게임

책소개

전략 게임에 사용하는 인공지능 기술 총망라! 플레이어를 몰입하게 만드는 전략 게임의 인공지능 기술을 파헤쳐보자!

국내에는 처음 소개되는 전략 게임의 인공지능 기술을 정리한 도서로, 전략 게임을 만드는 방법이 아닌 게임을 더 재미있게 만들기 위한 인공지능 기술을 설명한다. 보드게임부터 모바일 게임까지 다양한 사례를 통해 게임 AI의 개념, 원리, 역할, 구조 등에 대해 알려준다. 특히 4~6장에서는 전략 게임에 사용한 AI 기술을 구체적으로 다루고 있습니다. 4장에서는 게임 속에 등장하는 지휘관을 움직이기 위해 사용하는 AI 기술을, 5장에서는 게임의 세계관을 플레이어와 AI가 함께 만드는 데 사용하는 AI 기술을, 6장에서는 게임 속 캐릭터를 키우는 데 사용하는 AI 기술을 다양한 게임들을 예로 들어 설명하고 있다.

게임의 과거, 현재를 통해 AI의 미래를 알 수 있다! 이 책은 크게 전략 게임 속 AI가 무엇인지, 전략 게임에 사용한 AI 기술은 무엇인지, 앞으로 전략 게임 속 AI 기술이 어떻게 발전하고 다른 분야에 어떻게 활용될 것인지 등 게임 속 AI의 과거, 현재, 미래를 설명한다. 심층 학습의 등장과 인공지능의 붐으로 더욱 발전하게 된 게임 AI의 현재 모습을 알고, 앞으로의 게임 산업과 인공지능의 미래를 준비하는 데 도움이 될 것이다.

대상 독자

  • 대상 독자: 게임 AI에 관심 있는 기획자, 개발자

학습 목표 🎯

  • 전략 AI의 판단 로직을 살펴보고 설계 흐름 이해을 파악하고자 한다.
  • 앞으로의 게임 AI에 대한 프로젝트 진행에 대한 지식 향상을 목표로 하고있다.

핵심 개념 🧩

  • 계층화: 팀, 공간, 시간을 체계적으로 분할하여 효율적인 지휘 체계를 구축하는 기법
  • 계층형 태스크 네트워크: 큰 태스크를 작은 태스크로 분해하여 상황에 따라 유연하게 실행하는 의사결정 방법
  • 내비게이션 메쉬: 캐릭터의 이동 경로를 효율적으로 계산하기 위한 공간 분할 기법

전략 게임 AI의 기본 구조

전략 게임에는 두 가지 주요 패턴이 존재한다. 첫 번째는 지휘관이 멤버나 부대에 명령을 내리는 상하 구조의 패턴이고, 두 번째는 멤버끼리 자유롭게 협력하는 멀티 에이전트 패턴이다.

첫 번째 패턴은 명확한 명령 계통과 보고 체계가 필요하며, 이 장에서는 상하 구조로 이루어진 조직의 인공지능에 대해 다룬다.


전략 게임 AI에 필요한 3가지 계층화

팀의 계층화

지휘관에서 중간층 리더를 거쳐 말단 캐릭터에 이르는 상하 구조다. 전체의 운동에 질서를 부여하는 역할을 한다.

공간의 계층화

공간에서 어떻게 움직일 것인지를 정의한다. 상위 계층은 넓은 지역을 아울러 장기적인 계획을 세우고, 하위 계층은 자기 주변의 공간에서 활동한다.

시간의 계층화

팀 전체의 시간 방향 운동을 정의한다. 상위 계층은 장기적인 계획을, 하위 계층은 짧은 시간 안에서의 활동을 담당한다.


팀의 계층화 구현

팀 계층화의 기본은 조직 계층도(계층 그래프)다. 지휘관을 정점으로 계층 관계를 형성하도록 사회망을 구축해야 한다.

인공지능이 계층도를 이해하기 위해서는 그래프 구조로 표현할 수 있어야 한다. 역할 할당은 인공지능이 에이전트에게 역할을 부여하는 것이고, 상황에 따라 동적으로 정해지는 경우 동적 역할 할당이라고 한다.

전략 게임에서는 시공간을 계층화하는 인식이 필요하며, 이것을 통해 의사결정을 수행해야 한다.


공간의 계층화와 내비게이션

인공지능이 공간 전체를 인식하려면 공간을 계층화해야 하며, 내비게이션 AI로 구현하는 것이 좋다.

공간 계층화의 예시

  • 커다란 하나의 영역을 전위 • 중위 • 후위 지역으로 분할한다
  • 각 지역마다 캐릭터가 이동할 스탠딩 포인트가 있다
  • 지역에서는 행동 트리(Behavior Tree) 형태로 전투 방법을 정의한다
  • 행동 트리는 노드를 트리 모양으로 연결하는 그래프 형식으로 나타낸다

게임별 공간 계층화 사례

  • 킬존 2: 글로벌 맵 → 노드 → 웨이포인트
  • 헤일로: 지역 → 영역 → 스탠딩 포인트
  • 흩어진 웨이포인트를 최대한 정사각형이 되도록 평균 200개를 집어넣어 하나의 노드 집단으로 만드는 방식

점유도 맵

영향 맵을 해석할 때에는 다양한 규모와 관점에서 해석이 필요하다. 분할된 전술 노드 사이를 연결한 그래프를 전술 그래프라고 하고, 전술 그래프를 연결해 하나의 전략 노드로 보는 것을 전략 그래프라고 한다.

해당 노드를 어느 세력이 지배하는가를 나타내는 점유도라는 개념이 있으며, 0과 1로 표현하는 이진 점유도 맵과 확률로 나타내는 확률 점유도 맵이 있다. 이러한 점유도 맵을 바탕으로 비용을 계산해 전략적 경로를 선택해야 한다.


시간의 계층화와 태스크 관리

시간의 계층화란 주어진 시간을 쪼개고 쪼개어 효율적으로 사용하는 것을 의미한다. 사람이 ‘해야 하는 일’은 인공지능에서는 ‘태스크’가 된다.

계층형 태스크 네트워크

큰 태스크를 중간 크기의 태스크, 더 작은 태스크로 분할하여 연결하는 의사결정 방법을 계층형 태스크 네트워크라고 한다.

태스크 자체에 지적 기능을 두어 계층 모양의 명령을 자동으로 만드는 방법이다.

태스크의 정의

  • 명확한 범위와 행동을 지정하는 일이다(도메인)
  • 상황에 따라 몇 가지 더 작은 태스크로 분할한다(메서드)
  • 실행하는 데 필요한 전제 조건이 있다(프리컨디션)

태스크는 컴포지트 태스크(합성 태스크)와 프리미티브 태스크(기초 태스크)로 나눌 수 있다. 분해하는 방법으로는 메서드가 있다.

계층형 태스크 네트워크의 실제 예시

다음은 메서드를 이용한 분해 예시다:

1
2
3
4
5
6
7
8
9
10
11
- 라떼를 만들어 먹는다.
  - 라떼를 만든다 → 라떼를 마신다. (순차구조이며 각각 컴포지트 태스크다.)
- 라떼를 만든다.
  - [🔵] 우유를 따른다.
  - [🔵] 머신으로 에스프레소를 내린다. (상황에 따라 [🔵] 모카 포트로 에스프레소를 만든다로 바뀔 수 있다.)
  - [🔵] 우유에 에스프레소를 붓는다.
- 라떼를 마신다.
  - [🔵] 빨대를 꽂는다.
  - [🔵] 마신다.

* 🔵 태스크는 프리미티브 태스크들이다.

실행 흐름:

1
2
3
4
5
6
7
8
9
10
11
12
시작 
 |
우유를 따른다.
머신으로 에스프레소를 내린다.
 |
우유에 에스프레소를 붓는다.
 | 
빨대를 꽂는다.
 |
마신다.
 |
끝		

느긋한 계산법

각 태스크를 실행 시점에 분해하며 일단 1계층 계획을 만들고, 2계층 상세한 계획은 상황에 따라 실행하도록 계층을 분해하여 생성하는 방법을 느긋한 계산법이라고 한다. 계획을 어느 정도 튼튼하게 세우며 게임 상황에 따라 변화할 수 있다.


건설 시스템

주위 자원을 모아 성이나 기지를 건설하고 이를 이용해 병사나 우주선 등을 생성하는 시스템을 건설이라 한다. 건설과 전투를 번갈아 효율적으로 수행해야 한다.

내비게이션 AI가 캐릭터를 환경 안에서 움직이도록 한다. 내비게이션 AI는 경로 검색을 포함하고 있으며 최단 경로를 발견해 그에 맞게 움직이도록 하는 알고리즘이다.

웨이브는 적이 한순간에 몰려오는 현상을 말하며, 상위 AI가 웨이브를 어떻게 보낼 것인가를 정한다.


정찰과 정보 수집

적의 위치나 진행 방향을 알아내어 사령부에 전달하는 것을 정찰이라 한다. 인공지능은 마치 정찰한 듯한 모습의 치트를 사용할 때도 있으며, 정당하게 수행하여 정보를 얻을 수도 있다.

적 유닛을 발견했을 때 경로를 조정하는 등의 작은 개선을 거듭하는 것은 게임 인공지능에서 중요하다.


경로 검색과 무리 제어

멤버가 받는 명령은 이동과 관련된 것이 많으며 이동 형태는 다양하다. 경로를 탐색하며 무리를 지어 이동하고 무리를 제어하는 스티어링에 대해 살펴보자.

현대 경로 검색 기술

오늘날 경로 검색은 일반적으로 내비게이션 메쉬 위의 A* 알고리즘을 이용한다.

타일 기반 경로 검색

타일 기반 경로 검색은 좁은 영역에서 이동하는 캐릭터 사이에 일어나는 충돌 문제를 피하는데 효과적이다. 점유한 공간 이외의 부분에 대해 A* 경로 검색을 수행하고, A* 경로 검색 수행 전 직진 여부를 확인하여 부하를 줄인다.

이 기법은 아군이 적을 포위시에 빈 공간을 찾아 들어가도록 할 수 있다는 장점이 있다.

고정 경로의 한계

워크래프트 등 1990년대 게임에서는 웨이포인트를 통해 긴 경로를 처리했다. 좁고 고정된 곳이면 문제없지만, 매번 같은 경로를 지나게 된다는 단점이 있다.

영역을 이용한 무리 이동

여러 캐릭터의 집합을 유닛이라고 한다. 캐릭터가 경로를 따라 이동할 때 같은 지역에서 출발하면 세로로 길게 늘어질 수 있다. 영역 기반 경로 검색을 통해 이 문제를 해결했다.

영역이란 맵을 큰 덩어리로 분할한 것이다. 영역 안에서 캐릭터는 자유롭게 이동이 가능하며, 영역을 단위로 경로를 정하면 전열을 가로로 전개할 수 있다.

스타크래프트의 공간 분할 기법

쿼드 트리 경로 탐색

스타크래프트에서는 쿼드 트리로 경로를 검색한다. 크기를 달리하여 맵을 4등분하며 반복 검색하는 방법이다. 3차원으로 확장한 옥타 트리 경로 검색도 있다.

옥타 트리 경로 검색은 빈 평원이나 우주 공간이 많다면 효율적이지만, 세세한 지형이나 통로가 복잡한 동굴, 던전 등에서는 비효율적이다.

스타크래프트 2의 발전된 기법

스타크래프트 2에서는 들로네 삼각분할에 따라 맵을 내비게이션 메쉬로 만든다. 메쉬는 4가지 종류로 분할된다:

  • 기본적인 그라운드
  • 건축물이 이미 있는 장소
  • 절벽
  • 아무것도 없는 곳

A* 알고리즘을 사용하여 경로를 탐색하고, 메쉬와 별도로 영역에 따라 맵을 크게 분할한다. 유닛 이동을 유닛이 차지하는 원 영역의 이동으로 보는 방식으로 포메이션을 유지하는 기능을 추가했다.

무리 제어 시스템

스타크래프트 2에서는 그룹 전체를 이동하는 데 무리 제어 방법을 활용했다. 무리 제어는 팔로잉, 그룹화, 분리라는 기본 알고리즘으로 이루어지며, 때에 따라 회피를 추가한다.

가속도나 속도에 따라 캐릭터를 제어하는 것을 캐릭터 스티어링이라고 한다.

스타크래프트 2의 무리 제어 6가지 모드

  1. 팔로잉: 특정 캐릭터나 가상의 리더를 따라간다
  2. 무리 짓기: 하나의 집단을 이루어 목적지로 향한다
  3. 그룹화: 한 곳에 모인다
  4. 분리: 서로 거리를 둔다
  5. 회피: 장애물을 피한다
  6. 도착: 특정 지점에 도착한다 (전략 게임에서는 도착이 특히 중요하게 여겨진다)

퍼넬 알고리즘

경로 검색에서 입력은 출발점과 도착점이다. 퍼넬 알고리즘은 A* 알고리즘 등으로 경로를 찾아 이를 더욱 최적화(매끄럽게 함)하는데 필요하다. 이 과정을 스무딩이라고 한다.

퍼넬 알고리즘의 경로 검색 과정

  1. 출발점 S에서 양쪽 꼭짓점을 선택한다. 그러면 이 3개의 점은 삼각형이 되고 이는 첫 삼각형 메쉬와 일치한다
  2. 양쪽 꼭짓점을 다음 꼭짓점으로 차례대로 이동한다. 출발점과 이 2개의 점으로 만든 삼각형이 경로 영역 안에 있다면 계속 꼭짓점을 이동시킨다
  3. 특정 시점에 이 삼각형이 경로 영역을 벗어난다. 즉, 출발점과 한 꼭짓점(T)을 연결한 선이 메쉬 밖으로 벗어난다
  4. 이 삼각형이 영역 안에 들어가도록 출발점 S를 해당 꼭짓점(T)으로 이동시킨다 (S부터 T까지가 스무딩된 첫 번째 경로가 된다)
  5. T를 출발점으로 다시 지정하여 위의 과정을 반복한다
  6. 목적지까지 일직선으로 연결할 수 있다면 그만둔다

퍼넬 알고리즘으로 경로를 구한 뒤 조금의 보정이 필요하다. 경로의 꼭짓점과 부딪히지 않게 캐릭터의 반지름만큼 경로를 안쪽으로 조정해야 한다.


웨이브 시스템과 전투 제어

전략 게임에서는 이동하여 전투하는 캐릭터 집단을 웨이브라고 한다.

게임별 웨이브 구현

  • 워크래프트 I, II: 스크립트를 이용해 미리 지정한 지점에 캐릭터를 모으고 웨이브를 만든다
  • 스타크래프트: 히트 맵을 이용해 핫 포인트에 웨이브를 만들어 공격한다
    • 히트 맵은 핫 포인트를 표현하기 위해 만든 맵으로 영향 맵 중 하나다
    • 핫 포인트는 적이 가장 크게 지배하는 영역이다

워크래프트 III의 웨이브 제어 4가지

  1. 어택: 공격 상태
  2. 디펜드: 방어 상태
  3. 리그룹: 분산 상태에서 다시 집합 상태(후퇴에 가까움)
  4. 리트리트: 후퇴

이러한 제어는 웨이브의 동적 변화를 가능케 한다. 웨이브에는 웨이브 오브젝트가 있으며, 이는 웨이브를 만드는 토큰이다. 해당 토큰을 다음 웨이브로 전달하지 않는 한 다음 웨이브를 만들 수 없다.

캠페인은 오프라인으로 스토리를 진행하는 게임 모드로, 다양한 스크립트 언어와 에디터를 통해 행동 지정 등의 AI를 구성한다.


기지 건설과 지형 분석

스타크래프트의 건설 영역 탐색 순서

  1. 이미 있던 건축물과 미네랄 사이를 가로막으면 안 되므로 이 영역은 건설을 금지한다
  2. 기지 사이를 이동할 수 있도록 맵 가장자리의 경계 영역을 건설 금지 구역으로 하여 최소한으로 확보해야 한다
  3. 건축물 사이를 쉽게 오갈 수 있도록 가로와 세로로 통로(길)를 만든다

건축할 수 있는 영역 탐색 루틴은 타임 슬라이스로 실행되도록 하여 지연 발생에 대비한다. 타임 슬라이스를 통해 여러 프레임에 걸쳐 조금씩 처리한다.

지형의 경우 메모리, CPU 리소스를 많이 사용하므로 컴퓨터에게 부담스러운 일이다. 특정 지점에서 도달할 수 있는 영역을 탐색하는 방법인 플러드 필을 사용하여 더 빠르게 탐색할 수도 있다.


타임 슬라이스 처리

처리 부하가 높은 루틴이면서 한 프레임에 끝낼 필요가 없는 처리는 여러 프레임에 걸쳐 분산한다.

워크래프트 III에서 AI 매니저가 수확, 건설, 공격이라는 멀티 태스크를 타임 슬라이스로 처리하며 동시에 태스크를 진행해야 한다. AI 관리자는 많은 태스크를 병렬로 타임 슬라이스 처리한다.

AI 관리자가 뇌이며, 플레이어 관리자는 피질, 즉 다양한 태스크를 분할해 인식하는 장소이며, 그 아래 태스크는 시냅스에 해당한다.


수송 문제와 APM 관리

수송 문제

특정 탈것을 이용해 캐릭터를 먼 지역으로 옮기는 문제를 수송 문제라 한다. 수송 방식에는 정해진 방법, 직진 이동 등의 다양한 방법이 존재한다.

시간당 명령 수 (APM)

일정 시간당 지정한 액션 수를 APM이라고 한다. 인간에게는 APM에 한계가 있지만, 인공지능은 꽤 많이 늘릴 수 있다.

인공지능에게 APM에 한계를 부여하면 캐릭터 액션을 효율적으로 수행하도록 해야 한다. 여기서 중요한 것은 타기팅 문제이며, 어느 적을 먼저 공격할 것인지가 문제다.

APM 한계에 다다르기 전에 우선도가 높은 적 캐릭터에게 우선도가 높은 액션부터 실행하는 방법을 사용한다.


그룹 관리와 전술 시스템

여러 팀을 조작하는 것이 주된 기술이다. 몬테카를로 트리 탐색, 유전 알고리즘 등을 이용하여 온라인 대전을 위한 매칭을 수행한다.

토탈 워: 쇼군2의 부대 관리 시스템

토탈 워: 쇼군2에서는 여러 부대를 조작하며 4가지 모듈을 조합하여 전체 의사결정 시스템을 만든다:

  1. 그랜드 택티컬 애널라이저: 국면 전체의 정보를 수집하고 인식하여 목적을 정한다. 전체를 담당하는 인공지능이다
  2. 하이레벨 플래너: 그랜드 택티컬 애널라이저가 정한 목적을 계층 모양의 실제 태스크로 분해한다
  3. 디태치먼트 시스템: 정해진 태스크를 어느 유닛이 실행하도록 할 것인가를 할당하는 역할을 담당한다
  4. 컴플릭트 매니저: 실제로 적과 싸울 때 구체적으로 어떤 전술을 취할 것인가를 결정한다

공성전의 그룹 매니지먼트

예약 전술이란 특정 전술에 할당한 유닛이 어떤 이유에서 원래 전술을 중지할 때, 일단 예약 전술을 할당하여 대기하도록 하고 새 전술을 할당할 때까지 연결 전술로 사용한다.

각각의 전술은 유한 상태 기계(FSM)으로 작성하며, 이를 이용해 유닛 무리를 제어한다. 이러한 시스템에 따라 전체 부대가 전술 단위로 움직인다.


포트폴리오와 게임 트리

문제를 분할했을 때 문제 영역마다 적용할 다양한 기술을 의미한다. 멤버가 있을 때 멤버가 사용할 수 있는 모든 전술 전체를 포트폴리오라고 한다.

게임 상태마다 적이 각각 취할 행동을 정하는 함수를 선택 함수 또는 부분 플레이어 함수라고 한다. 게임 트리란 하나의 게임 상태를 하나의 노드로 하여 생각할 수 있는 모든 게임 상태를 위에서 아래로 트리 구조로 만든 것이다.

각 캐릭터가 선택한 전술 조합이라는 하나의 포트폴리오가 하나의 노드가 된다. AI에 계층형 포트폴리오 탐색이라는 이름으로 구현되었다.

계층형 포트폴리오 탐색은 게임 트리 검색 방법으로 어떤 알고리즘이든 사용할 수 있다는 특징이 있다.


신경망을 이용한 학습

전략 게임은 상황이 복잡하므로 플레이어의 지시에 적절한 행동을 바로 취하기 어렵고, 이를 해결하고자 신경망을 이용한 학습을 도입하기 시작했다.

소대를 지휘하는 인공지능은 일반적인 제어를 상태 기계에 맡기고, 적을 만났을 때의 로직은 신경망이 맡는 방식이다.

신경망 셋업

신경망의 모양(토폴로지)은 다층 퍼셉트론(MLP)다. 입력(게임 상태 통계 정보) → 입력층 - 중간층(은닉층) - 출력층 → 출력(목표 선택) 단계로 구성된다.

트레이닝

트레이닝은 사람의 손을 거치지 않고 AI끼리 대전을 통해 이루어진다. 행동 선택과 그 평가를 이용해 신경망 안 노드끼리의 연결 가중치를 오차 역전파를 이용해 변화시킨다.

전략 게임에 인공지능 응용 사례가 적은 이유

  1. 실제 신경망은 입력층과 출력층을 게임 쪽에서 정하지만, 중간 노드의 수나 중간층 자체의 개수 등을 정하는 방법은 없었고 경험을 바탕으로 했다. 즉, 시행착오를 거치면서 신경망의 토폴로지를 정해야 했다
  2. 시행착오나 결론에 이르기까지 기나긴 계산 시간 등 좀처럼 게임 개발 공정과 타협하기 어려울 때가 많아 이러한 기술이 성숙할 수 있는 개발 현장이 드물었다는 사정도 있다

인공지능 유행의 흐름

인공지능 유행은 2차는 1980년대 ~ 1990년대 초까지, 3차는 2010년대부터 2020년대까지이지만 게임은 각 유행 시기보다 뒤늦게 도입되는 경향이 있다.


기억할 점 🔖

중요 키워드 및 정의

  • 계층형 태스크 네트워크: 큰 태스크를 작은 태스크로 분해하여 실행하는 의사결정 방법
  • 행동 트리(Behavior Tree): 노드를 트리 모양으로 연결하는 그래프 형식의 전투 방법 정의
  • A* 알고리즘: 내비게이션 메쉬 위에서 최적 경로를 찾는 현대적인 경로 검색 알고리즘
  • 퍼넬 알고리즘: A* 알고리즘으로 찾은 경로를 더욱 매끄럽게 최적화하는 스무딩 기법
  • 웨이브: 전략 게임에서 이동하여 전투하는 캐릭터 집단
  • APM(Actions Per Minute): 일정 시간당 지정한 액션 수로, 인공지능의 효율성을 측정하는 지표
  • 타임 슬라이스: 처리 부하가 높은 루틴을 여러 프레임에 걸쳐 분산 처리하는 기법

시험이나 복습 때 주의할 사항

  • 공간, 시간, 팀의 3가지 계층화가 어떻게 상호작용하는지 이해하기
  • 각 게임별 구현 사례(스타크래프트, 워크래프트, 토탈 워 등)의 차이점 파악하기
  • 신경망 학습이 전략 게임에 늦게 도입된 이유와 한계점 숙지하기

질문 및 의문점 ❓

신경망과 같은 인공지능 용어들이 나오니 아무래도 이해하는 데 어려움이 있다. 이를 위해 인공지능 관련 서적을 찾아봐야겠다.

특히 계층형 태스크 네트워크와 포트폴리오 시스템이 실제 게임에서 어떻게 구현되고 최적화되는지에 대한 구체적인 코드 예시나 알고리즘이 궁금하다.


요약 및 개인적 생각 ✏️

전체 내용 요약

전략 게임의 AI는 단순한 개별 캐릭터 제어를 넘어서 복잡한 조직 구조와 계층적 의사결정 시스템을 필요로 한다. 팀, 공간, 시간의 3가지 계층화를 통해 효율적인 지휘 체계를 구축하고, 계층형 태스크 네트워크를 활용해 상황에 맞는 유연한 의사결정을 구현한다.

경로 검색과 무리 제어 기술은 1990년대의 단순한 웨이포인트 방식에서 현대의 정교한 내비게이션 메쉬와 A* 알고리즘까지 지속적으로 발전해왔다. 특히 스타크래프트 시리즈를 통해 볼 수 있는 기술 진화는 게임 AI 발전의 역사를 보여준다.

개인적인 의견이나 학습 소감

전략 게임 AI의 복잡성이 생각보다 훨씬 크다는 것을 깨달았다. 단순히 ‘컴퓨터가 알아서 한다’고 생각했던 것들이 실제로는 수많은 알고리즘과 시스템이 정교하게 조합된 결과라는 점이 인상적이다.

특히 타임 슬라이스 처리나 APM 제한 같은 기법들을 통해 인공지능이 인간과 비슷한 수준에서 경쟁할 수 있도록 의도적으로 제약을 가하는 부분이 흥미롭다. 이는 단순히 기술적 우월성을 보여주는 것이 아니라, 플레이어에게 재미있는 경험을 제공하기 위한 게임 디자인의 철학을 보여준다.

현재 딥러닝과 강화학습이 급속히 발전하고 있는 시점에서, 앞으로 전략 게임 AI가 어떤 방향으로 진화할지 매우 궁금하다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.