2015.03.30 AI

AI Lab 대담 #3 – 게임 AI

본격 인공지능 개론, 엔씨소프트 AI Lab 이야기 세 번째 시간입니다. 지난 글들을 통해 인공지능에 대한 큰 개념들을 이해하는 시간을 가져 보고, 글로벌 기업들이 AI에 러브콜을 보내는 시대,  왜 엔씨소프트가 AI 연구를 하는지도 살펴 보았죠. 오늘은 드디어 게임 AI에 대해 이야기할 차례입니다! 게임에서 AI를 왜 적용하게 되었는지, 그리고 그 구현은 어떤 방법으로 이루어지는지, 게임과 AI의 랑데부 한 번 확인해 보자구요 🙂


AI Lab 대담 #3 – 게임 AI


Part Ⅲ. 게임 AI

이재준 상무 오늘은 게임 AI에 대한 말씀을 드리죠. 먼저 기존 대담 멤버에 게임 AI 팀 소속 장한용 박사가 자리를 함께 하였습니다. 간단하게 소개를 먼저하고 시작하시죠.

장한용 과장 게임 AI팀의 장한용 과장입니다. 컴퓨터그래픽스를 전공하고 게임 물리 애니메이션 연구를 했었습니다. 당시, 물리 기반 애니메이션에 AI기법을 적용하는 많은 움직임이 있었고, 특히 게임 AI에 관심이 많았기에 팀에 합류했습니다. 많은 기회가 있었지만 역시 엔씨소프트의 AI Lab에 가서 꿈을 펼쳐야겠다고 생각했죠(웃음). 기존 콘솔 게임에서 종종 NPC AI를 접하게 되는데 다중접속역할수행게임(MMORPG)에서는 더 흥미로운 AI 세계가 가능할 것으로 생각합니다. 이런 것을 도전할 수 있는 곳이 엔씨소프트이기에 입사 지원을 했었죠.

이재준 상무 이경종 차장, 이준수 과장은 이전에 소개해드렸으니 소개는 넘어가고 바로 이야기 시작하도록 합시다.

AI Lab 이재준 상무

▲ AI Lab 이재준 상무


1. 게임 AI는 어떻게 변화되어 왔을까?

이준수 과장 예전부터 체스나 바둑, 포커, 보드 게임에 게임 AI를 구현하기 위한 많은 노력이 있었어요. 사람을 상대하여 이기려는 것이 목적이었죠. 사람을 상대로 승리하는 것은 물론 중요한 목표이지요. 그러나, 오늘은 조금은 다른 시각에서 보는 이야기를 해보려고 합니다. 플레이어에게 새로운 경험을 주고 그 경험을 통해서 재미를 주는 것이 게임의 중요한 목적 중의 하나라고 생각합니다. 그래서 게임 AI를 사용자에게 색다른 경험과 재미를 줄 수 있는지에 대한 연구 측면에서 보고, 이쪽으로 진행되는 노력들에 관한 이야기를 나눠볼까 합니다.

이경종 차장 게임은 비록 가상 세계 이지만 현실 세계와 같은 생동감을 만들어 주는 것이 그 재미를 더해주는 중요한 요소라고 생각해요. 이것과 관련하여 주목할만한 AI 중심의 게임이라면, 제가 생각할 때 크게 두 가지 게임을 꼽을 수 있을 것 같습니다. 하나는 ‘심즈(The Sims)’고, 하나는 ‘블랙 앤 화이트(Black & White)’라는 게임입니다.

‘심즈(The Sims)’는 인생 시뮬레이션 게임이라고 말할 수 있는데, 게임 안에서 사람들간의 사회적인 관계를 만들고 인격이 부여되면서 ‘정말 내가 이 안에서 살고 있구나’ 라고 생각하면서, 각자의 행동과 반응을 즐기는 게임입니다. ‘블랙 앤 화이트(Black & White)’는 플레이어가 신(God)이 되어 인류를 다스리며 신의 능력을 체험하는 게임인데, 크리처라는 캐릭터를 학습기법을 이용하여 선하게 또는 악하게 키우는 색다른 즐거움을 제공하며 새로운 게임의 가능성을 보여준 게임이라고 볼 수 있어요.

AI Lab 장한용 과장, 이애준 상무, 이준수 과장, 이경종 차장

