로그인

회원가입 | ID/PW 찾기

취재

[NDC 17] 게임에서 NPC를 무한대로 만들 수 있을까?

유저의 플레이에 따라 세계가 확장되는 <페리아연대기> NPC 만들기

황찬익(찰스) 2017-04-25 22:54:45

띵소프트가 개발 중인 온라인 MMORPG <페리아연대기>는 지스타 2016에서 시연버전이 공개된 뒤 유저가 NPC와 세계관을 직접 만들어간다는 특징으로 많은 주목을 받았다. 게임은 유저가 플레이하면서 생성되는 데이터베이스를 기반으로 게임 내 세계가 끊임없이 확장된다는 점을 핵심으로 내세우고 있다. 


세계관이 꾸준히 늘어나기 위해서는 NPC의 개수와 종류가 ​지속적으로 확보돼야 한다. 이를 위해, <페리아연대기>는 무한대로 확장되는 세계관을 위해 NPC 생성 자동화를 위한 시스템을 구축하고 있다. 띵소프트 NT 개발실 조현식 기획자가 밝힌 <페리아연대기> NPC 생성 자동화의 과정을 살펴보자. / 디스이즈게임 황찬익 기자



띵소프트 조현식 기획자

# 세계가 무한히? 플레이로 넓어지는 세계, <페리아연대기>

<페리아연대기>는 유저들의 행동 데이터를 기반으로 게임 속 세계가 자체적으로 확장되는 것을 목표로 개발 중인 게임이다. 지난 지스타 2016 때 공개된 시연버전을 바탕으로, 유저들이 세계를 확장하면서도 게임 내 밸런스를 망가트리지 않도록 하기 위해 시스템을 만드려고 노력중이다.  

유저들이 게임을 많이 할수록, 유저들의 행동 데이터가 쌓일 수록 <페리아연대기>는 게임 속 세계가 더 많이 늘어나고 확장된다. 유저들이 끊임없이 플레이한다면 확장되는 게임 세계의 넓이는 무한에 가까워진다. 이렇게 되면 게임 내 NPC 역시 그 수가 무한히 늘어날 수 밖에 없는데, 소수 인원의 개발자가 이를 모두 만들기란 거의 불가능에 가깝다. 

따라서 우리는 'NPC 자동 생성기'를 만들어 이 문제를 해결하려고 한다. 'NPC 자동 생성기' 역시 유저들의 플레이 데이터를 기반으로 작동되는데, 유저들이 방대하게 플레이한 캐릭터의 외모와 성향, 대화 내용 데이터를 집약해 자동생성기 안에 넣어놓으면 이를 바탕으로 매번 다른 종류의 NPC를 무한히 만들 수 있는 것이다. 


실제로 이런 기계가 있다면 좋겠지만...

자, 그럼 NPC 자동생성기에 대해 설명하기에 앞서 NPC가 무엇인지 알아보자. 다들 알다시피, NPC는 '논 플레이어블 캐릭터(non-player character)'의 약자다. 플레이어를 제외한 다른 캐릭터는 전부 NPC라고 보면 된다. 역할 수행 게임인 MMORPG에서는 플레이어가 담당하지 못하는 역할을 대신 담당하기 때문에, NPC들의 존재가 매우 중요하다.

보통 NPC라고 하면 퀘스트를 주는 캐릭터나 상인 캐릭터를 흔히 떠올리곤 하는데, 이들 외에 길을 알려주는 이정표나 게시판, 심지어 메인 스토리를 깨고 엔딩에서 상호작용하게 되는 보물상자까지도 모두 NPC라고 봐야 한다. 플레이어를 위한 게임 내의 전반적인 동반자이자 보상이기도 하고, 목표도 되는 것이다.

이처럼 NPC는 게임 내에서 굉장히 중요할 뿐만 아니라, 게임 그 자체의 이미지를 결정하기도 한다. 대표적으로 많은 팬층을 보유한 <마비노기>의 ‘나오’, <크레이지 아케이드>의  캐릭터를 넘어서 넥슨의 상징적인 캐릭터로 거듭난 ‘다오’와 ‘배찌’의 경우 역시 그렇다. 콘솔의 경우는 더 중요한데, <라스트 오브 어스>에 등장한 ‘엘리’의 경우, 완전히 멸망한 세계에서 플레이어가 살아갈 수 있는 이유이자 목표가 되기 때문이다.


<마비노기> '나오', <크레이지 아케이드> '다오'와 '배찌', <라스트 오브 어스> '엘리'.

