[기고칼럼] 모바일게임 변천사 (2) - GVM부터 WIPI까지 피쳐폰 개발환경의 변화

칼럼 | 윤홍만 기자 | 댓글: 32개 |



[▲ 안현석 에이스프로젝트 팀장]
인벤에서는 게임업계 15년 경력의 베테랑 개발자, 안현석 팀장님의 칼럼을 기고 받게 되었습니다. 그는 피쳐폰이 급부상하던 시절부터 게임을 만들기 시작해 엔텔리젼트, 넥슨모바일, 넥슨코리아를 거쳐 현재 에이스프로젝트에서 R&D와 클라이언트 개발팀 디렉터를 맡고 있습니다.

에이스프로젝트는 2010년 7월에 설립된 스포츠 게임 전문 개발사로, 시뮬레이션 엔진 기술력을 바탕으로 한 매니지먼트 게임 개발에 강점을 갖고 있습니다.

대표 게임으로 '컴투스 프로야구 for 매니저', '9이닝스 매니저'가 있으며, 2017년 3월에는 대만 프로야구 리그를 무대로 자체 서비스 게임인 '직봉총교두'를 출시했습니다.

한편, 에이스프로젝트는 2015년에 잡플래닛과 포춘코리아가 주최한 '일하기 좋은 기업'에서 IT/웹 부문 1위에 선정되며 화제를 모으기도 했습니다.

안현석 팀장님의 칼럼은 '피쳐폰부터 스마트폰까지 모바일 게임 클라이언트의 변천사를 주제로 총 8회가 연재됩니다. 첫 번째 칼럼에서는 '새로운 게임 플랫폼의 탄생, 모바일 게임의 등장'을 다루는데요. 우리 생활 깊숙히 파고든 모바일 게임의 기원과 변화 과정을 지금부터 함께 살펴보겠습니다.

[안현석 팀장의 기고칼럼]
[기고칼럼] 모바일게임 변천사 (1) - 新 게임 플랫폼의 탄생과 모바일 게임 등장
[기고칼럼] 모바일게임 변천사 (2) - GVM부터 WIPI까지 피쳐폰 개발환경의 변화

* 본 내용은 본지의 편집방향과 일치하지 않을 수도 있습니다.


스마트폰 모바일 게임을 만든다고 하면 떠오르는 것이 무엇인가? 아마 유니티와 언리얼일 것이다. 요즘 스마트폰 게임은 유니티와 언리얼 같은 좋은 멀티플랫폼 게임엔진이 많아서 누구나 손쉽게 개발할 수 있다.

그럼 피쳐폰 시절에는 모바일 게임을 어떻게 만들었을까? 그 시절에는 모바일 게임을 개발하기 위한 게임엔진이 없었고, 각각의 이동통신사가 제공하는 개발 플랫폼을 이용하여 개발해야만 했다. 오늘은 그 시절 모바일 게임 개발환경에 대한 이야기를 해보고자 한다.


이동통신마다 제각각 - 4개의 개발 플랫폼

그 시절에는 지금의 앱스토어, 구글스토어와는 달리, 통신사가 스토어를 운영했다. 그래서 각 이동통신사에서 제공하는 개발 플랫폼을 이용하여, 게임을 개발해야 했다.

SKT는 GVM과 SK-VM이라는 두 개의 개발 플랫폼을 제공했다. GVM은 Mobile C기반이었고, SK-VM은 Java기반이었다.

GVM은 스크립트 수준의 쉬운 언어와 각종 툴 제공으로 쉽게 모바일 게임을 만들 수 있었고, 실행 성능이 좋아 게임 속도가 빨랐다. 하지만, 확장성이 떨어졌고 제약사항이 많았다. 변수를 256개 이상 사용할 수 없다든가, 게임용량이 128KB를 넘으면 안되는 문제 등이 있었다.



▲ 출처: GVM 개발문서

SK-VM은 Java기반의 개발 플랫폼이었는데, 아무래도 Java의 특성상 GVM에 비해 실행속도가 느렸다.

