NPC가 문을 못 지나갈 상황을 귀엽게 해결한 사례
지난번 ‘NPC가 지나가면 닫히는 문 사례’를 소개하면서 고약한 문 문제에 대해 소개했습니다. 게임에 일상적으로 등장하는 문이 사실은 그걸 만드는 사람들을 심각하게 괴롭힌다는 내용인데요, 시간이 흐르면서 문을 거슬리지 않게 처리하는 방법들이 고안됐습니다. 그럴듯한 문을 만들기에 이전만큼 어렵고 복잡하지는 않습니다. 하지만 싱글플레이에서 문과 멀티플레이에서 문은 또 완전히 다른 이야기입니다. 서양에서 싱글플레이 환경에서 동작하는 문을 발달시켰다면 동양에서는 멀티플레이 환경에서 동작하는 문을 발달시켰는데 특히 던전 안에서 몬스터가 문의 여닫힘에 따라 달리 행동해야 했기 때문에 동양의 문은 문과 그 문에 의해 다른 행동을 해야 하는 몬스터 제어와 함께 발달했습니다.
갓오브워는 플레이 하면 할수록 이런 게임을 여러 차례에 걸쳐 개발한 경험 있는 제작사가 개발했다고 하기엔 아쉬운 부분이 많이 눈에 띄는데 그 중 하나가 NPC와 문 문제를 가장 싼 방법으로 해결한 점입니다. 이 게임에서 문은 스테이지를 구분하고 레벨디자인의 완결성을 외부 요소로부터 격리하고 새로운 챕터를 구분하는 등 여러 상황에 사용됩니다. 이는 다른 게임에 문을 도입하는 이유와 다르지 않습니다.
이런 문제를 해결하기 위해 문을 사용하면서 문에 의한 예외상황을 회피하기 위해 문은 최대한 단순한 모양으로 개발했습니다. 이 게임의 문 대부분은 문이라기 보다는 컷씬을 재생하는 트리거로써 동작합니다. 문 앞에 다가가서 버튼을 누르면 조작할 수 없는 상태가 되어 컷신에 의해 문을 열고 문 안으로 들어간 다음 문이 닫히는 소리가 들린 다음에야 조작할 수 있게 됩니다. 이 상황에서 아무리 빨리 뒤로 돌아도 문이 닫히는 모습을 볼 수는 없습니다.
플레이어와 NPC 두 명이 함께 이동하더라도 플레이어가 문을 열고 문을 연 채로 버티는 동안 나머지 NPC 둘이 문 사이를 통과하고 문이 닫히는 부분까지 모두 한 컷씬으로 제작해 NPC가 문을 통과하며 일어날 수 있는 온갖 문제를 근본적으로 회피합니다. 만약 MMO 게임의 문이었다면 문이 여닫힐 때 내비게이션 메시를 제어해 몬스터가 닫힌 문을 통과하지 않도록 하고 플레이어, 몬스터 모두의 원거리 공격이 문을 통과하지 않도록 처리하며 플레이어와 함께 이동하는 NPC가 있다면 이들이 문을 무사히 통과할 때까지 기다려 문을 닫도록 메커닉을 구성하거나 레벨디자인을 만들어야 했을 겁니다.
예외는 도끼를 던져 여는 퍼즐 문인데 이런 문은 문을 여닫는 행동 자체가 퍼즐의 일부이기 때문에 이 사이를 컷씬으로 제어할 수 없습니다. 위 스크린샷에서 눈앞의 문은 도끼를 던져 열면 짧은 시간 동안만 열려 있다가 바로 닫히는 문인데 문이 열려 있는 동안 빠르게 달려가 통과해야 합니다. 때문에 이 문은 다른 문처럼 컷씬을 통해 통과를 제어할 수 없습니다. 어차피 플레이어는 문이 열려 있을 때 빠르게 달려서 통과하면 되니 큰 문제는 아닙니다. 문제는 NPC입니다.
이 게임의 NPC는 MMO 게임 만드는 입장에선 황당할 정도로 멍청한데 이들은 플레이어가 이동할 방향을 알지도 못하고 지금 주시하는 곳이 어디인지도 모르며 플레이어의 행동과 관계 없이 엉뚱한 곳에 서 있기도 하고 스스로 문을 걸어서 통과하지도 못합니다. 그래서 이들이 한정된 행동을 해야 할 때는 컷씬을 사용해 NPC를 화면 밖으로 치웠다가 카메라 안에 들어올 때 올바른 위치로 옮기는 트릭을 눈에 많이 띌 정도로 자주 사용합니다.
위 사례에서 이 멍청한 NPC는 플레이어가 문이 열려 있는 짧은 시간 동안 문을 향해 달려갈 때 이 행동을 따라하지 못합니다. 그러면 퍼즐을 통과한 후 NPC는 닫힌 문 반대쪽에 서 있게 되는데 이 상황을 귀엽게 해결했습니다. 컷씬을 사용해 여닫지 않는 퍼즐 문은 문 밑에 NPC가 통과할 수 있는 작은 구멍이 나 있습니다. NPC가 문을 통과해야 하면 문 앞에 있는 트리거에 도달하고 문에 난 구멍을 통과하는 애니메이션을 재생한 다음 문을 통과해 문 반대쪽에 나타납니다.
처음 보고 ‘아니 이걸 이렇게 멍청하게 처리했다고?’ 라고 생각했다가 한편으로는 가장 저렴하면서도 귀엽고 또 납득할 수 있는 방법으로 해결했다는 생각이 들었습니다.