'클래시 오브 클랜', '붐비치'로 모바일 전략 게임의 대표 개발사로 우뚝선 '슈퍼셀'. 2011년 5명의 창업자로 시작한 핀란드의 이 조그만 회사는 2013년 10월 15일, 1,500억 엔(한화 약 1조 3,641억 원)에 주식의 51%를 팔 정도로 성장했다.

'슈퍼셀'의 성장에는 '클래시 오브 클랜'과 '붐비치' 뿐만 아니라 '헤이데이'도 있다. '헤이데이'는 동화책 같은 아기자기한 그래픽, 1차 생산물을 이용해 2차 생산물을 만드는 세분된 생산 과정, 방대한 콘텐츠와 직관적인 인터페이스로 초기 슈퍼셀의 입지를 다지는 데 큰 도움을 줬다.

금일 (19일) '클래시 오브 클랜'의 프로그래머이자 '헤이데이' 클라이언트 프로그래밍 업무를 맡은 루 종웨이(Lu Zhongwei)가 NDC 강연자로 나섰다. 그는 슈퍼셀이 주로 사용하는 게임 엔진은 무엇인지, 현재 개발 중인 '헤이데이'에는 어떠한 새로운 시도들이 이뤄지고 있는지, 안드로이드와 iOS라는 두 플랫폼은 어떻게 다른지, 데이터를 기반으로 한 개발은 밸런싱 조정에 있어 얼마나 용이한지 설명했다.

▲ 슈퍼셀 루 종웨이 선임 프로그래머


작은 팀이 강하다.

'헤이데이' 팀은 총 15명으로 구성되어 있다. 슈퍼셀은 수평 구조를 중시하기 때문에 작은 규모의 팀을 선호한다. 작은 팀이어야지만 모두가 창의력을 발휘하고 의견을 제시할 수 있기에 슈퍼셀에 있는 '헤이데이', '클래시 오브 클랜', '붐비치' 팀은 모두 소수로 구성되어 있다.

작은 팀의 진가는 빠른 시장 대응에서도 드러난다. 구글, 애플 마켓의 반응뿐만 아니라 플레이어의 피드백, 시장 상황에 역동적으로 맞춰 갈 수 있는 이유도 작은 팀이기에 가능하다.

'헤이데이' 팀은 한 명의 리더를 중심으로 두 명의 디자이너, 세 명의 아트, 다섯 명의 코더가 개발 작업을 담당하고 있으며 한명의 테스터, 분석가, 플레이어 서포터, 커뮤니티 담당자까지 15명이 한 팀을 이루며 유기적인 조직을 이루고 있다.

특히 슈퍼셀은 플레이어의 피드백을 매우 중시하기 때문에 데이터를 분석하는 작업을 게을리하지 않고 있으며 트위터나 페이스북 같은 커뮤니티도 적극적으로 관찰하고 있다.



모두가 함께 사용하는 엔진

슈퍼셀의 작품인 '헤이데이', '클래시 오브 클랜', '붐비치'는 모두 같은 엔진을 사용한다. 서로 다른 장르라 의아할 수도 있겠지만, 개발 엔진과 개발 정보를 공유하기 위해서다. 심지어는 그래픽 파이프 라인까지도 공유한다. 즉, 과거 성공작의 근간을 바탕으로 새로운 게임을 개발, 출시하는 방법이다.

슈퍼셀의 엔진은 iOS와 안드로이드만 지원하기 때문에 슈퍼셀은 모바일에만 주력하고 있으며 모바일 게임 외에는 계획조차 없다. 그렇기에 C++로 코딩하면 iOS와 안드로이드 간 별도의 이식 작업 없이도 엔진이 알아서 변환해준다.

또한, 슈퍼셀 엔진은 서버에 로직을 저장하게 되어있다. 클라이언트에 로직을 저장하면 해킹을 당할 위험성이 상대적으로 높기 때문이다.



새로운 기능 개발 절차

'헤이데이' 팀은 게임에 새로운 기능을 추가하기 위해 다음과 같은 절차를 거친다.

1.
팀원 모두가 한 방에 모여 이야기를 나눈다. 모두가 동등한 위치에서 의견을 주고받으며 건설적인 대화를 한다. 이렇게 함으로써 게임이 발전할 수 있다고 믿기 때문이다. 그 후 대화를 통해 얻은 아이디어 중 몇 개를 추려서 우선순위를 정한다. 어떻게 하면 유저들에게 만족을 줄 수 있을지, 어떻게 하면 유저가 게임에 머무르게 할 수 있을지를 염두에 두고 우선순위가 높은 순으로 정렬한다.

2.
디자이너와 팀 리더가 우선순위로 정한 아이디어를 가지고 세부적인 측면을 기획한다. 아이디어를 현실화시키기 위한 과정으로 플레이어에게 미칠 영향 등을 다각도로 검토해 정밀한 부분을 만들어 내는 단계다.

3.
세부 기획이 나왔으면 아트와 코더들이 실체적인 결과물을 만들어낸다. 결과물을 가지고 팀 내에서 플레이해보며 서로에게 묻고 개선할 방법을 찾는 단계다. 게임에 큰 영향을 줄 만한 콘텐츠라면 전사(社)적으로 테스트하기도 한다. '헤이데이'의 낚시 콘텐츠 같은 경우 '붐비치', '클래시 오브 클랜'팀도 플레이하며 피드백을 줬다.

