개발자는 맵을 만들고, 게이머는 이를 소비한다. 항상 승자는 게이머다. 게이머들의 열정 앞에선 몇 달을 고생해 만든 맵도 버티지 못한다. 이런 흐름에 도전하는 신작이 있다. 자동 맵 생성 방식을 이용해 무한한 던전을 선보이려는 아이덴티티게임즈의 <던전스트라이커>다.
<던전스트라이커>는 어떤 이유로 자동 맵 생성 방식을 도입했고, 남들이 꺼려한 기술을 사용하기 위해 어떤 노력을 기울였을까? 아이덴티티게임즈 진현성 시니어 프로그래머가 중국 개발자 컨퍼런스에서 공개한 노하우를 살펴보자. /상하이(중국)=디스이즈게임 김승현 기자
■ 항상 새로운 경험을 제공하기 위한 노력
아이덴티티게임즈의 진현성 시니어 프로그래머.
“온라인게임 유저들이 가장 많이 요구하는 것은 새로운 경험이다. 매번 새로운 맵을 만드는 실시간 자동 맵 생성 방식은 이러한 니즈에 대한 해결책이 될 수 있다.”
진현성 프로그래머는 실시간 자동 맵 생성 방식의 장점으로 ‘반복 콘텐츠의 필요성’을 꼽으며 강연을 시작했다. 온라인게임은 그 특성상 콘텐츠 소모속도가 빠른 반면 개발속도는 그를 따르지 못한다. 하지만 실시간 자동 맵 생성 방식은 매번 새로운 맵을 게이머들에게 제공하기 때문에 새로운 경험에 대한 게이머들의 욕구를 충족시켜 줄 수 있다.
‘적은 용량’도 실시간 자동 맵 생성의 장점이다. 사전에 온전히 만들어진 수많은 맵과, 몇 가지 구성요소만으로 새로운 맵을 만드는 자동 맵 생성 방식은 차지하는 용량이 다를 수밖에 없다. 특히 IT 인프라가 발달하지 못한 해외에서는 이러한 장점이 더 부각된다. “실제로 아직도 많은 국가에선 100 MB 이상의 대규모 패치는 꺼려한다”고 진현성 프로그래머는 덧붙였다.
그가 마지막으로 꼽은 실시간 자동 맵 생성의 장점은 ‘빠른 개발속도’였다. 그가 말한 개발속도란 게임이 론칭되기까지의 개발속도와 이후 업데이트에 소요되는 개발속도를 합한 개념이었다. 사전에 맵을 제작하는 방식은 개발 초기나 서비스 후기나 비슷한 시간이 걸린다. 반면 실시간 자동 맵 생성 방식은 리소스와 경험이 쌓일수록 빠른 개발, 즉 업데이트가 가능해진다. 진현성 프로그래머는 “빠른 업데이트 속도야 말로 온라인게임의 경쟁력이다”고 강조했다.
■ <던전스트라이커>로 알아보는 실시간 자동 맵 생성
실시간 자동 맵 생성 방식은 맵의 100%를 프로그램이 임의로 생성하는 방식부터 이미 만들어진 전장의 연결 순서만 변경하는 방식까지 다양하다. 진현성 프로그래머는 “각 방식의 장단점이 뚜렷하기 때문에 무엇보다 콘텐츠의 성격에 적합한 방식을 조합하고 적용하는 것이 중요하다”고 힘주어 말했다. 그는 <던전스트라이커>의 신규 콘텐츠 개발 과정을 보여주면서 실제 적용사례를 설명했다.
2차 CBT에 도입될 ‘차원 던전’ 영상
‘차원 던전’은 2차 CBT에 공개될 웨이브형 콘텐츠다. 유저는 차원 던전 속에서 끊임없이 몰려드는 몬스터를 막아야 한다. 진현성 프로그래머는 “차원 던전을 개발하며 그래픽 디자이너가 배경을 제작하고 프로그램이 할당된 전장을 임의의 패턴으로 구성하는 패턴 매칭 방식을 도입했다”고 설명했다.
패턴의 매칭 방식은 던전을 생성할 때마다 임의로 변화하는 오브젝트 패턴을 부여하는 방식이다. 그만큼 의외성이 보장되지만 맵의 전체적인 관점에선 그래픽 일관성 등을 저해하는 위험이 늘 존재한다. 하지만 이러한 단점은 그래픽 디자이너가 배경 작업을 분담하면서 해소됐다.
2차 CBT에 도입될 ‘카오스 던전’ 영상
2차 CBT에 새로 선보일 ‘카오스 던전’은 순환형 콘텐츠다. 카오스 던전은 ‘루트 선택’이라는 실시간 자동 맵 생성 방식으로 개발됐다. 루트 선택 방식은 입구와 보스룸이나 갈림길과 같은 중요한 전장만 레벨 디자이너가 디자인하고, 나머지는 프로그램이 임의로 전장을 배치하고 연결하는 방식을 말한다.
루트 선택 알고리즘은 미리 만들어진 레벨룸(=전장)을 사용하기 때문에 개발기간이나 맵을 구성하는 오브젝트들의 용량은 기존의 방식과 비슷하다. 그러나 전장 배치 순서가 변동되기 때문에 유저는 항상 새로운 경험을 할 수 있다. 루트 선택은 만들어진 전장을 재조합하는 방식이기 때문에 레벨·그래픽 디자이너가 던전의 퀄리티를 제어하기 용이하다. 반면 그만큼 손이 많이 가기 때문에 다른 실시간 자동 맵 생성 방식보다 비용과 시간이 많이 소모된다는 단점이 있다.
‘무한탑’ 영상
‘무한탑’은 현재 개발 중인 던전 콘텐츠로, ‘공간분할’ 방식을 통해 디자인됐다. 공간분할 방식은 미리 만들어진 전장을 배치한 후, 프로그램이 각 전장을 연결하는 통로를 구성하는 방식이다. 레벨 디자이너가 만든 레벨룸을 뼈대로 삼아 프로그램이 만든 레벨룸이 배치되는 식이기에 맵의 크기와 동선을 제어하기 쉬운 편이다. 다만 레벨 디자이너가 만든 레벨룸과 프로그램이 만든 레벨룸의 퀄리티가 차이 날 확률이 높아 개발자들의 주의가 필요하다.
■ “프로젝트 초기에 자동 맵 생성 기술 적용을 결정하라”
“실시간 자동 맵 생성 기술은 어렵지 않다. 하지만 온라인게임에 적용하는 것은 다른 문제다.”
진현성 프로그래머는 그 이유로 “기존 방식의 노하우를 실시간 자동 맵 생성 기술에는 적용하지 못하기 때문이다”고 설명했다.
일례로 서버 분야에서는 기존의 느린 로딩이나 랙을 최소화하기 위해 서버가 미리 모든 맵을 메모리에 저장해 놓는 방법을 취했다. 하지만 자동 맵 생성 기술은 그때그때 새로운 맵이 생성되기 때문에 이러한 방식을 사용할 수 없다. 때문에 자동 맵 생성만을 전담하는 서버를 마련하는 식으로 새로운 방법을 궁리해야 한다.
이외에도 맵이 매번 새로 만들어지기 때문에 물리충돌이나 광원처리를 ‘미리 계산해야 하는 엔진’이나 ‘계산 속도가 느린 엔진’의 사용이 제한된다.
진현성 프로그래머는 “실시간 자동 맵 생성 방식을 적용하려면 최대한 프로젝트 초기에 결정해야 한다”고 강조했다. 프로젝트 초기부터 자동 맵 생성 방식을 고려해야만 게임에 온전히 적용할 수 있기 때문이다. 특히 서버 분야에서는 서버의 구조와 자동 맵 생성 방식의 궁합이 맞지 않으면 양자가 공존하는 것은 거의 불가능하기 때문에 더욱 중요하다.
진현성 프로그래머는 끝으로 “자동 맵 생성 기능은 재미를 보장하지 않는다. 중요한 것은 어떻게 이를 이용해 재미를 만들지 궁리하는 일이다”라며 강연을 마쳤다.