장한용 과장 앞서 말한 생동감 있는 게임은 다양한 콘텐츠를 제공하는 게임이라고 할 수 있습니다. 보통 콘텐츠를 만들어 놓으면 개발자의 노력과 예상에 비해 사용자가 너무나 쉽게 소모해버리고, 동일한 내용을 반복하면서 게임을 재미없게 느끼게 되죠. 그런데 인공지능이 들어가서 콘텐츠에 다양한 변화를 주게 되면, 사용자는 게임 내용을 새롭게 받아들일 수 있습니다.

이재준 상무 방금 이야기한 두 가지 게임을 예로 들어보죠. 게임에서 시장이나 골목이 배경이라고 할 때 그 전까지는 NPC들이 가만히 서있거나 동일한 행동만 반복했지만, ‘심즈(The Sims)’에서는 NPC가 각자 나름대로 그 상황에 걸맞은 행동을 해요. ‘블랙 앤 화이트(Black & White)’도 벌이나 상을 주는 것에 따라 NPC가 성장하고 변화해 나가도록 하고 있어요.

이준수 과장 그런 측면에서 게임 AI의 발전 흐름을 생각해볼 수 있을 겁니다. 콘솔의 FPS(First-Person Shooter) 게임을 예로 들자면, 가상 세계에서 총싸움을 하는데 우리편이나 상대편이나 게임 캐릭터들이 매번 똑같은 패턴으로 쏘기만 한다면 어떨까요. 그런 게임은 한 번은 할 수 있겠지만 계속 하기에는 재미를 느끼기 어렵죠. 그러니 개발자는 사람들이 재미있게 게임을 할 수 있도록 여러 가지 패턴을 집어 넣죠. 하지만 경우에 따른 행동패턴을 적용하고, 조금 다른 변화를 만들어 놓더라도 잠깐은 괜찮지만 결국엔 한계를 보이게 되는 거에요. 사용자들은 금세 행동패턴을 알아채 버리거든요. 그래서 개발자들은 어떤 목표가 주어졌을 때 마치 사람처럼 다양한 행동을 만들어 줄 수 있는 알고리즘이 게임을 더 재미있게 만들어 주지 않을까 하는 생각으로 AI를 연구해 온 것입니다.

이경종 차장 맞아요. 지금 말씀해주신 NPC들의 다양한 움직임을 보여줄 수 있는 기술들이 콘솔FPS 게임 중심으로 발전 해왔습니다. 목표(Goal)을 정해주면 그것을 달성하기 위한 가장 적절한 행동들을 찾아주는 기법인 ‘Goal Oriented Action Planning(GOAP)’이 대표적이라고 할 수 있겠네요. 이는 NPC에게 달성해야 하는 목표를 주면 목표를 달성하기 위한 행동들의 시퀀스를 상황에 맞게 찾아주는 기법입니다. GOAP으로 만든 NPC가 유한 상태 기계(Finite State Machine)로 만든 NPC보다 더 풍부한 움직임을 보여줄 수 있죠.

AI Lab 이경종 차장

▲ AI Lab 이경종 차장

이경종 차장 이런 흐름으로 게임 AI기법이 발전한 결과, ‘엘더스크롤(Elder Scrolls)’에서는 Radiant AI를 보여줬었죠. 옷을 벗고 다니면 NPC들이 비웃기도하고 아이템을 버리면 NPC가 주워서 돌려주기도 합니다. 당시에 상당히 신선했는데 한편으로는 개발자가 의도하지 않은 어색한 행동까지 나타나는 부작용도 발생했습니다. 현재는 그것을 극복하기 위한 방법들을 연구하고 있어요. 다양한 행동을 잘 관찰하고 디버깅 할 수 있는 툴을 함께 만드는 등의 노력들을 진행하고 있습니다.

장한용 과장 엔씨소프트의 주력 게임인 MMORPG에 대하여 얘기를 해보자면, MMORPG는 대규모의 사용자가 접속하여 플레이하는 만큼 NPC의 AI 처리에 자원을 할당하기 보다는 사용자에게 더 집중하는 것이 필요했습니다. 하지만 요즘은 AI에 대한 생각이나 환경이 많이 바뀌고 있습니다. 물론 해결해야 될 문제가 많아 아직까지 AI 콘텐츠가 많이 보편화되지 않은 상태입니다만, 저희의 목표는 그 문제들을 해결해서 생동감 있는 NPC를 만드는 것입니다.

