halo ce anniversary postmortem

37
HALO : Combat Evolved Anniversary

Upload: -

Post on 20-Jul-2015

582 views

Category:

Entertainment & Humor


0 download

TRANSCRIPT

Page 1: Halo ce anniversary Postmortem

HALO : Combat Evolved

Anniversary

Page 2: Halo ce anniversary Postmortem

Halo : Combat Evolved

개발 : Bungie Studio

발매 : 2001년

XBOX 킬러 타이틀

벌써 10년도 넘었네?

Page 3: Halo ce anniversary Postmortem

Anniversary?

• 때는 2011년

• HALO : CE 10주년을 맞이하여 기념판 제작

• 10년 사이에 많은 변화가 있었다

• 콘솔 : XBOX 360도 끝물 소리 나옴

• 제작 : Bungie 스튜디오에서 343 Industries로

• 뭔가 보여줘야 할 때

Page 5: Halo ce anniversary Postmortem

그게 가능 하려면?

• 싱글 게임 엔진

• Original Halo Engine (Bungie) + Saber 3D (343 + Saber)

• 멀티플레이 게임 엔진

• Halo Reach Engine

Page 6: Halo ce anniversary Postmortem

그래서 개발사가 세 군데

• 싱글 플레이• 343 industries + Saber Interactive

• 그 중에서 Saber 회사가 무엇을 했는지 살펴봅시다

Page 7: Halo ce anniversary Postmortem

개발 인원(Saber Interactive)엔딩 Credit에 등장한 사람들만

• Executive Producer - 1

• Associate Producer - 4

• Programming Director - 1

• Lead Project Programmer - 1

• Lead Physics Programmer - 1

• Game Integration Lead - 1

• Game Integration Programmer - 3

• Lead Engine Programmer - 1

• Senior Engine and Sound Programmer - 1

• Senior Engine Programmer - 1

• Lead Animation Programmer - 1

• Lead Rendering Programmer - 1

• Senior Rendering Programmer - 2

• Rendering Programmer - 3

• UI / TCR Lead Programmer - 1

• Senior TCR / Build Programmer - 1

• Senior UI Programmer - 1

• Additional UI Scripting - 1

• Lead Network Programmer - 1

• Senior Network Programmer - 1

• Lead Technology & Tools Programmer - 1

• Tools Programmer - 3

• Art Director - 1

• Lead Leel Modeler - 1

• Outsource Manager - 1

• Lead Concep Artist - 1

• Senior Concept Artist - 2

• Concep Artist - 3

• Senior Level Modeler / Designer - 1

• Senior Level Modeler - 3

• Level Modeler - 5

• Additional Level Modeling - 4

• Senior Asset Designer / Modeler - 1

• Character Modeler - 2

• Asset Modeling - 1

• Technical Art Director - 1

• Senior Technical Artist - 3

• Technical Artist - 1

• Lead Animator - 1

• Senior Cinematic Animator - 1

• Animator - 3

• Lead SFX Artist - 1

• SFX Artist - 2

• Lead Texture Artist - 1

• Senior Texture Artist - 2

• Texture Artist - 4

• Lead Lighting Artist - 1

• Lighting Artist - 3

• Lead UI Artist - 1

• UI Artist - 1

• Sound Engineer - 2

• QA Director - 1

• QA Projct lead - 1

• QA Expert - 2

• Additional Testing - 7

• Motion Capture - 5

• 기타 등등 엄청 많음 되게 많음

Page 8: Halo ce anniversary Postmortem

Saber Interactive

• 343 Industries에서 섭외가 들어왔을 때, Saber는 마침 대형 프랜

차이즈 게임에서 일하고 싶어했음

• 헤일로 정도면 뭐…

• 그리고 343 Industries가 원한 것은 HD 리마스터 수준이 아니라

“진정한 리메이크” 였다…

Page 9: Halo ce anniversary Postmortem

343 industries → Saber Interactive

• 오리지널 게임 플레이는 전혀 건드리지 않는 대신 모든 시각적

요소를 차세대 트리플 A급 게임에 맞게 업그레이드 하고 필요하

면 몇 가지 사항을 더 추가하길 원했다.

• 그 결과가 XBOX LIVE co-op, Kinect support, Skulls and Terminals 등

• “클래식” 게임과 “리마스터” 게임이 실시간으로 전환되는 기능

Page 10: Halo ce anniversary Postmortem

“이걸 1년 안에 하라는 건 미친 소리 같았다”

