irene의 모든 글

스타크래프트 2 지도 편집기로 프로토타입 만들기

게임 프로토타입은 무엇보다 빠르게 만들고 빠르게 평가하고, 빠르게 의사결정을 내리는 과정이 중요하다. 프로토타입에 많은 공을 들이기 시작하면 팀 구성원은 쉽사리 지치거나, 혹은 공들여 만들 프로토타입에 미련을 가져 의사결정에 영향을 미치기 마련이다.

이전 프로토타입에서 사용되었던 프로토타입 개발 툴은 전형적인 ‘연필, 종이, 주사위’였다면 이번 실시간 전략시뮬레이션 프로토타입에는 블리자드 엔터테인먼트(Blizzard Entertainment)의 실시간 전략 시뮬레이션 게임인 스타크래프트 2(Starcraft 2)의 지도 편집기(Galaxy Editor)를 이용해 보았다. 스타크래프트 2의 지도 편집기(이하 ‘지도 편집기’)는 다양하고 세부적인 설정 변경 등을 통하여 실시간 전략 시뮬레이션 뿐만 아니라 사용자의 능력 여하에 따라서 다양한 형태의 게임을 생성하고 만들어볼 수 있는 기능을 갖추고 있다. 또한 제작된 게임을 별도의 추가 작업(UI, 그래픽, 사운드, 그리고 여타 잡다한 기본 기능들)이 필요 없이 스타크래프트 2 내에서 바로 확인이 가능하다는 점 때문에스티크래프트 2 지도 편집기가 효과적인 프로토타이핑 툴로써 적합하다는 결론을 내리기 충분했다. 새로운 프로토타입은 자연스럽게 지도 편집기를 이용하여 제작하는 것으로 결정이 되었다.

… 그리고 그것은 고난의 시작이었는데.

지도 편집기를 사용하면서 가장 먼저 맞닥뜨리게 되는 문제는 다양한 기능과 강력한 성능에 걸맞게 초심자에게는 사용방법이 ‘변화된 상황에 적응하지 못하고 이성을 잃어버릴’ 만큼 복잡하고 난해한 툴의 사용법을 친절하게 설명해 주는 사람이 아무도 없다는 것이었다. 심지어 제작사인 블리자드 엔터테인먼트에서조차 ‘공식적으로 편집기를 지원하지 않으며 고객 지원팀 역시 편집기와 관련한 모든 문제에 도움을 주지 않는다’라고 도움말에 명시하고 있다. 즉, 쓰고 싶으면 알아서 배우고 아니면 도태되라는 적자생존 형 서비스. (…) 다행히 도움말 말미에 ‘스타크래프트 2 편집기 위키’로 링크가 되어 있다. 이 페이지는 ‘공식 스타크래프트 2 편집기 토론장’으로 가는 링크가 걸려있다. 지식에 목마른 나는 두근거리는 마음으로 링크를 눌러보았으나…

페이지 없음.
... 아무것도 없. 잖. 어.

… 홈페이지 관리를 제대로 안하는 곳(이곳 같은)에서 자주 보이는 전형적인 잘못된 링크 오류. 해당 페이지는 홈페이지 메뉴의 ‘토론장’ 버튼을 통해서 접근이 가능하다. 하지만 이런 초보적인 실수를 게임 개발의 신인 블리자드가 저지르다니… 뭐 그들도 인간이니까. 하면서 관대한 마음으로 토론장의 글 목록을 본다. 하지만 지도 편집기에 대한 강좌나 문답 보다는 사용자 지정 게임 시스템과 인기도 시스템에 대한 항의 글이 더 많은 상황. 그래도 공지 글 중에 ‘지도 제작 안내서’라는 글이 보인다. ‘그래 이 곳에는 다양한 정보들과 초보 모드 제작자를 위한 팁 들이 존재할꺼야’ 라는 마음으로 링크를 클릭하는데…

지도 제작 안내서
... 이게 다야?

지도 편집기의 지형 제작 방법은 간편하고 직관적인 GUI로 인하여 적어도 당신이 ‘심시티(Sim City)’를 즐겨본 게임 플레이어라면 딱히 설명이 필요없을 정도로 잘 만들어졌다. 응, 그러니까 나는 그게 필요한게 아니라…

편집기 항목 목록
하지만 이것은 빙산의 일각

