원문: Game AI: The State of the Industry Part 2 By David C. Pottinger and John E. Laird
Gamasutra
November 8, 2000

Copyright ⓒ 2000 CMP Media Inc. All rights reserved.

** Game Developer Magazine 2000년 8월호에 실렸던 글입니다 ++

번역: Obee
약간의 교정 및 주석: 류광, GPGstudy.com

Steven Woodcock의 1부에 이어지는, 2000년 AI 현황 보고서 2부입니다. 번역은 Obee라는 분이 해주셨고, 제가 교정 약간 보고 주석을 약간 붙였습니다.

2000년 게임 AI의 현주소 - 2부 1 페이지

지난 주에 나온 1부는 Steven Woodcock이 지난 2000년도 GDC에서 그가 주도했던 게임 AI 토론회에 기반해서 이야기한 게임 AI 분야의 현황을 다루었다. 이 2부에서는 우선 Ensemble Studio의 Dave Pottinger가 게임 AI의 향후 전망에 대해 이야기하고, Universiy of Michigan의 교수 John E. Laird가 학계의 AI 연구자들과 게임 개발자들 사이의 간극을 좁히는 문제에 대해 이야기한다.

올 봄 E3 버스 막차의 의자에 등을 천천히 기대면서 필자는 두 가지 생각을 떠올렸다. 하나는 내년에는 정말로 훌륭한 게임이 나올 것이라는 생각이었고, 또 하나는 발이 정말 아프다는 것이었다. E3 쇼에서 관심을 끈 많은 게임들은 훌륭한 AI를 갖추고 있었다. 필자의 발에 관심을 가질 사람들은 없을 것이므로, 이 글에서는 향후 18개월 안에 나올 몇 가지 게임들에 대해서, 그리고 그들이 구현할 몇 가지 새롭고 개선된 AI 기술들에 대해서 이야기하겠다.

더 나은 AI 개발 과정과 도구들

AI는 제품 개발의 마감 직전에 다른 잡다한 자투리들과 함께 처리되는 것이 일반적인 관례였다. 대부분의 프로그래머들은 어차피 게임의 플레이 방식이 어느 정도 확정되는 시점이 되어야만 컴퓨터 플레이어(CP)의 AI를 만들 수 있으니 AI 부분은 개발 과정의 뒤로 미루는 것이 당연하다고 생각했다. 그러나 게임에서의 AI 활용이 점차로 성숙함에 따라, 이제는 개발 도중 게임 플레이 방식이 변해도 쉽게 변경, 조정할 수 있도록 모듈화된 AI 시스템을 개발할 만큼 업계가 성숙되었다. 그 덕분에 AI 개발이 전체 개발 과정의 초기에 놓이게 되었으며, 그 결과로 최종 제품에 좀 더 나은 AI를 갖추게 하는 것이 가능해졌다.

Ensemble의 세 번째 실시간 전략 게임(코드명 RTS3)을 위해 완전히 새로운 컴퓨터 플레이어(CP) AI 전문가 시스템(expert system)을 개발하는 데 지금까지 거의 1년이라는 시간을 쏟아 부었다. 오랜 시간동안 디자이너들과 요구 조건에 대해 논의한 끝에, 시간/ 비용과 결과 사이의 적절한 타협점을 찾아냈고, 그것이 바로 위에서 말한 전문가 시스템(코드명 XS 역주: expert system의 약자... 이 인간들은 이름 만들기에는 재주가 없는 듯... RTS3도 마찬가지고... )이었다. 생각보다 일이 잘 되었기 때문에, XS는 매우 견고하고 확장성있는 스크립팅 언어가 되었다.

흥미로운 개체 AI 기능은 Cataclysm의 핵심 요소가 될 것이다.

이 언어는 매우 견고한 데다가 재사용이 가능하기 때문에, 원래 목적이었던 CP AI를 기술하는 용도뿐만 아니라 콘솔이나 UI 명령 처리, 영화적 장면(cutscene)의 제어와 광범위한 트리거 시스템에도 사용하고 있다. 또한 이 시스템이 기술 트리(테크 트리)에서 쓰이는 복잡한 조건절과 필요조건을 체크하는 용도로도 사용될 수 있을 것으로 기대하고 있다. 그렇게 되면 프로그래머의 개입 없이도 디자이너들이 각 기술들을 조사할 때 즉석에서 필요 조건들을 추가하는 것이 가능해진다. 최종적으로, 이 XS의 기반들은 RTS3을 위한 랜덤 지형 맵 생성을 담당하는 스크립트 코드 작성에도 사용될 수 있을 것이다. 도구로서의 XS가 보이는 흥미로운 측면은, XS의 디버깅이 RTS3의 실행 과정에 통합된다는 것이다. Age of Empires II:The Age of Kings (AoK)의 전문 시스템 디버깅(하나의 테이블에 대략 40개 정도의 정수 값들이 표시된다)을 경험해 본 사람들이라면, 개발자가 아니라 게이머들도 아주 쉽게 독특한 AI를 창출해 낼 수 있을 거라는 생각에 동의할 것이다. 이는 AI 업계의 커다란 진보라고 할 수 있다.

보다 향상된 NPC의 움직임

초창기 일인칭 슈팅 게임에서 NPC의 지능은 그럴 듯 하게 굴러다니는 바윗돌 정도에 머물렀지만 적어도 최근까지는-굳이 멀리 가지 않더라도 Half-Life의 스토리텔링 NPC나 Unreal Tournament의 아주 훌륭한 봇 AI 등을 예로 든다면- 그러한 점이 문제가 되지 않았다. 이러한 게임들의 상업적 성공은 개발자들이 AI에 보다 분투하도록 고무시키는 자극제가 되었다. 따라서 앞으로 출시되는 게임들에서는 보다 영리한 NPC들이 계속해서 등장할 것으로 예상된다.

