알라딘MGG와이드바


Game Developer Magazine 201109 포스트모템 - Section 8: Prejudice 포스트모템

2011.09 September
[http]Section 8: Prejudice

Publisher : [http]TimeGate Studios
Developer : [http]TimeGate Studios
개발자 수 : 90명
개발 기간 : 1년 10개월

2009 년에 나온 SECTION 8 의 후속작.

1. focus testing
Section 8 개발이 끝난 뒤 내부 포스트모템을 통해서 개선된 점 중 하나가 focus testing 을 빨리 참여시킨 점이고, 덕분에 중요한 사용성 문제를 빨리 찾을 수 있었다. 예를 들어 수류탄 같은 경우 왼손에 붙어 있다보니 오른쪽 모퉁이로 수류탄을 던질 경우 벽을 맞고 튕겨서 나와 자기 앞에서 터질 때가 많았다. 이 문제를 해결하기 위해 수류탄이 날아가는 시작점을 PC 의 중심점으로 옮겨서 좀더 명확하게 만들었다. 그 외에도 레벨 난이도 조절 같은 데에서도 focus testing 팀의 도움을 많이 받았다.

2. tech art
Section 8 개발하면서 얻은 교훈은 새로운 기능에 대한 비주얼 디자인에 있어서 프로그래밍, 레빌 디자인, 아트팀 사이에 많은 간격이 존재한다는 점이었다. 이를 해소하기 위해 Technical Art 팀을 조직했다. TA 팀은 각 팀장들과 만나 의견을 조율하고 게임플레이, 엔진, GI, AO, texture streaming 같은 여러 문제를 담당했다. 레벨을 개발하는 동안 성능문제가 발생하면 TA팀에서는 이를 디자인적으로, 또는 아트적으로 최적화했고 덕분에 framerate 를 유지한 채로 아트 품질을 높힐 수 있었다.

3. usability
Section 8 에서 가장 많이 지적받은 부분이 학습곡선이 가파르다는 점이었기 때문에 Section 8: Prejudice 에서는 처음 유저들이 쉽게 적응할 수 있도록 노력했다.
Section 8 에서도 싱글 캠페인으로 튜토리얼을 제공했지만 재미없다는 이유로 많은 유저들이 skip 해 버렸다. 그래서 Section 8: Prejudice 에서는 튜토리얼 시스템에 엄청 공을 들였다. 특히 jetpack 이나 가속 기능 같은 게임 핵심 메커니즘을 잘 익힐 수 있도록 했다.
인터페이스도 마찬가지다. 복잡한 요소들을 subscreen 으로 옮기고, Dynamic Combat Mission (DCM. 일종의 퀘스트? 미션?) 시스템도 고쳐서 이전에는 한 번에 4개까지도 동시에 진행되던 DCM 을 보통 1개, 많아봐야 2개까지만 동시 진행되게 해서 HUD 에 뜨는 아이콘 갯수를 줄일 수 있었다.

4. unlock system
Section 8 에서 이미 콘솔의 한계까지 구현했기 때문에 unlock system 구현하기 위해서는 없는 여유를 짜내야했다. 가장 크게 아낀 부분 중의 하나가 1인칭 시점에서 보는 총 모델링이다. vertex 메모리를 반 정도로 줄이기 위해 어떤 저격총이나 머신건들은 게임 도중에도 장전 방식이 달라졌다. unlock 했을 때 나올 아트와 오디오 콘텐츠도 담을 공간이 없어서 간단히 탄약갯수를 늘린다던가 모서리를 둥글게 만드는 식으로 변형을 추가했다. 덕분에 발사 FX 만 추가하는 방식으로 모든 무기에 4가지 변형을, 모든 장비에 3-4개의 변형을 만들 수 있었다.

5. swarm
Section 8 에서는 멀티플레이 Conquest 모드에 집중했는데, 인원수를 맞추기 위해 bot 를 추가할 수 있게 했었다. Section 8: Prejudice 에서는 이를 확장해 PC 들이 팀을 이뤄서 여러 bots 과 전투를 벌일 수 있게 했다. (Gears of war 의 호드모드 같은 거?) 이런 모드를 Swarm 이라 불렀는데 팬들이 많이 좋아했기 때문에 정식모드로 추가했다.

아쉬웠던 점