생동감 있는 NPC를 만들어야 한다.

▲ 여러분이 늘 만나는 NPC들은 슈퍼스타 NPC의 엄격한 선발과정을 통해 선발된 정예 NPC…일리가 없다.


2. 게임 AI 발전을 위한 노력들

이경종 차장 고전적인 게임 AI의 가장 큰 약점 중 하나가 공략법을 한 번 파악 당하면 수명이 끝나게 된다는 거예요. 이것을 보완하는 일이 게임 AI에서 풀어야 할 숙제가 아닌가 생각합니다. 약점이 드러나더라도 스스로 보완하고 발전해나간다면, AI의 수명도 더 늘어나고 사용자들도 더 많은 재미를 느끼게 되겠죠. AI가 변화해감에 따라 사용자가 그 콘텐츠 전반을 새롭게 받아들이기 때문에 지속적으로 게임을 할 수 있는 요인이 되는 거죠.

장한용 과장 ‘스타크래프트(StarCraft)’ 의 경우도 상대방의 전략에 따라서 사용자가 해야 하는 것이 계속 바뀌잖아요. 플레이 할 때마다 게임의 진행이 달라지기 때문에 매우 오랫동안 사랑을 받을 수 있었죠.

이준수 과장 ‘스트리트파이터(Street Fighter)’ 같은 대전게임도 마찬가지입니다. 사람들이 사람과의 1대1 대전에 빠지는 이유는 결국 새로움에서 느끼는 재미 때문이에요. 그래서 AI도 사람처럼 다양한 행동을 보여줄 수 있고 자연스럽게 보여지도록 연구하고 노력하고 있는 것이지요.

AI Lab 이준수 과장

▲ AI Lab 이준수 과장

이준수 과장 회사뿐만 아니라 학계에서도 게임 AI에 대한 연구에 많은 노력을 하고 있습니다. 2010년부터 AIIDE(Artificial Intelligence and Interactive Digital Entertainment) 국제학회에서 ‘스타크래프트(StarCraft)’ AI경진대회가 열리고 있습니다. 참가자들이 ‘스타크래프트(StarCraft)’ 게임을 플레이하는 AI Bot을 만들어, 그 AI Bot끼리 게임을 하는 거죠. 이런 RTS(Real-Time Strategy, 실시간 전략게임)는 자원 채취도 해야 하고, 공격이나 방어 등 해야 할 일이 많잖아요. 그런 것들을 사람의 개입이 전혀 없이 AI Bot 스스로 하게 만드는 건 굉장히 어려운 문제거든요. 그러니 각자 따로 연구하는 것보다는 학계에서 주최하는 이런 AI 경진 대회를 통해 사람들이 서로 경쟁하면서 또 협력하고 있는 겁니다.

이경종 차장 그 전에 AI 학계에서 게임을 한다고 하면 보통 체스나 바둑 같은 보드 게임 아니면 ‘팩맨(PacMan)’, ‘슈퍼마리오(Super Mario Bros)’ 같은 간단한 게임 위주였습니다. 플랫폼에서 차이가 있으니 결과물을 회사 연구에 적용시켜보기에는 무리가 있었습니다. 하지만 AI가 ‘스타크래프트(StarCraft)’ 라는 상용게임의 문제를 풀기 시작했다는 것은 매우 의미가 있다고 생각합니다. 일종의 새로운 도전인 셈이죠. 이 과정에서 이론을 실제로 적용하기 위한 다양한 방법론과 결과들이 보고 되고 있습니다. 그래서 저희 AI Lab도 AI 경진 대회를 통해 나온 연구자료들을 많이 참고하고 있습니다.

AI 연구자들은 경쟁하면서도 협력하고 있다

▲ We are not a team! This is competition!이라는 제시와 달리 AI 연구자들은 경쟁하면서도 협력하고 있다. ( ͡° ͜ʖ ͡°)

