2007년 6월 12일

게임제작 속도를 높이는 요리책

GPG 보내기 인쇄하기 / PDF로 저장하기 인쇄하기 / PDF로 저장하기인쇄하기 / PDF로 저장하기

이 책은 GameProducer.net이 제공합니다. 책의 대상은 주로 시작하는 인디 개발자로, 처음 게임을 개발할 때 어떤 실수를 하지 말아야 하는지, 어떻게 해야 게임 제작 속도를 높일 수 있는지에 이야기합니다.

이 책은 저자인 Juuso의 허락을 받아 번역하고 게시되었습니다. 영문판은 http://www.gameproducer.net/newsletter/에서 이메일로 신청하여 PDF 파일로 받아보실 수 있습니다.


목차

  1. 식사 준비
  2. 먼저 아침으로 시작하자
  3. 알맞은 재료를 구하자
  4. 나쁜 재료는 빼자
  5. 요리를 시작하자
  6. 맛보자!
  7. 테이블은 마지막에 세팅해두자
  8. 주방장은 요리할 준비가 되어 있다
  9. 게임 제작에 있어 분명하고 큰 실수는 피하자
  10. 제작에 있어 가장 중요한 재료

서문

안녕하세요. 이 짧은 책에 관심 가져주셔서 감사합니다. 책에서 제가 제시하는 건 모두 제 개인 의견일 뿐이라는 점을 상기시키고 싶습니다. 제 말에 여러분이 물음표를 달아주길 진심으로 바랍니다. 전 단지 제가 배워 도움이 되었던 교훈들을 말하려는 겁니다. 만약 여러분이 자신에게 맞지 않다고 느끼면, 동의하지 않으셔도 됩니다. 제공되는 정보가 정확하도록 제가 가진 지식을 최대한 활용했지만, 이 정보의 사용과 효과는 여러분에게 달렸습니다. 확신이 가지 않는 팁이 있다면 행동을 취하기 전에 추가로 정보를 얻어보길 바랍니다. 저는 여러분이 제 팁을 활용해서 생긴 일에 책임을 지지 않습니다. 여러분의 책임은 여러분의 어깨에 있습니다.

필요한 걸 가져가시고, 나머지는 여러분께 맡깁니다.

이 요리책을 즐겨주세요.

Juuso

 

추신. 이 책에 관해 의견이나 감상이 있거나 그저 제게 뭔가 하고 싶은 말이 있으면, 제 웹사이트를 통해 저와 만날 수 있습니다.

I - 식사 준비

준비는 게임 제작 속도를 높이는 데 중요한 일입니다. 저는 예전에 준비도 하지 않고 서둘러 실제 개발에 들어간 적이 몇 번 있었습니다.

준비과정에는 다음과 같은 일이 있을 수 있습니다.

  • 필요한 도구나 게임 엔진을 생각.
  • 프로젝트에 필요한 자원과 시간을 생각.
  • 실제로 코드를 쓰기 전에 계획.

준비해야 할 것은 수도 없이 많습니다. 여러분에게 필요할 법한 도구와 몇 가지 기준을 마련하면 좋습니다. 제가 “Edoiki” 게임의 멀티플레이 네트워크 코드를 만졌을 때를 예로 들어보죠. 저는 다른 스튜디오가 어떻게 네트워크 코드를 완성했는지 찾아봤고, 모범사례들로부터 여러 가지를 배워 저에게 적합한 모델을 찾았습니다. 만약 먼저 찾아보지 않았다면, 아무 것도 알지 못한 채로 코딩에 뛰어들었을 겁니다.

여러분의 프로젝트를 ‘준비’하는 게 좋습니다.

II - 먼저 아침부터 하자

여러분이 이전에 게임을 완성해본 적이 없으면, 일단 작은 것부터 시작해보길 바랍니다. MOD나 일주일 안에 만들 수 있는 작은 게임을 만들어보는 건 게임 제작에 대한 지식을 얻는 좋은 방법입니다. 거대한 프로젝트를 시작하고 거대한 계획을 갖게 되면 결국 계획만 줄창 하다가, 정작 실행은 조금 밖에 못 합니다.

새로 시작하는 개발자들은 먼저 작은 프로젝트를 골라서 완성하길 강력히 권합니다. 작은 것들을 끝내는 경험을 몇 차례 가진 후에는 좀 더 큰 것을 만들게 될 때 시간이 얼마나 걸릴지 잘 이해할 수 있게 될 겁니다.

더 숙련된 개발자들은 큰 프로젝트를 크게 작업하는 대신, 작은 단위로 쪼개어 작은 부분부터 완성해나갈 겁니다.

III - 알맞은 재료를 구하자

서드 파티 도구들처럼 이미 완성된 부품들이 많이 있으니 여러분 스스로 그런 걸 따로 작업할 필요가 없습니다. 네트워킹 라이브러리도 준비되어 있고, 다른 필요 때문에 이미 만들어진 엔진도 많이 있습니다.