• 시각적인 부분에서는 그야말로 모든 것을 새로 만들었다

• 지형, 텍스처, 조명, 캐릭터, 무기, 탈것, 특수효과, 시네마틱, UI 등

• 음악도 새로 작업했다

• 오케스트라를 불러서 BGM을 다시 녹음

• 성우들이 녹음한 부분은 그대로 두었다

Page 11: Halo ce anniversary Postmortem

많은 제약과 한계

• 예를 들어 in-game 애니메이션

• Keyframe으로 만들어진 오래된 애니메이션

• 최신 모션 캡쳐 애니메이션으로 바꾸는 것이 너무 위험했다

• AI부터 시작해서 어마어마한 버그를 만들어내기 시작

• 그래서 그냥 뒀습니다

Page 12: Halo ce anniversary Postmortem

잘 된 것들

Overall engine solution

Online co-op solution

Visual targeting / art direction

Successful vertical slice

Listening to the early community feedback

Page 13: Halo ce anniversary Postmortem

Overall engine solution

• 두 가지 목표가 있었다• 오리지널 게임플레이는 그대로 둔다

• 동시에 아티스트와 디자이너들이 트리플 A 비주얼을 달성할 수 있도록

• 첫 아이디어• 헤일로 1 의 engine을 그냥 쓰자!

• AI, 애니메이션, 매커니즘, 무기, 탈것, 그 외 모든 컴포넌트를 그냥 쓸 수있다!

• 게다가 아티스트들에게 이미 익숙한 툴을 줄 수 있다!

• 우리는 옛 엔진이 AAA 비주얼을 제공할 수 있다고 믿었다.

Page 14: Halo ce anniversary Postmortem

Overall engine solution

• FAIL

• 두 번째 아이디어는

• 오리지널 게임을 최대한 활용하자

• PC 버전을 Xbox360으로 포팅하면 되지 않을까?

• 그리고 렌더링된 feature를 하나하나씩 추가하면 되잖아?

• 다중 그림자-맵, 광원, 표면, 텍스처, 파티클 등등등…

• 하지만 아티스트들을 훈련시키는 데 너무 오랜 시간이 걸린다

• 지난 몇 년간 업그레이드한 모든 플러그인에 숙달시켜야 했다

Page 15: Halo ce anniversary Postmortem

Overall engine solution

• 이것도 FAIL

• “1963년형 캐딜락 엔진을 아우디 A7에 집어넣는 거나 마찬가지”

• 둘 다 멋지지만 끔찍하게 호환이 안 된다

• 오리지널 HALO : CE와 Saber의 렌더링 엔진을 합치려고 할 때의 느낌

Page 16: Halo ce anniversary Postmortem

Overall engine solution

• 해결책은?• “우리 물리엔진 인터페이스가 Havok이랑 닮은 거 같은데요?”

• 위치, 속도, 충돌 등은 인터페이스 레이어에서 Havok에게 시킨다

• 게임 내 존재하는 모든 것을 Proxy object로 만들어서 시뮬레이션

• 아랫단은 오리지날 헤일로 엔진에 맡긴다

• 우리가 할 일은?• 밑바닥에 있는 게임 로직은 손대지 않는다

• Havok이 계산한 결과를 받아서 적절한 시각화만 해 주면 해결!

• 이 기반 플랫폼을 만드는 데 1~2 개월이 꼬박 걸림

Page 17: Halo ce anniversary Postmortem

Online co-op solution

• 오리지날에서는 화면 분할 Co-op밖에 존재하지 않았다

• 어쨌거나 싱글 플레이에 복수의 유저가 존재하는 경우가 계산되

어 있는 것!

• 하지만 네트워크를 통해서 동기화 하려니 Hell

Page 18: Halo ce anniversary Postmortem

Online co-op solution

• 각자의 게임 월드가 동기화가 안 되네?

• 게임 전체 상태를 동기화 시키려니 너무 위험한 일이 많았다

• 시간도 어마어마하게 잡아먹는 작업

• 343 industries에서 파견된 테크니컬 리드가 Bungie 기술을 바탕

으로 „우아한‟ 접근법을 알려줌

• 오리지널 HALO : CE 엔진은 같은 입력에 같은 결과를 만드는 결정론적

솔루션

• 초기 조건만 동기화 시켜주면 이후에 입력만 동기화 시키면 결과는 저절

로 같아질 것이다!

Page 19: Halo ce anniversary Postmortem

Online co-op solution

