해묵은 논쟁: 게임기획자에게 프로그래밍 지식이 필요할까? by storm

게임기획자가 프로그래밍을 알아야 할 필요가 있을까? 대부분 동의할 것 같은 이 질문에 의외로 반대하는 사람도 꽤 많다. 물론 나는 여러분들이 짐작하듯이 기획자도 '어느 정도는' 프로그래밍에 대해서 알아야 한다는 입장이다. 

기획자의 프로그래밍 공부에 대해 반대하는 쪽의 입장은 보통 다음과 같은 네 가지 이유로 요약할 수 있다.

  1. 프로그래머가 기획공부하지는 않잖아? 그러니 우리도 할 필요 없다. 기획은 기획일뿐
  2. 프로그래밍 공부할 거면 프로그래머 하면 되지 뭐하러 기획자 하냐?
  3. 프로그래밍에 대해서 어설프게 알면 '아는 체 하기 때문에' 오히려 독이 된다.
  4. 프로그래밍 공부하면 창의성이 저해된다


우선 1번부터 살펴보자. 이 입장은 명백한 오류인 것이, 프로그래머들은 분명히 기획을 공부하며 실제로 기획을 하고 있다. 제대로 된 프로그래머가 되려면 기획능력이 있어야만 하기 때문이다. 그들이 프로그램을 만들 때 가장 처음 하는 일이 프로그램의 요구사항과 명세(specification)를 작성하는 일인데, 이 작업이 결국 시스템기획과 다를 바 없다. 단적인 예로, 한빛미디어에서 출간된 <온라인 게임 서버 프로그래밍>이란 책을 한 번 보라. 분명히 프로그래머용 책이지만 책내용의 상당부분은 MMORPG의 시스템 기획자가 알아야 알고 있어야 할 내용들로 채워져 있다. 프로그래머들은 이런 걸 알고 만드는데 정작 그들에게 '이런 것을 만들어야 합니다'라고 말해야 할 사람이 전혀 모르고 있다면 그게 말이 되겠는가?

다음 2번의 경우를 보자. 이에 대한 대답도 위에 들어있지만, 그것보다 더 중요한 문제는 2번과 같은 입장이 스스로 게임기획자를 폄하하고 있다는 사실이다. 더욱이 기획자가 프로그래밍 지식이 필요하다고 해서 전문 프로그래머 수준을 말하는 것도 아니다. 무엇보다도, 기획자에게 가장 중요한 능력이 커뮤니케이션 능력이라고 말 하면서 프로그래밍 지식을 필요 없다고 하는 것은 모순이다. 프로그래머와 대화하는데 프로그래밍 지식 없이 어떻게 제대로 된 의사소통이 가능하단 말인가?

이번엔 3번을 한 번 보자. 상당히 많은 프로그래머들이 이 3번에 동조한다. 속된 말로 '뭣'도 모르는 기획자가 객체지향이 어떻고 아키텍처가 어떻고 나불대서 한 대 쳐주고 싶었다는 프로그래머들을 꽤 봤다.(이 대목에서 최근에 올리고 있는 다른 포스팅 때문에 왠지 찔린다) 하지만 그렇다고 해서 프로그래밍 지식 그 자체가 문제일까? 아니다. '뭣'도 모르면서 나불대는 기획자가 문제인 것이다. 꼭 프로그래밍 지식이 아니더라도 잘난 척 하는 놈은 무엇을 가지고서든 잘난 척을 한다.

하지만, 4번의 경우는 앞선 1~3번에 비해 어느 정도 납득할 수 있다. 실제로 프로그래밍 지식이 창의성을 저해하는 경우도 몇 번 보았고, 프로그래머들 사이에서도 지나치게 기존의 틀에 갇혀 새로운 발상을 하지 못하는 현상에 대한 지적이 많기 때문이다. 하지만 엄밀히 말하면, 이것은 프로그래밍 지식 그 자체의 문제라기보다는 그 지식을 활용하는 태도와 자세의 문제라고 봐야 옳다.

