동기화 영역 바깥을 향한 퀘스트 자동이동 문제
자동이동 기능은 전통적인 게이머 집단으로부터 여전히 좋은 평가를 받지는 못하는 모양입니다. 오래 전에 자동이동과 자동전투가 들어있는 게임을 처음 봤을 때 ‘아니 이럴거면 이 게임을 뭐하러 해요’ 하고 비웃었지만 이게 그리 단순한 문제가 아니라는 것을 깨닫는데 걸린 시간은 짧았습니다. 게임을 모바일 기계에서 플레이 하면서 플레이어에게 이전에 키보드와 마우스나 게임패드를 통해 하던 조작을 그대로 요구하는 것은 합리적이지 않았습니다. 합리적인 문제를 떠나 가능과 불가능을 가르는 기준에 가까웠습니다. 특히 자동이동은 서버에서 구동하는 멀티플레이어 온라인 게임에서 당시까지 겪어보지 못한 특이한 문제였습니다.
기능만 놓고 생각해보면 요구사항은 간단합니다. 퀘스트 저널 인터페이스가 있고 이 저널 아이템을 터치하면 저널 아이템의 퀘스트 목표가 가리키고 있는 위치로 이동하면 됩니다. 이동 경로는 목적지에 도달할 때까지 내비게이션 메시를 통해 계산하면 됩니다. 어떤 시대에는 이게 꽤 무거운 계산이어서 이 자체도 복잡한 연산이었지만 이제는 그 정도는 아닙니다. 꽤 멀리 떨어진 대상까지도 그냥 내비게이션 메시 상의 경로를 알아내도 큰 무리는 아닙니다. 하지만 우리가 만드는 게임이 서버에서 구동된다는데서 문제가 약간 생깁니다.
만약 목적지가 NPC처럼 고정되어 있을 것으로 예상되는 대상이라면 별 문제가 없습니다. 하지만 몬스터처럼 아이들 상태에서 움직이기 때문에 대상의 위치가 확실하지 않거나 대상이 여러 마리이거나 대상이 여러 지역에 분포되어 있거나 다른 플레이어에게 맞아 죽었는데 아직 리스폰 되기 전이어서 존재하지 않는다면 이야기가 조금 달라집니다. 쉬운 방법은 퀘스트 데이터에 이 몬스터가 배치될 지역의 어느 지점을 미리 입력해 놓는 겁니다. 그러면 몬스터를 찾아 이동하는 대신 일단 미리 정해진 지점까지 이동한 다음 그 주변의 몬스터를 검색하면 되니 문제가 조금 단순해집니다. 개발자가 직접 퀘스트마다 이동 위치를 찍어야 하므로 인력이 필요하고 유지보수가 어렵습니다. 특히 개발 후반부에 밸런싱을 하다가 몬스터 배치를 바꾸기라도 하면 퀘스트가 꼬이게 됩니다. 특정 몬스터가 배치되어 있을 것을 예상하고 퀘스트 이동 위치를 입력해 놓았는데 그 자리에 목표 몬스터가 없으면 자동으로 퀘스트를 진행할 수 없게 됩니다.
비슷하게 대상 가까이 이동하기 전까지는 대상의 위치를 정확히 알 수 없다는 문제도 있습니다. 멀티플레이어 온라인 게임은 주로 서버에서 구동되고 클라이언트는 자기 주변에서 일어나는 정보만 서버로부터 받아옵니다. 때문에 클라이언트 입장에서 플레이어와 멀리 떨어진 대상은 그 존재조차 알 수 없습니다. 그래서 멀리 떨어진 몬스터에게 이동하려고 할 때 클라이언트 입장에서는 그 몬스터의 위치는 커녕 그 존재조차 모르는 상황이어서 이동할 곳을 알 수가 없습니다. 방금 이야기한 대로 이동할 위치를 미리 정해놓는 방법이 있지만 유지보수 비용이 많이 들고 결정적인 순간에 - 보통은 런칭 직전 - 오동작할 가능성이 있습니다. 그래서 실제 몬스터의 위치로 이동하는 대신 개발자가 몬스터를 배치한 위치데이터를 보고 몬스터가 있을 대략적인 위치를 파악한 다음 일단 그 곳을 향해 자동이동을 시작합니다. 목적지에 가까워지면 서버가 주변의 정확한 위치 데이터를 주기 시작하므로 이제 정확한 몬스터 위치를 향해 이동하기 시작하면 됩니다.
요즘 플레이하고 있는 디아블로 이모탈은 아마도 퀘스트마다 이동 목적지를 직접 찍어 놓은 것 같습니다. 대상이 NPC처럼 이동하지 않는다면 - 특정 퀘스트에 이동하는 것처럼 보이는 NPC는 플레이어 개인에게만 보임 - 대상 NPC로 정확히 이동하지만 대상이 몬스터라면 몬스터가 출몰할 범위 정보와 퀘스트 자동이동을 통해 이동할 목적지를 사람이 직접 입력해 놓고 자동이동을 시작하면 일단 몬스터가 아닌 목적지를 향해 이동하고 목적지에 도달하면 퀘스트가 요구하는 실제 몬스터를 검색해 그 위치까지 이동합니다. 실제 몬스터까지 이동하는 사이에 몬스터가 죽으면 아무것도 없는 빈 공간에 멈춰섭니다. 이때는 퀘스트 저널 아이템을 다시 클릭해야 합니다.
요즘 세상에 자동이동을 지원하지 않는 이 장르 게임은 아주 드문 것 같아 모두들 적당한 방식을 찾았을 테지만 퀘스트 자동이동은 여전히 연구할 거리가 많습니다. 모바일 기계 환경에서 자동진행을 어느 정도 수준까지 지원해야 게임과 영상 사이의 미묘한 경계에서 게임으로써 본성을 유지할 수 있는지, 또 멀티플레이 환경에서 서로 다른 플레이어들이 자동진행을 시도할 때 이들의 플레이가 서로 덜 방해받도록 설계하거나 의도적으로 충돌하게 설계해 플레이어의 개입을 요구하도록 만들지 등은 게임디자이너 입장에서 여전히 흥미롭고 또 도전적인 문제입니다. 목소리를 내는 고객들이 썩 좋아하지 않는다는 측면에선 난처하기도 하지만요.