게임기획자는 프로그래밍 공부를 얼만큼 어떻게 해야 하나 (3) by storm

// 이 글은 1, 2편에 이어지는 글이므로 반드시 전편을 먼저 보시기 바랍니다.

전편의 말미에서 프로그래밍 개념이 부족한 시스템 기획자가 작성한 시스템 기획서가 야기할 수 있는 두 가지 큰 문제점에 대해서 이야기를 했었습니다. 그래서 이번 편에서는 그 문제점이 무엇인지 보다 구체적으로 설명해볼까 합니다.

첫 번째 문제는 이와 같은 기획서를 바탕으로 프로그래머가 구현을 할 경우, 기획자가 정말로 원하는 시스템이 아니라 기획서에 써있는 시스템으로 만들어진다는 점이었죠. 그렇다면, 기획자가 스스로 작성한 문서를 바탕으로 개발을 해도 기획자가 원하는 시스템으로 만들어지지 않는다는 이야기일까요?

바로 그겁니다. 이론적으로는 그런일이 일어나지 않을 것 같죠. 하지만 그런일이 일어나고야 맙니다! 왜냐하면 기획자가 자신이 원하는 바를 100% 정확하게 문서로 옮기는 것도 매우 어려운 일이고, 또 그것을 읽는 사람이 작성자가 원하는 바를 100% 이해하는 것도 상당히 힘든 일이기 때문이죠. 숫자놀음인 것 같지만 굳이 수치로 얘기해보자면, 기획자가 문서화 하면서 본래의 의도를 20% 정도 제대로 표현하지 못하고, 또 프로그래머가 문서를 읽고 20% 정도를 놓치면 산술적으로는 64%의 결과물이 나오는 셈입니다. 하지만 현실에서는 이보다 훨씬 더 큰 격차가 생기게 마련이죠. 그리고 이 격차 때문에 팀 내에 마찰이 생기면 여러분은 이런 대답을 들을 것입니다. "난 기획서에 써있는대로 만들었을 뿐이다"

(도... 도저히 이 기획서로는 제대로 개발할 수 없어...)

그래서, 이 격차를 줄이려면 기획서를 쓸 때 자신이 원하는 시스템이 무엇인지를 정확하게 표현할 수 있어야 하고, 또 그것을 실제로 구현하는 프로그래머와 원활하게 의사소통을 할 수 있어야 합니다. "기획은 내가 하고 구현은 네가 한다" 식의 마인드로 접근해서 "기획서로 써줬으면 내 일은 끝난거다"라고 생각하면 그것은 크나큰 착각입니다. 개발의 시작부터 게임의 수명이 지속되는 동안 기획자는 프로그래머 뿐만 아니라 그 프로젝트에 관여하는 모든 사람과 생각을 공유하고 의견을 조율하고 서로가 합의하는 한 방향으로 나아가야 하기에, 프로젝트를 구성하는 모든 분야에 대해서 최소한 기초적인 지식이라고 갖춰야 합니다. 그리고 시스템 기획자라면 프로그래머와 끊임없는 커뮤니케이션을 해야 하므로 프로그래밍 공부를 해야 하는 것이죠.

그럼 두 번째 문제를 봅시다. 개발의 효율성과 생산성의 문제는 프로그래밍 지식이나 경험이 없는 사람에게 설명하기가 좀 어렵긴 하지만, 붕어빵 장사로 예를 들어보죠. 만약 붕어빵을 파는 사람이 빵을 만들 때마다 밀가루 반죽을 해서 붕어모양으로 만들어야 한다면 하나 만드는데 엄청난 시간이 걸릴 겁니다. 그래서 붕어 모양의 빵틀을 여러개 만들고 반죽과 내용물을 그 틀에 넣는 식으로 빠르고 쉽게 붕어빵을 찍어냅니다. 그래야 힘도 덜들고 빨리빨리 만들어서 팔 수 있는 것이죠.
(자~ 이걸로 조낸 찍어내는 거다!)

프로그래머도 마찬가지입니다. 어떤 프로그램이든 프로그래머가 모든 것을 다 일일이 코딩하지는 않습니다. 프로그래밍의 세계에도 붕어빵 장수의 빵틀처럼 단순 반복작업이나 중복되는 작업을 쉽고 빠르게 작업하는 방법이 있습니다. 쉽게 말하면, 기획자들이 MS워드나 파워포인트로 문서를 작성할 때, 문서의 템플릿이나 이미 만들어진 양식을 불러와서 작성하면 편하고 빠른 것과 비슷합니다.

그리고 버그 등의 문제가 발생하거나 혹은 기존에 개발한 시스템에 수정사항이나 새로운 요소가 덧붙여질 때 작업을 편하게 하기 위한 방법도 있습니다. 전편에서 말한 객체지향이라는 개념도 바로 이와 같은 효율성과 생산성 때문에 탄생한 것이죠. 그래서 (거의) 모든 프로그래머들은 어떤 시스템을 개발할 때 이와 같이 다양한 방법들을 고려해서 어떻게 구현해 나아갈지를 판단합니다. 만약 이런것들을 고려하지 않고 '일단 만들고 나서 생각하자'식으로 개발을 하면 제대로 만들어지기도 힘들지만, 그 뒷일은 더욱 감당하기 어려워집니다.

