로그인

회원가입 | ID/PW 찾기

취재

업데이트를 멀리하라! 모바일 개발 노하우

‘멀티플랫폼에 대하는 10가지 자세’ 강연

김승현(다미롱) 2013-07-04 22:40:13

한 달 동안 쏟아지는 게임의 수만 수십 개. 오늘도 많은 이들이 모바일 게임을 만들며 청운의 꿈을 품는다. 하지만 막상 도전한 모바일 게임 개발은 녹녹하지 않다. PC와 달리 OS, 플랫폼도, 기기 스펙도 다 제각각이고, 그렇다고 어떻게든 편히 개발한다고 궁리를 하면 나중에 배로 일거리가 돌아오기 일쑤다.

 

소셜게임 <트레인시티>를 만든 로켓오즈의 임정민 대표는 스스로 만든(?) 일거리에 괴로워하는 개발자들에게 자신의 노하우를 공유했다. ‘멀티플랫폼에 대하는 10가지 자세강연에서 그가 밝힌 모바일 게임 개발 노하우를 들어보자. /디스이즈게임 김승현 기자


 

로켓오즈의 임정민 대표

 

 

■ 업데이트하면 늦는다! 데이터를 분리하라

 

어설프게 개발을 편히 하려다가 역으로 업무폭풍을 맞았던 적이 수십번입니다. OS와 플랫폼, 디바이스 모두 파편화 된 모바일에선 기획 딴에서부터 치밀한 설계가 뒷받침되지 않으면 언제 자신이 만든 일이 부메랑처럼 되돌아올지 모릅니다.”

 

임 대표는 7 4일 서울 건설회관에서 열린 게임테크 2013’ 행사에서 로켓오즈의 대표작 <트레인시티>의 멀티플랫폼 개발 사례를 발표하며 이같이 말했다.

 

그가 개발자들에게 강조한 것은 주먹구구식의 꼼수가 아니라, 기획 단계부터 치밀하게 짜여진 설계였다. 이렇게 개발하면 어떤 것이 좋고 어떤 문제가 생길지에 대한 고민이 없다면 트러블은 늘어나고 개발기간은 한 없이 길어질 뿐이다.

 

 

임 대표가 꼽은 대표적인 예는 데이터 분리다. 모바일 게임의 서비스와 운영에 대한 고민이 없는 이라면 별다른 생각 없이 중요 데이터를 애플리케이션에 포함시키는 일이 많다. 하지만 웹게임이나 PC 온라인 게임과 달리, 모바일 게임은 마켓에 새로운 버전을 업데이트 할 때마다 그에 대한 검수가 필수다. 안드로이드는 상대적으로 검수 기준도 관대하고 기간도 짧은 편이지만, iOS는 이 과정이 길고 까다롭기로 유명하다.

 

만약 서비스 중 중요한 버그나 밸런스 문제가 발생했는데, 서버에 관련 데이터가 없어 업데이트를 통해서만 고칠 수 있다면 어떤 일이 벌어질까? 유저는 업데이트가 늦어져 고통 받고, 개발자는 새로운 빌드를 만들고 검수 받느라 고생한다. 만에 하나라도 게임의 빌드가 여럿이라면 개발자의 작업량은 기하급수적으로 늘어난다.

 

하지만 캐릭터 능력치나 아이템 가격, 특정 기능의 온∙오프 명령어와 같은 중요 데이터가 서버에 저장되어 있다면 이야기가 달라진다. 서버에 데이터가 저장되어 있기 때문에, 특정한 패치 없이도 라이브 서비스 중 언제든지 문제를 해결할 수 있다. 임 대표는 강연을 듣는 개발자들에게 중요한 데이터는 최대한 서버에 저장할 것을 권했다.

 

 

