게임 프로그래머가 되기 위해서는
일단 프로그래머가 되어야 하고, 게임에 대해서 알아야 한다.
너무 당연하다고? 맞습니다.
근데, 프로그램 실력은 어느 정도까지가 기본이고
게임은 어느 정도까지 알아야 기본일까요?
기본의 레벨은 어떻게 정의할까요?
레벨을 다음과 같이 나눠봅니다.
1. 아마추어 팀에서 게임을 만들 수 있는 수준
2. 게임 회사에 입사 할 수 있는 수준
3. 게임 회사에서 인정받고 성장 할 수 있는 수준
요 세가지만 나눠보죠.
더 나아가자면, 어떤 분야에서 구루 또는 전문가 수준으로 되려면
어떤 테크를 찍어야 할지는 나중에 기회가 되면 해봅시다.
일단 1번을 보죠.
1. 초보레벨 게임 프로그래머가 갖추어야 할 실력 + 읽고 익혀야 할 책
1) C/C++ 기초
- 문법
- 코드리딩 능력
- standard IO
2) Direct-X 기초
- DirectSurface,DrawPrimitve,RenderState,Present
3) Visual Studio (개발툴)에서 빌들 할 수 있는 능력
- Editing,Compile,Build,Execution,Debugging
4) Windows API 기초
- File I/O, Graphics I/O , Event Handling , Text Processing, DBMS query
2. 게임회사에 입사 할 수 있는 수준
1) C/C++ 에 대한 개념이 확실하다.
- Effective C++을 이해한다.
2) 전산과 3학년 정도의 학과 과목을 70% 이상 이해한다.
- System Programming, OS , Computer Architecture, Algorithms, Data Structure ,
Problem Solving
3) 2D/3D게임을 팀을 이뤄서 만들어 본 경험이 있다.
- DirectX Sample들을 이해한다.
4) 네트워크 어플리케이션을 만들어 본 경험이 있다.
- Packet , Asynchronous IO , Multithreaded Architecture , Event Polling
5) 회사에 대한 열정을 보여줄 수 있다.
6) 배우는 자세로 임하고 자신의 잠재력을 보여줄 자신이 있다.
7) Code Comple,Game Code Complete등 게임 프로그래밍 관련 책을 10권 정도 읽어봤고
30% 이상 이해한다.
8) 5000라인 이상, 클래스 20여개 이상의 프로젝트를 모두 이해할 수 있고 매니징 가능하다.
3. 게임회사에서 인정받고 성장 할 수 있는 수준
1) Modern Design C++ , Exceptional C++을 이해하고 업무에 적용할 수 있다.
2) 간단한 스크립트 언어를 업무에 적용할 수 있다.
3) OOP 개념을 잘 알고, 클래스 프로그래밍을 잘 할 수 있다.
4) UML Diagram을 그릴 수 있고 업무에 적용할 수 있다.
5) Design Pattern에 대해서 이해하고 주로 쓰이는 패턴에 대해서 업무에 적용할 수 있다.
6) Refactoring 책을 읽고 익혀 업무에 적용할 수 있다.
7) 컴퓨터 아키텍쳐에 대해서 잘 이해하고 있다.
8) 네트워킹 코드를 이해하고 업무에 적용할 수 있다.
9) 멀티쓰레드를 이해하고 업무에 적용할 수 있다.
10) Test 방법을 알고 업무에 적용할 수 있다.
11) 강한 체력과 끈기 그리고 업무시간에 집중력이 있다.
12) 새로운 테크놀로지에 대해서 배우고 익힐 수 있고, 남들에게 설명할 수 있다.
13) 자신의 업무 관리와 일정을 지킬 수 있으며,
팀원으로써 커뮤니케이션 툴을 이용할 수 있고, 커뮤니케이션이 원활하다.
14) 사람들과의 갈등을 원만하게 해결할 수 있다.
15) 개발 방법론에 대해서 여러가지 평가를 할 수 있고 업무에 적용할 수 있다.
일단 이 정도로 마무리 해볼께요.
완성도를 높이는 작업을 해야겠습니다. ^^
추가로 몇자 더 적습니다.
요즘은 인터넷에서 배우기 좋습니다.
좋은 강의도 많습니다.
영어 리스닝만 된다면, iTunes University에서 좋은 코스들이 많이 있습니다.
미국의 유명 대학의 코스들도 많지요.
제가 정말 10년만 젊었으면 매일 4시간 이상 듣고 싶네요.
지금부터라도 하루에 1시간씩 할애해서 공부해야겠습니다.
댓글 없음:
댓글 쓰기