그럼 여러분이 3D 게임을 만드는 법을 알려주죠.

제가 처음 3D 게임 제작을 상상했을 때, 제가 모든 것을 스스로 해야 하는 거 아닌가 생각했습니다. 게임 잡지에서 초특급 스튜디오들이 직접 게임 엔진을 만드는 이야기를 읽었고, 그래서 저도 저만의 엔진을 만들어야 한다고 생각했습니다.

제가 틀렸습니다.

그로부터 거의 5년 가까이 지나서야 3D 게임을 간단히 만드는 방법이 있단 소릴 처음 들었습니다. 저는 비주얼 베이직으로 프로그래밍을 하려고 했었고, 나중에서야 3D 게임 제작 소프트웨어 이야길 들었죠. 화면에 제 첫 3D 캐릭터를 띄우는 데는 몇 시간이 걸리지 않는다는 데 무척 놀랐습니다. 모든 걸 혼자 해야 한다고 생각했었는데.

오늘날 저는 다이렉트 X나 오픈GL 프로그래밍을 모르고, 솔직히 알 필요도 없습니다. 간단히 소프트웨어를 사면 관련지식 없이도 3D 게임을 만들 수 있습니다.

핵심은 이렇습니다. 여러분이 모든 걸 스스로 할 필요는 없다.

여러분이 만드는 게 2D 게임이든 3D 게임이든, FPS든 RTS든 상관없습니다. 어딘가에는 누군가 완성해놓은 것이 있고, 여러분은 그걸 사용하면 됩니다.

추가자료

바퀴를 다시 발명하는 과업 대신에, 외부의 자원을 찾아보거나 프로젝트의 일부를 외주로 주는 걸 권합니다. http://www.gameproducer.net/resource에 리소스 목록을 올려놓았으니 여러분에게 맞는 도구를 찾는 데 도움이 될 겁니다.

IV - 나쁜 재료는 빼자

까다로운 일이지만 여러분의 게임 제작 속도를 높이려면 분명 필요한 일입니다. 있을 수 있는 첫 번째 실수는 잘못된 도구를 고르는 것인데, 그렇게 되면 그 도구를 빼고 더 나은 걸로 교체해야 합니다. 저는 레벨 제작용 도구를 샀을 때 이런 실수를 했습니다. 그건 제 요구에 전혀 어울리지 않는 물건이었습니다.

다른 방법을 결정하기 전까지 그것 때문에 골머리를 썩기도 했습니다. 다른 방법은 그냥 저만의 에디터를 만드는 거였습니다. 저는 시간과 돈을 잃었지만, 최소한 더 이상의 낭비를 막을 수 있었습니다. 그리고 지금 저는 프로젝트에 중요한 다른 것을 제작하는 데 초점을 맞추고 있습니다.

또 다른 요소는 가장 중요할 수 있는데, (가능하다면) 좋은 팀 멤버를 구하는 겁니다. 좋은 멤버를 찾는 건 까다로운 일이고, 이 점에 대해선 더 자세히 말해드릴 수도 없습니다. 그래도 제가 충고할 수 있는 것은, 여러분 스스로 팀 멤버들을 확신하라는 겁니다. 팀 멤버를 빼버리는 것은 최후의 수단으로 생각해야 할 일이지만, 그래야 할때도 있습니다.

중요: 팀이 여러분이 원하는 대로 가고 있지 않을 때는, 여러분 자신의 행동을 관찰하고 그 접근법을 고쳐봐야 합니다. 더 자세한 내용(영문)을 읽어보세요.

V - 요리를 시작하자

게임 개발 속도를 높이고 싶다면 이 조언이 가장 중요할 겁니다. 어느 시점에서든 "실행"해야 합니다.

이 책의 초반부에서 말했듯이, 계획은 필수입니다. 하지만 언제까지 계획만 할 수는 없죠. 언제까지 게시판만 돌아다닐 수는 없습니다. 언제까지 블로그만 읽을 수도 없죠. 으으, 언제까지고 (이런) 책만 읽고 있을 수도 없습니다. 어느 시점에서든 여러분은 행동을 취해야 합니다.

TV를 보거나 이메일을 읽는 건 쉽지만, 그게 여러분의 개발 속도를 높여주지는 않습니다. 여러분이 '뭔가 하고 있는 것 같지 않다'면, 어서 이 책 2장에 있는 아침에 대한 글을 읽어보세요.

여러분이 계획하는 걸 그렇게 좋아한다면, 뭐 좋습니다. 하지만 실행 없는 계획은 그저 계획일 뿐이라는 걸 알아두세요. 아무도 계획을 플레이하지는 않습니다. 사람들은 오직 그 계획의 실행으로 태어난 게임만을 플레이합니다.

VI - 맛보자!

여러분이 만든 게임을 시험합니다. 게임 플레이를 시험합니다. 여러분의 게임을 플레이합니다. 게임을 경험해보는 건 정말 좋은 일이고, 작업 속도를 높이게 동기를 부여합니다.