이처럼 애플리케이션과 데이터를 분리하는 것은 (개발사의 역량만 높다면) 많을수록 좋다. 만약 게임 내 아이템의 가격설정이 서버에 저장되어 있다면 개발사는 언제든 자유롭게 할인 이벤트를 할 수 있고, 게임 내 텍스트 데이터가 분리되어 있다면 해외진출 시 번역과 빌드 개발이라는 이중고를 겪지 않아도 된다.

 

이러한 데이터 분리 방식은 해외 서비스에서 특히 많은 도움이 된다. 통신망이 잘 정비되어 있고 유저들도 업데이트에 호의적인 한국과 달리, 해외에서는 통신속도도 느리고 유저들도 업데이트에 부정적이다. 심한 경우는 필수(강제) 업데이트가 있을 때마다 유저들이 떨어져 나가는 경우도 부지기수다.

 

때문에 해외 서비스 시에는 데이터 분리를 이용해 업데이트를 최소화하고, 만약 업데이트를 한다고 하더라도 가급적 모든 버전의 유저가 게임을 질길 수 있도록 하는 것이 중요하다.

 

 

 

■ 통합이 능사는 아니다. 최적화 가이드

 

간혹 그런 개발자가 있습니다. SNG를 개발하고 있는데 특정 플랫폼을 염두에 두지 않는 사람들. A에서 떨어지면 B로 가고, 그도 안되면 C로 가면 된다는 이들. 하지만 어디든 들어갈 수 있다는 게임은 반대로 어디서도 최고가 될 수 없는 게임과 같습니다.”

 

임 대표는 SNG를 개발하며 특정 소셜 플랫폼을 목표로 하는 것이 중요하다고 강조했다. 카카오가 대세를 차지한 한국에선 다소 빛이 바랬을 수도 있는 말이지만, 세계로 시야를 넓히면 이야기가 달라진다. 카카오와 라인, 페이스북 등 모든 소셜 플랫폼은 자신만의 색과 알고리즘이 있다. 개발자가 이를 간과한다면 어떤 플랫폼에 가서도 성공할 수 없다.

 

 

특히 소셜 플랫폼의 알고리즘은 유저 성향만큼이나 개발에 중요한 역할을 차지한다. 서로 다른 성향을 가진 플랫폼에 같은 게임을 론칭할 수 없듯이, 다른 알고리즘의 플랫폼을 똑같이 묶어 개발한다면 게임의 완성도 자체가 무너지게 된다. 카카오나 페이스북에서 똑같이 메시지 연동이나 선물 기능을 지원한다고 하더라도 그 알맹이를 보면 각기 다른 방식으로 기능이 구현되는 경우가 대부분이기 때문이다.

 

하지만 이를 간과하고 비슷한 기능이라 묶어 개발한다면 최적화는 최적화대로 실패하고, 개발 기간은 개발 기간대로 늘어나게 된다. 물론 결과값이 비슷한 이상 공통된 요소가 없다고는 말할 수 없다. 하지만 그런 요소를 찾아내고 이를 개발에 적용하는 것이, 각 플랫폼에 맞춰 게임의 최적화 빌드를 따로 꾸리는 것보다 효율적이라고 할 수 있을까?

 

이는 프로그램에 추가되는 애드온도 마찬가지다. 게임을 개발하게 되면 유저의 데이터를 분석하거나 게임 내 배너광고 등을 삽입하기 위해 애드온을 추가하는 경우가 많다. 하지만 애드온이 많아질수록 늘어나는 편의성만큼이나, 프로그램의 부하도 커지고 관리도 힘들어진다.

 

그렇다면 비슷한 성격의 애드온을 한데 묶어 관리하면 어떻게 될까? 개발자가 편의를 위해 그런 생각을 하는 순간 지옥문은 열리게 된다. 아무리 비슷한 성격의 애드온이라 하더라도 데이터 수집방식이나 결과값을 구하는 방식이 각기 다르기 때문이다. 결국은 비슷한 기능이라는 껍데기에 홀리지 않고, 모든 애드온을 하나하나 최적화시키는 것이 왕도다.