2014년 9월, IFA 2014 Samsung Unpacked 행사에서 기어 VR과 함께 공개된 VR 게임이 있었다. 그 당시 메인 키노트 영상에 선정된 유일한 게임이었다. '제임스의 유산'에 관한 이야기다. KGC 2014에서는 네스토스 김종연 대표가 "제임스의 유산 개발 과정을 통해 알아본 VR 게임의 개발"이란 제목으로 강연했다. IFA2014에 등장했던 '제임스의 유산' 개발 과정과 VR 콘텐츠를 만들 때 주의해야 하는 부분을 다뤘다.

퍼즐 어드밴처 '제임스의 유산'은 유니티 3D를 활용해 2014년 7월 18일 개발이 시작됐다. 다양한 테마의 행성을 탐험하면서 퍼즐을 풀고 부여받은 행성을 가꾸는 게임이며, VR을 지원하는 것이 특징이다. 아직 VR은 상용화 된 단계가 아니다. 그럼에도 왜 VR 게임을 만들게 됐을까. 김종연 대표는 VR에서 가능성을 확인할 수 있었다고 했다.

[▲ 네스토스 김종연 대표]

"VR 게임을 만들게 된 이유는 여러 가지가 있습니다. 최근 페이스북이 오큘러스를 인수하기도 했고, 소니도 HMD 모피어스를 개발 중이죠. DK2까지 나오면서 오큘러스 쉐어에는 많은 게임들이 등장했어요. 아직까지는 테크 데모 혹은 체험판 수준이지만 140개가 넘는 게임이 등록되어 있습니다. 저는 VR이 가장 가능성 있는 차세대 게임의 방향이라고 생각합니다. 이미 해외 대형 개발사들은 개발을 시작했고요. 리로드 스튜디오와 같은 VR 콘텐츠 전문 개발사도 등장했죠."

이외에도 VR 시장은 아직 생성 단계이기 때문에 경쟁자가 적은 점도 꼽았다. 문제는 과연 시장이 형성될 것인가이다. 그는 DK1과 DK2 모두 배송지연이 문제가 될 만큼 많은 양이 판매된 것과 '스타 시티즌', '유로트럭2'와 같은 기대작 혹은 인기작의 오큘러스 리프트를 지원하는 점을 보고 충분히 시장 형성이 가능할 것이라고 예측했다. 게임 콘텐츠를 온전히 즐기기는 힘들지만, VorpX라는 서드파티 드라이버를 통해 이전에 출시된 게임도 즐길 수 있는 점도 꼽았다. 이미 해외 게이머들의 관심은 충분하며, 소비자 버전 출시를 통해 대중화 단계만 남았다는 거다.


"새로운 투자처를 검색하는 도중에 VR에 관한 기사를 접했습니다. 오큘러스의 VRCD라는 펀드를 발견했죠. PC용 오큘러스 리프트 게임 제안서를 들고 오큘러스를 찾아갔습니다. 조금 부끄럽기도 하지만, 그때 처음 오큘러스 리프트를 체험했어요. 정말 재밌었습니다. 실사풍의 '이브 발키리(Eve Valkyrie)와 캐릭터를 살린 '럭키스 테일(Lucky's Tale)', 두 게임을 해볼 수 있었는데요. 직접 체험해 보니 '럭키스 테일'을 보고 꼭 실사가 아니더라도 충분히 가능하겠다고 생각했습니다. 오히려 더 괜찮은 것 같더라고요. '제임스의 유산'의 가능성을 볼 수 있었던 자리였죠."

VR 체험을 해본 김동연 대표는 VR 게임을 만들겠다는 목표를 세웠다. VR 시장을 개척하는 개척자가 되고 싶었다고. 오큘러스에게서 게임을 기어VR로 만드는 것을 제안받은 뒤, 삼성과 협의 끝에 '제임스의 유산'의 기어VR 개발을 확정했다.


그는 기어VR과 DK2의 차이점도 설명했다. 기어VR은 갤럭시 노트4가 디스플레이 역할을 한다. 안드로이드 플랫폼에서 구동하며 전원을 노트4에서 공급받는다. 그렇기 때문에 별도의 선이 필요 없다. 반면 DK2는 디스플레이를 내장한 HMD로 PC로 구동하는 형태다. 기어VR과 달리 포지셔널 트래킹을 지원하기 때문에 더 실감 나는 체험을 할 수 있다. 기어 VR은 2014년 하반기, DK2는 2015년에 출시될 예정이다. 두 기기의 차이점만 간략히 짚어 본다면 출시 일정, 무선, 포지셔널 트래킹이다.