• 근데 안되잖아

• 엄청난 삽질 끝에 PC 버전으로 포팅된 HALO : CE의 몇몇 기능

이 문제라는 사실을 알아냄

• 오리지널 Bungie 판에서는 문제가 없었음

• 40개가 넘는 소스 파일들을 실험해 보면서 알아냄

• 마침내 해결

• 이 문제 때문에 프레임 단위, 비트 단위로 게임 상태를 녹화하는 툴까지

만들었음

Page 20: Halo ce anniversary Postmortem

Visual targeting / art direction

• MS의 Ben Cammarano가 퍼블리셔 측의 아트 디렉터로 참가

• Saber의 lead artist와 긴밀하게 연락하면서 전체 아트 기획의 방

향을 잡아줌

• 4가지 디자인 가이드 : 영웅적인 전경, 상징적인 이미지와 캐릭터, 깨끗

하고 활기찬 미적 요소, 내적인 행동

Page 21: Halo ce anniversary Postmortem

Visual targeting / art direction

• 초반에 합의한 가이드가 작업 내내 기준점이 됨

• 오리지널 게임의 주요 맵들, 장면을 모두 스크린샷으로 만들어

개선한 모습으로 바꿔보고 토론하고 수정하기를 반복

• 구현 불가능한 상상력이나 영감을 통제하고 창조성을 집중

• 이 방법이 꽤 괜찮아서 이후로 Saber Interactive는 이 방법으로 그래픽

작업을 한다고…

Page 22: Halo ce anniversary Postmortem

Successful vertical slice

• 개발방법론 이야기• 케이크를 통째로 굽는 게 아니라 조각케이크를 굽는 것

• 예컨대 특정 지역에서 하늘의 그래픽을 정할 때

• 기존 그래픽에 영감을 불어넣어 천체의 위치를 바꾸고 색상도 바꿔 제작

• 최종적으로 프랜차이즈 팀에서 거부함• 오리지널 게임에 손대지 말랬지?

• 해당 레벨 수정• 클래식에 일치시킴

Page 23: Halo ce anniversary Postmortem

Listening to the early community feedback

• 게임 트레일러가 공개되자마자 팬들의 뜨거운 관심

• 그 중에서는 꼭 새겨들어야 할 피드백도 가득했음

• 대표적으로 버그 픽스 Bug Fix

Page 24: Halo ce anniversary Postmortem

Listening to the early community feedback

• 예를 들어 1인칭 시점에서 3인칭 어썰트 라이플 모델을 들고 있

다거나

• 매우 비슷하게 생겨서 제작진도 눈치 채지 못했음

• 그리고 Halo Reach의 어썰트 라이플 모델을 썼더니 팬들이

Anniversary에 어울리지 않는다고 불만

• HALO 3 모델을 기반으로 재구현

Page 25: Halo ce anniversary Postmortem

잘 안 된 것들

Collision issues

Secret area

Streaming issues

Lighting solution

Cinematics

Page 26: Halo ce anniversary Postmortem

Collision issue

• 별 거 아니라고 생각했는데 정말 끔찍한 문제

• 프로젝트 막판에 엄청난 두통을 안겨주었다

• 전통적인 게임 개발에서는 그리 큰 문제가 아니라서 별로 신경

쓰지 않았다

Page 27: Halo ce anniversary Postmortem

Collision issue

• 하지만 전체 게임 시뮬레이션을 오리지널 HALO에서 담당하고

있어서 새로 추가된 고해상도 mesh와 충돌 체크가 일치하지 않

는 문제가 발생

• 캐릭터나 무기가 땅 속으로 꺼지거나 허공에 둥둥 떠있거나 투명한 벽에

걸리거나 총을 쐈는데 안 맞거나 벽을 관통해서 총에 맞거나 벽 너머가

보이거나……

Page 28: Halo ce anniversary Postmortem

Collision issue

• QA 팀에서 충돌 관련만 천 개가 넘는 버그를 보내옴

• 그래픽을 오리지널 충돌 체크에 맞게 바꿔 봄• 당연히 저해상도로 뭉개지면서 엉망이 되었다

• 해결하자니 엄청난 시간이 걸리고 이걸 해결 못하면 출시도 못 함

• 처음엔 추가적인 충돌체크 지형을 만들어서 끼워 넣으려 했음• But 343에서 오리지널 게임 플레이에 손 대는 것에 제동을 걸었음

Page 29: Halo ce anniversary Postmortem

Collision issue