Grey Matter Studios는 Return to Castle Wolfenstein의 E3에서 대단히 인상적인 기술 몇 가지를 선보였다. 이 게임에서는 플레이어가 나치 보초들에게 수류탄을 던지면 그 보초들이 던져진 수류탄을 집어서 플레이어에게 되던질 수 있는데, 이런 단순하지만 대단히 효과적인 묘안들은 NPC들 상호간에 유행처럼 파급되는 효과를 낳는다. 이러한 특성에서 발생하게 되는 게임 플레이의 요령이란 나치 보초들이 수류탄을 되던질 시간적 여유를 가질 수 없도록, 되도록이면 오랫동안 수류탄을 쥐고 있다가 투하하는 것이다. 다행히 Grey Matter는 이 점을 미리 고려하고 있었으므로, 시간적 여유가 충분하지 않은 상황이라면 보초들은 영리하게도 수류탄을 집어 되던지는 행동을 보이지 않는다.

어쨌든, Return to Castle Wolfenstein에서는 곤돌라에서 내린 후 맞닥뜨리게 되는 적들의 교활한 수류탄 되던지기 수를 조심하시길!

많은 개발자들이 보다 사실적으로 정확히 움직이는 캐릭터들을 생성하기 위해서 애니메이션/시뮬레이션 시스템들을 AI와 결합시키고 있는데, System Shock 2를 제작한 Irrational이 그러한 예이며 다른 개발자들 역시 자신들의 프로젝트에서 이러한 결합을 시도하였다. Raven의 개발자들은 이와 비슷한 방식을 Star Trek: Elite Force의 NPC AI에 대해 적용해서, 자신들의 에니메이션 시스템인 Icarus 속에 통합되는 완전히 새로운 NPC AI 시스템을 개발했다. Elite Force의 애니메이션은 동작의 전환을 부드럽게 연결하고 뻑뻑거림을 방지함으로써 캐릭터의 행동 속에 자연스럽게 융합된다. 따라서 게임에 대한 체감도가 대단히 향상되었다. 애니메이션에서 역기구학(inverse kinematics : 역주: kinematics(기구학 또는 운동학)를 거꾸로 한 것. 간단히 말하면, 팔을 회전하는 각도를 먼저 결정하고 팔을 돌려서 손이 어떠한 위치에 가게 하는 것이 아니라, 손의 최종적 위치를 먼저 결정하고 그것으로부터 팔을 회전하는 각도를 얻는 방식. 보간을 이용한 키프레이밍과 계통적 뼈대 애니메이션의 결합과 관련이 있다)의 사용이 점점 증가함하는 것을 볼 때, 필자는 애니메이션의 제어와 생성을 어떠한 정교한 AI 상태 기계들에 맡기는 경향 (역주: 기존의 방식은, 애니메이션의 제작은 개별적인 애니메이션 저작 도구를 이용하고, 게임의 애니메이션 엔진는 그냥 그 도구로부터 생성된 애니메이션 데이터 파일을 읽어 들여서 재생하는 것이다)이 더욱 강해질 것이라고 예측한다. 애니메이션에 AI를 결합시키면 코드의 재사용과 메모리의 절약이라는 또 다른 측면의 이익도 얻을 수 있다.

AI를 이용한 좀 더 나은 커뮤니케이션

Eliza(역주: 1966년에 나온 인간-컴퓨터 대화 프로그램. 인공지능의 장미빛 미래를 꿈꾸게 만든 프로그램들 중 하나)와 HAL (역주: 유명한 SF 소설에 나온 초지능을 가진 컴퓨터. IBM의 알파벳을 한 글자씩 앞당겨서 만든 이름이라는 설이 있다) 이후, 사람들은 자신의 컴퓨터와 이야기할 수 있기를 원하게 되었다. 실시간 음성 인식과 언어 처리는 아직도 몇 년 후의 일이지만, 컴퓨터 상에서 플레이어들 간의(적 또는 동료로서) 커뮤니케이션이 가능해지는 날을 향한 큰 행보는 계속 이어지고 있다.

실례로, 조만간 출시될 Age of Empires: The Age of Kings의 확장팩, The Conquerors에서는 플레이어가 메뉴에서 메지시를 선택하거나 채팅 메시지를 하나 보내는 것만으로도 다른 컴퓨터 플레이어에 대한 명령이 가능한 채트 커뮤니케이션 시스템을 갖추고 있다. 이 기능과 XS 시스템(게이머가 CP AI를 직접 작성할 수 있는)이 결합되면, 일일이 간섭하지 않아도 나름대로 도움이 되는 플레이를 펼치는, 그러나 필요하다면 게이머가 직접 어떠한 지시를 내릴 수 있는 컴퓨터 동료(동맹 관계인 CP)를 만들 수 있게 된다 (역주: 가만히 놔두면 알아서 유닛들을 뽑고 나름대로 공격을 하다가, '도와줘' 메시지를 보내면 정말로 지원군을 보낸다던가 '여기를 쳐라' 하면 그쪽으로 유닛들을 집중하는 등...). 이 정도 수준의 기술은 인간과 같은 방식으로 컴퓨터 동료들과 이야기를 나누게 된다는 목표에 비하면 작은 발걸음에 지나지 않는다. 불행하게도 아직은 어느 정도의 시간이 지난 후에야 그와 같은 소망을 이룰 수 있을 것으로 보인다.