넥슨의 왓 스튜디오에서 개발중인 <야생의 땅: 듀랑고>가 NDC 15에서 다양한 강연을 통해 게임 개발 과정을 공개하면서 반응이 뜨겁다. 모바일에서 생존과 개척이라는 주제를 다루는 샌드박스 MMO라는 점에서 많은 이들이 관심을 표하고 있는 상황.
<야생의 땅: 듀랑고>는 시뮬레이션 기반을 강조하면서 생태계나 지형 등을 절차적으로 생성하는 방식을 택했고, 샌드박스에 가까운 게임 플레이가 목표인 만큼 이에 대한 설계 역시 어떻게 될 지 미지수다.
20일, 넥슨 왓 스튜디오 양승명 크리에이티브 디렉터는 ‘<야생의 땅: 듀랑고>의 시뮬레이션 MMO 샌드박스 설계’라는 강연을 통해 실제 시뮬레이션 기반의 MMO 샌드박스 게임을 개발한 과정과 그에 따른 문제점을 해결한 경험을 공유했다. /디스이즈게임 김진수 기자
■ <야생의 땅: 듀랑고>가 시뮬레이션을 택한 이유는 ‘재미있는 반복 플레이’
넥슨코리아 양승명 크리에이티브 디렉터는 강연에 앞서 <야생의 땅: 듀랑고>의 콘셉트를 소개하면서 작년 NDC에서 했던 강연을 간단하게 되짚었다. (관련기사: [NDC14] 야생의 땅: 듀랑고, “문명처럼 변수가 부딪히는 게임을 만들고 싶다”)
그는 1년 전 강연 내용에서 이어 <야생의 땅: 듀랑고>가 시뮬레이션을 내포한 차세대 샌드박스 MMORPG를 목표로 하고 있다고 밝히며, 이유를 설명했다.
먼저 다른 시뮬레이션의 사례를 보면 <심즈>, <대항해시대>, <풋볼 매니저>, <심시티>, <문명>등 시뮬레이션 장르는 게임을 할 때 마다 환경이 달라지고, 다른 사람들과 다른 새로운 경험을 하게 된다. 즉, 유저들이 ‘나만의 스토리’를 가지게 된다는 이야기고, 재미있는 반복 플레이로 이어진다.
시뮬레이션을 MMORPG에 대입해보면 각각의 유저가 자신만의 이야기를 만들어가는 게임이라고 예측할 수 있다. 큰 틀에서 보면 ‘역사가 시뮬레이션 되는’ 게임이고, 같은 콘텐츠로 더 오래 즐길 수 있는 게임이기도 하다.
■ 시뮬레이션을 단계별로 나누고 연산을 효율화하자, 시뮬레이션 LOD
시뮬레이션 게임의 속을 자세히 들여다 보면 ‘에이전트’가 활동한다는 점이 핵심이다. <심시티>로 예를 들면 도시에 살고 있는 심(시민)들이 에이전트인데, 교통수단을 이용해 출퇴근한다. <심즈>역시 심(캐릭터)가 에이전트인데, 소망이나 욕구 같은 복잡한 속성을 내포하고 있다. 이 경우 연산 한계상 한 번에 나올 수 있는 개체 수가 적을 수밖에 없다.
MMORPG에 이런 에이전트를 복잡하게 넣는다면 연산 부하가 발생하기 쉽다. <심시티> 발매 초기 발생했던 서버 문제들을 답습할 가능성이 높다.
그래서 <야생의 땅: 듀랑고>는 생태계 및 지형을 시뮬레이션 할 때 단계를 나누어 따로 연산한다. 여기에 서버까지 분산해 부하를 줄였다. 이 때 양승명 크리에이티브 디렉터가 <마비노기 영웅전>의 분산 서버를 구현해 본 경험이 도움이 됐다.
동물의 AI를 예로 들면, 각 동물은 무리를 짓는다. 이 때 각 개체별로 자극에 반응하는 AI가 있고, 무리 단위의 행동을 명령하는 AI가 있다. 무리 단위로 연산하는 AI는 영역을 수호한다거나 자원을 탐색하는 등의 행동을 맡는다. 더 크게 보면 거시적인 AI가 있을 수 있다. 무리가 아주 멀리 이주를 떠나거나 행동권을 변경하는 경우다.
<야생의 땅: 듀랑고>는 시뮬레이션을 단계별로 나누어 진행하고, 각 시뮬레이션 단계가 서로 상호작용을 한다. 예를 들어 개체 AI는 전투 등을 담당하게 되는데, 각 상황을 무리 AI에 보고한다. 전투중이 아니고 배가 고프다는 욕구가 생기면 무리 AI는 이 동물들에게 사냥하는 행동을 지시하는 식이다.
다만, 높은 단계의 AI일수록 시뮬레이션을 할 때 발생하는 연산량이 많아진다. 잠을 어디서 잘지, 어디서 밥을 먹을지 등은 다른 식물이나 지형의 분포를 통계적으로 판단해 결정해야 하기 때문이다. 따라서 자주 시뮬레이션을 하지 않도록 설정한다.
이렇게 되면 다음과 같은 결과로 이어진다. 불이 나서 초원이 없어진 경우라고 가정하자. 거시 AI가 주변 지형을 분석하기 전이라면, 초식동물들은 풀을 뜯기 위해 (이미 불 타 없어진)자주 가던 풀밭으로 이동한다. 그리고 거시 AI가 작동해 지형을 분석한 뒤에는 다른 풀을 찾아 떠나도록 무리 AI에게 명령한다.
이렇게 시뮬레이션을 단계별로 나눠 놓으면 필요에 따라 시뮬레이션을 켜거나 끌 수도 있다. 유저가 없는 공간이라면 시뮬레이션을 할 필요가 없다. 이럴 때는 시뮬레이션을 비활성화 시키고 거시 AI가 상황만 만들어 놓은 뒤 유저를 기다릴 수도 있다. 결국 이런 시뮬레이션 깊이(Level Of Detail) 설정은 한정된 서버의 연산을 유저가 많은 곳에 투자할 수 있게 해준다.
더불어 거시적인 시뮬레이션은 절차적 레벨디자인과 통하는 부분이 생긴다. 동물과 식물들이 어디서 나타날 지 결정하기 때문이다. 따라서 시뮬레이션에 레벨디자인 의도를 반영할 수 있다는 점도 장점이다.
예를 들어 AI가 초보자에게 적절한 시작지점을 설정해주고, 초보자의 첫 사냥감이 될 몬스터를 주변으로 이동시켜 놓을 수도 있다. 이렇게 되면 초보자가 게임에 입장해서 약한 동물부터 차근차근 사냥해 나갈 수 있다.
■ 샌드박스형 MMORPG의 ‘부동산’ 개념이 가진 한계, 다양한 ‘섬’으로 풀어낸다
다만, 이렇게 시뮬레이션을 강조해놓으면 유저에게는 게임이 다소 어렵게 느껴질 수 있다. 더불어 여러가지 문제가 발생할 수 있다. 대표적인 것이 바로 ‘부동산’ 문제다.
<야생의 땅: 듀랑고>는 유저들이 집단을 이루고 마을을 만들거나 농사를 지을 수 있다. 이렇게 만든 마을은 부동산의 특성을 지니게 되고, 부동산은 지리적 경직성을 띄게 된다. 괜찮아 보이는 곳이라서 마을을 지었더니 사실은 척박한 땅이었다면 유저에게 어떤 경험이 될까?
더불어 이런 게임은 게임이 계속될수록 월드 전반이 ‘늙어간다’는 문제도 있다. 이미 유저들이 땅을 대부분 개척해 독자적인 세력을 이루고 있는 상태라면 새롭게 진입한 유저의 설 곳은 어디일까?
부동산 개념이 있는 다른 게임의 사례를 보면 다양한 방법들이 제시되고 있다. 부동산을 별도의 인스턴스 공간으로 분리하거나, 계속해서 새로운 서버를 열거나, 일정 주기로 초기화되는 세션제 MMORPG를 표방하기도 한다. 다만, 각자 장단점이 있고 <야생의 땅: 듀랑고>에 그대로 적용시키기엔 어울리지 않는 방식들도 있다.
양승명 크리에이티브 디렉터는 부동산에 적절한 유동성을 부여해줄 필요가 있다고 보고 다른 방안을 찾았다. 그렇게 해서 나온 발상이 ‘섬’이다.
각 섬은 바다 때문에 지리적으로 격리된 공간이다. 게임에서 생성할 때는 다양한 크기와 특성으로 얼마든지 개연성 있게 만들어 보여줄 수 있다.
<붐비치>처럼 기존 출시된 게임들 중에서도 1명에게 하나의 독립적인 공간을 제공해주는 경우도 있었다. 하지만 MMORPG라고 부르기엔 너무나 동떨어져있다.
양승명 크리에이티브 디렉터는 다른 샌드박스 게임의 사례를 보면서 각각 특징에 따라 분류했다. 먼저 협동형(Co-op) 샌드박스다. <마인크래프트>같은 사례로, 아는 사람들과 독립된 공간에서 플레이를 하는 형태다. 믿을 수 있는 사람들과 함께 독립된 공간에 있기에 협동하기 좋다.
<데이즈>(DayZ)같은 게임은 서바이벌 샌드박스로 분류할 수 있다. 익명의 사람들이 한 지역에서 플레이하고, PVP가 활성화되어 있다. 타인을 공격하는 게 일상화 된 만큼, ‘만인의, 만인에 의한 투쟁’이 된다. 신규 유저가 발 밭이기는 굉장히 힘들지만, 나름의 재미를 준다.
양승명 크리에이티브 디렉터는 각각의 공간을 섬으로 디자인해 격리시킨 만큼, 섬마다 다른 정책을 적용하는 방안을 구상했다.
그렇게 해서 나온 것이 마을섬과 서바이벌 섬이다. 마을섬은 생존하기 쉬워 정착하고 마을을 짓기 좋은 섬이다. 여기서는 PVP에 어느 정도 제약을 둬서 커뮤니티를 구성하도록 유도한다. MMORPG이기에 섬은 1인용이 아닌 만큼, 다른 사람들과 부대끼며 살아가게 된다.
서바이벌 섬은 강한 몬스터와 자유로운 PVP때문에 생존하기 어렵지만, 그만큼 귀중한 자원이 많은 곳이다. 따라서 자원을 쟁취하기 위해 탐험할 필요성이 생긴다.
섬의 노화를 막기 위한 방안으로는 섬의 ‘시간 제한’도 고려했다. 서바이벌 섬의 경우, 몇 일 또는 주 단위로 사라지고 새로 생성되기 때문에 자원이 고갈되면 다른 섬을 탐험할 필요가 생긴다. 또 새로운 섬이 생기면서 계속해서 자원이 생성되는 효과도 노릴 수 있다.
각 섬은 독립된 공간이지만, 유저들은 ‘항해’를 통해 다른 섬으로 이동할 수 있다. 지어진 항구에서 항로를 따라 항해하면 정해진 목적지로 도착할 수 있고, 아예 새로운 항로를 탐험해 미지의 섬에 도착하는 것도 가능하다.
새로운 섬을 발견하면 자원을 먼저 가져가는 사람이 해당 자원을 차지할 수 있기 때문에 새롭게 섬을 개척하는 플레이로 이어지게 된다. 이 때문에 여러 세력이 앞다투어 몰려와 쟁탈전을 벌일 수도 있다.
이런 항로는 지리적으로 이어져 있는 공간이 아니라 논리적으로만 이어져 있는 공간이다. 따라서 유저는 처음 자리잡은 곳이 썩 좋지 않더라도 항로를 발견해 다른 섬을 탐험하고 자원을 모아 살기 좋게 꾸밀 수도 있다.
<야생의 땅: 듀랑고>에서는 같은 섬에 살고 있는 사람들이 마음에 들지 않는 경우, 아예 이사를 하는 것도 가능하게 할 예정이다. 부동산이 가진 ‘이동 불가’라는 한계를 깨서 유연성을 부여하는 방식이다. 다만, 여기에는 그만한 제약을 둘 예정이다.
마지막으로 ‘로망’을 위해 대륙도 들어간다. 거대하고 제약 없는 대륙에서 유저들은 세력을 모아 패권을 두고 경쟁할 수 있다. 결국 다양한 방식의 섬을 구현해 유저들이 플레이하고 싶은 환경에서 게임을 즐기게 하겠다는 목표다.