“우리는 아주 현실적인 인공지능(AI)을 만들기보다 엔터테인먼트를 만드는 데 집중했습니다.”
18일(미국시간) 전 이래셔널 게임즈의 개발자 ‘존 에버크롬비’는 <바이오쇼크: 인피니트>의 여주인공 ‘엘리자베스’의 AI를 어떻게 설계했는지 GDC 2014에서 발표했다. 에버크롬비는 엘리자베스에게 생동감을 부여하려다 겪은 어려움과 비현실적이지만 게임의 재미를 살리는 방향으로 AI를 수정한 과정을 소개했다.
엘리자베스는 <바이오쇼크: 인피니트>의 주요인물 중 하나다. 그녀는 플레이어와 동행하며 아낌없는 지원을 해준다. 예를 들어 돈이 조금 모자라 물건을 못 사는 상황에 처하면 어디선가 구해온 동전을 던져주고, 전투를 할 때 탄약이나 생명력이 다 떨어지면 다른 공간에서 물건을 집어오는 능력 ‘테어’를 써서 물약과 무기를 구해준다.
AI 수준이 너무 높아서 전투를 방해하지도 않는다. 다른 게임에서는 직접 조작하지 않는 캐릭터가 시야를 가리거나 엉뚱한 행동을 해서 전투를 방해하기도 하는데, 엘리자베스는 지나치게 가까이 와서 시야를 가리거나 멀리 떨어져서 필요한 보급품을 전달하지 못하는 실수를 저지르지 않는다. 플레이어에게는 아주 기특한 캐릭터라고 할 수 있다.
기막힌 타이밍에 탄약이나 획복약을 지원해주는 엘리자베스의 모습.
에버크롬비는 이런 기특한 도우미를 만들기 위해 이래셔널 게임즈가 숱한 고생을 하게 됐다고 밝혔다. 뛰어난 AI를 만드는 것과 유저에게 재미를 주는 것은 별개의 문제였기 때문이다.
개발진이 한번은 엘리자베스를 인간답게 만들려고 플레이어 주변을 돌아다니도록 설정해 본 적이 있다. 그러자 테스터가 가야 할 길은 안 가고 엘리자베스를 따라다니는 잘못된 판단을 내려버렸다. 엘리자베스가 주변을 돌아다닌다고 생각하지 못하고 길을 안내해준다고 착각한 탓이다.
이 문제를 해결하기 위해 개발진은 엘리자베스가 플레이어가 이동할 만한 곳을 예측해서 움직이도록 AI를 변경했다. 그 결과 엘리자베스는 플레이어에게 혼란을 주지 않으면서, 플레이어가 갈 법한 곳으로 뛰어가 살펴보는 자연스러운 행동을 취하게 됐다.
플레이어가 갈 곳을 예상하고 먼저 달려간 엘리자베스. 자연스럽게 주변을 살펴보는 자세를 취한다.
AI 설정만으로는 해결이 불가능한 문제도 있었다. 에버크롬비는 너무 엘리자베스가 플레이어를 잘 따라붙도록 만들면 시야를 가려버리고, 덜 따라붙게 만들면 못 쫓아올까봐 고민했다고 밝혔다. 결국 적당한 거리로만 따라붙도록 설정하고, 지나치게 멀리 떨어지면 텔레포트를 하도록 만들어 문제를 해결했다.
프로그래밍을 한 뒤에도 문제는 많았다. 버그 때문에 AI가 엉뚱한 행동을 하는 문제가 나타나곤 했기 때문이다. 그래서 엘리자베스의 AI를 디버깅하기 위한 모드를 따로 운영할 수밖에 없었다. 개발자들은 이 모드를 ‘빌어먹을 리즈(WTFLIZ)’라고 불렀다. 참고로 ‘리즈’는 엘리자베스의 애칭이다.
에버크롬비는 완벽한 AI를 만들면 좋지만, 텔레포트와 같이 AI의 행동을 보정해주는 프로그래밍을 짜는 데 거부감을 가져서는 안 된다고 밝혔다. 게임은 정밀한 AI를 제작하기 위한 프로그램이 아닌, 재미를 만들기 위한 ‘엔터테인먼트’이기 때문이다.
엘리자베스는 오는 3월 25일 출시될 다운로드 콘텐츠(DLC) <바이오쇼크 인피니트: 바다의 무덤> 에피소드2에서 조작 가능한 캐릭터로 나올 예정이다.
DLC <바이오쇼크 인피니트: 바다의 무덤> 에피소드2에 등장할 엘리자베스의 모습.