각 항목의 내용이 뭔지 알아야 지도 편집기를 쓰던가 말던가… 공식 홈페이지에는 각 수치의 동작 관계, 각 객체의 상호 연동, 트리거의 실행 체계 등 완전 커스터마이징(Customizing)을 위해 필요한 자료는 하나도 없다. 아니, 그러니까 나는 막 영웅이 나와서 전장을 휩쓸고 돌아다니고, 불도 지르고, 액션도 하고, 유닛들이 대전격투도 되는 그런걸 만들고 싶다니깐?(뻥) 하지만, 이정도 자료 제공 수준이면 이젠 모드 제작자의 근성을 테스트 하는 단계.

Editor
프로그래머들이 왜 남의 소스 보기 싫어하는지 알 것 같기도

공식 지원이고 뭐고 다 때려치우고 구글링을 해보는게 낫겠다는 심정으로 구글링을 해 보지만 한국어 페이지는 대부분 마딱찮은 내용들에 심지어 패치 이전의 강좌가 업데이트 되지 않은 상태로 존재하는 것도 있는 상황. 결국 ‘게임 개발자의 감’으로 일일이 항목 하나 하나 뜯어가면서 지도 편집기의 기능을 익히고, 캠페인과 공식 모드의 내용을 뜯어서 확인하며, 필요한 내용은 해외의 유튜브(You Tube) 강좌(이 강좌 덕분에 외국 애들은 게임 에디터 강좌도 동영상으로 만드는구나 하는 깨닳음의 계기가 되었다)를 봐 가면서 하나 둘 프로토타이핑에 들어가야 될 기능을 완성해 나갔다. 불행 중 다행이라면 게임의 사이즈가 그렇게 크지 않아서 생각보다 많은 삽질은 다행이 비껴나갔다는 것.

Prototype P1
'드디어, 올 것이 왔군'

본 프로토타이핑은 지도 편집기에 대한 숙련도 레벨을 올리기 위하여 레벨 노가다 작업이 2일이 소요 되었고, 프로토타입 이전 테스트 맵 제작에 1일, 정식 프로토타입 버전 1 제작에 2일이 소요 되었다. 숙련도 쪼랩으로 만들었기 때문에 기본적인 게임 시스템 확인만 얼추 가능한 상태이며, 심지어는 승패 판정 처리도 되지 않는 상황 하에서 릴리즈 되었다. 아마 이 지도 편집기 사용이 능숙한 사용자가 제작을 한다면 더 빠르고 안정적인 프로토타입 제작이 가능 할 것이라 판단이 되지만… 글쎄, 지금과 같은 상황에서는 일단 지도 편집기에 능숙한 사용자가 되는것 자체가 벌써 험난한 여정의 시작인지라… 만약 이 글을 보고 지도 편집기를 게임 프로토타이핑 툴로 사용 할 사람들이 있다면, 판단은 사용할 사람들의 개인에 맡긴다.

 

프로토타이핑의 목표

팀과 개발 환경이 꾸려지고 본격적으로 게임에 대한 개발이 시작 된 것은 2011년 2월 중순 부터였으니 벌써 한달여가 지나고 있는 셈이다. 그간 약 35 + α개의 게임 아이디어들, 17개의 구체적인 게임 개발 사양서 그리고 4편의 세부 개발 기획서를 작성하였다. 이 중 프로토타입(Prototype) 제작을 통해 시스템 검증에 들어간 작품이 지난 2월 말 경에 릴리즈 되었고, 곧 두 번째 작품에 대한 프로토타입 제작이 현재 완료 예정에 있다.

프로토타이핑(Prototyping)은 제품 개발시 제품에 대한 실제 사용성을 테스트하기 위해 수행 되는 기법이다. 게임에서의 프로토타이핑은 게임 시스템에 대한 검증을 위해서 수행하거나, 제시된 기획안이 목표한 대로 게임 시스템이 구성되었는 지 확인하기 위한 용도로 쓰일 수 있으며, 세부적으로는 그래픽 디자인의 검증, 연출 등에 대한 검증 등을 위하여 사용 될 수 있다.

Card Game Prototyping
카드를 이용한 프로토타이핑