• 옛 지형과 새 지형을 OR 시켜서 높은 쪽에 충돌 판정을 준다

• 무기가 더 이상 땅 속으로 가라앉지 않는다!

• 근데 이제는 허공에 떠있네

• 리마스터 지형을 최대한 원형에 가깝게 만들어야 했다

• 그랬더니 돌.. 이라기에는 너무 동글동글한 녀석이 나옴

• 야 이거 어쩌지?

• 그냥 바위 말고 둥그런 선조 유물로 만들면 안되나요?

• 천잰데?

Page 30: Halo ce anniversary Postmortem

Secret areas

• 오리지널에서 접근하기 어려운 지형을 리마스터 판에서 어떻게구현할 것인가?

• 전체 레벨이 보이거나 하는 지역에 유저가 올라가면 퍼포먼스도떨어지고 그렇다고 텍스처나 mesh도 함부로 못 바꾼다.

• 전통적인 해법 : 못 들어가게 만든다

• 그런데 오리지날 HALO : CE 에서는 들어갈 수 있었네

• 343 : 알지?

• 모델링 기술이 너무 상이해서 이 지역에 대해서는 손을 대지 않기로 함. 결과적으로 별로 보기 좋지 않은 지역이 되어버림

Page 31: Halo ce anniversary Postmortem

Streaming issues

• 게임 자원을 스트리밍으로 불러오는 기술을 엔진에 적용

• 텍스처, 음악 등등

• 하지만 프로젝트 전체 상태에 매우 의존적인 기술이라 마지막에

가서야 겨우 구현되었음

• 성능과 품질을 측정하기도 쉽지 않았고 무엇보다 특수한 경우에 문제가

두드러졌음

Page 32: Halo ce anniversary Postmortem

Streaming issues

• 시네마틱이나 대규모 로딩이 필요할 때 5~7초 끊기는 현상

• 5초 정도 검은 화면을 로딩 대신 보여주는 해결책을 생각했으나

• 심지어 25초짜리 렉도 있었다…

• 통일된 해법이 없어서 버그를 하나하나, Case by Case로 다 잡

았다

Page 33: Halo ce anniversary Postmortem

Lighting solution

• Ambient light에 문제가 있어서 외부 환경 조명과 내부 조명이 조

화롭지 못했음

• 광원 개선에 대한 담당자의 요구가 있었으나 충분한 시간이 없었

• 어찌어찌 다 만들어가고 있었는데…

Page 34: Halo ce anniversary Postmortem

Lighting solution

• 프로젝트가 중반쯤 왔을 때 (E3에서 레벨 하나를 공개했을

때)rendering lead가 반드시 광원을 개선해야 한다고 주장해서 여

러 개의 지역 광원을 이용해 글로벌 일루미네이션을 시뮬레이션

하면서 광원 문제를 찾아냄

• 건물 내/외부 문제를 해결한 툴이 완성됐을 때는 이미 프로젝트

후반부라 광원 담당자들을 막판에 고생시킴

Page 35: Halo ce anniversary Postmortem

Cinematics

• 게임 내 애니메이션과 성우는 놔두고 Cinematics만 모션 캡쳐로

바꿨는데 힘든 일이었음

• 배우들이 옛날 애니메이션에 맞춰 타이밍과 동작까지 완벽 재현

해야 했다

• 성우를 그대로 둬야 했으므로 얼굴 애니메이션에서는 음성에 맞

춰 립싱크까지

Page 36: Halo ce anniversary Postmortem

Cinematics

• 여기에 Streaming issue, animation bug, audio syncing glitches 등등

버그가 300개가 넘게 터짐

• 그리고 너무 잘 하려다 보니 문제가 생기기도.. 코타나는 너무 감정이

들어가서 “인공지능처럼 안 보였”기 때문에 (그리고 이 사실은 프로젝

트 막판에 드러났기 때문에 다시 모션 캡쳐를 할 수도 없었다) 애니메

이터가 구식 키 프레임 애니메이션과 합치는 작업을 해서 애니메이션

퀄리티를 떨어뜨려야 했다.

Page 37: Halo ce anniversary Postmortem

결과

• 리메이크 게임으로는 드물게 Best of E3 에 노미네이트

• 내부적으로 만든 목표를 달성하는데 성공

• 짧은 기간이었지만 아주 순조롭게 일정을 진행함

• Saber Interactive는 이 프로젝트를 해 낸 것을 자랑스럽게 생각

하고 있음