장한용 과장 학계에서 체스 같은 것을 하기가 편했던 이유는 상대방의 정보를 다 볼 수 있고 경우의 수를 계산할 수 있는 게임이었기 때문이거든요. 카드 게임 같은 경우도 상대방 카드 몇 장을 안 보는 것까지는 계산을 할 수 있었으니까요. 하지만 ‘스타크래프트(StarCraft)’ 같은 경우는 문제가 엄청나게 복잡하죠. 그걸 학계에서 관심을 가지고 풀어주고 있는 게 상당히 고무적이라고 생각합니다.

이경종 차장 재미있는 것이 일부 게임 회사는 게임 AI를 수정할 수 있는 API를 공개하고 있어요. ‘히어로즈 오브 뉴어스(Heroes of Newerth)’같은 게임은 AI를 구현하고 오픈소스처럼 서로 공유하고 있거든요. AI 개발은 정해진 방법론이 있는 것이 아니고 다양한 방법론과 알고리즘을 적용해보고 실험해봐야 합니다. 오픈소스 형태로 운영하면 그만큼 다양한 아이디어들이 적용될 수 있겠죠. 그래서 이런 방식을 통해 AI를 개선해보려는 시도들도 있는 것 같습니다.


3. AI 접대골프 이론

이경종 차장 AI의 목표라고 한다면 크게 두 가지로 볼 수 있겠죠. ‘아주 잘 하는 것’이 있겠고, 또 하나는 ‘사람처럼 보이게 하는 것’이죠. 서로 차이가 있습니다. 잘하는 것을 목표로 하는 AI는 목표를 달성하기 위한 최적의 행동을 선택하게 되는데 경우에 따라서 사람 입장에서는 이상하게 보일 수도 있습니다. 그래서 사람처럼 보이게 하는 것도 중요한 목표입니다. 정말 사람처럼 보이게 하려면 사람에 대해서 정확하게 이해를 해야 되고, 사람이 어떻게 하는지에 대한 것들도 모델링이 돼야 되고, 그 모델링에 맞춰서 어떻게 따라 하게 해야 하는 것들에 대한 문제가 해결되어야 합니다. 상당히 어려운 문제예요.

AI Lab 이재준 상무

▲ AI Lab 이재준 상무

이재준 상무 이와 관련해서 재미있는 이야기를 조금 해드리면, 플레이어 중에 사람과 AI가 섞여있고, 이 중에서 사람과 AI를 구분해내는 대회가 있어요. 일종의 튜링(Turing) 테스트라고 할 수 있습니다. 여기서 AI들은 일부러 사람 같은 행동을 해요. 어마어마하게 완벽히 잘하지 않고 적당하게 실수를 하기도 합니다. AI와 사람을 정확하게 구분해내는 사람에게도 상을 주고, 가장 사람과 비슷한 플레이를 하는 AI(개발자)에게도 상을 줍니다. 이경종 차장이 AI를 판별하는 쪽으로 나갔었는데, 그 때 느낌이 어떠셨는지 궁금하네요(웃음).

이경종 차장 사실 나름대로 기준을 세우고 갔는데도 첫눈에는 굉장히 판별하기 어려웠어요. 수상하신 분들은 대회 참여 경험이 많으신 분들이었던 것 같았어요. 특별히 기억이 나는 것은 여러 가지 트릭이라고 해야 할까요? 매우 이성적이고 효율적인 판단을 하는 AI라면 하지 않을 행동들을 일부러 집어넣더군요. 예를 들어 AI가 중구난방으로 움직이거나 그냥 뛰어가면 되는 곳을 총총 점프해가면서 가더라고요. 점프 같은 행동은 사람들이 그냥 심심해서 하는 비이성적 행동들인데, 사실 AI가 의미나 목적 없이 나오는 행위들을 한다는 걸 생각하기 어렵잖아요. 그런 부분들을 집어넣으니 정말 가려내기 쉽지 않던데요. 여기서 중요한 포인트는 사람처럼 행동하는 AI는 효율적인 행동만을 보여주는 것이 다가 아니라는 것이죠. 일부러 실수도 하고 의미 없는 행동도 보여줄 수 있어야 할 것 같다는 것을 느꼈죠.

장한용 과장 AI가 기계적으로 이기는 것에만 목표를 갖지 않고, 사람과 비슷하게 행동하도록 하는 것이 더 높은 수준의 기술이 아닌가 싶습니다. 기존의 합리적인 선택을 하는 AI에 추가로 사람의 다양한 습관 혹은 성향 등을 접목시켜야 하거든요. 이 문제가 어렵기 때문에 현재는 사람의 플레이를 기억하고 있다가 이를 흉내 내는 방식으로 많이 구현하죠.

