Page 26 -
P. 26
프로그래머
나는 게임을 기술적으로 구현하는 일에 관련된 모든 사람을 ‘프로그래머’라고 지칭한
다. 여기에는 코더, 네트워크 및 시스템 엔지니어, 데이터베이스 프로그래머, 컴퓨터 하
드웨어 지원 등이 포함된다. 어떤 회사에서는 프로그래머를 엔지니어나 소프트웨어 개발
자라고 부른다. 이 직군은 선임 프로그래머, 수석 프로그래머, 기술 디렉터, CTO로 승
진한다. 어떤 회사에서는 전문 영역에 따라 도구 프로그래머, 엔진 프로그래머, 그래픽
프로그래머, 데이터베이스 프로그래머 등으로 나누기도 한다.
일반적으로 프로그래밍 팀이 책임지고 하는 일은 다음과 같다.
• 기술명세서 초안 작성
• 게임 구현 (다음 세 항목의 구현 포함)
• 소프트웨어 프로토타입
• 소프트웨어 도구
• 게임 모듈 및 엔진
• 데이터 구조화
• 의사소통 관리
• 코드 문서화
• QA 엔지니어와 협업하여 버그 수정
기술적인 배경지식이 없는 게임 디자이너는 프로그래밍 팀에 자신의 아이디어를 잘
전달하기 어렵다. 전문가 수준의 프로그래머가 될 필요는 없지만 디지털 게임을 디자인
할 생각이라면 기본적인 프로그래밍 개념을 배워야 엔지니어와 공통의 언어로 얘기할 수
있다. 어떻게 배울지에 대한 정답은 없다. 책을 통해 가장 잘 배우는 사람은 초보자용 프
로그래밍 교재를 구입하라. 체계적인 학습 환경이 필요한 사람은 강의를 수강하라. 관계
가 좋은 프로그래머가 있다면 그 프로그래머에게 프로그래밍에 대해 물어보라. 누구나
자신이 잘하는 것에 대해 얘기하기를 좋아한다. 진정으로 관심을 표현하면 대부분의 프
로그래머는 게임을 어떻게 프로그래밍하는지에 대해 쉴 새 없이 얘기해줄 것이다.
게임이 기술적으로 어떻게 구현되는지 명확하게 이해하면 이 지식을 활용해 디자인
명세서를 더 잘 쓰고, 기술 팀에 게임 개념을 좀 더 명확하게 설명할 수 있다. 그렇게 되
면 게임플레이를 수정해야 할 때 프로그래머에게 얘기하기가 더 쉬워진다.
`제작 주기 동안 게임플레이를 변경하면 거의 항상 코드를 수정해야 한다. 10장에서
478