취업난의 또 하나의 돌파구, 게임 개발자<< from 스마트 쇼핑저널 버즈

PC라인에 올라온 글인듯 하더군요.

취지는 굉장히 좋지만 아쉽게도 결과가 좋지 않습니다.
가능하면 이런류의 정보는 전문가에게 얻는 것이 좋습니다.

이 글을 기초로 제가 다시 한번 정리해보았습니다.

게임기획자


어쨌든 저 리스트에 등장하는 라프코스터의 재미이론과, 게임아키텍쳐 & 디자인은 지난번의 추천서 20선에도 언급이 되었습니다.
다른책들은 호불호가 지나치게 갈리고, 입사하는데 도움이 될지는 잘 모르겠습니다.

 게임기획은 회사마다 하는 일이 다 다르고, 심지어 직위에 따라 필요한 스킬이 확 바뀌는 경우도 있습니다. 그래서 그렇게 쉽게 정석이란 방법이 존재하지 않고 회사마다 기획스타일도 다른 경우가 많기 때문에 어떻게하면 게임기획자가 될수 있는가는 굉장히 어려운 질문중에 하나이비다.

후에 게임무크에서 기획자에게 어떤 것이 필요할지에 대해 한번 다뤄보고자 하니 조금 기다려주세요.

게임 프로그래머


프로그래밍도 파고 들면 끝도 없이 나오는 분야입니다. 크게 클라이언트와 서버로 나누기는 하지만, 툴등의 클라이언트나 서버등에 포함시키기 힘든 직군도 존재하고, 클라이언트 내부에서도 엔진, 로직 등으로 나뉘기도 합니다.
사실 분류는 별로 중요하지 않습니다. 그때 그때 필요한 상황에 맞춰 일을 하는 것이 대부분이죠. 서버나, 클라이언트의 경우 사용하는 기술이 다르기 때문에 둘 중한가지는 선택하는게 보통입니다.
하지만 보통 어느 경지에 이르면 다른 쪽도 할 수 있게 됩니다.

영어와 수학은 필수입니다. 금상첨화가 아닙니다.
대부분의 프로그래밍 문서는 영어로 이루어져있습니다. 게임의 경우 대부분 현실세계를 거짓으로 컴퓨터안에 구현해야하기 때문에 필연적으로 현실의 법칙을 컴퓨터 안으로 가져와야합니다. 그럴 때는 수학이 필요합니다.
물론 현실은 둘 다 못하는 프로그래머가 지천에 널렸습니다만..
사실 국어도 잘해야하고.. (프로그래밍 언어도 언어입니다.) 논리력도 필요하고..

기술이나 추천서는 잠시 잊어보죠.

게임프로그래머에게 가장 중요한 지식은 무엇일까요.

자료구조입니다.
컴퓨터 구조를 몰라도 게임을 만들수는 있어요. 하지만 자료구조없이는 못만듭니다. C나 C++책에서 약간의 자료구조를 다루기는 하지만 제대로 알아두는게 좋습니다.
대학의 컴퓨터 전공에 가면 다 가르쳐줍니다만.. 정작 학원에선 그렇게 잘 안가르쳐주는 것 같기도 하더군요.

자료구조, C++ 두개만 확실히 해도 게임회사 입사는 그렇게 어렵지 않습니다.
대부분의 한국 게임회사에서는 주로 C++과 Direct X를 사용합니다. 툴은 MFC를 많이 사용하긴 하지만 때때로 파이썬이나 C#을 사용하는 경우도 많으니 참고하세요.
닷넷은.. 그러니까 정확하게 말해서 C# 은 C++이랑은 다른언어 입니다. C++이용자의 흡수를 위해 문법이 비슷하긴 하지만 그렇다고 같은 언어는 아닙니다.

프로그래밍을 공부하기 위해선 어떤 책이 필요할까요. 일단 시작은 자료구조와 C++ 입니다.
자료구조는 적당히 대학서점이나 큰 서점에서 DataStructure 나 자료구조 라고 써진책 아무거나 집으세요. 뭐 C나 C++을 사용하는 책이 좋을 겁니다.
요즘은 책들이 워낙 많이 나와서 쉬운 책들도 많더군요.

C++은 초보자를 위한 C++ 21일 완성이 꽤 유명합니다. (원제는 Teach Yourself C++ )
초보자를 위한 C++ 21일 완성 - 10점
제시 리버티 지음, 박춘 옮김/정보문화사

하지만 저는 빨간책씨리즈로 유명한 Accelerated C++ 를 추천하고 싶네요.

Accelerated C++ - 10점
앤드류 쾨니히 외 지음, 곽용재 외 옮김/정보문화사