전편에서 스킬 시스템 이야기를 했으니까 한 번 구체적인 예를 들어봅시다. 만약 다른 외부적인 요인을 고려하지 않고 WoW 마법사의 화염구 주문을 기획서로 표현하면 어떻게 될까요? 아마 프로그래밍을 해보지 않은 대부분의 기획자들은 순서도를 그려서 [시전자의 마나량 체크 → 시전자의 상태 체크 → 대상과의 거리 체크 → 캐스팅 동작 → 동작이 완료되면 화염구 발사 → 명중 및 저항판정 → 데미지 계산] 같은 식으로 처리 순서에 따라 나열할 것입니다. 사실 지금의 예는 아주 단순하게 요약한 것이고 실제로는 엄청나게 처리해야 할 것들이 많죠. 이해를 돕기 위해 제가 WoW CBT 시절인 2004년에(헐 써놓고보니 벌써 7년전!) WoW의 스킬 시스템을 (개인적으로) 역기획했던 문서 중 일부를 공개해봅니다. 아래 스샷을 한번 보시죠.
(WoW CBT 시절에 작성했던 스킬 시스템 역기획 문서의 일부)


스킬의 시전을 처리하는데에도 여러분의 생각보다 상당히 많은 요소들이 필요하다는 것을 쉽게 알 수 있을 것입니다.(물론 저 문서를 작성할 당시만 해도 저 역시 늅늅이었기에 빠진 요소도 꽤 있습니다) 단, 이 당시만 해도 저 역시 객체지향에 대한 개념이 거의 없었기 때문에 실제로 더 좋은 시스템 기획이 되려면 위와 같은 개별요소 분석 이후에 요소들을 추상화 하고 모델링하는 절차가 필요합니다. 기획 내용이 이런 과정을 제대로 거치고 나면 프로그래머가 기획의도와 구현해야 할 사항을 이해하기가 편해지고, 또 서로간에 정확한 의사소통이 가능해지는 것이죠. 

그런데 문제는 바로 위에 예로 든 요소분석 정도는 프로그래밍 지식이 거의 없어도 짬밥, 또는 센스 같은 것으로 대충 떼울 수 있지만, 추상화와 모델링 단계로 넘어가려면 프로그래밍 지식이 필수적으로 받쳐줘야 한다는 사실입니다. 그 이유와 실제 방법론에 대해서는 이어지는 포스팅에서 자세히 써볼까 합니다.


ps) 여기서 말한 모델링(modeling)은 3D 그래픽에서 말하는 모델링과는 다른 개념이며 용어 설명은 다음 포스팅에서 합니다.


■ 4편 보기: http://sstorm.egloos.com/5540377


핑백

덧글

  • 웹도날드 2011/09/01 00:37 # 답글

    이거원 바람직한 게임 기획자가 되는 길이 참 멀고 험하네요. 따라서 게임은 혼자 만듭시다(?!)
  • 드루가 2011/09/01 03:57 # 삭제 답글

    예를들어 전등을 하나구현하고싶습니다. 무지개색깔이 나오는 전등을 만들고싶다.
    그래서 기획자가 요청합니다.
    " 요 전등은 무지개 빛깔이나와요 이렇게 만들어주세요"
    프로그래머는 물어봅니다.
    " 무지개빛깔이나온다는게..7가지색상의 전구가 들어있는 전등이예요? 아니면 7개의 색깔이 1초마다
    나오는 전등이예요? 무슨말인지 모르겠어요 더 설명해주세요"
    기획자
    " 아니왜 그걸 몰라요? 무지개 빛깔이 나오는 전등이라구요!! "
    프로그래머
    "전등이라는 개념은 알겠어요. 스위치를 누르면 불이켜지는 전등인건 알겠는데 그냥 무지개빛깔이나오는
    전등이라는게 7개의 여러가지색깔이 나오는 전등인지. 한개의 전등에서 7가지 빛깔이 매 초마다나오는 전등인지 그걸 아는건 당신아닙니까? 내가알아요? 요구하는건 그쪽이잖습니까"
    자신이 원하는 것이 정확하게 무엇인지 설명하지않으면서 남이 만들어줄 수있을거라 믿는 것..
    구현지식을 제대로알고 수행했다면 이런문제도 발생하지는 않겠지요...
  • storm 2011/09/01 09:09 #

    저... 적절한 예시!!!
  • ssx 2011/09/01 18:57 # 삭제 답글

    제가 궁금했던걸 콕 찝어주시네요

    제가 혹시 기획자가 편하다는 인식이 강해서 무시받는 직업이 아닌가 했는데

    그럴걱정이 없어짐과 동시에 기획자가 너무 어렵다는 걱정이 생기는군요

  • 드루가 2011/09/04 19:13 # 삭제 답글

    기획자가 쉽다는 생각...신입분들이나 지망생분들이 많이 오해하시는 부분이기도합니다.
    하지만 사실 기획은 쉽지않습니다. 그 이유는 게임개발에 있어서 기획자에대한 대우도 처우도 연봉도
    좋은 편도 아니거니와 개발을 진행하는데 있어서 권한또한 생각보다 좋지않은 경우가많습니다.
    관리자급분들이 그래픽디자이너나 프로그래머출신분들이 많은 덕에 그 만큼 기획자의 입지라는 것은
    좁을 수 밖에 없는 것이죠. 그 부당한 대우를 없애기 위해서는..기획자 모두가 열심히 노력할 수 밖에
    없지 않나 싶습니다.
댓글 입력 영역



통계 위젯 (화이트)

3017
177
502138