프로그래밍 지식의 폐해는 어떤 아이디어를 구상할 때 아이디어가 제대로 숙성되기도 전에 '이건 구현상의 이러이러한 문제 때문에 안 될거야 아마...'처럼 일찌감치 단념하는 '안 될거야병(病)'이다. 하지만 이 '안 될거야 병'이 비단 프로그래밍 지식에서만 발생하는가? 전혀 그렇지 않다. 이 병에 걸리지 않은 사람은 어떻게든 '구현할 수 있는 방법'을 찾지 '안 되는 이유'를 먼저 찾지는 않는다.

그리고 여기에 내가 진짜로 덧붙이고 싶은 말이 있다. 게임이든 영화든 소설이든 창의성만 가지고 완성물이 나오는 법은 없다. 소설가나 시나리오 작가가 아무리 창의적인 아이디어를 가지고 있다고 해도 그것을 영상이나 문장으로 풀어내지 못하면 말짱 꽝이듯이, 게임기획자가 아무리 창의적인 아이디어를 가지고 있어도 그것을 구현하지 못하면 도로아미타불이다. 여러분이 아무리 엄청나게 창의적인 발상을 한다고 하더라도, 그것을 기획서로 써낸다고 하더라도, 정작 구현하는 사람이 이해할 수 없다면 아무 의미가 없는 것이다. 더욱이 프로그래밍은 여러분의 창의적인 아이디어를 실체화하는데 가장 좋은 도구이다. 장담하건데, 프로그래밍으로 구현하지 못하는 아이디어는 다른 어떤 방식으로도 만들어낼 수 없다.


물론 게임기획자가 프로그래밍에 대해서 어디까지 알아야 하느냐에 대해서 정답은 존재할 수 없다. 개인적으로 권장하는 수준은 개념적인 지식들을 갖추고 현업에서 많이 사용하는 스크립트들을 다루는 정도가 좋다고 본다. 그런 의미에서 게임기획자에게 읽어보라고 권할만한 프로그래밍 서적들을 몇 가지 소개하면서 이 글을 마칠까 한다. 물론 어디까지나 프로그래밍 서적이므로 책에 나오는 코드까지 마스터하라는 의미는 아니다. 단 개념적인 설명들은 가능한 많이 이해하고 숙지하면 좋겠다.


핑백