AI Lab 장한용 과장

▲ AI Lab 장한용 과장

이준수 과장 궁극적으로는 사람이랑 구분이 가지 않게 행동하는 AI를 목표로 하고 있지만, 이런 human-like AI에서도 똑똑하게 만드는 것은 기본으로 해야죠. 멍청하면 아무도 사람같이 생각을 안 할 테니까요(웃음).

이재준 상무 저는 훌륭한 게임 AI를 설명하며 접대 골프의 예를 들곤 합니다(웃음). 무조건 이기는 것도 아니고 무조건 지는 것도 아니고, 아슬아슬하게 상대방에 맞춰가면서 재미있게 만들다가 결국은 져주는 것이 제가 가장 이상적이게 생각하는 게임 AI의 모습이 아닐까 생각해요. 말은 쉽지만 이게 굉장히 어려워요. 상대방 수준을 잘 파악하고 맞춰야 하는 거잖아요. 이기고 지는 걸 아슬아슬하게 조절해야 하니까, 적절한 순간에서 티 안 나게 약간 접어주고 또 어떤 순간에는 상대방을 약간 격양시키고, 이런 것들이 잘 조절되어야 합니다. 이미 최고의 실력을 갖고 있고, 판도 다 읽어야 되고, 상대방 수준도 파악하고, 그에 맞춰서 게임 흐름을 이어가야 되는 거예요. 이런 것들이 이상적인 AI가 갖추어야 할 기능들이라 생각합니다.


4. 게임 AI의 새로운 시도들과 미래

이재준 상무 최근에 AI 기술이 많이 발전을 해서 여러 가지 형태로 적용되는 사례가 많습니다. AI와 사용자가 역할분담을 해서 함께 진행하는 게임도 있고요. 최근 이슈가 되는 게임 AI에 대해 말씀을 드릴게요.

이준수 과장 ‘앙키 드라이브(Anki Drive)’라는 게임을 예로 들어 설명 드릴게요. 이 게임은 실제 장난감을 가지고 하는 레이싱 게임입니다. 장난감 자동차와 트랙이 있고 이 위에서 기본적인 운전은 AI가 자동으로 하는데, 그냥 내버려두면 AI가 충돌을 피하고 트랙을 벗어나지 않는 범위에서 조종을 하는 거죠. 여기서 사람의 역할은 모바일 디바이스를 통해서 속도를 조절하거나 다른 자동차를 향해 미사일을 쏘는 것입니다. 사람이 혼자 하면 복잡하고 어려운 일을 AI가 도와주는 게임 방식이죠.

AI Lab 장한용 과장, 이애준 상무, 이준수 과장, 이경종 차장이준수 과장 우리나라에서 만든 ‘드론 파이터(Drone Fighter)’도 비슷한 케이스입니다. 실제 드론을 조종해서 슈팅게임을 한다는 컨셉의 장난감이에요. 일반적인 사용자는 드론을 조종하는 것 자체도 쉽지 않습니다. 거기에 슈팅 게임 요소가 추가되니 더 어렵게 느껴지는 거죠. 여기서 조종 부분을 어느 정도 AI가 도와준다면 사용자는 슈팅게임에 좀 더 집중할 수 있게 되겠죠. 이런 요소를 비디오 게임에 적용해보면 어떨까 생각해봤습니다. 자동차나 비행기를 예로 들어, 기본적인 운전은 AI가 자동으로 해주고 그 외 사용자가 즐길 수 있는 게임적인 요소들을 추가하면 어떨까 하는 등의 생각 말이죠. 기존의 게임과는 다른 플레이가 가능해지고, 사용자는 그런 경험을 하면서 새로운 재미를 느낄 수 있지 않을까요?

이경종 차장 게임 AI에서 최근 연구되고 있는 것 중 재미있는 것은 PCG(Procedural Content Generation) 분야입니다. 예를 들어 ‘스타크래프트(StarCraft)’ 맵이나 ‘컷더로프(Cut The Rope)’의 스테이지 같은 게임 콘텐츠를 기획자가 만드는 것이 아니고 알고리즘을 통해 자동으로 생성하는 기술입니다. 지금은 2차원 맵이라던지 ‘슈퍼마리오(Super Mario Bros)’같은 수준의 게임들의 맵을 생성해주는 연구가 진행되고 있어요. 연구 결과들을 보면 모바일 게임에 적용할 만한 수준의 기술입니다.