맛보는 데 너무 매달리면 안 되지만, 내보내기 전에 맛은 봐야지요.

VII - 테이블 세팅은 마지막에

그래픽이나 사운드는 처음에는 중요한 게 아닙니다. 처음에는 게임플레이와 게임 디자인이 가장 중요한 요소입니다. 저는 보고만 있어도 빛이 나는 잘 빠진 캐릭터를 만드는 아티스트와 함께 프로젝트를 시작했었습니다. 정말 멋지긴 했지만, 그 빛을 보려면 시간이 꽤 걸렸습니다.

이미 준비된 자원을 가지고 게임을 시험해볼 수도 있습니다. (그렇게 해야 합니다.) 처음부터 적절한 그래픽을 가지는 건 그렇게 중요한 일이 아닙니다. 게임 플레이를 시험해보고 계획을 발전시키는 데 초점을 맞출 수록 시간을 아낄 수 있을 겁니다.

원한다면 저렴한 가격에 준비된 자원을 살 수도 있으니, 그런 데 너무 매달리지 마시기 바랍니다.

힌트: 본질적으로 그래픽이 게임플레이에 있어 중요한 요소라면 (빛과 어둠의 개념을 사용해야 하는 것처럼) 시작부터 준비해둘 필요가 있을 겁니다. 하지만, 일반적으로는 나중으로 두는 게 좋은 생각입니다.

VIII - 요리할 준비가 된 주방장

여러분은 팀 멤버 누구보다도 열심히 일할 의지가 있어야 합니다.

만약 여러분 스스로가 그저 생각만 가진 사람이라면, 여러분의 생각을 실현시켜줄 사람을 찾는 건 정말 어려울 겁니다. 여러분은 정말 팀에 있는 그 누구보다 열심히 일할 의지가 있어야 합니다. 이것이 다른 이에게 모범이 되고, 멤버들이 여러분을 위해 더 열심히 일하게 될 겁니다.

반대로 여러분 스스로 일할 준비가 되지 않았다면, 프로젝트가 빨리 진행될 수 없을 겁니다. 열심히 일할 사람을 얻으려면  여러분 스스로부터 열심히 일해야 합니다.

IX - 게임 제작에 있어 크고 분명한 실수는 피하자

저는 이런 실수를 여러 번 범했고, 여러분이 이런 실수를 범한다면 프로젝트가 상당히 괴로워질 겁니다. 이런 실수는 팀 멤버를 신경 쓰이게 만들고, 그건 피해야 합니다. 여러분이 개발 속도를 높이고 싶다면요.

계획 변경을 피해야 합니다. 이미 마무리된 3D 모델에 뭔가 변경을 요구할 때마다, 제작은 고난을 겪게 될 겁니다. 여러분이 프로젝트 도중에 핵심 메커닉을 변경할 때마다, 일정 지연이 일어날 겁니다. 여러분이 뭔가를 변경하는 건 프로젝트 초반에는 작은 충격을 주지만, 끝으로 갈 수록 엄청난 충격을 안겨줍니다.

영원히 계획하는 것이 좋은 생각이 아니라면, 계획을 자주 바꾸는 것은 나쁜 일입니다.

X - 제작에 있어 가장 중요한 재료

당신입니다.

여러분은 프로젝트에 있어 가장 중요한 재료입니다. 여러분이 혼자 일한다면, 당신은 프로젝트에 굉장한 책임을 지니고 있는 셈입니다. 여러분이 팀을 가지고 있다면, 당신은 팀을 구성할 적절한 멤버를 구하는 데 큰 책임을 지니고 있습니다.

프로젝트 속도를 높이는 가장 쉬운 방법은, 여러분 자신에게 투자하는 겁니다. 더 나은 리더이자 프로듀서가 되기 위해 여러분 스스로를 훈련시키는 겁니다. 여러분의 개인 훈련에 들인 노력은 게임 제작에 도움이 될 겁니다. 여러분이 더 배우고 경험하면, 개발 속도 역시 높아질 겁니다.

여러분이 훈련하고 배우는 자세(책을 읽든 수업을 받든)를 잃어버리면, 프로젝트에 간접적으로 해를 끼치는 게 됩니다. 프로젝트가 진행되는 동안 가능한 많이 배워야 미래에 도움이 될 겁니다.

여러분 스스로에게 투자합시다.

감사의 말

이 짧은 책을 통해 뭔가 여러분의 게임 제작 속도를 높여줄 것을 발견했기를 바랍니다.

저는 게임 프로듀서 블로그 GameProducer.net을 지속적으로 업데이트하고, 사이트를 개선할 의견을 받고 있습니다. 무언가 듣고 싶으신 주제가 있다면 주저하지 말고 제게 알려주시기 바랍니다. 제 글을 읽은 분들의 의견에 귀 기울이고 싶습니다. 자신에 대해 뭔가 하고 싶은 말이 있으시다면, 글을 남겨주시기 바랍니다.

그럼 다음에 볼 때까지,

Juuso

댓글 없음:

댓글 쓰기