미래의 눈높이와 현재의 목표
참여하고 있는 프로젝트는 머지 않아 첫 번째 비공개 테스트를 준비하고 있습니다. 전통적인 프로젝트였다면 훨씬 더 많이 개발한 상태에서 비공개 테스트를 했겠지만 지금 개발하는 게임 분야에서는 훨씬 더 이른 시점에 비공개 테스트를 해 잠재적인 고객들과 투자자들에게 관심을 받고 또 앞으로 개발을 계속해 나가는 동안 의견을 주고 받으며 고객의 의사를 더 잘 반영한 결과를 만들려는 목표가 있습니다. 또한 이 분야에는 널리 알려진 대로 소위 스캠으로 알려진 가짜 프로젝트들이 워낙 많았기 때문에 우리들이 가짜가 아니라는 점을 확실히 하기 위해 만들고 있는 상태를 그대로 보여줄 필요도 있습니다.
개발을 계속해 나가는 것은 별 일이 아니지만 그 중간 과정마다 최소한으로 서비스가 가능한 상태로 마무리를 짓는 일은 생각보다 간단하지는 않습니다. 처음에 누군가 ‘그저 만들고 있는 상태를 그냥 열어 비공개 테스트를 하면 되는 것 아니냐’는 말을 해서 저 주둥이를 뭘르 틀어 막아야 앞으로 영원히 저런 말을 하지 않을 지 진지하게 생각해봤습니다. 종이, 모래, 시멘트, 열화우라늄 따위를 생각했지만 왼쪽으로 갈수록 효과가 떨어지고 오른쪽으로 갈수록 범죄여서 결국 아무 것도 하지 못했습니다.
이번에도 비공개 테스트를 수행하기 위해 전통적인 개발 과정에서는 지금 필요하지 않지만 최소한 서비스를 진행하기 위해서 필요한 기능을 개발하는데 시간을 쓰고 있습니다. 이 상황이 부정적이지는 않습니다. 어차피 이런 서비스를 위한 기능은 언젠가는 개발해야 하고 또 다른 기능에 의해 우선순위가 낮아지면 미래에 서비스 직전에 가서야 급히 만들어 완성도가 떨어지기 쉬우니 미리 부터 만들어 가면 완성도를 어느 정도 유지할 수 있습니다.
그래서 이번 테스트에는 지금 당장은 필요하지 않은 NPC를 만들고 이 NPC와 대화해 기록을 열람하는 장치를 만들기로 했습니다. 게임에서 NPC는 종종 인격을 가지고 유저들과 강한 상호작용을 일으키는 요소이지만 기술적으로는 그리 복잡하지 않습니다. 세계에 서 있고 적당한 애니메이션을 통해 우리들에게 익숙한 사람처럼 행동하고 또 다가가서 상호작용을 시도하면 게임 문법으로 우리들에게 익숙한 상호작용 방식에 따라 기능을 사용할 수 있습니다. 필요하다면 이 때 플레이어와 대화 하는 모양을 연출할 수도 있는데 임밀히 말해 이런 연출은 대화라기 보다는 NPC에게 설정된 대사를 글과 소리를 통해 일방적으로 전달하는 장치에 더 가깝습니다.
이번 비공개 테스트에서는 대화 자체가 중요하지 않습니다. 핵심은 NPC 모양을 한 상호작용 대상이 레벨에 배치되어 있고 상호작용을 하면 기록을 읽을 수 있는 인터페이스를 제공하는 것이 주 기능입니다. 그래서 NPC에게는 최소한의 대화 기능만 필요했습니다. 비공개 테스트까지 개발 기간이 얼마 남지 않았기 때문에 구색을 갖추는데 필요한 핵심 기능만을 포함한 요구사항을 작성해 브리핑을 진행했습니다.
브리핑 때 여러 가지 질문이 나왔는데 그 중 가장 인상적인 질문은 이 최소한의 구색을 갖춘 NPC 대화 기능에 명백히 빠져 있는 당연한 기능이 왜 빠져 있느냐는 것입니다. 가령 대화창에 리치텍스트 표현, 인라인 이모지 또는 이미지 표현, 자연스러운 줄바꿈, 텍스트 표시 속도를 인라인에서 어절 단위로 제어하는 기능, 인라인에서 대화창에 움직이는 연출을 표현하고 또 대화창 안에서 선택지를 표시하는 기능은 없는지, 또 대화창 인터페이스 색상을 제어하는 기능은 없는지 같은 질문을 듣고 거의 같은 답변을 되풀이하며 심지어 개발에 참여하는 사람들 조차 단기 목표와 장기 목표를 구분해 생각하지 않는 점이 재미있다고 생각했습니다.
우리 목표는 가까운 시일 안에 비공개 테스트를 하는 것입니다. 비공개 테스트라는 말에는 공개, 테스트라는 단어가 포함되어 있습니다. 한정된 인원이라 하더라도 어쨌든 개발팀 밖의 인원들이며 테스트라고는 하지만 이들은 최소한 사용 가능한 동작 범위 안에서는 기능이 매끄럽게 동작할 것을 예상할 겁니다. 때문에 이들의 기대에 부응하기 위해서는 기능을 제한하고 이 안에서는 매끄럽게 동작하도록 만들어야 합니다. NPC 대화는 구색을 맞추기 위한 기능이고 구색을 맞추는 하한선을 달성하면 그걸로 충분합니다. 때문에 지금 당장 구색을 맞추는데 필요하지 않거나 지금 시점에 미래를 예상한 요구사항을 미리 말하기 어려운 주제는 생략하고 이 시점에 가장 확실한 기능을 모아 요구사항을 작성했습니다.
하지만 이를 보는 사람들은 기획서 상의 요구사항 뿐 아니라 여기에 언급되지 않은 자신들의 게임 경험에 비춘 이 모든 기능이 완성된 미래의 모습을 기준으로 하는 질문을 받았습니다. 한편 이들은 자신이 이와 비슷한 인터페이스를 본 가장 잘 만들어진 사례를 기준으로 생각하기 때문에 NPC 대화 인터페이스가 가장 정교하게 만들어진 텍스트 어드벤처 장르를 기준으로 질문을 했는데 이를 예상할 수 있는 질문에는 선택지의 유무, 대사를 통한 연출 제어, 인라인에서 어절 단위 텍스트 출력 속도 제어 같은 것이 있습니다.
텍스트 어드벤처 장르는 종종 대사에서 게임 전체를 제어하게 만들곤 했습니다. 그래서 대사 안에 분기, 연출, 화면 제어 등 게임 전체를 통제할 수 있었습니다. 그런데 우리는 텍스트 어드벤처 장르가 아니며 NPC 대화 인터페이스는 전체 게임의 일부에 불과합니다. NPC 대화 인터페이스는 이 인터페이스 바깥의 통제 수단에 의해 제어되는 여러 요소 중 하나일 뿐이어서 분기, 연출, 화면 제어를 대화를 통해 할 이유가 없습니다.
이런 답변을 반복해서 하다가 브리핑을 마치기 전에 모두에게 이번 마일스톤의 목표를 다시 한 번 상기 시켰습니다. 각 기능이 완전히 완성된 상태까지 한 번에 도달하는 것이 이번 마일스톤의 목적이 아니며 이번 마일스톤은 비공개 테스트를 무사히 치르고 뒤 이은 개발을 진행할 발판을 만드는 것입니다. 하지만 한편으로는 요구사항에 이 기능의 로드맵, 완전히 개발 되었을 때의 상태, 이번에 한 번에 그 단계까지 도달하지 않는 이유에 대해 좀 더 설명해 두면 좋겠다는 생각이 들었습니다.