PCG : 알고리즘을 통해 게임 콘텐츠를 자동으로 생성하는 기술

▲ PCG : 알고리즘을 통해 게임 콘텐츠를 자동으로 생성하는 기술, 현재 연구 단계는 슈퍼마리오 정도의 맵을 생성하는 수준이라고.

장한용 과장 맵 제너레이션도 좀 더 추가하면, 사용자가 다양한 콘텐츠를 즐기는 것으로 유명한 게임이 ‘GTA’ 입니다. 이전에는 거대한 맵이나 그 많은 콘텐츠를 다 기획하고 개발했었죠. 이제는 AI 기술을 이용하여 동적으로 맵이 계속 생성이 되도록 하는 노력이 많습니다. 어떤 블록을 모아서 맵만 만들어주는 게 아니라 그 안에 적군 NPC, 퀘스트, 이동경로 까지도 동적으로 생성이 되고 있는 수준으로 연구가 되고 있습니다.

이경종 차장 ‘버수(VERSU)’라는 모바일 게임도 소개해 드릴게요. 이것은 텍스트 기반 게임인데 캐릭터의 상호작용에 따라서 스토리가 계속 변하는 거예요. 주어진 상황에서 사용자의 선택에 따라 스토리가 변하게 되고, 이에 따라 결말이 바뀌게 됩니다. 사회 생활에서 겪을 수 있는 여러 가지 상황에 대하여 체험을 해보고 그 결과를 보는 게임이라고 생각할 수 있습니다. 물론 완전한 자유를 주는 것은 아니지만, 미리 정해진 스토리를 따라가는 것 보다는 훨씬 더 다양한 경험을 할 수 있습니다.

다 플레이하지도 못할만큼 다양한 스토리를 가진 게임

▲다 플레이하지도 못할만큼 다양한 스토리를 가진 게임이 등장할지도 모른다.

이준수 과장 영화 ‘HER’에 나왔던 게임이 게임 AI가 궁극적으로 꿈꾸는 게임의 모습과 비슷할 것 같아요. 캐릭터와 대화하면서 게임을 진행하고 때로는 잡담도 하는 정도의 수준을 꿈꾸고 있습니다. 물론 아직은 갈 길이 한참 멀죠(웃음). 아까 상무님께서 말씀 하신, 아슬아슬하게 이기고 지는 AI 들이 좀 더 수준 높아지면 큰 성과를 거둘 수 있지 않을까요.

이재준 상무 게임 AI 쪽에는 상당히 많은 기회가 있고요, 가능성도 무궁무진합니다. 일단 저희가 보는 것은 크게 두 가지 차원입니다. 하나는 엔씨소프트가 기존에 서비스하고 있는 게임들 혹은 만들고 있는 게임들의 여러 가지 기능들을 새롭게 개선하거나 새로운 기능이 도입될 수 있도록 하는 연구들입니다. 또 하나의 축은 AI가 중심이 되는 게임 플레이가 무엇일까 하는 고민입니다. AI가 중심이 되는 게임을 만들어 보는 것이죠. 아직 구체적으로 말씀 드리기는 어렵지만 엔씨소프트가 AI를 기반으로 한 새로운 게임 플레이를 만들기 위해 새로운 시도들을 하고 있고, 그와 더불어 여러 사내 부서들과 협업을 하면서 진행하고 있다라고 생각해주시면 좋을 것 같습니다. 앞으로도 엔씨소프트 AI Lab과 AI 기술에 대해 관심도 가져주시고요(웃음).


엔씨소프트 AI Lab 세 번째 대담은 여기까지입니다. 다양한 게임 AI들의 모습을 살펴 보니 앞으로의 게임과 인공지능의 랑데부가 보여줄 미래가 더욱 기대되는데요>ㅁ< 다음 시간은 <AI Lab 이야기> 마지막 시간으로 자연어처리 기술 분야에 대하여 소개해 드리도록 하겠습니다. 다음 편에서 만나요! 🙂

TOP