게임엔진은 사람으로 따지면 뼈대다. 뼈대가 튼튼해야 살을 붙이기도 쉽고, 근육을 만들기도 쉽다. 반대로 뼈대가 허약하면 아무리 노력해도 살과 근육을 붙이기가 어렵다. <네드>(NED)라는 이름을 사용하던 시절 <이카루스>의 상황이 딱 그랬다. 노후화된 엔진은 개발팀의 발목을 잡고 있었고, 그래픽부터 기획까지 개발 곳곳에서 문제를 일으켰다.
결국 <이카루스> 개발팀은 어려운 선택을 했다. ‘이럴 거면 엔진을 바꾸자.’ 쉽지 않은 과정이었지만 나름대로의 목표도 세웠다. 엔진 노후화 과정을 겪으며 <이카루스>의 게임엔진을 교체했던 위메이드의 경험이 26일 KGC 2013에서 소개됐다. /디스이즈게임 안정빈 기자
위메이드 엔터테인먼트 홍성일 개발자
<이카루스>는 초창기에 ‘크라이 엔진’을 이용해서 개발됐다. 아직 <네드>라는 이름을 사용하던 시기다. 당시 크라이 엔진은 충분히 좋은 게임엔진이었다. 다만 몇 가지 문제가 있었다.
일단 별도의 엔진이 있는 게 아니라 <파크라이>의 소스코드 자체를 크라이 엔진이라고 칭하다 보니 <파크라이>의 최신 패치가 곧 엔진의 업데이트에 해당됐고, 이후 <파크라이>의 판권이 유비소프트로 넘어가면서 엔진의 업데이트도 종료됐다. 기본적으로 FPS게임 엔진이라는 것도 단점이었다.
이후 <이카루스>의 콘셉트를 수정하면서 개발이 늦어지고, 크라이 엔진을 이용한 개발도 한계에 봉착했다.
■ 노력해도 티가 나지 않는다? 낡은 엔진에 대한 불만
처음으로 문제가 터진 곳은 그래픽 파트였다. 아무리 노력해서 그래픽을 다듬어도 엔진의 한계 때문에 표현할 수 있는 능력에 한계가 있었다. 사용할 수 있는 이펙트도 한정적이고 색감도 단조롭다. 최신 기술을 이용할 수 있는 엔진으로 만든 경쟁작들과는 비교가 되지 않았다. 당연히 개선 요청이 끝없이 이어졌다.
기획자들도 문제였다. 당시만 해도 MMORPG 경쟁작이 많은 상황에서 게임엔진의 기능들을 이용해 콘텐츠를 다양하게 꾸미기는커녕 게임엔진에 맞춰 상상력을 제한해야 했다.
대표적인 예가 비행이다. 3D 그래픽 게임에서 비행을 하면 시야범위가 늘어나고, 땅 위에서 보는 것과 달리 먼 곳도 보이고, 평소에는 보이지 않던 부분도 보이고 그래야 하는 법인데 크라이 엔진으로는 이 부분을 처리할 수가 없었다. 그래서 결국은 남은 부분을 모두 안개 효과로 가렸다.
좋은 게임을 위해서는 처음에 기획한 아이디어를 구현한 후에도 살을 붙여 나가야 하는데, 게임을 개발할 수록 기획하던 부분마저 축소되는 주객전도의 상황이 벌어졌다. 개발팀 전부가 “노력해도 티가 나지 않는다”는 의욕상실의 늪에 빠졌다. 결국 <이카루스> 개발팀은 엔진 교체를 결심했다.
■ 크라이 엔진 3의 우연한 발견. TF팀을 이용한 치밀한 점검
엔진을 교체하자고 마음먹었지만 쉬운 일은 아니었다. 일단 적지 않은 기간이 걸리고 지금까지 만든 것들을 안정화시켜야 한다. 개발팀 입장에서는 일단 일정부터 빠듯했다. 엔진까지 바꾸는 상황에서 부분적으로 게임을 수정할 수는 없는 노릇이다. 큰 변화가 필요했다.
그러던 어느 날 개발팀에서 막연히 크라이 엔진 3의 SDK(소프트웨어 개발킷)를 이용해 게임에 붙여 봤고, 크라이 엔진 3와 크라이 엔진의 인터페이스가 70% 이상 같다는 사실을 찾아냈다. 시험 삼아 몇 가지 리소스를 얹어 봤더니 확실히 좋은 모습들을 보여줬다. 결국 <이카루스>의 게임엔진을 크라이 엔진 3로 교체하기로 결정됐다. “운이 좋았다”는 게 홍성일 개발자의 이야기다.
엔진 교체라는 큰 일을 위해서는 확실한 점검이 필요했다. 앞서 말한 것처럼 개발 일정만으로도 빠듯한 상황에서 전부 시간을 쏟을 수도 없었다. 엔진 교체가 지금은 괜찮지만 나중에는 어떤 결과를 보여줄지 모르기 때문이다.
그래서 디자이너 2명, 배경 디자이너 2명, 프로그래머 2명으로 구성된 작은 TF팀을 구축해서 당시 <네드>의 시작지점을 아예 크라이 엔진 3로 옮기는 실험을 진행했다. 리소스를 얼마나 그대로 가져올 수 있는가, 클라이언트의 기능이 제대로 살아있는가를 확인하기 위한 과정이었다. 결과는 역시나 성공.
■ 과유불급. 안정성과 최적화 중심으로 엔진을 옮기다
이후는 신세계였다. 같은 리소스를 붙여도 화질이 달라졌고, 몇 가지 효과만 가미해도 아쉬울 것이 없는 그래픽을 보여줬다. 기존의 크라이 엔진 리소스를 빼오는 것도 어렵지 않았다. 지형의 위치가 다소 어긋나는 문제가 있었지만 포토샵에서 위치를 조절하는 수준으로 간단히 해결됐다. 개발팀도 자연히 신이 났다.
물론 모든 리소스가 100% 적용되는 건 아니었다. 그동안 나름대로 깔끔히 정리하며 작업했다고 생각했는데 그럼에도 불구하고 에러가 쏟아졌다. 엔진 호환이 되고 훨씬 나은 퀄리티를 보여준다는 이유로 그냥 막 붙여 넣어 보자는 의욕이 앞섰던 탓이다. 결국 5일 넘게 에러를 잡고, 잡고, 또 잡는 과정을 거쳤다. 그동안 잡은 에러의 몇 배가 넘는 수준이었다.
결과적으로 수려한 광원과 원경표현 효과를 얻었고 야외묘사도 한층 좋아졌다. 이펙트도 원하는 대로, 기획도 원하는 대로 가능해졌다. 약 반년 동안의 고민과 노력 끝에 얻어낸 결과물이다.
그 후에는 최적화와 안정성을 우선으로 엔진 교체 작업을 시작했다. 과유불급. 욕심을 내기보다는 안정적인 상황에서 조금씩 엔진 교체를 거쳐야 한다는 게 위메이드가 배운 교훈 중 하나다. 엔진 교체를 위한 작업에는 약 4달이, 추가적인 콘텐츠 개발에는 약 3달이 걸렸다.
아래는 비교를 위해 첨부한 <이카루스>의 크라이 엔진과 크라이 엔진 3 시절 플레이 영상이다. 엔진을 바꾼 <이카루스>가 어떤 결과를 가져왔는지 직접 확인해 보자.
<이카루스>(네드) 크라이 엔진 버전 플레이 영상