그렇다면 이렇게 중요한 NPC는 어떻게 만들어지는 것일까? 좋은 NPC를 설정하기 위해서는 세가지가 필요하다. 바로 좋은 설정, 매력적인 외모, 인상적인 화법이다. 하나씩 차례로 말해보겠다.

먼저 설정부터 말해보자. 과거 <이카루스>라는 게임에 나오는 인물 중 ‘울프’라는 캐릭터가 있다. <이카루스>를 플레이한 유저들이라면 기억에 남을 것이다. 이 캐릭터 이름은 원래 ‘군인 1’이었다. 다른 군인 캐릭터들과 똑같이 생긴, 평범하기 그지없는 캐릭터였지만 다른 설정을 부여하기 위해 이름을 울프로 바꾸고 늑대 몬스터가 나오는 곳마다 배치했더니 유저들의 기억에 남을 수 있었다. 설정 하나로 캐릭터가 얼마나 달라지는지 알 수 있는 사례다.

두 번째는 매력적인 외모다. 예전의 게임 캐릭터들은 모두 2D 그래픽이었기 때문에 외모를 디테일하게 설정하지 않아도, 유저들은 NPC의 외모를 나름대로 상상할 수 있었다. 그런데 그래픽이 발전되어버린 요즘은, NPC의 외모에 따라 게임의 평가가 달라지는 일마저 생겼다. 최근에 모델링 논란이 있었던 <매스 이펙트 안드로메다>의 경우가 특히 그렇다. 매력적이지 않은 NPC의 외모가 게임에 마이너스 요소가 된 것이다.


임 자체의 평가를 깎아먺었던 <매스이펙트: 안드로메다>의 캐릭터 모델링

아직 출시되지 않은 게임인 <페리아연대기>에 유저들의 관심이 뜨거운 이유 중 하나 역시 사전에 공개된 캐릭터의 매력에 있다. 우리는 대표 캐릭터인 ‘레나’ 외모에 굉장히 많은 공을 들였고 유저들에게 많은 호응을 얻었다.

하지만 이렇게 캐릭터 외모가 매력 있어도 대사가 없으면 매력적이지 않다. <문명> 시리즈의 ‘간디’가 옥수수와 평화협정으로 유명하고, <월드 오브 워크래프트>의 ‘굴단’이 ‘그롬마쉬 헬스크림’에게 탕수육 소스, 아니 만노로스의 피를 권한 걸로 유명한 것처럼 독창적인 캐릭터의 화법은 NPC에게 생명력을 부여하고, 게임 자체에도 활기를 준다. 

그럼 이제 제일 처음 얘기했던 'NPC 자동생성기' 이야기로 돌아가보겠다. 과연, 어떻게 해야 서로 겹치지 않는 다양한 종류의 NPC를 자동으로 무한히 만들 수 있울까?

자동화 시스템의 시작은 '기획 의도에 따라 설정을 명확하게 분류하는데'에서 시작한다. 캐릭터의 컨셉을 키, 나이, 성별, 성격 등 다양한 데이터를 행과 열로 나눠 디테일하게 분류해서 데이터를 축적해둔다. 이때 가장 중요한 것은 분류되는 설정들에 게임의 기획의도가 얼마나 담겨있느냐다. <페리아연대기>의 경우, 게임 컨셉이 무한히 확장하는 게임이었기에 이를 정립하기가 매우 어려웠다.

자동화 시스템으로 생산되는 NPC들의 외모 역시 마찬가지다. 매력적인 외모를 만들기 위해서는 우선 캐릭터들의 외모를 눈, 코, 입, 귀, 손, 발 등 파트별로 쪼개서 데이터화 해야한다. 이 쪼개져서 축적된 신체 부위들이 많으면 많을수록 다양한 외모로 만들어지는 캐릭터의 종류는 무한히 늘어난다. 


각 신체 부위별로 다양한 자료를 조합해 캐릭터 외모를 결정한다.

하지만 이런 식으로 캐릭터를 만들 때 가장 많이 일어나는 문제는 최적화다. 캐릭터의 체형에 따라 적용할 수 있는 부위들이 달라지고, 윗옷을 하의에 넣어입냐 빼어입냐 등 디테일한 제약 조건들이 많다. 물론 이런 부분은 우리 개발팀이 애써서 만들어가는 중이다. 이런 제약들을 지켜가면서 매력적인 아트를 만들 수 있어야 하는 것이다.