1. game thread performance
여러 복잡한 코드와 스크립트를 Unreal Engine 3 에 추가하다보니 game thread 에 성능문제가 왔다. PC 에서는 문제가 없었으나 콘솔에서는 큰 문제였다. 그래픽 성능 문제는 초반에 신경쓸 수 있었지만 game thread 성능 문제는 빨리 발견하지 못했다. 이를 해결하기 위해 캠페인과 Swarm 에서 bots 갯수를 줄여야했다. 큰 차이는 없었지만 몇몇 전투에서는 디자이너들이 처음 의도했던 'epic' 한 장면을 연출할 수 없었다. 이를 통해 프로젝트가 진행되는 동안 모든 가능한 성능 bottleneck 문제를 예의주시해야 한다는 교훈을 얻었다.

2. server stress testing
베타테스트 단계에서는 PC, 콘솔로 붙었을 때 서버에 얼마나 부하를 줄지 부하 테스트를 진행했다. 문제는 이미 QA 팀 인원을 많이 축소시키는 바람에 32인 멀티플레이 게임을 테스트 할 수 없었다는 점이다. 6 명의 PC에 10 개의 bots 을 붙여서 테스트할 때는 잘 돌아가던 게임이 16명의 PC가 붙었을 때에는 버벅거릴 수 있었다. 서버 위치도 비슷한 문제가 있었다. 테스트할 때는 TimeGate 내부 서버에서 테스트를 했지만, 실제 서비스할 때는 외부 서버에 두게 되는데, latency 문제와 더불어 hosting 업체에서 한 머신에 우리 게임 외에도 다른 여러 서버를 실행시킬 수도 있기 때문에 성능에 많은 문제가 발생했다.

3. xbox 260 hardlock
출시 몇 달전에 QA 팀에서 가끔 Xbox 360 에서 크래시가 발생한다는 버그 리포트를 보냈다. 하지만 이미 MS의 certification 도 통과했고, 재현할 수가 없어서 일단 무시하고, 다음 업데이트 때 고치기로 했다.
하지만 출시 2주 전에 실제 Live 환경을 만들기 위해 여러 쇼핑몰에서 32인이 붙어서 게임을 테스트해 보니 그 크래시가 발생했다. 프로그래머와 QA팀이 밤새도록 원인을 찾았지만 출시때까지 원인을 찾을 수 없었다. 결국 찾은 원인은 사소한 '나뭇잎 렌더링'관련 문제를 해결하기 위해 엔진을 수정한 코드였다. 버그가 발견되었을 때 바로 고칠려고 노력했더라면 이런 삽질은 없었을 것이다.

4. retail-to-digital switch development implications
기존 소매 판매 방식에서 온라인 판매 방식으로 변경함으로서 가격을 $60 에서 $14.99 로 낮출 수 있었다. 하지만 이를 위해서는 4GB 게임을 Xbox LIVE Arcade 최대 용량인 2GB 로 줄여야 했다. 이미 개발을 반 이상 진행했기 때문에 이를 위해 사운드, 비디오를 최대한 압축하고, 일부 맵을 빼기로 했다. 물론 나중에 DLC 로 써 먹겠지만 열심히 만든 콘텐츠가 출시에서 빠진다는 얘기는 개발자들을 허탈하게 했다. 최대한 빨리 출시할 디바이스의 한계를 파악하는 게 좋을 것이다.

5. interface
게임 개발과정은 게임에 포함시키고 싶은 모든 기능들을 다 나열한뒤에, 그 중에서 어떤 걸 만들 수 있고, 어떤 게 유저들을 가장 즐겁게 만들 수 있을지를 선택하는 과정이다. Section 8: Prejudice 가 Section 8 에서 향상되어야 할 점 중 하나가 메뉴, in-game HUD 를 포함한 인터페이스였다.
UI middleware 를 교체했기 때문에 훨씬 매끄러운 UI 를 만들 수 있었지만, 구현하는데에 예상했던 것보다 훨씬 많은 개발자가 필요해서 추가로 사람을 뽑아야 했다. 물론 할 일이 많을 때 사람을 더 뽑는다고 해서 일정이 그냥 줄어드는 것은 아니지만, 다른 게 다 만들어진 상태에서 인터페이스가 덜 개발되었다는 이유로 출시를 못 한다는 것도 말이 안 되는 일이었다. 특히 party match 시스템 같은 경우 Section 8: Prejudice 를 개발할 때부터 파티를 쉽게 만날 수 있게 하기 위해 party match 시스템 디자인을 만들어 놨지만 인터페이스 개발이 늦어짐에 따라 어쩔 수 없이 party match 시스템을 짤라내야 했다. 이제 UI 개발에 경험이 생겼으니 다음에는 더 잘할 거라고 생각한다.

덧글

댓글 입력 영역


Yes24위대한게임의탄생3

위대한 게임의 탄생 3
예스24 | 애드온2