게임에서 물체와 상호작용 하는 세 가지 방법

게임에서 물체와 상호작용 하는 장면을 만들 때 대략 세 가지 방법을 고려할 수 있습니다. 상호작용은 게임 상에서 플레이어가 게임 월드에 배치된 어떤 사물이나 사람을 대상으로 미리 약속된 행동을 상황을 말합니다. 가령 플레이어가 문을 조작해 문을 열거나 나무에 열린 과실을 따거나 바닥에 떨어진 아이템을 줍거나 NPC와 서로 눈을 마주치며 대화하는 상황들을 모두 상호작용 한다고 표현합니다. 또 지나가는 자동차를 세우거나 그 자동차 문을 열거나 그 안에 있는 사람에게 주먹을 날린 다음 그 사람을 끌어내린 다음 그 차에 올라 타는 행동도 모두 자동차와 상호작용 한다고 말할 수 있습니다. 지난번에 마스토돈에서 두 가지 방법을 간단히 설명했는데 여기에 하나를 추가해 모두 세 가지 방법을 설명하고 상황에 따라 어떤 방법을 선택해야 할 지도 함께 고민해 볼 작정입니다.

첫 번째 방법. 물체에 가까이 다가가 상호작용을 시도하면 상호작용 대상 물체와 플레이어의 애니메이션이 애초에 맞지 않을 거라고 가정하고 이들이 서로 맞지 않아도 크게 이상하지 않은 애니메이션을 사용하는 겁니다. 주로 MMO 장르에서 동시에 여러 플레이어가 상호작용을 시도할 것으로 예상되는 대상에 이런 방법을 사용합니다. MMO 장르에서 퀘스트를 플레이 하다 보면 텍스트 상으로는 부서진 울타리를 수리하라고 하지만 막상 울타리에 다가가 상호작용을 시도하면 플레이어는 뭔가 어설픈 이상한 애니메이션을 재생하고 그 사이에 부서져 있던 울타리는 터미네이터 마냥 알아서 재조합되곤 합니다.

이렇게 만든 이유는 MMO 장르에는 이런 퀘스트가 수 없이 많은데 퀘스트 각각의 상황 마다 잘 맞는 애니메이션을 만들어 사용하기에는 비용이 엄청나게 높고 또 여러 플레이어가 동시에 상호작용을 시도하기 때문에 이들모두가 상황에 맞는 애니메이션을 정확히 재생하려고 하면 멀티플레이 환경에서 이들이 모두 겹쳐 이상하게 보일 것이기 때문입니다. 하지만 결국 이 방법을 남발하다 보면 게임이 좀 싸 보이고 결국 MMO 장르에서 물체와 상호작용이 전반적으로 어설퍼 보이는 인식을 만들었습니다.

두 번째 방법. 이런 상황에서 몇몇 MMO들은 적어도 상호작용 하는 대상과 플레이어 각각이 재생하는 애니메이션이 서로 한 가지 행동과 그 행동의 결과를 표현하는 형태로 함께 재생되게 만들기 시작합니다. 가장 흔한 형태는 던전에서 바닥에 설치된 커다란 스위치를 당겨 문을 여는 것입니다. 스위치 같은 상호작용 대상은 초기 MMO 장르에서 잘 시도하지 않았는데 이유는 조작되는 방향이 있기 때문입니다. 그저 울타리를 수리하거나 사과나무 주변에서 대강 뭔가 하는 척만 하면 됐던 상황과 달리 스위치는 켜진 상태와 꺼진 상태가 확실히 구분되어야 하고 스위치를 조작할 때 이상해 보이지 않으려면 스위치 방향과 플레이어의 방향이 잘 정렬되어 있어야 하고 플레이어가 스위치를 조작하는 애니메이션을 시작하면 동시에 스위치 역시 플레이어에 맞춰 애니메이션을 함께 재생해야 어색해 보이지 않습니다.

