왜 던전을 클리어 한 다음 일정 시간이 지나면 나가야 하나요?
오래 전에 MMO 게임에서 인스턴스 던전을 플레이한 기억을 떠올려봤습니다. 이 시대의 던전은 현대에 비해 꼼수를 사용할 여지가 더 많았습니다. 가령 던전 내부 공간은 서로 길게 연결되어 있어 한번 지나간 길을 다시 돌아올 수 있었습니다. 여기에 몬스터들의 추적 거리가 아주 넓게 설정되어 있어 만약 몬스터들을 상대하기 벅차면 던전 길이 전체를 이용해 몬스터를 먼 곳까지 끌고 다니며 긴 시간을 들여 천천히 상대할 수도 있었습니다. 플레이어를 공간 안에 고립시키는 ‘보스룸’ 개념이 확립되기 이전에는 보스조차도 비슷한 방법으로 플레이 할 수 있었습니다.
이렇게 긴 시간을 들이는 플레이를 플레이어들만 사용하는 것은 아니었습니다. 개발자들 역시 던전 플레이어들이 얼마나 긴 시간을 투자해야 할지 현대보다 훨씬 덜 신경 쓴 것 같습니다. 플레이어들이 던전에서 몇 시간을 쓰든 던전을 설정에 맞도록 길고 어렵게 만들었습니다. 덕분에 던전을 함께 클리어한 플레이어들의 경험은 깊은 추억이 되어 게임에 더 깊게 몰입하게 만들곤 했습니다. 플레이어들은 보스가 사라진 적막한 던전 안에서 모여 스크린샷을 찍고 바로 나가기 아쉬워 채팅을 하며 머물기도 합니다.
어느 시점부터인가 던전을 클리어 하고 나면 타이머가 나타나 그 시간이 지나면 던전 밖으로 쫓겨났습니다. 다시 들어갈 수 있으니 딱히 쫓겨났다고 하긴 뭣 할 수도 있지만 내 의지와 관계 없이 시간이 끝나면 나가야 하니 쫓겨났다고 해도 크게 이상하지는 않다고 생각합니다. 이전 시대에 인스턴스 던전은 나와 우리 파티가 온전히 소유한 공간이었다면 클리어 하자마자 타이머가 나타나 남은 시간을 보여주는 던전은 마치 노래방 기계의 타이머 마냥 보는 사람을 불안하게 만듭니다. 사실 현대의 모바일게임에 던전은 이전 시대에 비해 한 세션이 훨씬 짧고 경험은 이전 시대에 비해 훨씬 옅습니다. 때문에 내가 던전 안에 머물 미련이나 이유가 별로 없기는 합니다. 또 게임을 구동하는 기계는 정보통신기기 역할을 해야 하니 던전 안에 머물기보다 다른 앱으로 전환할 일이 훨씬 많기도 합니다. 이 타이머가 필요한 정확한 이유는 저도 잘 모르겠습니다. 하지만 개발하면서 추측한 이유는 크게 두 가지 입니다.
첫째. 동시에 유지할 수 있는 인스턴스 던전 갯수에 제한이 있습니다. 흔히들 ‘게임 서버’ 하면 기계 한 대를 생각할 수 있지만 실제로는 수많은 서버들로 이루어진 ‘서버 군’을 서버 하나로 부릅니다. 이 안에는 로그인 서버, 게임 서버, 데이터베이스 서버, 던전 서버 등 여러 역할을 하는 서버가 포함되는데 이들 중 던전 서버가 있습니다. 이들은 주요 던전 인스턴스를 실행하는데 모든 던전 플레이어들에게 적당한 수준의 응답을 하려면 한 던전 서버 군이 호스팅 할 수 있는 최대 던전 수에 제한을 둬야 합니다. 그렇지 않으면 던전 안에서 몬스터들의 응답이 늦어져 플레이 경험을 망가뜨립니다. 만약 던전이 시간 제한 없이 계속해서 유지될 수 있고 유저들이 던전 안에 들어가 나오지 않게 되면 던전 서버에 던전이 누적되어 던전 서버가 호스팅하는 던전 전체에 영향을 끼칠 수 있게 됩니다. 그래서 던전 서버 군이 호스팅하는 던전 갯수를 통제하기 위해 클리어 된 던전을 일정 시간이 지나면 없애 전체 던전의 성능을 유지합니다.
둘째. 기간 당 진입 횟수에 제한이 있는 던전의 횟수 제한을 통제하기 위해서 입니다. 가령 일주일에 한 번만 들어갈 수 있는 던전이 있다고 합시다. 이제 던전 입장 횟수를 언제 셀 것인지 정의해야 합니다. 던전에 입장하면 횟수를 차감할 수 있습니다. 그런데 던전 플레이 중에 뭔가 문제가 일어나 던전을 클리어하지 못하면 억울하게 입장횟수 한 번을 날린 셈이 됩니다. 모바일에서는 특히 이런 일이 일어날 가능성이 높습니다. 아직 던전을 클리어하지 못한 상태에서 전화가 왔고 통화가 길어지는 사이에 게임 앱이 종료된다면? 재접속 할 때 바로 앞에서 이야기한 이유 때문에 던전이 사라졌을 수 있습니다. 그럼 이제 이번 주에 이 던전에 더이상 입장할 수 없게 됐군요. 만약 이 던전이 성장 크리티컬한 던전이라면 이 플레이어는 분노에 가득 차 카페에 무서운 글을 남길 겁니다.
상당수 게임 서비스들은 매주 특정 요일에 정기점검을 하는데 이 때 모든 플레이어들의 접속을 종료시킵니다. 이 때 주 단위로 동작하는 카운터들도 함께 초기화됩니다. 일주일에 한 번만 들어갈 수 있는 던전은 이 때 횟수가 초기화 됩니다. 그런데 만약 게임을 서비스 한 지 오래 되어 몇 주에 한 번만 정기점검을 해도 되거나 데이터 패치 정도는 무중단으로 할 수 있다면 오히려 문제가 생깁니다. 누군가 던전에 들어가서 일주일 내내 나오지 않고 있습니다. 이 상태로 주 단위의 횟수들의 초기화 시점을 통과합니다. 그런데 우연히 던전 횟수 차감을 ‘던전에서 보상을 획득할 때’ 또는 ‘던전을 나갈 때’로 설정했다면 문제가 될 수 있습니다. 나는 지난 주에 던전에 들어가서 이번 주에 나왔는데 횟수 차감은 이번 주 횟수가 차감 됐기 때문입니다. 나는 지난 주에 던전을 플레이 했을 뿐인데 이번 주에 플레이 할 수 없게 됐습니다.
서버의 무중단 여부와 관계 없이 이런 상황을 근본적으로 없애기 위해 던전의 최대 유지 시간을 제한하고 클리어 된 던전의 유지 시간 역시 제한합니다. 가령 클리어 하는데 10분이 걸릴 것으로 예상하는 던전이 있다면 던전의 최대 유지 시간은 약 60분 가량으로, 클리어 후 유지 시간은 약 5분으로 설정합니다. 이제 한 주 단위로 입장 횟수를 통제하는 던전 인스턴스가 오랫동안 남아 이상한 문제를 일으키지 않게 됐습니다. 동시에 오래된 게임의 던전에서 느끼던 추억도 함께 사라지게 됐네요. 하지만 크게 걱정하지 않아도 됩니다. 현대의 모바일 MMO 게임들은 현대인들의 조각난 시간에 맞춰 던전 한 세션의 길이를 점점 더 줄이고 있습니다. 이전 시대처럼 던전에서 몇 시간씩 플레이하고 중간에 멈춰 다 같이 밥을 먹고 다시 모일만큼 긴 던전은 더이상 만들지 않습니다. 대신 점심시간에, 화장실 다녀오다가, 출퇴근 사이에 잠깐씩 던전 한 바퀴를 돌 수 있게 됐습니다. 장단점이 있다고 생각하고, 또 이게 제가 알고 있는 던전을 클리어 한 다음 플레이어들을 쫓아내는 장치가 있는 이유입니다.