자동퀘스트로 NPC와 대화하기

자동퀘스트로 NPC와 대화하기

자동퀘스트를 설계하다 보면 우리가 지금까지 별 생각 없이 해 왔던 행동들을 조각조각 나눠 살펴볼 기회가 생깁니다. 그 중 하나는 NPC와 대화입니다. 그냥 NPC까지 이동하다가 NPC와 가까워지면 인터랙션 인터페이스가 나타나고 플레이어가 조작해서 인터랙션을 하면 대화가 시작됩니다. 만약 대화 말고도 다른 행동도 할 수 있는 NPC라면 약간 신경을 써야 합니다. 물약 상인이라면 대화와 물약 상점을 선택하거나 대화를 먼저 수행한 다음 물약을 살 수 있다는 정책을 만들어야 합니다. 이 정책에 따라 인터페이스가 달라질 겁니다. 그런데 자동퀘스트에서는 같은 동작을 약간 다른 관점에서 검토해야 합니다. 하나씩 살펴보겠습니다.

먼저 NPC까지 이동해야 합니다. 그런데 NPC까지 이동한다는 것은 무슨 의미일까요. 사람 입장에서는 실제 세계에서 행동하는 것과 같이 NPC 앞까지 걸어가는 것을 의미합니다. 기계 입장에서는 힌트가 좀 더 필요합니다. 별 생각 없이 NPC까지 자동이동을 개발하면 캐릭터는 NPC가 서 있는 그 좌표까지 정확히 이동할 겁니다. NPC와 충돌 기능이 없다면 캐릭터와 NPC는 정확히 겹쳐 있을 겁니다. 그 상태에서 대화를 시도하면 상당히 보기 싫겠군요. 이제 NPC 앞이란 무엇인지 정의해야 합니다. NPC를 배치한 방향으로 1미터 떨어진 곳으로 설정하면 괜찮을 것 같습니다. 마을 물약상인에게 자동이동 해보니 물약상인 앞에 예쁘게 이동합니다.

시간이 흘러 마을이 여럿 생기고 인간 뿐 아니라 다른 종족 NPC에게도 말을 걸 일이 생깁니다. 이번에는 덩치가 큰 골렘에게 말을 걸어야 했는데 골렘에게 자동이동하자 골렘 안으로 파고듭니다. 인간은 탑뷰에서 볼 때 반경이 작아 1미터 앞을 중점 기준으로 계산해도 아무 문제 없었지만 골렘은 반경이 커 중점 기준으로 1미터 떨어진 곳은 여전히 골렘 몸속입니다. 여기부터는 해결이 그리 간단하지 않을 수 있습니다. 각 오브젝트들의 충돌처리를 위해 실린더를 씌워 놨을 텐데 골렘의 충돌 실린더 외곽으로부터 1미터 떨어진 곳까지 자동이동하면 골렘의 문제는 해결되겠지만 같은 규칙이 적용된 인간은 이전보다 더 멀리 떨어진 곳 까지만 자동이동 할 것이기 때문입니다. 이 현상을 어디까지 해결해야 할까요. 그건 플레이를 반복해 보고 이 문제가 전체 플레이에 얼마나 영향을 줄 지에 달려있습니다. 누군가는 이 현상을 문제로 인식하지도 않을 것이고 또 다른 누군가는 엄청나게 민감하게 인식할 겁니다.

다음으로는 대화를 자동으로 시작할 지를 결정해야 합니다. 게임에 따라 자동퀘스트가 NPC 앞까지 이동하는데까지만 관여하기도 하고 NPC와 대화를 시작하는데까지 관여하기도 합니다. 이 규칙은 나아가 자동퀘스트에 의해 자동전투를 시작할 때 몬스터가 있는 위치까지 이동한 다음 전투를 내가 직접 시작해야 하는지, 아니면 전투 역시 자동으로 시작하는지와 같은 규칙입니다. 자동퀘스트가 NPC까지 이동해 자동으로 대화를 시작하면 분명 편리하기는 한데 플레이어들은 얼마 후면 마을의 어디에 어느 NPC가 있는지 전혀 파악하지 못하게 됩니다. 마을에 들어가면 주요 NPC 목록을 보여주고 이를 터치하면 그 NPC에게 자동이동하는 인터페이스가 추가된 이유입니다. 만약 후자 같은 보조 장치를 만들지 않을 작정이라면 플레이어가 NPC들의 위치를 파악할 수 있도록 자동퀘스트가 자동으로 대화를 시작하면 안됩니다.

마지막으로 이미 기능이 있는 NPC라면 대화가 우선일지 기능이 우선일지 아니면 이들 중 하나를 플레이어가 선택하도록 할 지를 결정해야 합니다. 종종 마을에는 NPC 하나가 여러 기능을 담당하게 됩니다. 서비스를 해보면 그 NPC 주변에 항상 사람이 잔뜩 서있습니다. 그런 NPC에게 대화를 넣으면 나는 물약을 사고 싶을 뿐인데 15초짜리 대화를 반드시 해야만 하는 상황이 생깁니다. 서비스 중이라면 누군가는 욕을 할 것이고 개발 중이라면 누군가가 조용히 지라를 만들거나 찾아올 겁니다. 기능 인터페이스와 대화 인터페이스를 분리해 이들 각각을 플레이어가 선택하도록 하면 되지 않을까요? 됩니다. 전통적인 게임은 이렇게 하면 됐는데 NPC와 자동으로 대화를 시작하는 게임에서는 이렇게 할 수가 없습니다. 자동퀘스트가 대화를 우선으로 동작해야 할 지 기능을 우선으로 동작해야 할 지 확실하지 않습니다. 선택지가 많아 동작을 정의하기 쉽지 않지만 자동퀘스트가 자동으로 대화를 시작하도록 만들 작정이라면 NPC는 기능 여부에 관계 없이 항상 한 가지 응답만 하게 만들어야 합니다. 대화를 해야 한다면 기능을 무시하고 대화만, 대화가 없다면 항상 기능만. 이 기준이 흔들리기 시작하면 퀘스트를 하는 중이면서도 물약을 사고 싶은 분노한 플레이어나 팀원들을 맞이하게 될 겁니다.