엔씨소프트의 새로운 MMORPG <블레이드 & 소울>을 처음 시작하면 볼 수 있는 인물인 홍문파 사부 홍석근. 사실 이 게임에 등장하는 주요 NPC의 이름은 개발팀 구성원의 실명인 경우가 많다. 일종의 스태프롤이기도 하면서 게임의 재미를 배가해 주는 일종의 장치인 셈이다.
이 중 홍석근은 게임 속에서는 스토리의 근간이 되는(사부의 죽음과 복수) 인물이며, 현실에서는 <블레이드 & 소울>의 프로그램 팀을 이끄는 리드 프로그래머이다. 과연 <블레이드 & 소울>은 다른 MMORPG와 어떤 차이를 보일까? 홍 사부를 만나 직접 들어봤다. /디스이즈게임 정우철 기자
※ <블레이드 &소울>의 상반기 3차 CBT를 앞두고 개발팀 릴레이 인터뷰를 준비했습니다. 첫 번째 인터뷰 대상자는 프로그램 팀의 홍석근 팀장입니다.
<블레이드 & 소울> 개발팀에서 본인이 하는 일과 프로그램 팀을 소개해 달라.
홍석근: 리드 프로그래머를 담당하고 있다. 프로그래머로서 전체적인 구현과 정책적인 결정을 하고 이를 잘할 수 있도록 만든다. 우리 팀은 다른 곳과 비슷한데 그래픽 엔진, 서버와 클라이언트로 구분된다. 나는 3개의 팀이 조화롭게 운영될 수 있도록 원활하게 조정하는 역할을 한다.
게임 초반에 등장했다가 죽는다. 캐릭터의 장본인으로서 어떤 기분이 들던가? 후반에도 나오나?
솔직히 말해서 게임에 내 이름이 등장하는 것은 내 의지가 아니었다. 배재현 PD가 넣으라고 해서 넣었다(웃음). 다른 개발팀 사람들이 다수 등장하는데 내부에서는 일종의 스태프롤과 같은 의미로 받아들이고 있다.
처음에 나오자마자 죽는 것은 개인적으로 다행이라고 생각한다. 2차 CBT를 해 봤으면 알겠지만 대사막 지역에서 영혼으로 잠깐 다시 등장한다. 그 뒤의 이야기는 스토리와 연관돼 그런지 나에게도 알려주지 않았다.
<블레이드 & 소울>은 일반 MMORPG와 비교하면 많은 차이를 보인다. 프로그래머로서 구분한다면 어떻게 보고 있는지 궁금하다.
보통 무엇이 많이 다르냐고 물어보면 “정말 많이 다르다”고 답한다. 기본적으로 장르가 무협이다 보니 프로그램 팀의 입장에서는 게임을 구현할 때 액션이라는 점에서 차이를 두고 있다. 예를 들면 경공이 대표적이다.
과거 배재현 PD가 “MMORPG에서 하지 말라는 짓은 다 했다”고 말한 적이 있다. 그 말 그대로 스킬 같은 것을 마구 사용하는 것도 <블레이드 & 소울>의 대표적인 차이점이고 우리 게임의 정체성이다. ‘하지 말아야 하는 것을 어떻게 구현할 수 있을까’ 많이 고민했다.
무협게임을 만들면서 어려운 점이 있다면?
무협게임을 만들면서 우리의 도전과제는 액션성을 살리는 것이었다. 사실 기존 액션게임의 전투를 <블레이드 & 소울>에서도 구현하는 것은 기술적으로 가능하다. 다만 이렇게 할 경우 서버가 버티지 못한다는 문제가 생긴다.
그래서 일반적인 액션게임의 액션을 시도해서는 안 됐다. 액션성의 중심점을 찾는 일이 가장 어려웠다. 어떻게 보면 추상적인 이야기인데 초반부터 개발을 진행하면서 어떤 모양으로 만들어질지는 아무도 모른다. 초반의 디자인이 후반으로 가면 갈수록 다른 모양으로 바뀌더라.
결과적으로 어떻게 무엇을 만들어야 하는지 알 수 없는 상황에서 개발을 진행했다는 점이 가장 어려웠다. 하지 말라는 것은 다 해 봐야 했으니까.
기존 액션게임의 모습을 MMORPG의 방식으로 구현하고자 했다.
2차 CBT를 진행하면서 스턴, 잡기, 반격기 등에 따라서 동기화가 안 맞는 문제가 자주 노출됐다. 해결할 방법이 있나?
CBT를 진행하는 이유는 게임이 완벽하지 못하기 때문에 다양한 리포트를 받기 위함이다. 사실 CBT 이후 유저가 보는 것보다 더 많은 문제가 들어왔고, 대책이 준비되어 있다. “완벽한가요?”라고 물어보면 “완벽한 게 어디 있나요”라고 말하겠다. 하지만 문제점, 특히 많이 알려진 버그 등은 대부분 해결했다.
<블레이드 & 소울>은 그래픽에 비해서 최적화를 잘 했다고 본다. 향후 어느 정도까지 최적화를 진행할 생각인가?
최적화는 개발 초기부터 신경을 쓴 부분이다. 타겟을 잡고 최적화를 한다. 솔직히 말해서 개발자들은 좋은 하드웨어를 사용한다. 개발의 퍼포먼스가 좋아야 하니까. 하지만 여기에 맞추면 곤란하다. 처음에 최적화를 하지 않고 ‘몇 년 뒤면(서비스 시점) 유저들의 하드웨어가 좋아지겠지’ 하고 믿어서는 안 된다.
우리는 처음 그래픽 리소스를 만들 때부터 아트 팀과 좋게 말하면 회의를 많이 했고 나쁘게 말하면 싸움을 많이 했다. 지금 <블레이드 & 소울>의 최저사양은 지포스 8600 정도에 맞춰져 있다.
유저들에게 공개하지는 않지만 내부적으로는 ‘초저사양’이라는 옵션이 있다. ‘초고사양’ 옵션도 존재한다. 외부에는 보이지 않는, 다양한 테스트를 진행한다. 현재 공개된 사양보다 낮은 사양에서 플레이가 가능하다고 자신 있게 말할 수 있다.
MMORPG에서 액션의 판정성을 어떤 방식으로 해결했는가? 또 유저의 피로도 부분이 문제가 될 수도 있을 듯하다.
대미지 판정의 경우 <블레이드 & 소울>은 논타겟팅이 아니다. 그래서 판정 문제에서는 자유로운 편이다. 콘솔용 액션게임처럼 보이려고 노력했다. 하지만 그 안에서 들어가는 시스템은 그것이 아니다. 간단하게 말해서 <블레이드 & 소울>은 타겟팅 게임이며, 이를 보조하기 위해 오토타겟팅이 들어갔다.
유저들은 동기화를 우려하는데… 예를 들어 논타겟팅이라는 것은 모든 스킬이 범위 스킬이라는 말과 비슷하다. 이 경우 동기화에 따른 문제가 생길 수 있지만 우리는 그런 문제가 아니다.
개발팀의 시점에서 보는 판정 이슈는 몇 가지가 있다. 일반 콘솔용 게임에서 보여주는 매끄러움이 더 있어야 하는데 없어서 신경을 쓰고 있다. 조작의 피로감에 대해서는 CBT를 통해 얻은 자료를 봤을 때 낙관적으로 본다. 콘텐츠의 강약조절을 통해 풀어야 한다고 생각한다.
일반적인 MMORPG와 달리 <블레이드 & 소울>은 액션이 선모션 후판정이다. 이를 구현하는 데 어려움은 없었나? 또 많은 사람이 몰려서 부하가 걸릴 경우 판정의 이슈가 생길 수도 있다.
일단 2차 CBT를 통해 충분한 부하 테스트를 할 수 있었다. 예비로 남겨둔 서버를 투입했을 정도로 예상보다 많은 사람들이 참여했다. 덕분에 우리가 예상했던 선을 넘어 테스트했다. 하지만 큰 문제가 발생하지 않아서 문제는 없다고 본다.
후판정에 대해서는 한 가지 시스템으로 만들어 진 것은 아니다. 일일이 다 설명하면 PT(프레젠테이션) 한 개 분량이 나올 정도다. 간단히 말해서 원거리 스킬의 경우 기존 MMORPG는 발사하는 순간 판정이 들어간다. 후판정은 판정이 들어가는 시간을 미루는 방식이다.
근거리 스킬에도 이와 비슷한 시스템이 들어간다고 보면 된다. 동작이 큰 스킬은 앞에서 판정을 하지 않고 뒤에서 판정하는 식이다. <블레이드 & 소울>에서는 모든 모션이 끝난 다음에 판정하고 있다.
언리얼 엔진 3를 사용하고 있다. 장단점이 있다면?
언리얼 엔진을 사용하는 이유를 크게는 두 가지다. 하나는 기능이다. 많은 것을 무리 없이 해줄 수 있기 때문이다. 또 다른 하나는 툴셋이다. MMORPG의 개발량을 무시할 수 없어서 이 두 가지를 본다. 언리얼은 이 두 가지에 대해서 기본기가 좋다. 우리가 가져와 개선하면서 사용하기에 좋은 엔진이다.
단점이자 제일 고생한 부분은 다른 것보다 인터페이스(UI)가 부실하다. MMORPG에서 요구하는 UI의 양이라는 것은 FPS게임에서 요구하는 것과 다르다. 이런 부분은 우리가 다시 만들었다고 보면 된다.
조만간 3차 CBT를 할 텐데, 프로그램 파트에서 가장 중점을 두고 있는 부분은?
안정성이다. 서비스를 앞두고 있기 때문에 콘텐츠를 준비하고 구현하는 것도 중요하지만 안정적으로 서비스해야 하는 부분이 중요하다. 요즘은 서비스를 앞두고 게임 외의 것을 만들어야 하더라. 우리는 게임만 만들면 안 되냐는 농담도 하고 다닌다.
액션을 구현하는 데 있어서 기본적으로 4개의 제한된 조작키로 개발해야 한다.
전체적으로는 8개지만, 기본적인 조작키는 4개다. 그런데 스킬 수는 굉장히 많다. 조건에 따라 쓰는 스킬이 다르다. 그래서 쉽게 하기 위해 오토타겟팅과 조건에 따라 맞춰 나오는 인터페이스를 선택했다.
이것을 만드는 작업이 가장 어려웠고, 동시에 개발의 콘셉트였다. 조건에 맞춘다는 것이 말은 쉬운데 실제 기술적으로도 대단한 건 아니지만 기획의 스킬 배치와, 우리의 구현과, 전투가 모두 고려된 상태에서 만들어야만 했다. 모델을 만들고 적용해 보면 감이 달라진다.
지금은 구현 방식도 많이 바꿨다. 편하게 사용할 수 있도록 기획에서는 스킬 배치도 많은 실험을 통해 만들었다. 이 과정이 길었다. 개발 과정 내내, 사실은 지금도 계속 바꾸고 개선하고 있다. 오랫동안 개발하는 과정 자체가 힘들다고 볼 수 있다.
스킬 트리는 상황과 조건에 따라서 지금도 계속 변하고 있다.
물리엔진은 어느 정도 사용하고 있고, 또 이를 어떻게 활용할 생각인가?
온라인게임에서 물리엔진을 적극적으로 활용하기는 힘들다. 서버가 물리엔진을 돌려야 하는데 현재 시점에서 이를 구현할 수 있는 서버는 없다고 본다. 대신 클라이언트에서 보다 자연스럽게 보여줄 수 있도록 사용한다.
<블레이드 & 소울>은 의상부터 그래픽적 표현에서는 물리엔진을 적극적으로 사용하고 있다. 물리엔진은 하드웨어 가속이 현재는 브랜드마다 다르다. 그런 것도 쉽지 않다.
존 방식을 짧은 로딩으로 해결 했는데, 어떤 의미가 있나?
<블레이드 & 소울>은 심리스 월드가 아니다. 지금은 짧은 로딩을 하는 존 방식으로 만들어졌지만 개발 초기에는 로딩이 잦았다. 빠른 로딩을 기획한 의도야 뻔하다. 보기 싫었으니까. 그래서 미리 로딩을 시키는 방법을 생각했다. 유저 캐릭터의 이동 예측 알고리즘을 통해 최대한 로딩을 줄이고 있다. 이는 현재도 하고 있는 일이다. 참고로 하드웨어가 좋으면 로딩이 더 빠르다.
그래픽 리소스나 콘텐츠 등을 생각한 클라이언트 용량은 어느 정도로 보고 있나?
2차 CBT의 클라이언트 용량이 아마 6GB 정도였을 것이다. 굳이 말하자면 다른 게임에 비해서는 적은 편이다. 기존 게임들의 클라이언트 용량이 큰 이유 중에 하나가 프리 렌더링 라이트 맵을 갖고 있기 때문이다. 개발 초기에는 용량의 압박도 내부에서 있었다.
용량이 커서는 안 된다는 공감대가 있었고 이에 맞춰 기술을 선택했다. 기반 기술이 있는데 여러 가지 중에서 선택해야 한다. 심리스와 존 방식의 차이도 이에 기인한다. 우리는 최적화와 용량에 투자하기로 했고, 이런 선택에 따라 비교적 적은 용량을 만들었다고 본다.
기획팀에서 요구하는 것 중에서 결사반대했거나 황당했던 것이 있다면?
사실 제일 반대했던 것이 오토타겟팅이었다(웃음). 개발을 진행하는 데 있어 황당하기보다 좋지 않은 기획이라는 것은 분명하지 않은 경우의 수를 나열하는 기획, 추상적인 것들이다. 그런데 기획으로 초기에 황당하다고 생각했던 것이 대부분 잘됐다. 오토타겟팅의 경우도 마찬가지다.
마지막으로 유저나 후배 프로그래머, 배재현 PD에게 하고 싶은 말은?
배재현 PD에게 하고 싶은 말은 “제발 우리도 남들이 하는 것만 만들었으면 좋겠다”는 것이다(웃음). 개발팀에는 “제발 집에 좀 가라”고 말하고 싶다. 개발을 진행하다 보면 스스로 탄력을 받아서 집에 안 가는 경우가 많다.
프로그래머는 일에 취하면 계속 일을 붙잡는 경향이 있다. 프로젝트 전체로 보면 좋은 모습은 아니다. 스스로 컨디션을 관리하면서 게임을 개발하는 것이 좋다고 생각한다.
후배들이라기보다 프로그래머들에게 말하고 싶은 것은 있다. 게임업계에 들어왔다고 해서 게임을 많이 해야 좋은 프로그래머가 되는 건 아니다. 재미 없는 이야기지만 좋은 프로그래머가 되기 위해서는 학교 수업을 잘 들으면 된다.
농담이 아니다. 게임을 좋아하는 것은 좋은 일인데, 그것만 좋아하는 친구들에게는 별로 해줄 말이 없다. 프로그램은 게임을 한다고 코드가 보이는 것은 아니다. 사람을 뽑을 때도 학교 공부를 잘하는 사람으로 뽑게 된다. 뻔한 말이지만 가장 중요한 것이다.