[기획연재 4편] 나도 모바일 게임 제작자
- 모바일 게임 개발만의 특성은?
이번에는 모바일 게임의 개발, 즉 프로그래밍에 대해, 간략히 논해 보기로 하겠다. 프로그래밍 자체를 글로 표현하다는 것 자체가 좀 모호한(?)면이 있지만 간략히 특징 위주로 모바일 게임 프로그래밍에 대해 논해 보기로 하겠다. 모바일 게임 개발의 순서 및 프로세스, 그리고 가장 중요한 포인트인 각 이동통신사 별로 사용하는 언어에 대해 큰 특징 위주로 논해 보기로 하겠다.
개괄적인 매인 프로세스 (2005 프로야구의 예)
- SK 텔레콤의 CASE - GVM, GNEX
GVM(General Virtual Machine) : GVM1X, GVM2X
신지소프트에서 자체적으로 개발한 Mobile C(기존의 C언어에서 pointer와 union기능의 축소 등 Mobile환경에 맞게 변형)를
기반으로 만든 모바일 플랫폼.
GNEX(General &Next Multimedia Player): GVM3X
기존 GVM의 제약사항을 해소하고 파일시스템, 네트워크, 그래픽 등 기능을 더욱 강화시킨 모바일 플랫폼.
개발 과정
[1단계] 게임 기획(게임전반, UI 등) 랭킹등록 등을 위해 서버 프로그램에 대한 기본적인 준비.
[2단계] Image 제작 후 ImageMaster를 이용해 Image변환작업. (이미지 데이터 파일 : .sbm)
[3단계] 음원 제작한 후 AudioMaster를 이용해 Audio변환작업.(.ssd)
[4단계] Mobile C 프로그램 작성.
[5단계] MobileC로 컴파일해 실행파일인 *.sgs가 생성.
[6단계] sgs파일을 에물레이터로 테스트.
[7단계] SGS를 단말기에 다운로드 받아 직접 테스트.
[8단계] 사업자와의 상용서비스 절차를 거쳐 서비스 시작.
장점 : 여러가지 플랫폼 중 가장 널리 퍼져있다.
언어가 단순해 개발에 용이하다.
자체적인 Image, Audio툴을 제공한다.
단 한 가지 아쉬운 점은 프로그램 자체의 용량이 128k로 용량 제한(GNEX에서는 용량제한이 풀림)이 있어 고품질의 게임을 만들기에는 부절절하다. 키 릴리즈 기능 미구현.(GNEX에서는 키 릴리즈 추가됨) GNEX의 경우 아직 지원하는 폰이 적고 고사양을 요구하고 있어서 개발에 어려움이 있다는 점이다.
(그림) 개발에 사용되는 애뮬레이터 - GNEX
KTF 의 CASE - BREW
BREW( Binary Runtime Environment for Wireless )
Qualcomm에서 독자적으로 개발한 모바일 시스템의 개발 환경
개발 과정
[1단계] 게임 기획.(게임전반, UI 등) 랭킹등록 등을 위해 서버 프로그램에 대한 기본적인 준비.
[2단계] Image 제작 후 게임빌 자체 압축툴(ZT1 format)을 이용해 bmp를 zt1 파일로 변환
[3단계] 음원 제작한 후 yamaha ma2 format으로 변환
[4단계] 압축된 이미지(zt1)와 변환된 사운드(mmf)파일을 Resource editor를 이용해 .bar파일로 패킹
[4단계] BREW 프로그램 작성.
[5단계] ARM Compiler를 이용해 binary형태(.mod)로 컴파일
[6단계] .mod파일을 케이블로 연결된 단말기에 업로드 후 테스트
[7단계] 사내 QA진행
[8단계] 사업자와의 상용 서비스 절차를 거쳐 서비스 시작.
강점 : 다른 플랫폼에 비해 대체적으로 속도가 빠른편이다. GVM이나 MIDP Java보다 개발상의 제약이 적기 때문에 타 플랫폼에 비해 보다 많은 기능을 추가 할 수 있다.
그러나 GVM과 Java보다는 기기의 특성을 많이 타는 편이고 힙 메모리의 용량이 컨텐츠의 크기를 못 따라올 경우가 많다. C++의 기능을 제한적으로 사용 가능한 것 역시 아쉬운 점이다.
(그림) 개발에 사용되는 애뮬레이터 - BREW
LGT 의 CASE - MIDP
LG MIDP JAVA
SUN사의 J2ME(Java 2 Micro Edition)에 사운드 등 부가적인 기능 추가한 모바일 플랫폼.
개발과정
[1단계] 게임 기획.(게임전반, UI 등) 랭킹등록 등을 위해 서버 프로그램에 대한 기본적인 준비.
[2단계] Image 제작. 별도의 툴이 없으므로 포토샵 등을 이용해 제작.(이미지 데이터 파일 : .png)
[3단계] 음원 제작. (.mmf)
[4단계] MIDP 프로그램 작성.(Eclipse등의 툴을 이용한다)
[5단계] 컴파일 후 이미지파일 오디오파일과 압축해 실행파일인 *.jar 생성.
[6단계] jar파일을 에뮬레이터로 테스트.
[7단계] jar를단말기에 다운로드 받아 직접 테스트.
[8단계] 사업자와의 상용 서비스 절차를 거쳐 서비스 시작.
장점 : JAVA언어의 특징을 그대로 이용할 수 있다(객체 지향, 풍부한 API 등) 디바이스에 관계없이 VM(Virtual Machine)만 탑재돼있으면 실행 시킬 수 있다. 메모리 용량이 작은 모바일 환경에서 garbage collection(메모리 자동관리)을 해준다.
그러나 모바일에서는 언어적인 측면에서 자바의 장점(객체지향 등)을 충분히 이용하지 못한점과 타 플랫폼에 비해 메모리 사용량이 많고, 실행속도가 다소 느린 점이 아쉬운 점이다.
(그림 - 개발에 사용되는 에뮬레이터 툴 - MIDP)
이상으로 모바일 게임의 개괄적인 프로세스 및 핵심 포인트인 각 이동통신사 별로 쓰이는 언어의 특징에 대해 미약하나마 논해 보았다. 이 글에서는 기본적인 프로그램 언어와 각 특장점에 대해 논했지만 이 외에도 프로그레머 역시 많은 게임 학습을 통한 게임에 대한 노하우와, 기획, 디자이너와 같이 의사소통을 할 수 있는 능력 역시 프로그램 개발 능력 못지 않게 중요하다고 할 수 있겠다. 다음 편에서는 마무리 단계인 모바일 게임 마케팅에 대해 논해 보기로 하겠다.
게임빌 모바일 게임 기획실
김 주영 대리 (dpal@gamevil.com)
도우미 게임빌 모바일 게임 개발실
한 태성 (always3133@gamevil.com)