하지만 GVM에 비해 제약사항이 적었고 Java 언어의 장점으로 개발하기도 편했다. 게임용량 제한도 딱히 없었다. 그래서 간단한 캐주얼 게임이나 속도를 요하는 액션게임은 GVM으로 개발하고, RPG나 시뮬레이션 같이 복잡하고 규모가 있는 경우에는 SK-VM으로 개발을 하기도 했다.



▲ 출처: SK-VM 개발문서

KTF는 퀄컴의 BREW를 제공했다. 가장 큰 장점은 C/C++ 기반이라는 점과 다른 개발 플랫폼과 달리 VM기반에서 실행되는 것이 아닌 Native 바이너리 형태로 실행이 되었다. 실행속도가 매우 빠르고 메모리를 효율적으로 사용할 수 있었다. 단점은 ARM컴파일러 가격이 비쌌다. 그 당시 약 150만원 정도 였던 것으로 기억한다.



▲ 출처: BREW 개발문서

LGT의 경우에는 JavaStation이라는 Java기반의 플랫폼을 제공했다. SKT의 SK-VM과 같은 Java기반이었지만 SK-VM보다 실행속도가 느리고 개발환경이 불편했으며, 폰특성(휴대폰 모델마다 생기는 고유의 버그) 문제가 많았다.



▲ 출처: JavaStation 개발문서


같은 게임을 3번 개발해야 한다

이동통신사마다 제공하는 개발 플랫폼이 개발방식을 비롯한 프로그래밍 언어조차도 달라서 모든 이동통신사에 서비스하기 위해서는 같은 게임을 3번 개발해야 했다. 보통 특정 플랫폼을 메인으로 잡고 게임을 개발한 뒤 다른 플랫폼으로 포팅을 했었는데, 포팅이 여간 어려운 일이 아니었다. C++로 개발된 게임을 Java로 컨버팅을 한다고 상상을 해보라.

그래서 대부분의 개발사가 가입자 수가 많은 통신사에 우선 출시하고, 여력이 없는 경우에는 다른 통신사에 출시를 하지 않기도 했다. 또한 플랫폼의 차이로 같은 게임인데 통신사에 따라 속도나 플레이 경험이 다른 경우도 있었다. 최악의 경우에는 게임의 내용과 볼륨자체가 달라지는 경우도 있었다. 결국 이러한 상황은 모바일 게임 시장의 성장속도를 더디게 만들었다.



▲ 이동통신사별 개발 플랫폼


통합 플랫폼 WIPI의 등장

2005년, 드디어 통합 플랫폼이 등장했다. 이름도 긴 ‘한국 무선인터넷 표준화포럼’에서 주도해 ‘WIPI’라는 통합 플랫폼을 내놓았다. 하나의 개발 플랫폼만으로 모든 통신사에 서비스를 할 수 있게 됐다.

WIPI는 플랫폼 통합 이외에도 여러가지 신경을 많이 쓴 플랫폼이었다. 기존의 플랫폼은 VM기반에서 돌아가기 때문에, CPU의 성능과 자원이 제한된 휴대폰에서는 느릴 수 밖에 없다. 반면 BREW와 같이 Native 바이너리를 이용하는 플랫폼의 경우에는 CPU에서 바로 기계어로 실행이 되기 때문에 빠르다. WIPI는 이 장점을 살린 Native 바이너리 방식의 플랫폼이다.

그리고 프로그래밍 언어는 C/C++과 Java 두 개의 언어를 지원했다. VM이 없는 Native 바이너리 방식의 플랫폼에서 Java로 개발을 할 수 있었는데, WIPI는 게임 다운로드 요청이 올 때, Java 컴파일을 하고 완료되면 Native 바이너리를 생성하여 다운로드 하는 방식인 COD(Compile On Demand) 컴파일링 기술을 적용하여 Native 바이너리 방식의 플랫폼에서도 Java개발이 가능하도록 지원하였다. 또한, WIPI-C는 메모리 관리를 편하게 할 수 있도록 Garbage Collector도 지원했다.

WIPI가 등장하고, 얼마 있지 않아 WIPI 탑재 의무화가 발표되었다. 이후 출시되는 모든 휴대폰은 WIPI가 탑재됐다.

