이제 모바일 게임은 누구나 즐기는 하나의 문화가 되기에 이르렀다. 그런데 우리가 이렇게 손쉽게 접하는 모바일 게임들은 어떤 과정을 통해 만들어지는 것일까? 매일 같이 접하는 모바일 게임인데도 어떤 과정을 거쳐 만들어지는지에 대해서는 그다지 알려진 바가 없다.
데일리게임은 이용자들의 게임의 개발과정에 대한 궁금증을 해결하기 위해 모바일 게임이 어떤 과정을 거쳐 개발되고, 이후 퍼블리셔를 통해 어떤 추가 과정을 거쳐서 마켓에 출시되는지를 2부에 걸쳐 소개하는 지면을 마련했다.
그 첫 번째 순서는 '모바일 인디 게임 개발기'로 모바일 게임이 만들어지는 과정을 실제 사례를 예로 들어 살펴본다. 이를 위해 지난 2013년부터 팀을 이뤄 모바일 인디 게임 개발을 진행해 모바일 게임 '페인트히어로즈'의 출시를 목전에 두고 있는 '팀 조이스틱'을 만나 그들의 개발기를 들어봤다.
◆ 팀 조이스틱은 이런 팀
'팀 조이스틱'은 기획 1명, 프로그래밍 1명, 그래픽 2명으로 구성된 팀으로, 서강대학교 게임교육원 커리큘럼 상의 게임을 만들기 위해 만들어진 프로젝트 팀이다. 학교 프로젝트를 위해 만난 이들이지만 몇 학기를 함께하다 보니 마음이 맞아 졸업 이후까지 이어오게 됐다.
학교 입학부터 계속 함께 해오던 이들은 2013년 교내 프로젝트로 '컬러리즘'을 개발하게 됐고, 이 게임이 주목을 받아 이후 '에피드게임즈'와의 산학협력을 통해 콘셉트를 확장, 재설계했다. 그렇게 버전업한 게임이 바로 퍼즐 슈팅게임 '페인트히어로즈'다. 현재 '팀 조이스틱'은 출시를 앞두고 마무리 작업에 한창이다.
산학협력 과정이 순탄치만은 않았다. 바로 학과 졸업을 위한 프로젝트 때문. 줄곧 같이 작업해오던 그래픽 담당 두 명이 다른 프로젝트가 있어 산학협력 프로젝트에 바로 참여할 수 없어 문제가 됐다.
최태양 기획자는 "정말 좋은 기회라 많은 고민을 했지만 역시 다 함께 작업하는 게 즐거워 유지해온 팀이니만큼 산학협력 제안을 거절하려고 마음을 먹었습니다. 그런데 대표님이 2학기까지 여유를 주셔서 겨우 모두 합류할 수 있었죠"라고 당시를 회상하며 멋쩍은 듯 웃었다.
결국, 2014년 7월이 되어서야 본격적으로 프로젝트를 시작할 수 있었고 이후 방학이 끝난 9월부터는 학기 중에도 게임을 개발해왔다.
이렇게 개발된 '페인트히어로즈'는 아직 출시 전임에도 많은 관심을 받고 있다. 독일 최대 게임쇼인 '게임스컴'에 참여해 좋은 반응을 얻고 있는 것. 이름을 밝힐 수는 없지만 여러 해외 퍼블러셔로 부터 러브콜도 끊임없이 이어지고 있는 상태다.
과연 어떤 과정을 거쳐 이 게임이 만들어졌는지 게임을 개발한 그들의 입을 통해 개발과정을 직접 들어봤다.
◆ 게임의 시작이자 끝 '기획'
개발의 시작을 하나로 정의하기는 쉽지 않다. 디렉터나 메인 기획자의 주도로 만들어지거나 팀 전체의 아이디어를 합친 것을 기획자가 옮겨 구체화하는 경우 등 수많은 갈래가 있기 때문이다.
'페인트히어로즈'의 경우 서강대학교 게임교육원 커리큘럼 상 한 학기에 하나의 게임을 만들어야 하는 상황이었고, 이를 위해 교내 인맥을 총동원해 각기 역할을 나눈 하나의 팀을 지난 2013년 7월 구성했다.
일면식도 없는 이들이 모여 어색한 팀을 이뤘고 발표 프로젝트를 위해 아이디어를 모으기 시작했다. 한정된 기간 내에 완성된 작품을 만들어야 했기에 '간단히 구현 가능한 것'이 최우선 조건이었다.
그렇게 만들어진 초기 콘셉트는 간단하고 안정적으로 완성할 수 있는 횡스크롤 러닝 게임. 그러나 너무 간단하다는 이유로 학교 심사에서 반려를 당했고 다시 아이디어를 짜냈다.
'팀 조이스틱'은 우선 현재 짜인 팀이 최대한의 효율을 낼 수 있는 장르인 횡스크롤을 포기할 순 없었다. 하여 다른 아이디어를 가미하려는 다양한 시도를 했다.
의견을 모으기 위해 매일같이 회의를 진행하느냐 팀원들이 점차 지쳐갈 무렵, 당시 팀원들의 머리 색깔, 옷 색깔, 노트북 색상들이 마침 각양각색으로 특이했던 것에서 착안한 아이디어 '기존 아케이드 형식에 색깔을 주요 콘셉트로 넣어 만들어보자'를 채택하게 됐다.
우연에 우연이 겹쳐 나온 아이디어였지만 추가 회의를 통해 살을 붙여가자 그럴싸한 콘셉트가 됐다. 이후 기획자가 세부 기획안을 다른 팀원들과 상의하며 유니티를 이용해 본격적인 개발에 앞서 전체의 개요를 작성하는 프로토타이핑을 작성해갔다. 동시에 프로그래머는 디자인팀과 기획자와 상의해 설계를 시작했다.
◆ 본격적인 개발의 준비 '준비 단계'
아트팀은 설계 바탕을 두고 필요한 리소스를 제작하고, 개발팀에서 구현할 수 있도록 구체적인 기획안과 사양서들을 작성해 갔다. 아트팀에서는 배경, 캐릭터, 아이콘, 이펙트. UI 등의 리소스를 제작하고, 개발팀에서는 이를 구현할 수 있도록 구체적인 기획안과 사양서들을 작성했다.
이렇게 리소스를 준비한 뒤 테이블 작성 작업을 개시했다. 테이블 작성 작업은 게임 구현에 필요한 각종 데이터들을 구성하는 작업으로, 데미지 공식, 스킬 공식, 각종 아이템 수치, 보상 수치, 발동 확률, 드롭 확률 등 게임에 들어가는 모든 숫자라고 보면 된다.
또한 서버 사용 및 각 분야 개발 작업 시 협업을 고려한 설계 변경에 맞춰, 구현에 필요한 각종 데이터 테이블도 작성했다. 아울러 이 과정에서 상업용으로 사용할 수 없는 소스 확인 및 BGM, 효과음을 관련 전문가를 통해 제작했다. 그 외에도 평가판 버전에서 사용하던 여러 소스에 대한 라이선스 관련 문제들을 재확인 및 사용 가능하도록 허가를 받았다.
말로는 간단해 보이지만 이 작업들은 이후 개발 과정을 지탱해주는 기반과 같은 작업이기 때문에 가장 중요한 작업이라고 할 수 있다. '팀 조이스틱'은 7월부터 8월까지 한 달간 준비 작업을 진행했다.
'페인트히어로즈'는 이 단계에서 프로그래밍 기반을 변경하게 됐다. 해상도와 플랫폼에 대해 협의를 하고 본격적인 개발에 들어가며 유니티(Unity)로 작성됐던 프로토타입을 자바(JAVA)로 통째로 바꾸기로 한 것.
김민혁 프로그래머는 "어려운 결정이었지만 이후 개발을 용이하게 하기 위한 선택이었습니다"라며 "물론 가장 큰 영향을 미친 것은 학교 과제 평가 기준입니다. 자바로 작업 시 추가 점수를 줬거든요(웃음)"라고 설명했다.
프로그래밍의 기반이 되는 언어나 엔진을 선택하는 일은 게임의 이후 확장성에 큰 영향을 미친다. 추가 개발 이슈 발생 시 대응의 난이도가 기반 엔진에 따라 확연히 차이가 나기 때문에 게임의 장르와 개발 방향에 따라 프로그래밍 언어와 엔진의 선택에는 신중해야 한다.
◆ 이제 개발에 돌입해볼까 '구현 단계'
준비 단계를 완료한 뒤에는 진로 및 일정을 설정하는 '마일스톤/스프린트'를 설정한다. 돌로 된 이정표를 뜻하는 마일스톤은 프로젝트에서는 각 개발 단계마다 시기별로 중요한 분기점을 미리 작성한 스케쥴표의 의미로 쓰인다.
'마일스톤/스프린트'는 목표 단위를 나눠 단계별로 일종의 스케쥴을 설정하는 과정으로, 인력의 한계와 시간적인 문제로 한 번에 모든 목표를 달성하기 힘들기 때문에 중간 목표를 세우고 이에 맞춰 움직이도록 계획을 잡는 일이다.
이를 위해 팀원 전체의 역량을 정확히 파악하는 것이 중요하다. 역량에 넘치는 스케쥴을 소화하다 팀원이 히트업되기라도 하면, 엉클어진 스케쥴을 따라잡기 위해 다른 인력까지도 함께 무리하게 된다. 이 같은 악순환은 이후 개발 진행에도 악영향을 미치게 되므로 미리 소화 가능한 마일스톤을 세우는 일이 필요하다.
'페인트히어로즈'의 경우에는 큰 일정에 따라 움직이는 온라인게임 개발과 달리, 개발 주기가 짧고 유행 및 마켓 정책의 변화에 계속적인 대응이 필요한 모바일 게임의 특징에 맞춰 민첩한 대응을 위해 애자일(Agile) 방식을 채용했다.
'날렵한', '민첩한'이란 뜻을 가진 애자일 개발 방식은 단어의 의미처럼 각 상황에 따른 민첩한 대처가 특장점이다. 정해진 계획만을 따라 진행하기보다는 개발 주기 혹은 소프트웨어 개발 환경에 따라 유연하게 대처하는 방식을 뜻한다.
애자일 개발 방식은 계획과 개발, 출시와 같은 개발 주기가 여러 번 반복되며, 개발 환경에 맞게 요구사항이 추가되거나 변경된다. 결과적으로 애자일 소프트웨어 개발은 빠른 결과물을 원하는 작업과 많은 피드백에 대응해야 하는 모바일 게임 개발에 제격이다.
'팀 조이스틱'은 준비 단계를 진행하며 특정 마일스톤에 도달하기 위한 스프린트도 설정했다. 마일스톤은 일반적으로 특정 시스템 및 콘텐츠를 구현하는 것을 목표로 설정하게 된다. 이 작업을 담당하는 구성원들이 스프린트 회의를 통해 각 시스템과 콘텐츠의 구현에 필요한 업무를 작은 테스크로 쪼갠다.
이렇게 구성한 테스크 단위로 작업을 진행하면서 전 단계에서 수행했던 기획 수정 및 리소스 제작, 데이터 테이블 수정은 필요에 따라 지속적으로 이루어진다. 이 작업은 게임 출시 후에도 이어지는 거의 게임 개발에 있어 항시 추가되는 작업이다.
◆ 상상을 현실로, 본격적인 게임 개발 '구현 단계2'
9월에 접어들며 전 단계에서 각기 분배한 담당 테스크에 따라 마일스톤을 지켜가며 개발을 진행한다.
최태양 기획자는 "팀원들이 같이 살며 합숙 개발을 진행했습니다. 이때가 가장 즐거운 순간이었던 것 같아요"라며 "프로젝트 타이틀도 'LM807'였어요. 르메이르 807호라는 뜻인데, 작업실 주소이자 프로그래머의 집 주소였습니다. 이제는 식구 같아요"라고 말했다. 1년을 같이 숙식하며 게임 개발에 임했으니 식구라는 말이 그리 틀리지는 않아 보인다.
기획자 하나, 프로그래머 하나, 두 명의 아트팀이 각자의 역할을 다해 개발을 진행했다. 시간과 인원이 한정된 만큼 효율적인 작업을 위해 아트 파트도 크게 둘로 나눴다. 박진영 아트팀원이 애니메이션, 이팩트, UI를 맡고 백상민 아트팀원이 캐릭터와 배경을 맡는 식이다.
각 파트를 분배함으로써 배경과 캐릭터의 조화를 깨지 않고, 자기 분야에 충실할 수 있었으니 나름 괜찮은 방법이었던 것 같다는 게 '팀 조이스틱'의 설명이다.
횡스크롤 게임의 중요한 요소인 좌표와 이동속도 등의 정보는 플래시(Adobe flash)를 이용해 해결했다. 플래시에서는 이미지만 덩그러니 올려놓아도 이미지의 크기와 좌표가 표시되는 걸 이용한 것이다. 애니메이션은 하나하나 그리기에는 시간이 촉박했기에 에프터이팩트를 이용해 뽑아냈다.
◆ 완성을 위한 끝없는 담금질 '보완 단계'
학생 신분으로 학교 커리큘럼에 맞춘 마일스톤을 계획했기에 중간고사 시즌인 10월 중순. 중간 마일스톤이 진행됐다. 이 과정까지 1개의 캐릭터와 2개의 스테이지 그리고 소개 영상 A가 개발됐다.
중간고사 과제로 제출한 게임이 좋은 평가를 받아 지스타 2013의 학교 부스에 참가할 수 있게 됐다. 일반에 공개해야 하니만큼 안정화 및 최적화 작업인 '보완 단계'를 시작했다.
테스트와 버그리포팅 그리고 버그 수정이 셀 수 없이 반복됐다. 이 과정을 통해 메모리 충돌, 메모리 누수, 긴 로딩 시간, 기기 호환성 문제 및 도저히 알 수 없는 문제들이 발견됐다.
김민혁 프로그래머는 "해결 방법을 알 수 없는 문제들을 풀어보려 며칠을 고민하다 결국 선배님들께 여쭤보려 다녔습니다"라며 "그를 위해 공물로 희생된 치킨이 몇 마리인지 셀 수도 없지만 오류들은 해결할 수 있었습니다. 선배님 감사합니다"라고 말했다.
이렇게 만들어진 초기 버전으로 지스타2013에서 무사히 전시했고 많은 피드백을 얻었다.
귀한 이용자들의 현실적인 피드백들을 적용한 이후로도 테스트와 버그리포팅, 버그 수정을 내부 QA가 통과될 때까지 반복적으로 진행했다. 버그수정과 함께 게임의 전체적인 밸런싱도 점차 잡아갔다.
일반적으로 이 단계에서 퍼블리셔와 접촉하게 되며 퍼블리셔 내 QA팀의 의견이나 요청사항도 참고 및 반영하게 된다. 게임이 가장 격변하는 시기이기도 하다.
◆ 마지막 마일스톤 달성, 보강 및 퍼블리셔 탐색
학교 기말고사에 맞춰 마지막 마일스톤이 진행된 12월에 도달해, 2개의 캐릭터와 총 5개의 스테이지 그리고 오프닝 영상이 개발 완료됐다.
이전 지스타2013에 출품을 했던 버전은 완성도가 부족하다는 자체적인 판단하에 여러 분야에서의 보강 작업이 이뤄졌다. 아울러 구글, iOS, 기타 로컬 마켓 등의 각 마켓에서 론칭하기 위해 필요한 SDK 등을 연동하는 작업을 시행했다.
최태양 기획자는 "테스트 중 멀티 플랫폼 구현이 가능한 점에 착안해 스팀 등의 PC 버전과 PS4 등의 콘솔 버전의 출시도 함께 준비하고 있습니다"라며 "게임이 점차 완성돼가면서 본격적으로 퍼블리셔를 찾을 생각을 하게 됐습니다"고 전했다.
보통 여러 퍼블리셔에 테스팅 버전 파일과 제안서를 보내 계약 조건을 조율하는 방식으로 론칭을 준비하게 된다. '팀 조이스틱'이 소속된 '에피드게임즈'의 경우에는 국내 퍼블리셔와의 계약 없이 국내 단독 론칭을 계획 중이다.
'페인트히어로즈'는 오는 10월 정식 론칭을 앞두고 콘텐츠와 시스템의 구현에만 신경을 썼던 기존 버전의 문제점들을 보완하는 작업을 지속하고 있다. 개발자들의 아이디어가 숙련 개발자들의 노하우가 더해져, 전반적인 최적화 작업을 진행하고 있다. 속도, 용량, 발열 관련 문제를 해결했고 클라이언트 최적화 및 UX 개선 작업을 지속할 계획이다.
심정선 기자 (narim@dailygame.co.kr)