슈터 장르에서 마이크로퀘스트를 부여하는 시초는 CTF

개발하다가 일어나는 일을 종종 미래의 눈높이와 현재의 목표, 온라인 멀티플레이 게임과 가장 완벽한 상호작용 같은 글을 통해 소개하곤 하는데 이번 프로젝트는 과거의 다른 프로젝트와 비교해 개발하며 일어나는 일을 공유하는데 더 약한 제한이 있기 때문입니다. 다른 프로젝트 같으면 당연히 회사 밖에서는 입이 없고 회사 전체에 유일한 입은 PR 부서에 있을 뿐이었으며 개발 관련된 어떤 정보도 실수로라도 공유해서는 안되는 강한 보안 규칙을 적용 받고 있었습니다. 그런데 이번에는 흥미롭게도 개발하며 일어나는 사건 사고, 또 우리들의 개발 상황 같은 주제에 대해 상대적으로 느슨한 제한에 따라 이야기할 수 있게 됐습니다

덕분에 이전에 비해 좀 더 편안하게 프로젝트에 참여하며 겪는 여러 가지 일을 소개할 수 있게 되어 개인적으로 나쁘지 않다고 생각합니다. 아주 오래 전에 겪은 일을 그 때 일기를 동원해 이제 와서 소개하려고 해도 요즘 시대에 잘 어울리는 정보나 사례가 아니기가 쉽기 때문에 소개하기 어려운데 이번에는 지금 당장 일어나는 일을 소개하고 또 문제를 해결하거나 의사결정을 하는 과정 자체를 설명할 수 있어 설명하는 입장에서도 재미있고 또 현재 시점에 어느 정도는 어울릴 거라 예상합니다.

MMO 장르의 흔한 PvE 환경을 준비하며 레벨에 스폰 된 플레이어가 목표를 찾아 이동하고 행동하게 할 방법을 마련해야 했습니다. 모든 준비를 갖춘 이미 출시된 게임을 생각해 보면 화면에 지금 수행해야 하는 목표가 퀘스트 모양으로 나타나고 또 바닥에 이동 경로를 그려 주거나 화면 어딘가에 미니맵을 표시하거나 화면 상에 인디케이터를 띄워 방향과 거리를 안내해 주기도 합니다. 우리는 이런 방법 모두를 남은 기간 안에 채용할 수 없는 상황이기 때문에 이들 중 비용 대비 효율이 너무 떨어지지 않는 방법을 선택해야 했습니다.

우선 퀘스트 모양은 꽤 괜찮기는 하지만 개발에 참여하는 우리들 스스로도 일부만 완성된 상태를 상상해 그 수준까지 개발하기 쉽지 않기 때문에 고려하지 않았습니다. 일단 퀘스트처럼 보이는 인터페이스가 화면에 나타나는 순간 개발팀 전체가 그걸 이미 완성된 퀘스트라고 착각하고 완성된 퀘스트를 통해 경험한 온갖 기능의 부재를 문제 삼기 시작하는데 제한 시간 안에 완결된 빌드를 만들어내는데 심각한 문제를 일으키기 때문입니다.

미니맵도 고려하지 않기로 했습니다. 미니맵은 꽤 단순해 보이지만 본격적으로 이걸 잘 만들려고 마음먹으면 결코 간단하지 않습니다. 우선 미니맵에 표시할 에셋를 별도로 제작해야 하는데 단순히 레벨을 탑뷰에서 찍은 이미지를 미니맵 에셋으로 사용할 수는 없습니다. 물론 탑뷰에서 찍은 이미지를 기준으로 시작하기는 하지만 의도를 가지고 리터칭을 한 다음에야 미니맵에 사용할 수 있습니다. 하지만 우리는 지금 미니맵에 아무런 의도를 가지고 있지 않았기 때문에 그저 보기 좋은 모양으로 만들기 위한 리터칭은 재작업 가능성이 너무 높았습니다. 또한 미니맵 상에 표시할 대상과 표시하지 않을 대상, 정적으로 존재하는 대상과 동적으로 존재하는 대상의 표시 방법 결정, 특정 지점과 범위를 표시할 정책과 방법 같은 단시간 안에 동작을 정의하고 이를 구현하기 쉽지 않으리라 판단했습니다.

카메라 방향과 대상의 방향이 일치하면 화면 안에 그 대상의 위치와 거리를 표시하는 수준으로 구현하기로 했습니다. 물론 대상과 반대 방향을 바라보면 화면에 아무 표시도 나타나지 않겠지만 게임 안에서 목적을 잃었을 때 주변을 둘러보며 인디케이터를 찾은 다음 그쪽으로 이동하기 시작하면 지금 싸움이 일어나고 있는 위치에 도달할 수 있습니다. 인디케이터 인터페이스만 결정하면 중요한 결정 요소가 거의 없습니다. 중간에 뭔가 문제가 생겨도 기획적 문제보다는 대부분 기술적 요소일 가능성이 높아 부담이 적었기도 했고요.

한편 이런 의사결정을 뒤로 하