로그인

회원가입 | ID/PW 찾기

취재

“하루만에 몬스터가 뚝딱!” POC와 모듈화

KGC2011 : 에픽게임스 리드 아티스트 와이어드 존슨 강연

남혁우(석모도) 2011-11-10 07:45:05

<기어스오브워>시리즈의 캐릭터, 환경, 비주얼 이펙트 등 그래픽을 총괄하는 에픽게임스의 리드 아티스트 와이어드 존슨 씨는 8일 열린 KGC2011 강연에서 <기어스오브워>시리즈의 개발 노하우를 공개했다.

 

와이어드 존슨은 빠른 개발을 위해 아이디어를 바로 구현해 평가하는 POC와 그래픽 리소스를 잘게 분해해 다양하게 사용하는 모듈화를 소개했다. /디스이즈게임 남혁우 기자.


■ 디자이너가 스스로 아이디어를 구현하는 POC

 

 

와이어드 존슨은 하나의 아이디어를 구현하기 위해 복잡하고 이해하기 어려운 문서화 대신 머리에서 그린 뒤에 직접 만들어 리뷰하는 방법 POC(Pee-Oh-See)를 제안했다. 즉 개발자가 아이디어와 툴을 이용해 스스로 아이디어의 퀄리티를 증명하는 것이다.

 

POC는 프로토타입 이전 단계로 아이디어를 검증하기 위해 사용된다. POC로 구현한 내용을 프로토타입으로 개발하는 것이다.

 

그는 프로그래밍 언어에 대한 이해가 없어도 간단한 게임을 만들 수 있는 언리얼 엔진의 키스멧(Kissmet)기능을 활용한 예로 설명했다.

 

POC를 사용한 예시

▶를 누르면 시작합니다.