4.
QA 단계다. 구현된 콘텐츠의 잘잘못을 판단하는 품질관리 과정으로 결과가 만족스럽지 못하면 다시 3번 단계로 돌아간다. 총체적인 문제가 있다고 판단되면 2번으로 돌아가기도 한다. 이 단계는 게임의 퀄리티와 직결되는 굉장히 중요한 단계다.

'클래시 오브 클랜'의 클랜전 같은 경우 좀 더 좋은 결과물을 만들어내기 위해 수개월동안 2, 3, 4번 과정을 수없이 반복했다. '헤이데이'의 낚시 콘텐츠도 마찬가지였다.

5.
버그를 고치고 경영진에 빌드를 제출하는 단계다. 가장 많은 실수를 하는 단계이기도 하다. 개발하는 입장에서 게임에 좋은 콘텐츠와 기능을 최대한 많이 넣고 싶지만, 플레이어의 욕구와 시장 상황을 고려하지 않는다면 테스트 과정만 길어지고 게임의 품질은 떨어질 수 있다. 참는 것을 배우는 부분이다.

6.
경영진의 결정이 내려지면 서버에 올려 라이브한다. 이 역시 전사(社)적으로 참여한다. 그리고 곧바로 위기 대응 태세 (Crisis Mode)에 돌입하여 각종 상황에 대비한다. 애플과 구글에서 제공하는 툴과 자체 툴을 이용해 데이터를 분석하고 플레이어들의 피드백을 검토한다. '헤이데이' 같은 경우 유저에게 불편함을 주는 스크롤 박스가 있었다. 유저들은 포럼에서 이러한 의견을 우리에게 전달했고 우리는 최우선 순위로 이 문제를 해결했다.



애플, 구글. 다른 두 플랫폼

애플과 구글은 다른 환경을 제공한다. 모바일 게임만 개발하는 슈퍼셀은 이러한 환경에 적응하기 위해 앞서 말한 게임 엔진을 사용한다.

애플과 구글은 과금 환경도 다르고 렌더링과 폰트도 다르다. 또한, 네트워킹 환경과 리소스를 저장하는 방법 역시 다르다. 그뿐만이 아니다. 업데이트를 알리는 방법과 외부링크도 다르다. 게임 개발에 필요한 구체적인 방법이 다르므로 각각 세밀한 검토를 해야만 한다. 만약 의문점이 생기면 스택오버플로우(Stack Overflow)까지 찾아봐야 하며 그래도 해결이 되지 않으면 애플과 구글에 찾아가 도움을 요청하기도 한다.



빠른 개발을 위한 데이터 중심(Data-Driven) 개발

'헤이데이' 빠른 개발을 위해 데이터 중심 개발 방법을 사용한다. 데이터를 CSV와 JSON을 이용해 저장하는 것이 핵심이다. 코더가 데이터를 CSV로 저장하면 디자이너가 코더의 도움 없이도 밸런싱 작업을 할 수 있기 때문이다.

CSV란 (Comma Separated Value)는 쉼표를 기준으로 항목을 구분하여 저장한 데이터를 뜻한다. 보통 데이터베이스나 표 계산 소프트웨어 데이터를 보존하기 위해 이런 형식을 많이 사용하며 수많은 애플리케이션에서 취급하는 범용 형식이다.

이 방법을 사용하면 디자이너는 모든 데이터가 행과 열로 작성된 CSV를 엑셀이나 오픈 오피스로 열어 스프레드시트에서 수치를 바꿔보면서 테스트를 할 수 있다. 코더의 도움 없이도 게임 경제를 테스트 할 수 있으며 새로운 기능도 스프레드 시트 안에서 바로 시뮬레이션해 볼 수 있다.

무엇보다 CSV를 사용하면 이벤트를 이용할 수 있다는 장점이 있다. 예를 들어 지난 일주일간의 데이터를 정렬해 확인하면서 필요한 요소를 확장해 나갈 수 있다. 이 작업에 코더가 필요없기 때문에 코더는 그 시간에 UI라든지, 로직 작업 등 다른 업무에 시간을 할애할 수 있다.


JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. C-family 언어 (C, C++, C#, Java, JavaScript, Perl, Python 등) 프로그래머들에게 친숙한 텍스트 형식이다.

JSON은 계측하기 편리하다는 장점이 있다. 여러 오브젝트를 손쉽게 확인할 수 있기 때문에 개발 시간을 단축해준다. 예를 들어 어떤 플레이어가 버그를 보고했을 때 그 플레이어의 JSON 오브젝트를 이용해 시뮬레이션해보면 버그를 파악하고 고치는 데 매우 편리해진다.

결과적으로 CSV와 JSON을 이용한 데이터 중심 개발 방식은 디자이너가 빠르게 일을 처리하고 밸런싱을 잡는데 매우 좋을 뿐만 아니라 코더에게도 더 효율적인 시간을 보장해 준다는 점에서 개발에 도움이 된다고 말할 수 있겠다.