넥슨 데브캣 스튜디오의 신작 프로젝트DH의 실체가 조금씩 드러나고 있다.
프로젝트DH는 지난해 컨셉과 짧은 영상만으로도 시선을 잡아끌며 넥슨의 차세대 기대작에 이름을 올렸는데, NDC 2018에서 컨셉과 개발과정이 일부 공개됐다. '프로젝트DH'는 드넓은 필드에서 말을 타고 돌아다니며 '용'과 펼치는 긴장감 넘치는 전투가 강점이다.
용과의 전투가 핵심이다 보니, 프로젝트DH는 용의 움직임을 자연스럽게 구현하는데 많은 노력을 하고 있다. 공중 네비게이션부터 움직임 등 사실적이고 생동감 넘치는 플레이를 위해 다양한 시스템이 준비 중이다.
프로젝트DH가 지향하는 공중 내비게이션 시스템의 기능은 크게 5가지다. 3차원 '패스 파인딩 기능(출발점과 목적지 사이에서 경로를 찾는 과정)'이 가능해야 하며, 용의 움직임에 맞는 부드러운 경로가 생성돼야 한다. 또한 비행 중인 경로에 맞는 애니메이션 반응, 생성된 경로에 기획자의 의도 반영, 프로젝트DH 맵의 크기를 고려한 데이터 크기 조절 등이 필요하다.
넥슨 데브캣 스튜디오 프로젝트DH팀 심예람 프로그래머는 "해당 기능을 갖춘 내비게이션 시스템을 만들기 위해 '언리얼엔진4에서 사용하는 지상전용 내비게이션'(Recast Navigation), '심플한 디자인으로 만들어진 스플라인 패스를 따라가게 하는 기능(Path Follow UE4 Plugin)', '오픈소스로 이뤄져 자유로운 변경이 가능한 내비게이션(Don AI Navigaion)' 등 다양한 연구를 조사했다."고 밝혔다.
"하지만 조사 결과 기존 지상 내비게이션을 공중으로 확장하는 것은 어렵다고 판단했다. 특히 복셀 기반의 내비게이션은 생명체의 움직임을 표현하기 부적합하며, 복셀 기반의 내비게이션 방식으로 표현하더라도 6x6km 사이즈 맵의 크기로 데이터량을 감당하기 어렵다."며 확장의 어려움 설명했다.
그 결과 프로젝트DH는 스플라인 기반의 '하늘길' 시스템을 선택했다. 시스템은 하늘길을 기반으로 용의 실제 이동경로를 생성하고, 안전이 보장된 길로 경로를 구성한다. 특히 생성된 이동 경로를 미리 선행하는 '프로브'와 쫓아가는 용으로 유연한 패스 팔로잉 시스템을 구현했다.
하늘길 시스템은 '웨이포인트', '하늘 길 도로', '프로브'로 구성된다. 웨이포인트는 고속도로의 IC 같은 역할로 안전반경을 기록하고, 연결된 하늘길 목록을 관리한다. 하늘길 도로는 스플라인으로 제작됐으며, 일정 간격마다 안전 반경을 기록하고 웨이포인트에 연결한다.
마지막으로 프로브는 최종으로 설정된 경로를 따라가는 객체로, 전체 경로의 분석결과를 기록하기에 용이 언제 어떻게 날아가야 할지를 결정한다. 또한 용의 비행을 직접적으로 제어하기도 한다.
또한 하늘길 시스템은 패스 파인딩과 패스 팔로잉 절차를 거친다. 패스 파인딩 절차에서 출발/도착 지점에서 하늘길로 임시 경로를 연결하고 그래프를 탐색하며, 부드럽게 들어오는 길과 나가는 길을 생성한다. 추가로 전체 경로를 부드럽게 하는 작업도 이뤄진다.
패스 팔로잉 절차에서는 비행 유형별로 구간을 나누고, 프로브의 위치를 갱신한다. 이어 용의 위치 및 회전, 모션을 갱신하며 필요한 경우 경로를 재탐색하는 과정을 거친다.
하늘길 시스템의 결과는 꽤나 고무적이다. 아직 자세한 프로파일링과 최적화 작업이 진행되지 않았기 때문에 자세한 결과는 공유되지 않았지만, 게임 플레이에 영향을 주지 않는 퍼포먼스는 만족할 만한 수준인 것으로 밝혀졌다.
마지막으로 "연구와 실전 개발이 다르다는 것을 느꼈다. 설계시 고려하지 못한 코너 케이스가 많았다. AI 내비게이션이 역사가 깊은데 아직까지 압도적인 해결책(Silver Bullet)은 없었다. 더 잘 만들고 싶다는 욕심과 현실적인 한계 사이에서 균형을 잡는 것이 중요하다고 생각한다."라며 강연을 마무리했다.
게임인사이트 김동준 기자 kimdj@gameinsight.co.kr