게임에 대한 프로토타이핑을 만들기 위한 재료나 도구는 꼭 컴퓨터와 프로그래밍 언어를 이용하여 만들 필요는 없다. 단순한 전투 시스템의 검증 정도는 종이와 펜, 그리고 주사위 정도를 이용해서도 가능하다. 실제로 우리의 첫번째 프로토타입의 경우 기존의 카드 게임을 이용한 게임 시스템을 검증하기 위하여 서양식 카드 패와 코인을 이용하여 간단히 게임을 구성하였다. 프로토타이핑을 할 때는 핵심 시스템에 대하여 빠르게 적용 해 볼 수 있는 환경을 구축하고 이를 시연해 보는 것이 중요하기 때문에 재료와 도구에 얽매여서는 안된다.

첫번째 프로젝트 프로토타이핑

카드를 이용한 첫번째 프로토타이핑의 목적은 잘 알려진 카드 게임의 룰이 전투 시스템으로 적당한지에 대한 검증이 주 목적이었다. 카드 게임 룰을 턴제 전투 시스템에 맞게 변형을 하거나 여러가지 실험을 해 보면서 룰을 하나 하나 정의해 나갔고 이 작업이 종료 된 이후 이를 프로그램으로 구현하는 계획을 수립하였다.

약 2주간의 기간동안 진행 된 2차 프로토타이핑은 기본적인 전투 시스템에 대한 구현 및 이에 대한 게임 플레이에 대한 검증을 목표로 하고 있었다. 게임은 단순한 입력을 받고, 카드 게임을 진행하며 이후 판정에 따라서 게임 결과를 보여주는 형태로 구성되었으며, 추가적으로 전투 전/후에 간단한 이벤트 스크립트도 출력되었다.

Project B Ver P2
B 프로젝트 Ver P2

첫번째 프로토타이핑 버전인 P1 버전과 개선 버전인 P2 버전의 제작은 무난히 진행되었다. 하지만 제작 과정과는 다르게 이후 프로토타입 평가에서 문제가 발생하였다. 프로토타이핑의 목표에 대하여 지나치게 뭉뚱그려 잡은 나머지, 정작 프로토타입이 나온 이후 해당 프로토타입을 평가하는 데 있어서 평가 기준이 흔들리는 문제가 발생한 것이다.

단순히 ‘카드 게임을 이용한 전투 시스템을 구현하고 평가한다’라는 프로토타이핑 목표는 단순 명료하여 ‘보기에 좋을 뿐’, 프로토타입 결과를 평가하기 위한 항목을 도출하기에 좋은 목표가 아니었다. 이런 이유로 완성된 P1 버전을 평가하는 데 있어서 기본적으로 ‘이것이 옳은 것인가?’에 대한 판단 조차도 기준이 명확하게 서 있지 않은 상태로 각 개인별로 주관적인 호/불호가 작용하였고, 이는 프로젝트 추가 진행과 관련한 의사결정에 필요한 정보를 적절하게 제공하지 못하는 결과로 나타났다.

구체적인 목표의 명시

프로젝트를 진행함에 있어서 구체적이고 객관적인 목표를 명시하는 것은 단순히 프로젝트의 멋을 위해서가 아니라 그 프로젝트의 진행과 결과를 평가 할 수 있는 척도가 되기 때문이다. 프로토타이핑 역시 마찬가지로 프로토타이핑을 진행하기 전에 먼저 프로토타이핑의 목적을 구체적이고 객관적으로 평가 할 수 있는 형태로 정리해야 한다. 이를 바탕으로 ‘카드 게임을 이용한 전투 시스템을 구현하고 평가한다’라는 프로토타이핑 목표는 다음과 같이 정리 되었어야 했다.

  • 카드 게임의 단순한 룰을 이용한 전투 시스템의 구현
  • 전투 시스템은 최대한 단순하게 구성
  • 전투 중 전략적 행동 선택의 다양화
  • 카드 게임 특성 상 지나치게 운에 의존하는 경향이 있는지 여부 확인
  • 핵심 시스템의 재미 여부와 이를 즐길 대상 층의 판별

구체적이지 못한 목표는 혼란을 야기한다. 프로토타이핑을 진행함에 있어서도 이러한 목표 제시가 정확하지 못하면 최악의 경우 프로토타이핑에 쏟은 시간을 낭비하는 결과를 초래 할 수 있다. 구체적인 목표를 설정하고 그 목표를 바탕으로 진행 과정과 결과를 평가하는 것은 효과적인 프로토타이핑을 위한 기본적인 요소인 것이다.