폴튼에 매달린 물체 위에 사람이 올라가 있으면 어떻게 할까
MGS5의 검문소와 파크라이6의 검문소 디자인에서 MGS5가 꽤 괜찮은 오픈월드 게임임에도 오픈월드 게임 팬들 사이에 아주 널리 알려지지는 않은 것 같아 아쉽다는 이야기를 한 적이 있습니다. 개인적으로 오픈월드 게임을 좋아하고 또 한국에서는 쉽지 않을 수 있지만 언젠가 오픈월드 게임을 만드는데 참여할 수 있으면 좋겠다고 생각해 왔습니다. 그런데 정작 오픈월드 게임을 만들어 볼 기회를 얻자 지레 겁부터 집어 먹었는데 여러 오픈월드 게임을 플레이 하며 오픈월드를 만드는 일이 결코 이를 처음 해 보는 사람들이 잘 할 수 있을 만한 일이 아니라는 생각이 들었기 때문입니다.
흔히 유비소프트에서 짧은 간격으로 출시하는 여러 오픈월드 게임들을 비하하는 의미로 공장식 오픈월드 게임이라고 부르며 종종 이런 게임에는 흉한 특징이 발견되기도 하지만 게임 만드는 사람 입장에서 곰곰히 생각해 보면 공장식 오픈월드 게임이라는 표현이야말로 유비소프트가 일정 수준 이상의 오픈월드 게임을 만드는데 굉장히 익숙하다는 찬사로써 해석할 수 있다고 생각합니다. 그들은 거대한 에셋을 만들어 오픈월드 자체를 구성할 수 있고 그 안에서 게임 시스템의 온갖 특성을 쥐어 짜 만든 다양한 할 거리를 만드는데도 익숙하며 넓은 세계를 이동하는 다양한 방법과 세계를 구성하는 여러 시스템들이 복잡하게 상호작용하는 가운데 고객이 게임 규칙을 너무 많이 어기지는 못하도록 부드럽게 가이드 하는 노하우가 있습니다. 그렇지 않고서는 일정 수준 이상의 오픈월드 게임을 ‘공장’이라는 말을 들을 정도로 만들 수는 없습니다.
종종 썩 성공적이지는 못한 것 같은 오픈월드 게임 사례로 사이버펑크 2077 사례가 언급되곤 하는데 출시 초기 이 게임을 플레이 하며 든 생각은 이들이 이 상태를 만드는데 엄청나게 고생하긴 했지만 그 결과는 실망스럽고 이런 상태가 된 가장 큰 원인 중 하나는 이들이 현대나 미래에 기반한 오픈월드의 복잡도를 과소평가했을 수 있겠다는 생각을 합니다. 가령 게임은 기초적인 이동에서부터 문제를 일으켰는데 내가 직접 자동차에 타고 운전을 할 때는 잘 드러나지 않지만 지나가는 자동차 지붕에 뛰어 올라 기계가 운전하는 자동차의 움직임을 관찰해 보면 기초적인 이동조차 제대로 만들어지지 않았다는 사실을 알 수 있습니다.
가령 큰 길과 작은 길이 만나거나 작은 길에서 램프를 타고 큰 다리 위로 올라가는 등 분명 길 구조가 여러 갈래에서 한 갈래로 합쳐지거나 그 반대가 될 때 이 상태를 제대로 제어하지 못했습니다. 또 기초적인 몬스터 스폰 역시 인공 구조물로부터 몬스터가 나타날 때 자연 배경에서보다 훨씬 더 높은 기준이 필요하다는 사실 역시 잘 인지하지 못했던 것 같아 보입니다. 그저 플레이어 눈 앞에서 스폰 되지만 않으면 된다고 생각한 것 같지만 고객들은 순식간에 경찰이 카메라 바깥에서 순식간에 스폰 된다는 사실을 눈치채고 이 알량한 동작에 실망하기도 했습니다.
하지만 이런 이야기를 하기에는 조만간 제 스스로의 발부터 타 들어갈 예정이라 남 이야기 하듯 말할 수는 없습니다. 오픈월드 게임은 일단 그 월드를 만들어내는 일부터 보통 문제가 아니고 그 안에 게임의 온갖 특성을 쥐어 짜 할 거리를 만들어 내는 것 역시 장난이 아닐 것이 분명하며 세계를 구성하는 온갖 시스템들이 제멋대로 상호작용 해 세계를 부숴버릴 것 역시 분명한데 여기에 이 세계가 멀티플레이 환경에서도 멀쩡하게 동작해야 할 것을 감안하면 분명 이 프로젝트를 마무리할 즈음에는 머리털이 다 허옇게 변해버릴 지도 모른다고 생각합니다.
그건 그렇고 처음에 이야기한 메탈기어솔리드 5는 그들이 오픈월드 게임을 처음 만들어 보는 것임을 감안할 때 엄청나게 잘 다듬어져 있는데 일단 넓고 다양한 환경으로 세계를 채웠을 뿐 아니라 그 안에 전통적인 메탈기어솔리드의 플레이를 다양하게 체험할 수 있을 뿐 아니라 오픈월드 특유의 특징 마저도 포용해 도대체 어떻게 이들이 첫 오픈월드 게임을 이렇게 만들어낼 수 있었는지 놀랍습니다. 게임의 여러 가지 측면이 흥미롭지만 오늘은 지금까지 이야기한 오픈월드 게임 만들기 무서워 징징징 근데 사이버펑크는 별로야 징징징 같은 내용과 전혀 관계 없이 갑자기 메탈기어솔리드 5를 플레이 하며 개인적으로 흥미롭다고 생각한 게임디자인 의사결정 중 하나인 플톤 익스트랙션 메커닉의 특징에 대해 생각해보려고 합니다. 지금까지 이야기한 건 모두 주제와 관계 없는 내용이었고 이제부터 주제와 관련된 이야기를 할 참입니다.
플톤 익스트랙션은 메탈기어솔리드 5에서 필드의 다양한 사람, 동물, 물체들에 풍선을 달아 하늘로 날려보내면 이를 공중에 있던 비행기가 낚아 채 기지로 가져가는 메커닉입니다. 비슷한 아이디어가 냉전시대에 실제로 있었던 모양인데 영화 배트맨 타크나이트의 홍콩 씬에서도 등장합니다. 영화에서는 풍선의 부력으로 물체를 들어올리지는 않고 풍선은 단지 위치를 알려주는 역할을 하며 비행기가 풍선을 낚아 채면 풍선에 매달린 물체를 끌어가도록 되어 있는 것 같아 보입니다.
‘Fulton Extract on Container’을 보면 플톤 익스트랙션을 사용해 사람, 동물, 물체, 게임 진행에 따라 심지어 컨테이너도 들어 올려 기지로 보낼 수 있는데 실제 세계에서는 분명 가능할 것 같지 않은 이런 모습을 꽤 현실적으로 보이는 게임에 자연스럽게 녹여낸 점도 메탈기어솔리드 시리즈가 대대로 잘 해 오던 것입니다. 참고로 이 플톤 익스트랙션은 초반에 풍선을 달아 사람이나 작은 동물을 전송할 수 있고 게임을 진행해 기능을 업그레이드 하면 더 큰 차량과 컨테이너를 전송할 수 있으며 중후반에 가면 풍선 모양이 아니라 웜홀이 나타나 전송 대상을 전송시킵니다.
그런데 이 플톤의 동작을 오랜만에 영상을 통해 다시 보다가 컨테이너 같은 커다란 물건을 전송할 때 내 캐릭터가 함께 전송되는 장면을 보고 이런 동작은 어쩌면 그리 단순하지는 않았을 의사결정의 결과가 아니었을까 하는 생각을 해봤습니다. 여기부터는 온전히 뇌피셜로 완전히 아무런 의미가 없을 수도 있습니다. 다만 한국에서 주로 MMO 게임을 만들며 겪은 의사결정 과정에 비춰 컨테이너 위에 있는 사람과 컨테이너 자체를 함께 기지로 전송해 버리는 동작은 그리 단순하지 않았을 수 있다고 생각합니다.
먼저 게임에서 내 캐릭터가 실제 세계의 인간은 도저히 가지고 다닐 수 없을 정도로 많은 무기와 아이템을 가지고 다닐 수 있는 것은 게임적 허용입니다. 사람 한 명이 총 여러 정과 대량의 탄약, 대공화기, 대전차화기 따위를 한 번에 들고 걷거나 뛸 수는 없습니다. 또 성역에서 악마를 사냥하는 야만용사 한 명이 무기 열 몇 개와 여러 보석과 열쇠와 물약과 혈석과 약초와 엄청난 금화를 한 번에 든 채 그렇게 격렬하게 전투를 할 수도 없습니다. 하지만 여러 면에서 꽤 현실적으로 보이는 메탈기어솔리드에서도 아주 많은 무기를 들고 다닐 수 있고 게임 상에서 이는 별로 이상하지 않습니다. 하지만 본격적으로 적 기지의 자원을 슬쩍 해서 마더베이스로 가져와 활용한다는 설정이 츄가되는 순간 보스 혼자서 이 많은 자원을 인벤토리에 넣어 들고 다니는 건 좀 이상하게 느껴질 수 있습니다.
적 기지에서 습득할 수 있는 자원에는 약품이나 지도 같은 대강 가방이나 주머니에 넣을 수 있을 것 같아 보이는 것들도 있지만 영상에서처럼 본격적으로 무기, 차량, 컨테이너 따위를 가방에 넣을 수는 없을 테고 게임적 허용으로 가능하게 만들 수는 있겠지만 뭔가 재미는 없습니다. 파크라이 6에서 적 기지의 자원을 수집할 때 가장 불편한 부분은 가솔린을 훔치는 건데 뭐 약품이나 탄약 같은 건 어떻게든 가방에 집어넣을 수 있을 거라고 스스로를 설득했지만 총알이 빗발치는 상황에서 콘크리트 벽 뒤에 몸을 숨기고 그 옆에 있는 가솔린 드럼통을 먹을 때는 이상하거나 웃기다기보다는 뭔가 너무나 아무 신경도 안 쓴 것 아닌가 싶은 생각이 들었습니다. 이런 점들 때문에 이렇게 오픈월드 게임을 잘 만들면서도 공장이라는 표현을 듣는 것이 아닐까 싶습니다.
한편 메탈기어솔리드 5에서는 플톤 익스트랙션을 통해 주머니에 넣을 수 없을 것 같은 커다란 물체에 풍선을 달아 하늘로 날려 보내면 비행기가 낚아 채 기지로 가져간다는 설정을 통해 게임적 허용에 너무 크게 의존하지 않으면서도 나름 그럴싸해 보이며 재미도 있고 나중에는 적들이 풍선을 공격해 떨어뜨려 익스트랙션에 실패하는 등 다양한 상황을 만들어냈습니다.
한편 이 폴튼 익스트랙션은 대상에 풍선을 매달면 대상이 떠올라 하늘로 사라지고 이를 낚아채는 비행기 소리가 나는 식으로 동작하는데 흥미로운 점은 컨테이너처럼 크기가 큰 물체에 풍선을 달기 위해서는 컨테이너 위에 올라가야 하는 점입니다. 사람, 동물, 자동차 까지는 물체 옆에서 상호작용을 하는 정도로 풍선을 달 수 있습니다. 여기까지는 아무런 문제도 생기지 않습니다. 풍선은 물체 하나에 달려 있고 그 물체가 하늘로 올라가 사라지며 이 물체를 습득한 것으로 처리됩니다. 물론 자동차는 풍선에 매달려 잠깐 대기하는 사이에 자동차에 상호작용 해 자동차에 탈 수 있는데 이 역시 바로 이어 이야기할 컨테이너와 같은 동작을 합니다.
컨테이너는 일단 그 위에 올라가서 풍선을 설치하는데 풍선을 설치한 다음 컨테이너 위에 그대로 서 있으면 컨테이너와 함께 기지로 돌아옵니다. 이 때 어떤 미션을 수행 중이었다면 미션으로부터 이탈해 실패로 처리되지만 따로 탈출을 위해 탈것을 호출하고 랜딩존까지 이동해 헬리콥터를 타고 작전지역을 벗어나는 연출을 보는 번거로운 절차를 거치는 대신 컨테이너에 풍선을 매달고 그냥 서 있으면 작전지역을 빠져나올 수 있어 편리합니다.
그런데 개인적으로는 처음부터 폴튼을 이렇게 큰 물체에 설치하고 가만히 서 있으면 캐릭터를 포함해서 기지로 이동하도록 만들지 않았을 것 같은 느낌을 받습니다. 앞에서 설명했듯 폴튼은 게임 속 다양한 물건을 실제 세계에 비해 엄청나게 많이 들고 다닐 수 있는 게임적 허용의 연장이지만 자동차, 탱크, 컨테이너에 이르러서는 그냥 인벤토리에 넣으면 만드는 사람 입장에서 편하기는 하지만 이를 지켜보는 사람 입장에서는 별로 재미도 없고 감동도 없는 것도 사실입니다. 이 상황에서 이 시리즈는 게임적 허용에 많이 의존하지만 나름 현실적인 측면 역시 강조하고 있어 군사 시설의 다양한 자원이 컨테이너 모양으로 존재하는 점은 꽤 그럴듯하고 또 자원을 여러 종류 별로 나눠 쓸데없이 복잡하게 만들지도 않아 좋은 선택이라고 생각합니다.
다만 이 세계에 잘 어울리는 컨테이너 모양의 자원은 다 좋은데 크기가 너무 크다는 점은 문제입니다. 여기서 다시 게임적 허용에 의존해 컨테이너에 풍선을 직접 달아 날려 보내게 만들었지만 이 위에 있는 사람을 함께 전송할지는 의사결정이 필요한 문제입니다. 이들은 풍선을 단 물체는 하늘로 떠올라 사라지고 기지에 도착한 걸로 처리했습니다. 이해하기 쉬운 단순한 규칙입니다.
그런데 컨테이너에 사람이 올라서 있거나 땅에서 떠오르기 직전의 자동차에 상호작용해 자동차에 탔다면 이를 어떻게 처리해야 할까요. 만약 멀티플레이 환경이었다면 컨테이너 위에 올라간 사람을 함께 기지로 돌려보내는 선택은 다양한 문제를 만들 수 있습니다. 전통적인 MMO 게임의 멀티플레이 환경은 낮은 부하로 여러 플레이어를 처리하기 위해 종종 2차원으로만 설계하곤 해서 복층이나 어떤 물체 위에 올라간 상태를 잘 처리하지 못하곤 합니다. 이런 상황에서 ‘컨테이너 위에 있는 사람’을 함께 기지로 돌려보내려면 직관적으로 서로 충돌해 위에 올라가 있는 물체를 모두 기지로 돌려보낸다는 동작과 달리 물체와 사람이 있고 물체 위에 사람이 올라가면 이 상태를 별도로 처리해 풍선은 물체 위에 사람이 올라가 있는 상태를 함께 기지로 돌려보내고 이 동작에 따라 작전지역으로부터 떠난 것으로 판정하는 꽤 복잡한 규칙을 만들어야 할 수 있습니다. 그리고 이런 복잡성은 종종 엔지니어들의 필살기 중 하나인 ‘이렇게까지 해야 돼요?’를 시전 시킬 수 있습니다.
한편 싱글플레이 게임에서는 굳이 서버를 통하 동기화 같은 문제를 걱정할 필요가 없으니 직관적으로 컨테이너를 하늘로 날려보내는 김에 그 위에 컨테이너 말고 다른 물체가 있으면 그것도 같이 날려보내되 만약 그게 사람이면 작전지역을 벗어나 미션을 마무리 한 것으로 처리하기로 하는 의사결정이 상대적으로 쉬울 수 있습니다. 하지만 이 의사결정은 여전히 게임적 허용과 현실적인 감각, 미션을 종료하는 정상적인 과정과 이를 단축하는 방법 사이에 그리 간단하지는 않은 의사결정을 거쳤을 겁니다.
전통적인 MMO 게임과 달리 요즘 세상에 AI를 어떻게 만드나에서 설명했듯 엔진 제조사에서 제공하는 서버에 의존하는 경우가 늘어나고 있는데 이 서버는 이전과 달리 게임 속 세계에 훨씬 다양한 요소들을 다양한 방법으로 동기화 할 수 있습니다. 그 댓가로 MMO를 만들기 위해서는 이 서버들을 중계하는 또 다른 서버가 필요하고 또 엔진 제조사에서 제공한 서버는 꽤 고사양 장비를 요구하지만 이 서버를 사용하면 멀티플레이 환경에서도 물리엔진에 의존한 ‘컨테이너와 그 위에 있는 물체와 사람을 함께 전송한다’ 같은 현실 세계 관점에서 직관적인 동작을 적어도 겉으로는 복잡하지 않게 결정할 수 있습니다.
결론. 폴튼에 매달린 물체 위에 사람이 올라가 있으면 어떻게 처리해야 할까요. 싱글플레이 게임인 메탈기어솔리드 5에서는 이들을 함께 날려 보냅니다. 이는 게임적 허용과 현실적인 플레이 감각 사이에 아슬아슬한 줄타기를 한 끝에 도달한 자연스러운 동작입니다. 전통적인 MMO 만들던 관점에서는 컨테이너와 사람을 함께 날려 보내는 직관적인 동작을 만들기 쉽지 않았습니다. 현대에는 엔진 제조사에서 제공하는 서버를 통해 멀티플레이 환경에서 직관적인 동작을 이전 시대에 비해 쉽게 만들 수 있어 이전 시대와는 다른 의사결정 접근이 필요할 수 있습니다.