우선 저는 5년 정도 기획자 일을 하다가 하던 일에 한계를 느끼고 프로그래머로 전향하기 위해 준비중인 사람입니다. <div><br /></div> <div>일단 하던 기획자를 때려쳤다는 시점에서 근성없는 찐따 확정이지만, 타산지석이라는 말이 있듯 성공한 사람의 사례에서 배우려다가 가랑이 브레이킹되는 것보다는 실패한 사람의 이야기를 듣고 '아, 나는 저런 짓을 하면 안 되겠구나.' 하시는 게 더 효율적일 것 같아 글을 남겨봅니다.</div> <div><br /></div> <div>첫째. 설계된 것을 구현하는 일은 프로그래머가 합니다.</div> <div><br /></div> <div>이 프로그래밍이라는 것은 크게 클라이언트와 서버로 나뉩니다.</div> <div><br /></div> <div>클라이언트는 우리가 실제로 키보드로 조작하고 화면에 표시되는 것을들 구현하는 작업이며, 클라이언트 프로그래밍은 분야에 따라 UI, 렌더링, 기타 등등등으로 나뉘지만 일정 규모 이하의 회사에서는 각각의 분담없이 복수의 일을 하게 됩니다.</div> <div><br /></div> <div>서버 프로그래머는 눈에 보이지는 않지만 온라인 게임 클라이언트 간의 통신이나 DB와의 상호작용을 하도록 구현합니다.</div> <div><br /></div> <div><br /></div> <div><br /></div> <div>둘째, 아이템에 속성을 부여하고 퀘스트를 만드는 것은 기획자가 합니다.</div> <div>기획자는 기획문서를 작성하고 팀원에게 기획내용을 이해시키며, 기획된 내용을 기반으로 컨텐츠가 정확히 완성이 되도록 노력하는 사람입니다.</div> <div>여기에서의 정확한 컨텐츠의 완성이란, 기획된 내용으로 알고리즘이 프로그래밍되었는지, 기획된 내용을 효과적으로 표현할 수 있도록 그래픽 요소가 만들어졌는지에 대한 확인을 의미합니다.</div> <div><br /></div> <div>그러나 기획자가 이러한 요소에 대한 확인을 한다고 해서 기획자가 왕인 게 아닙니다.</div> <div><br /></div> <div>일개 기획자는 자신의 뜻대로 기획을 할 수도 없을 뿐더러, 멋대로 기획을 하고 다른 파트의 개발자에게 그것을 '지시'하는 것은 명백한 월권행위입니다.</div> <div><br /></div> <div>그러나, 많은 기획자들이 다른 개발자들을 '게임의 재미도 모르는 무지렁이' 취급을 하며 상대적으로 우월감을 느낍니다.</div> <div>허나 이것은 잘못된 생각이며, 다른 파트의 개발자들은 '할 줄 아는 것도 없는 헛소리꾼'이라고 생각합니다.</div> <div><br /></div> <div>서로에 대한 불신을 해소할 수 있는 것은 발로 뛰며 의견을 전달하고, 기획자를 매개체로 프로그래밍, 아트 파트가 유기적으로 통합될 수 있는 환경을 구축하는 것입니다.</div> <div>즉, 기획자는 게임의 재미를 멋대로 정의할 수 있는 사람이 아니라, 개발팀이 목표로 하는 게임을 만들 수 있도록 각 파트 간의 가교 역할을 하고 개발을 진행함에 있어서 빠진 것은 없는지, 부족한 것은 무엇인지 고민하는 사람입니다.</div> <div><br /></div> <div>여담이지만, 신입 개발자의 경우 기획자가 연봉이 제일 낮습니다.</div> <div><br /></div> <div><br /></div> <div>셋째. C언어 공부.</div> <div>많은 선배기획자들이 기획을 잘 하려면 프로그래밍을 공부하라고 합니다.</div> <div>하지만 이것은 프로그래머 수준으로 프로그래밍을 할 수 있게 하라는 것이 아닙니다.</div> <div>적어도 전자계산기(대학에서는 컴퓨터를 이렇게 케케묵은 단어로 지칭합니다.)의 작동 원리와 프로그래밍의 구조,</div> <div>그리고 기획을 함에 있어서 논리적, 절차적 사고가 가능하도록 하라는 의미입니다.</div> <div><br /></div> <div>까놓고 말해, 인간의 언어를 이해할 수 있을 정도의 사고력이 있으면, lua 스크립트와 같은 유사 프로그래밍 언어는 입사 후에도 얼마든지 습득 가능합니다.</div> <div><br /></div> <div>다시 말해, 프로그래밍을 배운다는 것은 프로그래머들의 사고를 학습함으로서 기획에서의 논리적 오류(빵꾸라고 합니다.)를 줄이고 컨텐츠의 완성도를 높이기 위한 방편의 하나이지, 필수가 아닙니다.</div> <div><br /></div> <div>만약 자신이 논리적인 사고에 자신이 있다면 굳이 프로그래밍을 배우지 않아도 됩니다.</div> <div><br /></div> <div>기획자가 어설프게 독학한 프로그래밍은 전문대 졸 신입 프로그래머에게도 못 미치는 수준입니다.</div> <div><br /></div> <div>따라서, 프로그래머가 되실 게 아니라면 지금 단계에서의 프로그래밍 공부는 별로 추천드리지 않습니다.</div> <div><br /></div> <div>사족 : 정 프로그래밍을 공부하시겠다면 C말고 C++을 보십시오. C는 안 씁니다.</div> <div>사족2 : 회원 관리는 GM이 합니다. 그러나 GM은 서비스직군으로 분류되며, 실 개발을 담당하는 사람은 아닙니다.</div> <div><br /></div> <div><br /></div> <div>넷째. 게임을 만드는 대략적인 플로우차트</div> <div>게임, 혹은 게임에 추가될 새로운 컨텐츠를 만드는 흐름은 대략 아래와 같습니다.</div> <div><br /></div> <div>1. 업데이트 계획 수립</div> <div>2. 각 업데이트에 추가할 컨텐츠 물량 설정. 서비스 중인 온라인 게임이라면 이 과정에서 사업부의 의견도 중요한 스펙결정 지표가 됩니다.</div> <div>3. 디렉터의 지시에 따라 개별 기획자가 세부 컨텐츠 기획서를 작성.</div> <div>4. 컨텐츠 개발 파트에 개별적으로(혹은 통합적으로.) 기획 스펙 전달.</div> <div>5. 개발</div> <div>6. 테스트</div> <div>7. 라이브 서버 패치</div> <div>8, 유지 보수</div> <div><br /></div> <div><br /></div> <div><br /></div> <div>다섯째. 게임 업계의 수익.</div> <div>이 부분에 대해서는 상당히 민감한 주제가 될 수 있기 때문에 구체적인 언급은 피하겠습니다.</div> <div>그러나, 확실히 말할 수 있는 것은 현재 시장의 대세는 모바일이라는 것입니다.</div> <div><br /></div> <div>대형 개발사, 혹은 퍼블리셔들이 온라인게임이 아니라 모바일 게임으로 이동하고 있는 추세이며 당분간은 이 추세가 지속될 것으로 보입니다.</div> <div>한국 모바일 게임 시장의 새 역사를 쓴 카카오톡의 드래곤 플라이트는 일 매출 추정 12억(언론 기사 참조. 구글 플레이 스토어 1위 유지 중)이었다고 합니다.</div> <div>주워들은 이야기로는 구글 플레이 스토어 50등 안에만 들어가도 일 매출이 천 만원 이상은 나온다고도 합니다.</div> <div><br /></div> <div>그러나 모든 게임들이 그렇게 많은 돈을 버는 것은 아닙니다.</div> <div><br /></div> <div>개발자는 기본적으로 연봉을 받게 되어 있으며, 게임이 대박이 날 경우에는 인센티브를 받게 되는데, 이 인센티브는 대부분 사내 규정에 의해 액수가 정해져 있습니다.</div> <div><br /></div> <div>따라서 게임이 대박나지 않는다는 가정 하에, 연봉이 자신의 주 수익이 될 텐데요, 연봉을 결정하는 것은 다음과 같습니다.</div> <div><br /></div> <div>1. 최종학력</div> <div>2. 경력</div> <div>3. 능력</div> <div><br /></div> <div>신입개발자로 들어갈 경우 최종학력이 매우 큰 영향을 끼칩니다. 고졸, 전문대 졸, 4년제 졸에 따라서 최초 받게 되는 연봉의 액수가 몇 백만원 단위로 달라집니다.</div> <div>연봉의 상승이 현재 자신의 연봉의 x%라는 것을 감안하면, 최초 연봉이 매우 중요하다는 것을 알 수 있습니다.</div> <div><br /></div> <div>두 번째로 경력입니다.</div> <div>아직까지 게임 업계는 학벌보다는 경력을 더 쳐주는 편입니다. 왜냐면 게임 개발 1세대인 사람들은 학력으로 게임업계에 들어왔다기 보다는 자신의 열정만으로 게임을 만들고, 업계를 일으켜 세웠기 때문입니다.</div> <div>어떤 게임의 어떤 컨텐츠를 개발했는지가 경력에 있어서의 주요 포인트고, 따라서 성공한 게임의 개발에 참여했던 사람일수록 연봉이 높아질 수 있습니다.</div> <div><br /></div> <div>세 번째는 능력입니다.</div> <div>만약 자신이 가지고 있는 능력을 크게 발휘(업무 능력, 근태, 회사에 기여한 바 등)한다면 빠르게 연봉을 상승시킬 수 있습니다.</div> <div><br /></div> <div><br /></div> <div><br /></div> <div>여섯 째. 자신의 실패를 통한 시사점</div> <div>저는 대인관계가 그렇게 원만한 편이 못 됩니다.</div> <div>거기다 활달한 성격도 아니어서 기획자로서 타인과 커뮤니케이션하는 데에 매우 큰 부담을 느꼈습니다.</div> <div>또한 학력도 고졸이 전부라 최초 시작할 때의 연봉도 매우 낮았으며, 타 직군에 대한 열등감으로 인해 업무 평점 및 근태가 점점 나빠지기 시작했습니다.</div> <div>결정적으로는 진짜 기획을 할 능력이 안 되어 있다는 판단을 하게 되었고, 이 일로 인해 큰 우울증을 얻어 도망치듯 회사를 빠져 나왔습니다.</div> <div><br /></div> <div>저는 이제 막 프로그래머로서의 재탄생을 위해 준비를 하기 시작했습니다.</div> <div>제대로 된 프로그래머가 될 수 있을지는 미지수이지만, 적어도 실질적인 스킬(PT를 하고 기획서를 잘 쓰는 것도 능력이지만...)을 익히기 위해 프로그래머의 길을 택했습니다.</div> <div>마지막으로, 막 개발자의 꿈을 키우기 시작하신 분들께 제 실패를 참고삼아 몇 가지 조언을 드리고자 합니다.</div> <div><br /></div> <div>1. 공부를 게을리 하지 마십시오.</div> <div>다소 현실적인 얘기로, 개발자의 최초 연봉에 직결되는 것이 바로 학력입니다. </div> <div>NC 소프트의 경우에는 직원 공개 채용 시에 관련 학과 4년제 석사가 아니면 지원할 수 없습니다.</div> <div>따라서 어떻게든 공부를 열심히 하여 자신의 학력을 끌어올리는 것이 과제입니다.</div> <div>그게 싫으시다면 영어를 엄청 열심히 하셔서 외국으로 나가시는 것도 추천드릴만 합니다만, 대한민국에서 개발을 하시려면 공부를 열심히 하십시오.</div> <div><br /></div> <div>그럼 실용적인 의미에서 공부가 어떻게 도움이 되는지 말씀드리겠습니다.</div> <div>우선 게임이란 컴퓨터를 통해서 제작, 플레이가 가능하고, 이 컴퓨터는 기본적으로 수학적인 연산을 기반으로 구동되는 물건입니다.</div> <div>또한 세상의 모든 일들은 대부분 수학을 통해 분석되어 있는 상태입니다.</div> <div>따라서 게임 안에 어떤 세상을 녹여내려면 수학 공부는 필수입니다.</div> <div><br /></div> <div>그리고 국어능력. 기획서는 글로 되어 있습니다.</div> <div>또한 갖가지 최신 기술을 설명하는 기능서들 역시 한글로 되어 있습니다.</div> <div>적어도 일정 이상의 독해, 작문 능력을 습득하여야 원활한 개발이 가능합니다.</div> <div><br /></div> <div>마지막으로는 영어입니다.</div> <div>해외 개발사에 도전하는 것 이외에도, 몬스터의 이름을 지을 때, 변수명을 설정할 때, 외국에서 발매된 최신 기술서적을 읽을 때에는 반드시 영어가 필요합니다.</div> <div><br /></div> <div>사회나 과학도 배워두면 좋으나, 기본적으로 모든 개발자에게 필요한 덕목은 국영수라고 보시면 되겠습니다.</div> <div><br /></div> <div><br /></div> <div>2. 게임을 너무 많이 하지 마십시오.</div> <div>누구나 가장 좋아하는 게임은 있을 것입니다.</div> <div>그러나, '내가 왜 그 게임을 재미있어 하는가?' 에 대해 이해하지 못한 상황에서 '내가 좋아하는 게임에 이런 게 있으니 우리 게임에도 이거 넣어보자.'라고 말하는 것보다 부끄러운 일은 없습니다.</div> <div><br /></div> <div>적어도 자신이 좋아하는 게임을 분석하고 파악하여, 어떤 요소가 흥미를 이끌어 내는지에 대해서는 숙지하고 있어야 합니다.</div> <div>(또한 장르가 다른 게임의 컨텐츠를 무턱대고 넣자고 하는 것은 무식을 자랑하는 행위입니다. 물론 팀원 대부분이 그 게임을 좋아한다면 별 문제없이 그 컨텐츠가 들어가겠지요. 물론 그 컨텐츠는 안 만드니만 못한 컨텐츠가 될 것입니다.)</div> <div><br /></div> <div>또 다른 의미로, 게임을 너무 많이 하게 되면 지나친 자기 검열을 하게 됩니다.</div> <div>위 상황과는 반대로, 어떤 컨텐츠를 만들려고 해도 '아 이건 xx 게임에 있던 거잖아. 표절이야 표절!'이라는 생각에 스스로 괴로워하게 됩니다.</div> <div>해당 게임에 대해 몰랐더라면 더 자유로운 상상이 가능했을 텐데도, 스스로 족쇄를 채우는 꼴이 되는 것입니다.</div> <div><br /></div> <div><br /></div> <div>몇 가지 더 쓸 말이 있었습니다만 여기서 줄이겠습니다.</div> <div>아마도 그 부분은 개발자 지망생분들이 실제 개발자가 된 다음에 들으셔야만 하는 내용일 겁니다.</div> <div><br /></div> <div>읽기 귀찮으신 분들을 위해 요약해 드리겠습니다.</div> <div><br /></div> <div><b>요약</b></div> <div><b><br /></b></div> <div><b>1. 게임의 컨텐츠를 설계하는 것은 기획자다.</b></div> <div><b>2. 설계된 게임을 구현하는 것은 프로그래머다.</b></div> <div><b>3. 프로그래머가 될 게 아니라면, 지금 당장 프로그래밍을 배우는 것은 무의미하다.</b></div> <div><b>4. C언어 말고 C++을 배우자.</b></div> <div><b>5. 대박을 바라지 말고, 자신의 연봉을 높일 방법을 생각해보자</b></div> <div><b>6. 국영수 공부를 열심히 하고, 가급적이면 4년제 대학을 가자.</b></div> <div><b>7. 개발자가 꼭 게임을 많이 해봐야 할 이유는 없다. 많이 한다면 그만큼 많은 분석이 뒤따라야 한다. 다만 이것도 어느 시점에서는 독이 될 수 있다.</b></div> <div><b><br /></b></div> <div>이상입니다.</div> <div><br /></div> <div>그리고 이것은 마지막 사족이자, 조언이자, 일종의 경고입니다.</div> <div><br /></div> <div><b><font color="#ff0000">프로그래밍은 어렵고, 그림 그릴 재주는 없고, 평소에 시나리오는 많이 생각해두니까 기획자나 해봐야지!</font></b></div> <div><b><font color="#ff0000">하는 분들은 희망을 버리십시오.</font></b></div> <div><b><font color="#ff0000">기획자는 시나리오 라이터도 아니고, 아이디어 뱅크도 아닙니다.</font></b></div> <div><b><font color="#ff0000">개발팀에서 가장 냉정해야 하는 사람이 기획자입니다.</font></b></div> <div><br /></div> <div><br /></div>
<img src="http://732kbmmd.files.wordpress.com/2013/05/namecard.jpg">
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.