기어VR의 장점은 1440p를 지원하면서 DK2보다 높은 해상도를 보유하고 있는 점이다. 오큘러스의 마켓을 통해 VR 에코 시스템도 가동할 수 있다. 또한 오큘러스 리프트 PC버전과도 연동될 가능성이 있다. 장점만이 아니라 단점도 존재한다. 포지셔널 트래킹은 기어VR에는 없으며, 현재는 갤럭시 노트4에서만 호환된다. 큰 안경을 끼고는 장착하지 못한다. 오큘러스 리프트 소비자 버전 보다 영상주기도 낮다. 그만큼 멀미가 심한 단점도 있다.


"본격적으로 '제임스의 유산' 개발에 관한 이야기를 해보죠. 준비물은 간단합니다. PC(Mac), 유니티 3D, 오큘러스에서 제공하는 프로젝트 문라이트 SDK(Project moonlight SDK)를 사용했어요. 프로젝트 문라이트 SDK는 오큘러스 VR에서 개발한 안드로이드 용 VR SDK인데 사용시 해당 앱은 갤럭시 노트4에서만 구동할 수 있습니다."

간단한 준비물과는 달리 개발은 순조롭지 못했다. 첫 번째 이유로는 개발 기간이 상당히 짧았다. 갤럭시 노트4 공개 행사까지 만들었어야 했기 때문에 여유롭게 개발하기 힘들었다. VR 콘텐츠를 개발하면서 발생한 문제점도 있었다. VR 개발에 큰 장애가 되는 방해물로는 멀미, 최적화, 조작, UI가 있다. 그는 '제임스의 유산'을 개발하면서 조작을 제외한 나머지 부분에서 어려움을 겪었다고 말했다.

첫 번째 문제는 멀미였다. '제임스의 유산'은 1인칭 VR이 아니다. 3인칭 VR을 어떻게 만들어야 한다는 가이드도 명확하지 않았다. 때문에 처음에는 위에서 바라보는 쿼터뷰 형식으로 구상했다. 그 결과 게임을 체험한 사람은 멀미로 고통받았다. 그는 이전에 오큘러스 코리아에서 해주었던 조언을 떠올렸다. '바닥을 내려보는 형태로 게임을 만들면 어지러워요. 3인칭은 정면을 볼 때 수평선을 바라보는 것처럼 보여주는 것을 추천합니다.'



"처음에는 저희가 만들고 싶은 방향으로 게임을 제작했죠. 행성을 바라보는 탑 뷰 형태로 개발했는데 멀미 문제를 해결하지 못했습니다. 탑 뷰의 형태로 하게 되면 캐릭터의 움직임에 따라 공간이 계속 변하게 됩니다. 그만큼 눈의 피로가 높아지죠. 수평선을 바라보게 되면 움직이는 땅 면적이 줄어들죠. '제임스의 유산'도 고정된 화면을 늘리는 방식으로 바꿔 문제를 해결했습니다."

두 번째는 최적화다. VR은 2개의 화면을 보여주어야 하기 때문에 기기의 성능이 저하된다. 이 문제는 DK2도 동일하지만, 모바일 기기는 사양이 더 낮은 것이 문제다. 기어 VR 유니티 권장 드로우 콜(Draw Call)은 100콜이다. 그는 모바일 게임에 3D라도 프레임이 떨어져서는 안된다고 설명했다. 프레임 드랍이 10프레임 이하면 멀미가 생기기 때문에 프레임에도 신경써야 한다고 덧붙였다.


"최적화하는 방법은 보편화된 방법을 이용했다. 컴바인 매쉬(Combine mesh)와 작은 텍스쳐(Tiny texture)를 사용했습니다. '제임스의 유산'은 어드밴처 게임이기 때문에 많은 오브젝트가 있죠. 나무, 풀, 울타리 등의 오브젝트 텍스처를 하나로 만들고 매쉬를 합쳤어요. N개였던 오브젝트의 드로우 콜이 1개가 되는 마법과 같았죠. 물론 단점도 있습니다. 하나로 묶어주는 것은 좋지만, 수정할 때에는 컴바인 해제하고 수정한 뒤 다시 컴바인 해야하는 불편한 점도 있어요."

'제임스의 유산'에 등장하는 행성 맵 하나에 소요된 텍스쳐 사이즈는 32px X 32px이다. 텍스쳐가 작아 최적화하기 쉬웠다. 또한 고퀄리티 표현도 가능했다. 매쉬에 하나의 컬러 1px 만 사용하기 때문에 최소한의 텍스쳐 사이즈만 이용해도 고퀄리티 표현을 할 수 있었던 것. 그는 컴바인 매쉬와 작은 텍스쳐를 활용해 100콜밖에 안되는 드로우 콜을 해결했다고 설명했다.

세 번째 문제는 UI였다. 기어VR에 NGUI와 유티니 3D가 충돌하면서 NGUI를 활용할 수 없었다. 정확히 설명한다면 3D 모델에 붙이는 플로팅 UI 형태가 불가능했던 것. '제임스의 유산'은 퍼즐을 풀면서 얻게 되는 아이템을 보여주는 UI가 필요했다. 김종연 대표는 VR에 최적화된 UI를 고민해 처음 만든 것이 HUD 형태로 화면에 항상 있는 UI였다고 말했다. 쉽게 설명하자면 화면 상단에 여러 아이템을 표시해 주는 형태다.

