게임에서의 인공지능은 어떤 식으로 만들어지고 어떤 종류가 있는가? 탐구해봅시다.
우린 싱글 플레이 게임에서나, 멀티플레이 온라인 게임에서나 게임 내에서 구현된 적들, NPC의 인공지능에 대해서 생각해보신적이 있을겁니다.
게임을 플레이하면서 인공지능 적이 너무 똑똑하다거나 너무 멍청하다거나, 어중한다거나, 버그에 걸려서 어떤 장소나 사물에 끼인다거나 하는 경험으로 재미있는 경험을 해보셨을 겁니다.
한번쯤 게임을 좋아하시는 분이라면 궁금하실 주제에 대해서 한번 제가 포스팅을 해보려고 합니다.
게임에서 인공지능을 만든다는 것은 정말 어려운 작업이지만, 현재 활발한 연구가 진행되고 있는 분야이기도 합니다.
* 게임 내에서의 인공지능은 어떻게 만들어지는가? |
게임의 인공지능(AI)은 다양한 방식으로 만들어질 수 있습니다. 아래는 일반적인 접근 방법과 기술적인 측면에 대한 간략한 설명입니다. 여러가지 방식이 있지만, 일반적으로 개발자들이 사용하는 방식은 크게 5개로 정리해볼 수 있습니다.
- 규칙 기반 인공지능:
- 이 방식은 게임 개발자들이 직접 규칙을 만들어 AI 시스템에 구현하는 방식입니다.
- 예를 들어, 체스나 오목과 같은 보드 게임에서는 각 말의 이동 규칙을 정의하고, 게임 상황에 따른 최적의 수를 계산하는 알고리즘을 구현할 수 있습니다.
- 기계 학습을 활용한 인공지능:
- 기계 학습은 데이터에서 패턴을 학습하여 결정을 내리는 방식입니다.
- 강화 학습(Reinforcement Learning)은 특히 게임에서 많이 사용됩니다. 에이전트는 환경과 상호작용하며 보상을 최대화하는 방향으로 학습합니다.
- 신경망과 딥러닝:
- 딥러닝은 복잡한 문제를 해결하기 위해 사용되며, 신경망은 이를 구현하는 데 중요한 역할을 합니다.
- 게임에서는 이미지나 음성 인식, 게임 내 캐릭터의 행동 결정 등에 딥러닝을 활용할 수 있습니다.
- 몬테 카를로 트리 탐색(Monte Carlo Tree Search, MCTS):
- 주로 트리 구조를 사용하여 게임 트리를 탐색하고 가장 유망한 경로를 선택하는 방법입니다.
- 알파고(AlphaGo)에서 사용된 것처럼, 이 방법은 확률적인 요소와 전략을 고려하여 게임을 진행합니다.
- 전략 게임에 대한 특수한 기술:
- 실시간 전략 게임(RTS)과 같은 게임에서는 유닛의 움직임, 공격 등을 조절하는 AI가 필요합니다.
- 이를 위해 패스파인딩(Pathfinding) 알고리즘과 같은 기술을 사용하여 유닛들이 최적의 경로를 찾도록 합니다.
게임의 특성에 따라 이러한 방법들을 혼합하여 사용하기도 합니다. 또한, 최근에는 강화 학습과 딥러닝을 결합한 형태로 게임 AI를 개발하는 연구가 활발히 이루어지고 있습니다.
* 특수한 인공지능 기술이 비디오 게임들에서 쓰인 사례들을 소개. |
- 알파고 (AlphaGo):
- 알파고는 딥마인드(DeepMind)에서 개발한 바둑 인공지능입니다.
- 강화 학습과 신경망을 기반으로 하여, 전통적인 바둑 규칙 뿐만 아니라 전략과 진행 중인 게임 상황까지 학습하여 대국 선수들을 이기는 데 성공했습니다.
- OpenAI Five:
- 오픈에이아이(OpenAI)에서 개발한 OpenAI Five는 Dota 2라는 실시간 전략 게임에서 팀전을 수행하는 인공지능 팀입니다.
- 강화 학습과 딥러닝을 활용하여 팀원 간의 협력과 전략적인 결정을 내리며 인간 플레이어 팀에 대항합니다.
- StarCraft II AI Agents:
- 스타크래프트 II는 실시간 전략 게임으로, 딥마인드에서는 스타크래프트 II 인공지능 에이전트를 개발하였습니다.
- 알파스타2(AlphaStar)라 불리는 이 AI는 강화 학습과 신경망을 사용하여 스타크래프트 II에서 최고 수준의 플레이를 선보였습니다.
- Neuroracer:
- Neuroracer는 뇌과학적 연구와 게임이 결합된 게임으로, 인지 능력을 향상시키기 위한 게임입니다.
- 개발자들은 플레이어의 뇌파를 분석하여 게임의 난이도를 동적으로 조절하며, 플레이어의 주의력과 기억력을 향상시키는 데 기여했습니다.
- No Man's Sky의 프로시저럴 생성:
- No Man's Sky는 프로시저럴 생성 기술을 사용하여 무한한 우주를 탐험할 수 있는 게임입니다.
- 인공지능은 게임 내의 행성, 동물, 식물 등을 동적으로 생성하며, 각 플레이어는 고유한 우주를 경험합니다.
- Shadow of Mordor의 네메시스 시스템:
- Middle-earth: Shadow of Mordor 게임은 네메시스 시스템을 도입하여 적 캐릭터 간의 관계를 동적으로 생성합니다.
- 적 캐릭터들은 플레이어와의 상호작용에 따라 발전하며, 각각의 독특한 개성을 갖습니다.
- Alien: Isolation의 다이나믹 AI :
- 에일리언 : 아이솔레이션은 더 강렬하고 현실적인 공포 경험을 제공하는데 주력한 게임 중 하나입니다. 게임에서 사용된 주요 기술은 "다이나믹 AI"라 불리며, Alien은 플레이어의 행동을 학습하고 상황을 인식합니다. 플레이어가 항상 같은 플레이 방식을 채택하는 것이 아니라 다양한 전략을 사용할 때, Alien은 더 똑똑하게 플레이어를 추적하고 반응합니다.
특정한 인공지능 기술이 게임에 사용된 사례로는 이정도로 간략하게 정리해볼 수 있는데요, 사실 개발자들이 따로 언급을 안해서 그렇지,상당수의 게임에 여러 독창적인 인공지능 기술이 적용되어 있을 겁니다.
아무튼 우리가 3D 비디오 게임에서 동적인 인공지능을 생생하게 체험하면서 느껴볼 수 있는 게임으로는 미들 어스 : 쉐도우 오브 모르도르, 호러 게임인 에일리언 : 아이솔레이션 정도가 있습니다. (제 경험상으로 빗대어 말이죠, 다른 게임이나 더 뛰어난 게임이 있을 수도 있습니다.)
실제로 쉐도우 오브 모르도르에서는 플레이어의 행적과 쓰러트린 적들에 따라서 각각의 독특한 개성을 갖춘 보스 오르크들이 생성되며, 이는 실제로 인공지능이 동적으로 상황을 파악하여 이뤄낸 결과물입니다. 실제로 게임 내에 등장하는 오르크들은 개성적인 목표와 성격을 가지며, 적 캐릭터들은 플레이어와의 모든 상호작용을 기억하며, 이에 따라 그들의 태도, 강화, 외모 등이 변화합니다. 플레이어에게 패배했던 적은 자신의 강화와 함께 돌아와 복수를 시도하거나, 승리한 적은 더욱 강력해져서 다시 등장할 수 있습니다.
에일리언 : 아이솔레이션은 독특한 이 게임만의 인공지능 기술이 사용되었습니다. 에일리언은 플레이어의 행동을 추격하고 죽이는 단순한 구조를 갖추지만, 동시에 마스터 AI라는 AI가 상황을 파악하고 에일리언 AI에게 명령을 전달합니다. 따라서 에일리언 아이솔레이션은 두가지 방식의 인공지능이 동시에 동작합니다. 전체적인 상황을 보는 마스터 AI와 에일리언 자체의 AI를 동시에 운용한다는 말이죠.
플레이어가 항상 같은 플레이 방식을 채택하는 것이 아니라 다양한 전략을 사용할 때,마스터 AI가 이를 감지하고 100% 정확한 플레이어의 위치를 알려주진 않지만 주위 가까운 곳으로 이동하도록 힌트를 줍니다.
따라서 에일리언도이 더 똑똑하게 플레이어를 추적하고 반응하도록 설계되었고, 플레이어가 이동 시나 사물을 이용할 때 내는 소리를 감지해서 플레이어를 추적하기도 하며, 동시에 시각적으로 주변 환경을 탐색하여 플레이어를 찾습니다. 또한 한번 이동했던 경로만 이용하는 게 아닌, 플레이어의 머리를 복잡하기 위해 다양한 루트의 이동경로를 스스로 탐색하여 이동합니다.