[[#/1UPLOAD_HERE/press/GOW3making.wmv#]]

 

<기어스오브워>에서 기존 몬스터에서 크기를 키우고 헬멧을 바꾸고, 거대한 포를 쏘고 움직일 때 마다 소리가 나서 플레이어 주변으로 다가오면 긴장을 유발하는 캐릭터를 만들었다. 이후 다른 개발자에게 공개해 모두들 좋은 반응을 보여 바로 게임에 추가했다. 이것이 부머의 탄생이다. 6~7시간 만에 하나의 캐릭터가 한 것이다.

 

일반적인 방법이라면, 아이디어  문서화 토론 프로토 타이핑  내가 원하는 대로 나오길 바람  평가 등의 단계를 거치느라 일주일 이상은 소요됐을 것이다. 물론 이는 결과물이 제대로 나왔을 때의 이야기다. 결과물이 원치 않을 경우 더 많은 시간이 소요된다.

 

게임을 개발하는 동안 팀원의 아이디어는 끊이지 않았다. 그들의 창의성을 문서만으로 조절하는 게 매우 힘들었다. 작성된 문서에 아이디어와 관련된 표현이 너무 많이 들어가면 다른 사람들은 너무 복잡해 읽지 못한다. 반대로 아이디어가 너무 간단하게 작성되면 읽는 사람마다 생각하는 것이 달라 원하는 것과 전혀 다른 결과가 나온다.

 

또한 아이디어를 코딩할 수 있는 리소스는 제한돼 있다. 또 글로 표현된 만큼 개발자들은 다른 사람의 의견을 자신의 마음대로 해석하면서 비판하기도 한다.

 

<기어스 오브2>는 개발기간이 2년으로 정해졌다. 당시 <언리얼 토너먼트3>를 개발하느라 개발 초기 6개월 동안은 단 한 명의 프로그래머만 개발에 참가했다.

 

하지만 POC 개발 과정이 잘 정착돼 있어 개발에는 큰 문제가 없었다. 예를 들어 블러드 마운트라는 캐릭터는 POC 과정만으로 개발이 완료됐다. 누군가를 공격하거나 움직이는 모션 뿐만 아니라 동료가 죽었을 때 화가 나서 공격하는 것도 모두 스크립트로 만들 수 있었다.

 

캐릭터 외에도 다양한 이벤트, 카메라 워크 등 다양한 방면에 사용할 수 있으며 단순히 머리속으로만 생각했을 때에는 예상하지 못했던 아이디어의 장점이나 단점도 찾아낼 수 있다.

 

몇시간 만에 개발 완료된 '부머'

 

POC 과정은 개발 디자인과 콘셉트의 방향을 설정한 한 명의 디자이너가 개발을 주도해야 혼란이 생기지 않는다. 또한 다른 아이디어와 함께 사용할 수 있도록 개발해야 하며 빠르게 개발한 다음, 지속적으로 피드백을 받으며 수정하는 게 용이하다. 그리고 재활용이 가능한 만큼 유사한 콘셉트를 개발하는 것이 유리하다.

 

그는 "POC를 사용하는 디자이너는 창의적이고 사용하는 툴의 기능을 잘 알아야 하며 비주얼적인 측면을 이해하고 피드백에 대하 즉각적으로 생각하고 결정할 수 있어야 한다. 또한 POC는 단순이 아이디어를 비주얼적으로 구현한 것인 만큼 동료를 설득할 수 있어야 하며 만족스럽지 못할 경우는 과감히 버릴 수 있어야 한다"고 말했다.

 

 

■ 리소스를 최대한으로 아끼는 그래픽 모듈화

 

와이어드 존스 리드 아티스트는 POC에 이어 모듈화를 설명했다. 모듈화란 다리나 기둥 같은 하나의 구조물을 여러 조각으로 나눠 다양한 방향으로 활용하는 것을 말한다. 이를 활용하면 메모리 용량이 작고 빠르면서도 높은 품질을 그래픽을 제공할 수 있다.

 

<기어스오브워3>의 예를 들면 다리를 만들 때 처음부터 모듈 환경을 고려해 개발했다. 하이폴리곤 모델을 만들 때 가장 집중한 것은 모듈화 하기 위해 다리의 각 부분을 그리드로 나누고 접합점이나 디자인을 그리드 스페이스에 맞췄다. 덕분에 다리에 사용한 텍스쳐는 1장이면 충분했다.

 

 

하나의 구조물이라도 부분별로 나눠 제작하는 모듈화.

 

기존 텍스쳐와 에셋을 더해 아티스트가 하이 폴리곤 버전을 만들 필요 없이 벽이나 천장을 2개의 텍스쳐만으로도 만들 수 있었다.

 

또한 구조물이 작은 단위로 나눠졌기 때문에 다른 작업물과 어떻게 조합하느냐에 따라 전혀 새로운 결과물을 만들어 낼 수 있어 결과적으로 작업량과 리소스를 줄일 수 있었다.

 

 

이미지속 구조물은 모두 한장의 텍스쳐만으로 표현됐다.

 

모듈화를 통해 리소스를 최대한 아끼게 되면서 모듈화를 캐릭터에게도 적용시켰다. 기본적인 얼굴 모형에 눈가, , , 입술 등 변화가 많은 부분만 수정할 수 있도록 모듈화한 결과 며칠씩 걸리는 캐릭터 작업이 하루 안에 마무리가 됐다.

 

하지만 모든 개발에 모듈화가 어울리는 것은 아니다. 환경 그래픽은 그렇지 않다. 일정한 대상 없이 상상력으로 채워 넣는 만큼 개발자의 스트레스도 크고 양이 많기 때문에 일일이 모듈화 하는 것이 오히려 비효율적이다.

 

마지막으로 그는 "워낙 모든 사물을 잘게 분해하기 때문에 툴에서 어떤 부분인지 확인하기 힘든 부분이 있다. 그래서 언리얼 엔진3는 이런 일을 대비해 각각의 환경에 맞춰 버텍스 페인팅, 커스터 마이징을 지원해 비슷해 보일 수 있는 조각에 표시를 할 수 있다"며 강연을 마쳤다.

 

기본적인 인간형 틀을 잡은 후 변형이 필요한 부분만 수정할 수 있도록 만든 유니버셜 헤드 지오 메트리.