악마 투석기는 무슨 기능으로 만들어야 하나요?
디아블로 이모탈을 플레이 하다가 문득 악마 투석기를 봤습니다. 메인퀘스트를 플레이 하면서 이 악마 투석기를 파괴하는 퀘스트를 했던 기억이 납니다. 주변에 있는 몬스터를 정리한 다음 악마 투석기에 인터랙션 하면 시간이 지난 후 파괴되는데요, 이 동작을 보면 이전에 다뤘던 인터랙션 오브젝트(인터랙션 오브젝트 설계 (1), 인터랙션 오브젝트 설계 (2), 인터랙션 오브젝트 설계 (3))와 동작이 같다는 것을 알 수 있습니다. 그런데 이런 악마 투석기는 플레이어의 전투 행동에 의해 파괴되도록 만들 수도 있고 별도의 인터랙션에 의해 파괴되도록 설정할 수도 있습니다. 이참에 MMO 게임을 만들며 몬스터와 인터랙션 오브젝트를 구분하던 이야기를 곁들여 각 방식으로 만들 때 얻게 되는 효과를 함께 설명하겠습니다.
자유도가 높은 싱글플레이 게임이나 오래된 MMO 게임 경험을 생각해봅시다. 마을에 NPC들이 있는데 이들과는 이야기를 할 수도 있고 상점 같은 기능을 사용할 수도 있습니다. 그런데 이들을 공격해서 죽일 수도 있습니다. 물론 이런 행동에 따르는 댓가가 있기는 하지만요. 이 NPC는 대화 기능도 있고 상점 기능도 있고 또 전투 기능도 있다는 이야기입니다. 시간이 지나면서 게임이 동시에 처리해야 하는 캐릭터 수가 늘어나고 설계나 운영 복잡도를 줄이기 위해 각 기능을 하는 오브젝트를 분리하기 시작했습니다. 전투 기능이 있는 개체는 몬스터, 상점이나 대화 기능이 있는 개체를 NPC, 그리고 캐릭터의 인터랙션에 따라 상태가 변하는 개체를 인터랙션 오브젝트로 정의했습니다. 이전에 비해 자유도가 감소했지만 자유도에 의해 다른 플레이어들에게 영향을 끼쳐 게임이 망가질 가능성이 없어졌습니다. 한편으로는 더이상 마을에 있는 주요 상인을 죽여 게임을 마비시키는 플레이를 할 수 없게 됐습니다.
악마 투석기는 몬스터 혹은 인터랙션 오브젝트로 만들 수 있어 보입니다. 만약 악마 투석기를 파괴하는 퀘스트에서 캐릭터가 악마 투석기를 공격해서 파괴하기를 원한다면 몬스터로 만들어야 합니다. 겉보기에는 딱히 움직이지도 않고 플레이어를 공격하지도 않지만 캐릭터에 의해 피격 당할 수 있어야 하며 이 피격의 결과는 전투 연산을 통해 결정되어야 합니다. 그래서 전투 시스템의 제어를 받는 몬스터로 만듭니다. 주변의 몬스터를 공격할 때 함께 대미지를 받아 파괴됩니다. 이렇게 만들어 플레이 해보면 꽤 호쾌한 느낌이 납니다. 주변에 몬스터를 날릴 때 악마 투석기도 함께 박살나니까요. 자연스럽기도 합니다. 하지만 악마 투석기 파괴를 퀘스트 목표로 설정해 놓았다면 단점도 있습니다. 퀘스트 목표 수행을 의식하지 않은 상태에서 이를 수행해 버릴 수 있기 때문입니다. 나는 난전 속에 몬스터를 공격했을 뿐인데 옆에 있었는지 잘 알지도 못했던 악마 투석기가 파괴되어 퀘스트가 진행되어 버릴 겁니다. 만약 퀘스트 진행을 플레이어에게 잘 인식시키고 싶다면 악마 투석기를 몬스터로 만드는 것은 좋은 선택이 아닐 수 있습니다.
악마 투석기를 인터랙션 오브젝트로 만들면 이번에는 현실적으로 말이 안되는 상황이 일어납니다. 내가 할 일은 악마 투석기를 파괴하는 것이고 내가 가장 잘 할 수 있는 일은 이를 전투시스템을 통해 공격해서 파괴하는 것입니다. 하지만 악마 투석기 주변에 있는 몬스터를 공격하는 동안 분명 악마 투석기도 피격 당해야 할 것 같지만 주변에서 전투 스킬을 아무리 사용해도 악마 투석기는 결코 파괴되지 않습니다. 주변의 몬스터를 정리한 다음 악마 투석기에 인터랙션을 하면 시간이 지난 다음 저혼자 파괴됩니다. 잘 이해가 안됩니다. 목표는 악마 투석기를 파괴하는 것이고 파괴한다면 당연히 공격해야 할 것 같은데 공격으로 파괴할 수 없고 가만히 서서 게이지가 올라가는 모습을 지켜보고 나면 저혼자 부서지는 건 좀 이상할 수도 있습니다. 이를 몬스터로 만들었을 때처럼 호쾌하지도 않습니다. 반면 메인퀘스트 목표로 설정했고 퀘스트 목표를 의식적으로 수행하게 하고 싶다면 인터랙션 오브젝트로 만드는 것은 나쁘지 않은 선택입니다. 주변의 몬스터를 정리한 다음 퀘스트 목표를 보고 의식적으로 인터랙션 해서 파괴할 수 있으니까요.
몬스터와 인터랙션 오브젝트를 구분해서 개발하기 시작한 순간부터 이런 고민이 시작됐고 근미래에 이런 상황을 다시 겪게 될 거라고 예상하고 있습니다. 그때는 어떤 선택을 하게 될 지 아직 예상할 수는 없지만 대상을 호쾌하게 파괴하기를 원한다면 몬스터로, 퀘스트 목표를 의식적으로 수행하게 만들기 위해서는 인터랙션 오브젝트로 만든다는 정책을 가지고 그때 가서 판단해볼 작정입니다.