C++ 와 자료구조에 왠만큼 익숙해졌으면 Direct X SDK를 깐다음 문서랑 예제만 보는 것으로 충분합니다만.. 안되겠다 싶으면 책을 보는것도 나쁜 선택은 아닙니다. 하지만 대부분의 Direct X 관련 서적에서 다루는 것은 게임을 만드는 법이 아니라 Direct X를 통해 화면을 만드는 것 뿐입니다. 실제 게임의 구조가 어떤지에 대해서 다루지는 않습니다.

흔히 해골책이라고 부르는 한빛미디어의 3D 게임 프로그래밍이 그나마 게임에 대한 내용을 약간이나마 다룹니다. 하지만 이 책. 예제가 개판이니 주의하세요. 책의 코드 그대로 받아쓰다간 피봅니다.
3D 게임 프로그래밍 - 8점
김용준 지음/한빛미디어

Direct X 는 클라이언트 프로그래머를 위한 부분이고 사실 정말 사람을 못구해서 안달난 직군은 서버 프로그래머입니다.
대부분의 경우 서버프로그래머는 경력을 찾습니다. 그걸 감안하시고.
서버프로그래머에게는 C나 C++ 같은 잡기술(!?) 보다는 컴퓨터가 어떻게 돌아가는지에 대한 이해가 가장 중요합니다. 데이타베이스, 운영체제 등의 컴퓨터 기초과목이 중요하죠. 가능하면 대학의 컴퓨터전공을 듣는 것을 추천하겠습니다.
몇년동안 계속 삽질하라고 하면 거기서도 나름 깨달음을 얻을수 있을지도 모르지만.. 왜 편한길 놔두고 가시밭길을 가나요.

아 그리고 마지막으로
VC ++ 6.0 쓰지마세요. 6.0과 7.0이 굉장히 크게 바뀌어서 안좋은 버릇만 들 수도 있습니다. 설마 아직도 VC ++ 6.0 쓰는 게임회사는 없겠죠. 거의 2008 (9.0) 이나 적어도 2005를 씁니다. 뭐 돈없다고 2003 쓰는데도 있고...

스크립트 언어는 미리 공부할 필요는 없습니다. 프로그래머가 진짜로 게임에 필요한 기술들을 습득하기 시작하는 것은 게임회사에 입사한 이후입니다.
그렇다고 위에 언급한 지식들이 필요없는건 아니에요. 저건 정말 정말 기초입니다.

게임그래픽, 게임오디오/사운드

아직 이 두 분야는 기술의 영역보다는 예술의 영역에 가깝습니다. 뭐라 말하기가 힘드네요.여기에 코멘트를 해줄 전문가가 없기도 해서. 사실 그림만 잘그리면 포토샵, 맥스 이런거 못다룬다고 해도 모셔갈겁니다.가르쳐서 쓰겠지. 3D쪽은 원화랑은 달리 기술의 영역에 가깝긴 합니다.
어쨌든 위 두 분야는 거의 바로 실무에 투입할수 있을 정도로 스킬을 쌓은 사람들이 넘어오는 경우가 많은 것 같더군요. (오디오는 어떤 과정인지 솔직히 모르겠습니다. 회사에 전문가가 없는 경우도 가끔 있고.) 근데 척봐도 저 글에 소개된 물건들은 이건 좀 아닌데 싶습니다.
그리고 2008년 게임백서에 의하면 게임산업종사자중에 게임사운드(오디오)관련 종사자는 0.2% 정도 되더군요


무크의 조언

좋은 책을 많이 읽는 것은 분명히 득이 됩니다. 하지만 어떤 책이 좋은 책인지 아는건 쉽지 않죠. 그리고 게임개발자가 되기에 가장 좋은 방법은 책을 읽는 것보다도 게임을 만들어보는 것입니다.
그리고 자신이 게임을 만들고 싶다면 주변에 멘토를 찾으세요. 실제 게임개발자에게 듣는 조언이 가장 적절하고 중요합니다.
마지막으로 자신이 입사하고 싶은 회사를 골랐다면 그 회사의 인재상을 보고 스킬을 정하세요. (자신에게 맞는 회사를 고르는 것도 좋은 방법입니다.) 예를 들어 극화체의 일러스트를 주로 사용하는 게임회사에 입사하려면 만화체의 포트폴리오로는 당연히 힘듭니다.


※ 마지막에 KGCA 게임아카데미 대표의 인터뷰가 있는데 저 글이 KGCA측이 제공한 정보를 기초로 쓰여진 글이라면 진지하게. 저 학원에 대해 불신감이 들것 같습니다.

'칼럼' 카테고리의 다른 글