화법 역시 데이터마이닝에 의존하긴 하지만, 설정이나 외모와는 약간 다르다. 이 경우는 가장 평범한 기본형 문장에 말투를 적용하는 걸로 변화를 많이 준다. 국문법상 존재하는 모든 어간과 어미를 종류별로 분류해서 데이터를 축적해두고, 이를 특정 시스템에 적용시킨다. 이렇게 적용된 시스템에 기본형 문장을 넣으면 존댓말을 반말로 바꾼다거나, 사투리를 표준어로, 일상어를 흔히 말하는 ‘아재체’로 변환하는 것도 가능하다.

하지만 이런 시스템을 적용시킬 경우, 주의해야할 점은 반드시 기본형 문장만을 입력해야 한다는 점이다. 기본형이 아닌 문장을 입력하면 거의 대부분의 경우 적용이 안될 수도 있다.  따라서 이미 작성된 원문이 있다면 그 글의 어간과 어미를 모두 가장 단순한 기본형 문장으로 바꾸고 그걸 다시 다른 말투로 바꾸는 것을 추천한다.


표준 한국어를 단숨에 '아재체'로 바꿀 수 있다.


# 다른 건 다 자동화 되지만, ‘재미’는 자동화가 안 돼

자, 이렇게 하면 NPC 캐릭터 자체는 겹치지 않고 다양하게 자동화 시스템으로 만들어낼 수 있다. 그런데 진짜 문제는 따로 있다. 바로, '캐릭터의 고유 재미는 자동적으로 만들어지지 않는다'는 것이다.

게임 개발을 시작한지 얼마 안됐을 때, 당시에는 재미 역시 자동화로 처리할 수 있다고 생각했다. 그런데 지금 생각하면 아직까지는 재미를 자동화기술로 생산하는 것은 불가능한 일이 아닌가 싶다. 

RPG 본연의 재미는 재밌는 이야기에서 나오는 것이다. ‘재미’의 영역을 극복하지 못하면 유저가 게임을 직접 만들어가는 자동화 시스템은 완벽해질 수 없다. 현재 인공지능이 스스로 글을 작성할 수 있는 능력이 화두가 되고 있는데, 스포츠 기사 등을 로봇이 작성하는 등 짜깁기식 자동화 글쓰기는 많이 있지만 아직까지 스토리텔링 분야에서는 이렇다 할 결과가 나오고 있지 않다.

최근 일본에서 인공지능이 작성한 어느 SF 단편 소설이 소설 대회 예선을 통과했다는 이야기를 들었다. 관심을 가지고 알아봤더니, 전체 이야기의 구조는 모두 전문 연극팀이 만들고 로봇은 소설을 글로 구성하기만 한 것이었다. 우리가 지금 하는 방식과 비슷하다. 


아직까지 '재미있는' 스토리텔링은 인간의 영역이다.


# 도와줘요 유저여러분! 플레이의 축적이 인공지능을 완벽하게

스토리텔링 분야를 비롯, 아직까지 NPC 자동화는 걸음마 단계 수준이다. 따라서 <페리아연대기>에서 필요한 것은 다음 단계로 넘어가기 위한 플레이 데이터의 축적, 캐릭터 행동 자료를 모은 빅데이터이고, 따라서 이를 위해서는 유저들의 도움이 필요하다. 유저들이 많이 플레이할수록, NPC 캐릭터 자동화의 길에 한발 다가가는 것이다.

<페리아연대기>에서는 유저들이 여태 가본 적 없는 공간으로 이동하면 새로운 데이터가 생기고, 이로부터 새로운 이야기가 만들어지는 방식으로 진행된다. <페리아연대기>는 게임 내 규칙을 유저들이 직접 만든다. 다만 모든 규칙이 동등한 취급을 받는 건 아니고 최초 기획자가 만든 규칙이 0등급이라면, 개발자가 만드는 것은 1등급 규칙, 이런 식으로 구별된다. 

현재는 기획자가 만든 0등급 규칙 아래 우리 개발진들이 1등급 규칙을 만들어 시험 운용하고 있다. 개발진이 최초의 유저가 되어 여러분이 즐길만한 세계를 만들어두기 위해 노력하고 있는 것이다.

만들기에 쉬운 게임이 아니지만, 우리가 만든 공간을 유저들이 즐겨줄 것이라고 생각하며 기쁜 마음으로 일하고 있다. 만약 <페리아연대기>가 우리의 최초 의도대로 만들어진다면, 여러분은 공략집이 필요 없는, '유저의 자유로운 행동 하나 하나가 모두 정답인 게임'을 만날 수 있을 것이다. 물론 그렇게 게임 내 모든 시스템의 자동화가 완료된다면, 나는 실직자가 될 것이지만(웃음). 실직자가 되는 그 날을 위해, 최선을 다 해 개발 중이다. 연말까지 최종 테스트 할 수있도록 노력하겠다.