"돌이켜 보면 고전적인 UI였습니다. 헬멧 같은 것을 쓰고 있다는 느낌을 주기 위해 가장자리에 정보를 뿌려주는 형태였죠. 하지만 실패했습니다. 눈으로 위를 살짝 올려보면 보이는 형태로 만들었는데, UI 위치를 맞추기가 매우 까다로웠습니다. 눈으로 위를 바라보는 형태이다 보니, 고개가 자꾸 올라가는 부작용도 발생했습니다."


UI와 배경이 비슷한 상황이면 가독성도 낮이 졌다. 일시적으로 UI의 위치를 당겨버리면 해석은 가능하나, 완전한 해결책은 아니었다. 무엇보다 난데없이 노란 이미지가 떠다닌다고 지적받았다. 김종연 대표는 이런 피드백을 받고, 명확한 위치에 뜨는 플로팅 UI로 변경하게 되었다고 설명했다. 더 이상 화면을 따라다니지 않게 되었고, 캐릭터 머리 위로 UI가 나오도록 해 유저가 쉽게 인지할 수 있게 하도록 했다. 헤드 트래킹을 적극 이용해 홀드 앤 컨펌(Hold&Confirm)으로 UI 형태를 변경했다. 캐릭터 근처에 UI가 뜨면서 초점 문제도 어느 정도 해결됐다.

"아직까지 완벽하다고 생각하지는 않습니다. 하지만 변경하기 전과 후의 차이는 극명하죠. 고전적인 UI를 쓰는 것이 아니라, 3D 모델과 위치, 깊이를 공유하여 UI를 만드는 것이 중요합니다. 게임과 UI를 일체화시키는 것이 중요하죠. 가령 문 앞에서 어떤 행동을 할 수 있는지 표시해주는 UI가 있다면, 문 앞에 바로 띄워주는 방식입니다."


IFA까지 5일이 남았을 때. 김종연 대표는 메일 한 통을 받았다. 존 카맥이 보낸 메일이었다.

존 카맥: '제임스의 유산'을 플레이해봤는데, 이동할 때 캐릭터가 움직이는 것이 아니라 행성이 움직이는 방식으로 변경하면 더 좋을 것 같습니다. 쉬운 일은 아니겠지만 릴리즈 전까지 수정하도록 푸시하세요.

여러 수정 과정을 거쳤지만 삼성과 오큘러스 모두 게임이 어지럽다는 의견을 주었다. 수평선을 본 뒤 많이 괜찮아졌지만, 아직도 어지러운 현상은 조금 있었다. 그 해결책을 못 찾고 있던 상황에서 존 카맥이 해답을 제시한 것이다. 카메라와 캐릭터가 고정되고 바닥인 행성이 굴려지는 방식. 김종연 대표는 바꾸기로 했다. 수정한 뒤 어지러운 현상은 더 개선됐다.

"VR에서 어지러움을 줄이기 위해서는 고정된 화면과 움직이는 화면을 적절히 섞어야 합니다. 화면에 큰 영역을 차지하는 오브젝트가 고정되어 중심을 잡아주면, 어지러운 현상이 줄어들게 됩니다. '제임스의 유산'의 하늘과 같은 부분이나, FPS의 총기와 같은 부분 말이죠."


기어VR이기 때문에 생기는 문제도 있다. 눈앞에 프로세서가 있기 때문에 발열이 있으며, 충전하면서 플레이할 수 없기 때문에 배터리의 문제도 생긴다. 두 문제는 해결할 수 없다. 발열의 경우 다르게 본다면 모든 모바일 게임이 갖고 있는 문제이기도 하다. 기어VR의 경우에는 기기를 눈앞에 놓고 하는 방식이기 때문에 충전하면서 게임을 했을 경우 더 뜨거워진다.

김종연 대표의 추측이지만 충전하지 못하도록 설계했을 수도 있는 이유는 발열이 더 심해지지 않도록 하는 방안 중 하나일지도 모른다. SDK 자체적으로 기기의 온도가 높아지면 파워 세이브 모드(Power Save mode)가 켜진다. 이 모드가 켜지면 프레임 절반 수준으로 드랍되어 플레이가 힘들다. 눈에 가는 부담을 최소화하는 장치인 거다.

마지막으로 그외의 노하우를 공유하며 강연을 마쳤다. 시점은 완전한 정면보다 15도 정도 아래를 바라보게 설계해야 유저가 편하다. 기어VR은 엔진에서 VR환경으로 테스트할 수 없다. 안드로이드 기반이기 때문에 APK를 만들어 갤럭시 노트4에 설치해서 직접 플레이해봐야 정확히 확인할 수 있다.