WIPI의 등장으로 모바일 게임의 퀄리티가 한층 높아지기 시작했다. Native 바이너리 방식은 확실히 빨랐다. 그로 인해 이미지 확대/축소 및 각종 블렌딩 효과를 모바일 게임에서도 사용할 수 있게 됐고, 리소스 용량 절감 및 화려한 특수효과를 낼 수 있게 된 것이다.



▲ 출처: 넥슨코리아


4년만에 ‘WIPI 탑재 의무화’는 역사속으로

하지만 WIPI는 통합플랫폼 역할을 제대로 하지 못했다. 통신사마다 제각각의 개발환경을 제공하다보니, 통합 플랫폼이지만 SKT-WIPI, KT-WIPI, LGT-WIPI의 형태로 다시 나눠져 버렸다. 일례로, SKT-WIPI와 LGT-WIPI는 C/C++을 지원하고 KTF-WIPI는 C만 지원했다. 그 외에도 여러 많은 부분이 통신사마다 달랐다.

물론, 이전에 비해 포팅작업이 줄어든 것은 사실이지만 본래 취지였던 호환성 개선을 제대로 하지 못했다. 문제는 그 뿐만이 아니다. WIPI 탑재 의무화를 시행함으로써 외산폰의 도입이 막혔다. 좋게 말하면, 내수시장을 보호했다고 할 수 있지만, 한국 휴대폰 시장이 글로벌에서 고립되고 갈라파고스화 되고 있었다.

2009년, 결국 WIPI 탑재 의무화가 폐지되었다. 그리고 아이폰을 비롯한 외산폰이 들어오기 시작했고, 피쳐폰 모바일 게임시장도 점점 황혼기를 맞이하고 있었다.



▲ 출처: http://www.nexpert.net/135


열악한 개발환경에서 탄생한 명작들

피쳐폰 시절 개발자는 이렇게 많은 개발 플랫폼의 변화와 변변찮은 게임엔진 하나 없는 환경에서도 많은 명작 게임을 탄생시켰다.

모바일 타이쿤 게임의 시초였고 수많은 휴대폰 키패드를 망가뜨리게 만든 ‘붕어빵 타이쿤’, 2002년부터 10년이 넘도록 꾸준히 매년마다 시리즈를 출시했던 ‘게임빌 프로야구’, 콘솔게임에 버금가는 탄탄한 시나리오와 그래픽 퀄리티로 모바일 명작 RPG로 불리는 ‘영웅서기’ 등 아직도 우리의 기억 속 게임들이 많다.

하지만, 요즘 스마트폰 게임은 어떤가? 분명 게임 개발환경은 그 시절에 비하면 월등하게 좋아졌다. 스마트폰 성능도 PC에 버금갈만큼 좋아졌고, 유니티와 언리얼 같은 좋은 게임개발엔진의 등장으로 모바일 게임을 개발하기가 한결 편해졌다. 하지만 기억에 남는 이렇다 할 명작이 많지가 않은 건 왠지 슬픈 일이다.



▲ 출처: https://www.inven.co.kr/webzine/news/?news=52585





오늘은 피쳐폰 시절 모바일 게임 개발환경에 대해서 이야기를 해보았다. 비록 필자는 피쳐폰 시절 이렇다할 명작을 만들어내지는 못했지만, 그때를 생각하면 현재의 모바일 게임 개발환경이 정말 좋아졌음을 다시 한번 느낀다.

그렇다고 피쳐폰 시절에 게임을 만들면서 고생했던 경험이 쓸데 없고 헛되었다고 생각하지는 않는다. 그때의 경험이 밑거름이 되어 최적화나 트러블슈팅을 누구보다도 더 잘 해결 할 수 있게 되었다.

다음 칼럼에서는 “빠르게 성장하고 화려했던 피쳐폰 디바이스 변천사”라는 주제로 피쳐폰 시절 휴대폰이 어떻게 발전하고 바뀌어 갔는지에 대해 이야기해보도록 하겠다.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5