이를 달성하기 위해 먼저 플레이어가 스위치를 조작하는 애니메이션과 조작되는 스위치 애니메이션이 서로 완전히 동시에 재생될 것을 예상한 애니메이션을 제작합니다. 다음으로 레벨에 스위치를 설치할 때 스위치를 조작하기 시작할 위치와 방향을 설정해야 하고요. 인게임에서 플레이어가 스위치 근처에 다가가 상호작용을 시작하면 플레이어는 먼저 미리 지정해 놓은 스위치 조작 위치까지 자동으로 걸어서 이동한 다음 방향을 맞춰 선 채로 상호작용 애니메이션을 재생하기 시작합니다.

플레이어는 이미 위치와 방향이 정렬된 상태로 애니메이션을 재생하므로 여기 맞춰 스위치가 움직이는 애니메이션을 재생하면 마치 플레이어가 스위치를 당기는 것 같은 모습을 꽤 그럴싸하게 표현할 수 있습니다. 또한 위에서 이야기한 울타리 사례와 달리 같은 메커닉을 여러 장소에 재사용 할 수 있어 그럴싸한 모습을 보여줌과 동시에 높지는 않은 제작 비용을 유지할 수 있고요.

마스토돈에서 이야기하지 않은 세 번째 방법은 완전히 컷씬으로 만드는 것입니다. 멀티플레이 환경에서 사용하려면 고려할 점이 많습니다. 특히 플레이어 한 명이 대상과 상호작용 하고 있을 때 주변의 다른 플레이어들에게 이 상황이 어떻게 보여야 할 지, 또 동시에 여러 플레이어가 같은 대상에 상호작용 할 수 있을지 등을 정의해야 합니다. 하지만 싱글플레이 게임이라면 상황을 단순하게 유지하면서도 가장 그럴 듯한 상호작용을 표현할 수 있습니다.

두 번째 사례에서 설명한 스위치를 조작하는 경우를 완전히 컷씬으로 만든다면 플레이어가 상호작용할 대상 근처에 다가가 상호작용을 시도하면 인게임 화면에서 컷씬 화면으로 전환해 아티스트가 미리 제작한 가장 완벽한 스위치 당기는 애니메이션을 컷씬을 통해 재생합니다. 특히 인게임 화면과 컷씬 화면 사이에 전환이 자연스럽게 일어나면 유저는 이 화면이 조작 가능한 인게임 상황인지 조작 불가능한 컷씬 상황인지 구분하기도 어렵습니다.

이런 특징 때문에 MMO 게임에 비해 싱글플레이 게임의 연출이 더 훌륭하고 이는 싱글플레이 게임이 주로 출시되는 콘솔 환경과 연결되어 ‘콘솔 게임이 더 훌륭하다’ 같은 인식을 만들기도 합니다. 하지만 처음에 울타리 사례를 설명하며 모든 상황에 맞는 애니메이션을 만들기 위해서는 높은 비용이 필요하다는 이야기를 했는데 싱글플레이 게임이 그렇게 멋진 장면을 보여줄 수 있는 이유는 이들의 제작비가 엄청나게 높기 때문이기도 합니다.

실은 이 세 가지 방법 외에도 두 번째 방법과 비슷하지만 상호작용 하는 도중에도 플레이어를 조작해 상호작용을 취소하거나 상호작용이 일어나는 도중에 동작의 방향을 전환하는 등 더 높은 요구사항을 충족하는 방법들이 있지만 이쪽은 본격적으로 게임의 핵심 메커닉의 요구사항에 연결된 경우가 많아 이 글에 묶어 설명하기에는 무리가 있습니다. 요약하면 상호작용은 크게 방향성 없는 방법, 방향성 있는 방법, 완전히 컷씬을 통하는 방법의 세 가지가 있고 상황에 맞게 사용해야 덜 어색하고 또 제작 비용을 너무 높이지 않을 수 있습니다.