작년 NDC를 기억하는 독자라면 ‘가죽장화를 먹게 해 주세요’라는 제목의 강연을 기억할 것이다. 해당 강연을 했던 왓 스튜디오의 이정수 기획자가 21일, NDC 15에서 강연을 통해 <야생의 땅: 듀랑고>의 아이템 시스템 개발 과정을 공유했다.
가죽장화를 삶아서 먹을 수 있는 시스템을 만들고자 했던 왓 스튜디오는 한발 더 나아갔다. 커다란 꼬치구이가 있으면 무기처럼 휘둘러 몬스터를 잡다가, 배가 고프면 먹기도 할 수 있다. 어떻게 게임 속 아이템에 이런 자유도를 부여했을까? /디스이즈게임 김진수 기자
■ ‘가죽장화를 끓여 먹게 해주세요’ 아이템 1.0에서 3.0까지
넥슨코리아 이정수 기획자는 작년 ‘가죽장화를 먹게 해 주세요’라는 강연으로 화제를 모았다. ‘필요하다면 가죽장화도 삶아서 먹을 수 있는 게임’은 말 그대로 ‘자유도 높은 아이템 시스템’을 말하는 핵심이었고, 유저 및 개발자들의 호응을 얻었다.
19일 ‘가죽이 서 말이라도 꿰어야 장화 - <야생의 땅: 듀랑고>의 아이템과 제작 시스템 변천사’라는 강연은 작년 강연 내용으로 시작했다. ‘생존’을 테마로 하는 게임에서 필요하다면 가죽 장화를 끓여서 먹기도 하고, 날붙이를 이용해 칼을 만들 수 있는 시스템을 만든 이야기다.
(☞ 관련기사: [NDC14] 야생의 땅: 듀랑고, 가죽장화까지 먹게 만드는 시스템의 비결)
<야생의 땅: 듀랑고>의 아이템이 가진 목표는 유저 캐릭터의 생존에 필요하다면 각 아이템의 원래 의도와 다르게 사용해 원하는 바를 이룰 수 있게끔 아이템 시스템을 개발하는 것이다. 예를 들어 유저에게 ‘노루발 못뽑이’(일명 빠루)가 있다면, 못을 뽑거나 잠긴 문을 뜯는 데만 사용하는 게 아니라 다른 몬스터를 때리는 데도 사용할 수 있는 식이다.
다만, 프로그램으로 이루어 진 게임에 이런 것들을 모두 그대로 넣기에는 무리가 따른다. 모든 아이템의 속성을 일일이 지정할 수도 없는 노릇이고, 유저가 일정 수준의 창발성을 발휘해 ‘기획자도 생각치 못한’ 자신만의 방식으로 아이템을 사용하길 바란 탓이다.
이정수 기획자는 구현을 위해 아이템에 특성을 붙여 관리한다는 핵심 아이디어를 떠올리고, 각 아이템의 특성과 속성을 부여하는 ‘아이템 1.0’을 만들었다. 사과라면 먹을 수 있다는 점이 특성이다. 특성에 딸린 속성은 먹었을 때 회복할 에너지가 15라고 정하는 식이다.
하지만 아이템 1.0은 속성 값을 높여주는 가공을 무한히 반복할 수 있는 문제가 있었다. 바로 ‘발산’이다. 티라노사우르스의 지방을 튀기고, 그걸 또 튀기고, 다시 튀겨서 엄청난 열량을 얻을 수 있었다.
결국 아이템 2.0 버전에서는 관련 있는 속성과 특성을 묶어 관리했다. 하지만 이 때 아이템 제작에서 특성 이동을 최소화 했더니 제작 과정에서 특성이 사라지는 문제가 발생했다. 더불어 특성과 속성이 유연하지 못했고, 이 때문에 분해를 일정 이상 구현해주지 못해 아이템 제작 자유도가 낮아졌다.
그래서 아이템에 자유도를 조금 더 늘린 게 작년 발표의 핵심이었던 ‘아이템 3.0’이다. 속성과 특성을 묶되, 느슨하게 관리해 자유도를 부여했다. 대신 ‘특성 관리자’를 만들어 특성 여부를 자동화 시켜 기획자의 작업을 줄이는 방안을 고안했다.
■ 작년 발표 그 이후, 아이템 3.0은 잘 구현됐을까?
과연, 그래서 ‘아이템 3.0’은 잘 구현됐을까? 결국 아이템 3.0은 기획자와 프로그래머의 노력 끝에 게임 내에 구현됐다. 가죽장화를 끓여서 먹거나 커다란 꼬치구이가 있다면 무기처럼 사용할 수도 있었다.
하지만, 여기서도 개선 사항이 생겼다. 낮은 예측성과 낮은 생산성, 그리고 높은 학습 난이도였다.
제작 아이템은 실시간 생성이 되는데, 모든 가능성을 예측하는 게 불가능했다. 의도치 않은 상황이 충분히 나올 수 있었다. 그리고 아이템 종류는 많지 않은데 한 종류를 개발자가 만드는 데 많은 시간이 들어갔다. 앞으로 게임을 서비스하고 업데이트하는 데 발목을 잡을 수 있었다.
학습이 어렵다는 점도 문제였다. 시뮬레이션 구조가 복잡하기 때문에 유저 입장에서는 어떤 아이템이 좋은지, 원하는 걸 만들기 위해 어떤 재료를 투입해야 하는지 배우기 어렵다는 문제가 있었다. 기획자도 실제 작업하기가 어려웠다.
왜 이렇게 됐을까? 근본부터 들어가면 ‘완벽한 시스템’에 대한 욕심 때문이었다. 예쁘고 잘 동작하는 시뮬레이션을 만들고 싶었지만, 이 때문에 하위 규칙들이 서로 너무 많은 의존성을 가지게 됐다. 이런 복잡성을 툴이나 UI로 해결하고자 했지만 개발 시간에 쫓겨 툴이 개발되지 못했고, UI로 해결하기엔 시스템이 너무 복잡했다.
이 때쯤 이정수 기획자는 다시 초심을 떠올렸다. 근본적으로 이 시스템을 만든 이유를 생각했다. 결국 그간 머리를 싸매고 만들던 자유도, 개연성, 창발성은 유저의 재미와 즐거움을 위해 존재했다. 이 때문에 유저가 아이템을 획득했을 때 좋은 것인지 가치판단을 쉽게 할 수 있어야 한다. 또 각 자원의 특성을 이용한 제작을 하고, 자원을 얻기 위해 탐험하는 결과로 이어져야 했다.
■ 다시 밥상을 뒤집자, 아이템 4.0 ① 특성과 속성 재정의
여기서 이정수 기획자는 방향을 과감하게 전향했다. 밥상을 뒤집고, 다시 만들기로 했다.
다만, 모든 것을 버리는 것이 아니라 아이템 시스템의 핵심은 유지하면서 라이브 서비스를 위해 결과를 제어하고 생산성을 높이기로 했다. 꼭 잡고 싶은 핵심 가치는 아이템에 특성을 붙여 용도와 기능을 제어하고, 제작할 때 재료의 특성에 따라 결과물이 달라진다는 설계였다.
그간 문제의 원인을 짚어보니, 모든 문제는 ‘복잡성’에서 나왔다. 낮은 예측성은 규칙이 복잡해서, 낮은 생산성과 학습이 어렵다는 점은 시스템이 복잡했기 때문이다.
그래서 복잡성을 줄이는 작업부터 출발했다. 일단 복잡한 시스템을 단순화 시키면 나머지 문제들은 조금씩 해결되리라 생각했기 때문이다.
기존에 만들었던 아이템들은 어떤 특성이 있다면 하위 요소들이 숫자로 표현되어 있었다. 하지만 숫자로 표현해 놓으면 유저 입장에서는 좋은 것인지 아닌지 한 눈에 알아보기 어려웠다.
이정수 기획자는 이를 간략화 하기 위해 ‘특징’이 되는 숫자를 단어로 바꿨다. 각 특성에 레벨을 매겨 일정 등급으로 나누고, 특성의 하위 속성 중 해당 특성 레벨대에서 평균보다 도드라지는 수치를 강조했다.
예를 들어 ‘미소녀’ 특성 레벨 1을 가진 세일러 문 중, 지능 50에 착함 80, 순수함 70이 도드라지는 수치라면 ‘덜렁댐’, ‘착함’, ‘순수함’ 같은 키워드로 특징을 나타냈다.
여기서 특성과 하위 속성을 묶어 ‘원형’을 만들었다. 덜렁대지만 순수하고 착한 속성을 가진 세일러문은 ‘말괄량이 미소녀’라는 원형을 가지게 되는 것이다. 이렇게 바꾸면서 디자인에 대한 의도가 보다 명확해졌다.
■ 아이템 4.0 ② 제작과 가공, 규칙만 정의하는 '절차적 아이템 생성'까지
아이템 속성에 대한 정리가 끝나자 이정수 기획자는 제작으로 눈을 돌렸다. 실제로 보니, 제작이 ‘끝판왕’이었다. 그간 ‘복잡한 붕어빵이 나온 이유는 붕어빵 틀이 복잡하게 생겨서’였고, 이 복잡한 붕어빵 틀이 바로 제작이었다.
그간 제작 시스템이 복잡하다 보니, 레시피의 구현은 스크립트로 해야 했다. 스크립트 간략화 되긴 했지만 프로그램 언어다 보니 협업 구조에도 취약했고, 잘못 만들면 버그가 생기기 일수였다.
제작 시스템이 연속적인 규칙을 가졌다는 점 때문에 복잡해졌고, 단순화가 필요했다. 그래서 제작을 성격에 따라 ‘제작’과 ‘가공’으로 나누어 따로 관리했다. 제작은 새로운 원형을 기준으로 새로운 특성과 특징이 부여되어야 하는 것이고, 가공은 기존 아이템을 기준으로 새로운 특징을 부여하는 작업을 뜻한다.
앞서 본 재료의 특성과 특징을 예로 들면, 제작은 재료의 특성과 특징을 고려해 맞는 원형과 매치시켜주는 레시피다. 가공은 기존 아이템에서 특성은 변하지 않으나 새로운 특징이 부여되는 것을 말한다.
‘연한 가죽’으로 장화를 만들어 ‘부드러운 가죽 장화’를 만든다면, 재료의 특성인 ‘가죽’과 특징인 ‘부드러운’은 변하지 않는 제작이다. ‘뻣뻣한 가죽’을 삶아서 ‘부드러운 가죽’을 만든다면, 특성인 ‘가죽’은 변화지 않되 특징이 ‘뻣뻣한’에서 ‘부드러운’으로 바뀌는 가공이다.
단, 이때 ‘튀긴 지방을 튀긴 지방을 튀긴 지방을 튀긴 튀김’같은 발산을 막기 위해 가공 횟수는 제한을 뒀다. 창발성에 일부 제약이 걸리지만, 무한 가공으로 인한 ‘발산’을 막기 위한 조치다.
하지만 문제는 여전히 남아있었다. 제작에 따라 나오는 결과물들을 기획자가 일일이 정의해줘야 하는 문제가 있었다. 유저가 만들 수 있는 모든 가능성을 계산해 기획자가 정의해야 한다면 라이브 서비스를 버틸 수 없다.
그래서 나온 게 ‘절차적 아이템 생성’이다. 일정 규칙 하에 블럭들을 조합하면 결과물이 나온다는 것으로, ‘로그 라이크’장르의 랜덤 로직으로 생성되는 던전 등이 그 예다. 절차적 생성의 장점은 개발자의 수고가 줄어들고, 빠르게 결과를 미리 볼 수 있다.
<야생의 땅: 듀랑고>에 절차적 생성을 적용하면, 조합에 따라 다른 결과물이 나오는데, 각 조합에는 규칙이 있다. 이런 규칙에 대한 판단은 기획자가 한다. 결국 기획자는 모든 아이템을 정의하지 않고 규칙 생성과 판단만 하면 된다.
절차적 생성을 목표로 놓고 <야생의 땅: 듀랑고>의 제작 시스템을 다시 생각해보면 각 아이템이 특성과 속성의 조합인 만큼, 제작이나 가공도 특정한 문장으로 규칙을 정의할 수 있다. 다만, 아직 이 제작 시스템은 연구하고 있는 단계다.
이정수 기획자는 지난 2년을 회고하며 아이템 시스템에서 중요한 점이 개발 단계에 따라 달라진다며 “그럼에도 불구하고 가장 핵심이 되는 것을 놓치지 않아야 최고의 방법을 찾을 수 있다”며 보너스 영상으로 강연을 마무리했다.
보너스 영상은 ‘꼬치로도 때리지 말라 했거늘 잎새에 부는 바람에도 나는 괴로워했다’다. 아이템 3.0에서 구현한 ‘때리는 용도나 먹는 용도로 쓸 수 있는’ 커다란 꼬치구이의 활용 영상이다.