![]() ![]() ![]() |
제목 | [Gamasutra] 과정 | ||||||
---|---|---|---|---|---|---|---|
분류 | 게임 | 등록일 | 06.01.11 | ||||
출처 | 한국콘텐츠진흥원 | 조회수 | 0
|
||||
과정 The Process * 소개 게임 업계에서 팀의 규모가 꾸준히, 그리고 지속적으로 증가하고 있다. 오늘날에는 10인 가량의 프로그래머와 30인 이상의 아티스트 (레벨 디자이너 포함)로 구성된 팀의 규모조차 크다고 여겨지지 않을 정도이다. 아티스트, 특히 레벨 디자이너들은 작업한 부분이 예상했던 대로 보이고 움직이는지 확인하기 위해 게임 내에서 이를 자주 확인해 볼 필요가 있다. 이는 많은 이들이 효율적인 작업을 위해 안정적인 버전의 게임에 의존하고 있다는 것을 뜻한다. 이처럼 많은 사람들이 연관되어 있으므로 시간상 손해는 자연히 엄청난 금전상 손해를 뜻하게 된다. 예술 팀이 잘못된 코드를 받게 되면, 1인 1시간의 노동량이 빠른 속도로 낭비되기 시작할 수 있다. ![]() 이는 금전상 손해 뿐 아니라 문제를 빨리 고쳐야 하는 프로그래머들에게 스트레스도 초래한다. 때로는 프로그래밍 팀 전체가 문제 해결을 위해 하던 일을 거의 멈추기도 한다. 문제가 더욱 복합되기 시작하면, 각 팀의 사기가 영향을 받는 등 보다 광범위한 문제가 발생한다. 예를 들어, 아티스트들이 코드의 안정성에 대해 확신을 갖고 있지 못하다면, (따라서 당연히) 혹시 파일 이름을 잘못 입력한 것은 아닌지(물론 이 경우에는 반대로 프로그래머들이 화를 내게 된다) 자신들의 작업에 혹시 잘못이 있는지 확인하는 대신, 문제를 프로그래머들에게 돌릴 가능성이 크다. 반면 프로그래머들은 게임을 망치지 않으려고 코드를 확인하는 데 지나치게 집착하게 되어, 검사가 끝난 파일을 계속 붙들고 있거나, 검사를 여러 번 하게 될 경우 심각한 합병 문제를 초래할 수도 있다. 이러한 모든 경우, 생산성을 잃게 된다. *재난의 예 위에 제시한 사건들은 지나친 걱정이 초래한 상상이 아니라 실제 프로젝트에서 발생한 예이다. 이 특정한 사건의 경우, 해당 규약은 모든 사항을 소스 컨트롤 하에 두는 것이었다. 즉, 코드, 예술, 실행파일 등을 프로그래머가 소스를 확인할 때마다 수집한 코드에서 확인하는 것이다. 그런 다음에는 아티스트가 소스 컨트롤에서 업데이트할 때마다 이러한 2진 코드를 받는다. 표면적으로는 이것이 합리적인 계획인 것처럼 들린다. 모든 것이 소스 컨트롤에 있으니 그걸로 잘 해결될 것이라고 여겨진다. 하지만 이는 그렇게 단순한 일이 아니다. 확인 전에 소스를 빌드해야 하기 때문에, 프로그래머들은 작업 중에 다른 이들이 소스를 확인하지 못하게 사전에 막아야 한다. 이는 작업 중인 프로그래머가 다른 프로그래머들을 전부 차단하고, 그 후에는 기다렸던 다른 프로그래머가 자신의 작업을 위해 또 다른 이들을 차단해야 한다는 것을 뜻한다. 빌드하고 나서 제대로 작동하는 지 확인하는 데는 다소 시간이 걸리고, 어떤 때는 파일 몇 가지를 확인하기 위해 하루 종일 기다려야 하는 경우도 발생한다. 물론 그러는 동안 기다리고 있는 프로그래머가 아무것도 안하고 있는 것은 아니고, 다른 작업을 하고 있을 것이다. 그러므로 겨우 본인의 차례가 돌아왔을 때, 아직 확인할 준비가 안 된 일을 막 하고 있는 도중일 수도 있다. 그러는 동안 예술 부서는 가장 마지막으로 확인된 아무 코드나 이용하게 되며, 이 때 실수가 있다면 이는 순식간에 퍼질 수 있다. 이러한 문제는 항상 제일 불편한 시간, 즉 가장 중요한 시점 부근에서 발생하곤 한다. 다행히 이는 필요악이 아니며, 약간의 주의와 생각만 있다면 대부분의 안 좋은 결과를 잘 처리할 수 있다. * 고립(Insulation) 프로그래머와 아티스트 간에 부드러운 거품층을 삽입하면 양쪽이 마음 상할 일이 크게 줄어든다. 이러한 거품의 일종으로 QA 부서를 이용할 것을 권장한다..........................(중략) * 자세한 내용은 첨부문서(pdf)를 참고하시기 바랍니다.
|
|||||||
첨부파일 |