한국에서 인디게임을 만들고 싶다고?  (9) 2009.05.09
왜 콘솔게임 발매리스트가 부실할까  (0) 2009.04.16
명텐도 과연 성공할까.  (15) 2009.04.15
욕망.
게임을 만들기 위해서 가장 중요한 덕목입니다. 게임을 만들고 싶은 욕망이 없는 사람은 게임을 만들 수가 없죠. 저는 현재 31살의 게임프로그래머로서, (웬만한 게이머들은 이름을 대면 알 거 같은 느낌이 드는 게임의) 프로그램팀장을 하고 있습니다. 저 역시 게임을 만들고 싶은 욕망 때문에 일을 시작했죠.

게임을 접하고 좋아하는 거야 아주 어렸을 때 일이지만, 본격적으로 게임을 만들어야 겠다는 생각이 든 것은 고1때의 일입니다. 중3때 접한 듄2[각주:1]를 보고, 나중에 저런 게임을 만들면 정말 멋진 사람이 될거 같은 느낌이 들었죠. 이리저리 PC통신으로 (93년 당시) 알아본 결과, 요즘 게임은 보통 C로 만든다는 것을 알아냈고, 서점에서 찾아볼 수 있었던 책 중에서 가장 얇은 C언어 입문서를 사들고 왔습니다. 그게 94년, 고1때의 일이죠.

물론, 그 전, 초등학교(저는 국민학교를 다녔습니다만) 때 다들 하듯이 GW-BASIC[각주:2]등으로 기본적인 프로그래밍은 익혔죠. 컴퓨터학원 다니면서 심심풀이로 테트리스나 15-퍼즐이나 오목같은 간단한 게임을 만들면서 지내곤 했습니다. 하지만, 거기까지가 전부였죠. 베이직의 파일입출력을 끝끝내 이해할 수 없었기에 그보다 대규모의 프로그램은 만들 수가 없었습니다. (지금 생각해도 베이직의 파일입출력 라이브러리는 괴악하기 그지없습니다) 베이직으로는 고등학교때 컴퓨터동아리에서 '땡겨[각주:3]'내기 테트리스 짜기나, Dragon Curve[각주:4](쥬라기 공원의 각 장 앞부분에 나온 그 드래곤 커브)를 Q베이직[각주:5]으로 구현하며 논 것이 거의 마지막이었습니다.

베이직의 한계를 느낄 무렵, C라는 언어의 존재를 알게 되면서 C언어 책을 고를 때, 가장 중요한 기준은 (위에서도 썼지만) '얇은 책'이었습니다. 저는 나름 독서광이었고, 새로운 것을 접할 때는 간략하게 개괄적으로 설명한 책이 더 나에게 적합하다는 것을 알고 있었으니까요. 자신에게 무엇이 가장 적합한지를 아는 것이 중요했던 것 같습니다. 만약 C언어의 모든 면을 자세히 설명한 TCPL[각주:6]같은 책을 골랐더라면 인내심이 한없이 0에 가까운 저는 이내 포기하고 말았겠죠.

제 인내심은 욕망을 지지할 정도로 견고하지는 못하다는 점을 알고 있었습니다. 게임 제작을 하고 싶다고 하더라도, 자신의 특성을 파악해야 했던 것이죠.

(다음에 계속)
나는 이렇게 프로그래머가 되었다 -2-



필자 : Uhm

경력 6년차의 게임 프로그래머. geek의 화신이며 포스를 수련한다는 소문도 있습니다.
홈월드나 토탈어나힐레이션, COH 같은 RTS와 FPS를 좋아하지만 요즘은 기묘하게도 와우를 하는 시간이 더 많은 게이머입니다.

언제나 후배들에게  포스의 어두운면에 대한 주의를 설파하는 뼛속까지 프로그래머.

  1. Westwood Studio의 실시간 전략 시뮬레이션 게임. 이후 실시간 전략 시뮬레이션 장르의 효시가 되었다.
    [본문으로]
  2. MS에서 만든 행번호 기반의 BASIC. [본문으로]
  3. 짜먹는 펜슬형 빙과류의 상품명. [본문으로]
  4. 종이 띠를 한 방향으로 절반씩 접은 자국을 90도로 꺾으면 나타나는 형상. 간단한 프랙탈 도형의 예로 자주 소개된다.
    [본문으로]
  5. 통합 IDE를 가진 MS의 BASIC 구현. MS-DOS와 함께 배포되었다. [본문으로]
  6. The C Programming Language. C언어의 창시자인 커니건, 리치가 쓴 C언어의 바이블이라 할 수 있는 책.강컴 링크 [본문으로]

+ Recent posts