덧글

  • 카우말리온 2010/08/09 03:05 # 답글

    저 또한 한때 게임쪽에 꿈을 가지고 있었지만 사정이 좋지 않아 결국 그쪽으로 가지 못했지만 오랜만에 이런글을 보니 감회가 새롭군요.
    게임 개발하는 직업자체가 파트마다 다 어려움이 있기 마련인데 역시 저도 기획쪽지망이었다보니 가장 어렵다는 쪽이 기획으로 팔이 안으로 굽는군요.
    기획자 역시 프로그래밍은 기초 이상 닦은 후 능력이 가능하다가면 중급은 못미치더래도 그정도는 가야한다고 옳다고 봅니다. 그 이유에 대해선 포스팅을 잘 설명해놔서 제가 따로 쓸말은 없군요.
    초기 게임 계발 시절때에는 주로 프로그래밍을 어느정도 했던 사람이 포괄적으로 기획이나 그래픽까지 손대는 일이 많았으니..뭔가 하고 싶은 말은 많으나 굳어버렸는지 막히는 군요.
    여하튼 앞으로도 좋은 포스팅 기대하겠습니다.
  • storm 2010/08/09 10:30 #

    언젠가는 다시 꿈으로 복귀하시길 바랍니다 :)
  • AV! 2010/08/09 09:00 # 삭제 답글

    옳은말씀이세요~! 개발하려는 게임에 대한 기초 지식이없고 또한 습득하려는 자세도 안보인다면 ㅠ
    또한 3,4번 항목에 대한 말씀도!! 강추!

    학교 동기 선,후배에게 항상 추천하는 블로그입니다. 마인드와 개념이 제대로 잡혀있어야, 게임쪽, 혹은 그외의 일 또한 자신이 목표로하는, 바라보는 방향으로 진행될 수있기에요!. 오늘도 좋은 글 감사합니다! 쿵!
  • storm 2010/08/09 10:31 #

    게임학과에 다니시나보군요. 화이팅 하세요~
  • 클랴 2010/08/09 10:05 # 답글

    WOW를 처음 접했을때 느낀 점 중의 하나가,
    여기 기획자들은 프로그램을 아는 구나... 혹은, 기획과 프로그램이 잘 융합되어 있어! 였습니다.
    예를 들어 경매장 시스템 같은 것을 보면 DB 나 서버의 부담을 최소화하면서도
    딱 필요한 기능을 적절히 구현한 구조로 보입니다.
    그런 시너지가 세계최대의 MMORPG를 만들었다고도 생각되구요
  • storm 2010/08/09 10:36 #

    그렇죠. 각 파트별로 서로의 업무를 잘 이해해야 만 협업과 시너지가 가능한 것이니까요 :)
  • 2010/08/09 10:42 # 답글 비공개

    비공개 덧글입니다.
  • storm 2010/08/09 10:48 #

    그것마저도 안 할려는 사람이 있어서... ㅡ┌
  • 김윤정 2010/08/09 11:30 # 답글

    구구절절 옳은 말씀이십니다. 저도 이제야 프로그래머가 이해가 가기 시작하고, 프로그래밍에 알맞는 그래픽이란 무엇인가가 이해되기 시작하니까요
  • storm 2010/08/09 11:32 #

    후후 N사 인트라넷의 유력한 용의자시군요!!! 범인은 이안에 있다!
  • 김윤정 2010/08/09 11:49 #

    역시 저였군요 후후후후 워낙 좋은 글을 많이 쓰시다 보니 제가 링크를 안할 수가 없습니다.
  • storm 2010/08/09 11:57 #

    그것 말고도 삼성SDS에서 꼬박꼬박 들어오는데 이건 당췌 누가 왜 오는지 알 수가 없다능...
  • 케인 2010/08/09 12:41 # 답글

    게임 디자이너의 프로그래밍 지식은, 시스템 디자이너들이 프로그래머들이 작업하기 쉽게 해주는 곳에 사용하는것이 좋은 것으로 보여집니다. 물론 문서에 "이 부분은 이렇게 코딩하세요." 라고 쓰는게 아니라 어디서 데이터 가져오고 이 리소스에 무슨 컬럼에 있는 데이터를 링크해서 사용하면 된다거나 이런식으로요.
    제가 프로그래밍을 완벽한 기초만 알아서 이렇게밖에 활용 못하는 것일수도 있지만 OTL
    객체지향은 디자이너들이 어느정도는 알아야 할 것으로 보이고요.
  • storm 2010/08/09 14:05 #

    프로그래머를 외주로 쓰지 않는 이상 "이렇게 코딩하세요"는 안 되겠죠 :)
  • 원심무형류 2010/08/09 13:46 # 답글

    따로 할말이 없네요 ㅎㅎ 공감 합니다.
  • storm 2010/08/09 14:05 #

    오랫만이시군요~ :)
  • 원심무형류 2010/08/09 16:33 #

    요즘엔 거의 트위터만...
  • GKI 2010/08/09 15:31 # 삭제 답글

    안녕하세요, 항상 좋은 글 잘보고 갑니다.
    프로그래밍 공부는 반드시 해야한다는 입장이었는데.. 잘 정리해주셨네요.
    감사합니다.
  • GKI 2010/08/09 15:32 # 삭제

    참...그리고.. 죄송합니다만 더우기 는 틀린 표현입니다.
    저도 국어 맞춤법 가끔 틀립니다..ㅋ
    더욱이 가 맞는 표현입니다.
  • storm 2010/08/09 15:33 #

    더욱이로 쓰다가 더우기가 맞는 줄 알고 그렇게 썼는데 이게 틀린 거로군요...
  • 코르닉스 2010/08/09 16:30 # 삭제 답글

    언제나 잘 보고있습니다~! 시나리오쪽은 그래도 아는 책이 있었지만 기획이나 프로그램은 아는게 적어서 고민이었는데 추천도서 감사히 쓰겠습니다!
  • storm 2010/08/09 17:24 #

    후후 책 잘 보세요~
  • gump 2010/08/09 17:23 # 삭제 답글

    해묵은 논쟁이네염... 완전 캐캐묵은 거네염
  • storm 2010/08/09 17:24 #

    이거 왜이러셈 캐캐묵은 레벨디자이너 껌푸님!
  • gump 2010/08/09 18:17 # 삭제

    흙... 진실은 아픈법...
  • 이군 2010/08/19 02:35 # 삭제 답글

    좀 더 세부적으로 봐야 할 것 같습니다.
    게임기획자 가 아니라 게임기획자 포지션 중 각 지식의 비율이 다르죠.
    특히 엠엠오 알피지의 경우 업무 분담이 최근에 들어 점점 더 명확 해 지는 것을 봐도 그렇고 실제로 외국은 물론 우리나라 메이저 개발사. 또는 메이저 게임의 기획팀장. 프로듀서를 봐도 다년간의 프로그래머 경력을 바탕으로 두고 있습니다.
    이 부분은 결국 창의적 객체가 문서화 되어 있을때 보다 시각화 되었을때가 가장 간단 명료 하게 전달 할 수 있는 역할을 하고 있기 때문이죠.
    미국에 있는 닌텐도가 설립 한 게임 인스티튜트 만 해도 시스템 설계 기획자는 C,C++ 은 베이직 스킬로 삼고 있습니다.
    시스템 기획자가 다이렉트 엑스에 대해서 이건 되니 저건 효과가 어쩌니에 대해서 알 필요가 있는 것이 아니라 간단히 게임시스템을 프로토타입핑 화 할 수 있는 정도가 되야 한다고 생각 합니다.
  • storm 2010/08/19 09:14 #

    맞는 말씀입니다. 앞으로 우리나라도 그렇게 되어야 할텐데요. 현실은 VBA 할 줄 아는 기획자 찾기도 쉽지 않은...ㅜ.ㅜ
  • 이군 2010/08/19 02:43 # 삭제 답글

    사실 지금 이 글을 쓰는 시간에도 어그로 기획문제와 벨런스 문제에 대한 기획내용 때문에 서버분의 삽질은 계속 되어 지고 있죠.
    VBA 로 엑셀에서 벨런스 테이블 공식 넣어 돌려 보는 건 솔직히 아마추어 수준입니다.;
    시스템 기획자 라면 버툴이나 유니티등으로 시스템 프로토타이핑을 하여 추상적 상황을 좀 더 현실화 하는 것이 업무의 프로세스 상으로도 올바른 것이겠죠.
    솔직히 클라나 서버분이 기획자가 짜 논 코드의 수준을 보는 게 아니고 코드 내용에서 훨씬 더 빠르게 벨런스 구조를 파악 할 수 있기도 하죠.
    문서 보고 몰라서 물어 보고 물어 보고 ... 그럴 거면 문서를 왜 쓰는지..;;;
    요즘은 기획자 사이에서 영상으로 소통 하기가 조금 유행인 듯 합니다.
    암튼... 적어도 시스템 기획자는 프로그래밍을 할 줄 알아야 한다고 생각 하고 해외 개발사는 당연히 할 줄 알고요.
  • storm 2010/08/19 09:16 #

    2년전에 (제가 가르친건 아니지만) Virtools 교육을 한 적이 있었죠, 그런데 최근 추세를 보면 Unity3D가 기획자용으로는 더 좋을 것도 같네요. 아직 많이 다뤄보진 않았지만 프로그래밍 지식이 약한 사람이 배우기 좋고 레벨 결과물이 더 빠르고 쉽게 만들어지는듯 하니까요.
  • 이즈데드 2010/09/24 14:21 # 답글

    조금 다른 얘기이긴 하지만, 게임 기획자는 게임 개발만큼이나 '게임이 만들어지고 완성되고 서비스되는 과정'까지 알고 있어야 한다고 생각합니다. (즉, 회사가 어떻게 굴러가는지 알아야한다는 뜻이지요.)
    기획으로 출발해서 개발, 마케팅, 운영, 관리까지 준전문가 수준의 지식을 쌓기 위해 끊임없이 더듬이를 헤집고 다니며 만사에 관심을 가져야하는게 '온라인' 게임 기획자의 운명이 아닌가 싶습니다. :)
  • storm 2010/09/24 15:26 #

    그렇죠. 이것저것 알아야 할 것의 종류가 너무 많은 직종이라능...
  • 걍걍걍 2010/09/26 12:18 # 삭제 답글

    현재 기획자를 꿈꾸고 있는데 독학으로 하는거라 갈팡질팡 중인 이떄 이런 글을 찾아서 너무 기뻐요.
    음 커뮤니케이션을 위해서라면 조금이나마 필요하지 않을 까 싶어서 c언어를 잠깐 배운 게 기억이 남 ㅎㅎ
    그래도 아직 우리나란 기획자에 대한 분명한 선이 없다고 들은 것 같지만[잡소리 ㅈㅅ]
    위의 말처럼 뭣도 모르고 하면 되지 않음? 이라고 말하는 것 보단 조금 안 상태에서 커뮤니케이션을 하는게 낫을꺼라...
    여러가지 많이 알아갈꼐요~
  • 향기로핀 2010/09/30 11:21 # 삭제 답글

    항상 스톰님의 연구실에 오면 즐거운 자극을 많이 받아갑니다.
    기획지망생이었던 시절부터 시스템기획자로 morpg를 개발중인 현재까지 모두요 ^^
    앞으로도 항상 건강하시고 행복한 일만 가득하셔서 미래의 기획자들과 저와 같은 미숙한 초보 기획자에게
    좋은 정보 공유해주셨으면 좋겠습니다.
    다시 한 번 감사합니다.
  • storm 2010/09/30 11:32 #

    네 그러셨군요. 도움이 되었다니 저도 뿌듯합니다.
    게임 잘 만드셔서 대박나시길 ㅎㅎ
  • 업스 2010/11/03 13:09 # 삭제 답글

    정확하게는... 프로그래밍을 아는 것이 아니라 프로그래밍적 사고 방식을 알아야 하는 것이겠지요.
    아쉽게도 우리는 성경의 '말씀'처럼 강력한 제작 툴이 없습니다.
    하지만 많은 기획자들은 그러한 제작 툴이 있는 것처럼 '구현하는 방법'에 대해서는 큰 관심이 없는 것이 문제겠지요.
    구현하는 방법을 알기 위해선 직접 구현해 보는 것이 가장 좋은 것임에는 이견이 없습니다.
    다만, 상황적 여건이 안된다면... 최소한 프로그래밍적 사고 방식을 알아야 하는 것이지요.
  • 업스 2010/11/03 13:15 # 삭제 답글

    프로그래밍적 사고를 키우는 '프로그래밍 외의 방법'으로 추천할 만한 게 좀 어렵긴 합니다.
    다짜고짜 정석부터 시작하는 것은 너~무 길이 멀기 때문에 오히려 프로그래밍을 배우는 것이 더 빠를 겁니다;
    물론 수학적인 사고 능력이 중요합니다만, 수학 정석책을 공부한다고 프로그래밍이 직관적으로 이해되지는 않을 것입니다.
    왜냐면 프로그래밍은 수학과 언어학이 결합되어 있으니까요.
    좀 더 직접적인 수학/언어학 지식의 습득을 위해, 오토마타(automata)와 형식 이론(formal theory)를 추천하고 싶네요.
  • Glen 2010/11/18 17:48 # 답글

    근데 역으로 개발자들이 원하는 건 '구체적' 인 거지 '현실적'인 건 아니지 않나요
    개발자들은 원래 야근철야에 익숙하므로 정확한 내용과 당근을 제시한다면 기꺼이 밤을 샐 것입니다!
  • toRoad™ 2010/11/29 12:13 # 답글

    100번 옳은 말씀이십니다.

    항상 게임 개발팀에서 기획자가 가장 뛰어나야 한다고 생각해왔는데... 현실은 그렇지 못해서 슬프더군요.
  • 김군 2011/01/31 12:56 # 삭제 답글

    적당히.. 적절한 수준이 중요할거같내요
    프로그램을 전혀 몰라 쌩뚱맞는 소리 하는것은 피할수있고
    그것에 너무 빠저서 기획에 악영향을 안주는 적당한 수준이요..
    프로그래머가 사용하는 프로그램도 시간이 가면서 점점 사용하기 편해지고 있잔아요?
  • 2011/02/25 21:58 # 삭제 답글 비공개

    비공개 덧글입니다.
  • storm 2011/02/27 22:22 #

    글쎄요 커뮤니케이션이란건 어느 한쪽의 문제만이 아니라 소통하는 상대방과 결합된 문제기 때문에, 프로그래머분이 어떤 성향이냐도 중요합니다. 어떤 프로그래머는 아이디어 수준의 기획만 던져줘도 원하는대로 잘 만들어주기도 하지만, 어떤 이는 세세하게 다 기획서로 써줘야 만들기도 하죠.
  • 프로그래머 2011/04/22 11:23 # 삭제 답글

    저는 프로그래밍을 전공한 사람입니다.
    포스팅을 읽으면서 '어라? 이런 일은 우리(프로그래머)가 마르고 닳도록 연습했던 일인데.. 우리가 훨씬 빠르고 세밀하고 정확하게 생각을 구조화 하고 오류 검출까지 할 수 있는데...' 하는 생각이 들었습니다.
    '프로그래밍'을 할 때 기본이 '시스템디자인'입니다. (학교에서 '시스템 설계' 라는 이름으로 배웁니다.)
    즉, programming ⊃ system design 이므로,
    programmer ⊃ system designer 아닌지요?

    실제로 게임회사에서는 어떤 차이가 있어서 시스템기획을 프로그래머에게 시키지 않고 시스템기획자를 따로 뽑아서 시키는지, '시스템 기획자'와 '프로그래머'의 '차이'에 대해서 의문이 생겨서 이렇게 질문드려 봅니다.^^
  • storm 2011/04/22 11:48 #

    일반적인 어플리케이션을 만드는 일이라면 위 말씀이 맞습니다.
    하지만 게임은 '필요한 기능만 잘 동작'한다고 되는 게 아니기 때문에 좀 달라지죠.

    예를 들어, 게임상 화폐 수치를 정수값으로 저장하는데, 한 캐릭터가 최대로 보유할 수 있는 골드의 양을 unsigned int 형 변수로 선언해서 42억 9천만 골드까지로 제한했다고 가정해보죠.

    그런데 게임을 서비스하다보니 인플레현상이 발생해서 이 제한을 풀어달라는 유저들의 요구가 들어왔다고 해봅시다.

    만약 '기획적인 마인드 없이' 오로지 프로그램의 기능적 문제로만 접근한다면, 변수형을 바꿔서 보유량 제한을 더 높이면 그만입니다.

    하지만 기획자의 입장에서는 골드 보유량 제한을 풀었을 때 발생할 수 있는 더 큰 문제들, 즉 캐릭터의 보유 골드가 증가함에 따라 게임내 총 통화량이 증가해서 인플레가 더 극심해질 수 있는 문제를 생각행야 합니다.

    따라서 이런 경우 시스템기획자는 기획회의를 통해 '근본적인 문제'인 인플레 해소를 위한 시스템을 구상하는 것이죠.
  • ShinYung 2011/06/05 20:01 # 삭제 답글

    전에 별바람 교수님과 인터뷰를 할 때, 4번을 엄청 언급을 하시더라고요..

    기획자가 될려면 뭘 해야 하나요 했더니. 프로그래밍을 하세요.(....)

    게임이 독창적인 아이디어가 나오는 경우가 기획자가 게임을 안해봐서 고정관념이 없어서 되거나...

    프로그래밍으로 새로운 걸 만들어내서 그 위에 조금 덧붙여서 나오는 경우(포탈이라던가.) 언급하시더라고요..
  • 제로곰 2012/07/02 02:47 # 삭제 답글

    그렇기에 기획은 전직 프로그래머가 하는것이 가장 올바르다 라는 소리가 나오는 겁니다...

  • 슭꼼 2013/04/05 17:47 # 답글

    참,, 어떤 산업에서도 다툼의 원인은 비슷해요.. 정치와 기업, 사무직과 현장직, 개발자와 기획자 등등
    장기적인 미래를 보고 설계한 계획은 현장에만 종사하는 분들은 잘 이해가 안갈수도 있잔아요? 스톰님이 위에서 예를 든것처럼 근본적인 문제인 인플레의 해소를 위해선 기본 틀을 다시 짜야 한다 이런거요..
    결국 이말은 기획자가 특히 시스템 기획자가 프로그래밍을 공부해야 하는 것은 사실이지만,
    개발자 역시도, 이해하는 여유가 필요 하지않나 싶어요. 결국 둘다 노력해야 풀리는 문제인데,
    이게 뜨거운 감자인 이유는 둘다 서로를 나무라기만 해서가 아닐런지@_@
    소통보단 다툼이 더 잦은게 우리 현실이잔아요?
댓글 입력 영역



통계 위젯 (화이트)

1519
244
503012