XREAL
Vision

2) 메타버스는 과연 어떻게 만들어지는가?

들어가며

지난 시간에 XR 프로젝트를 진행하는 데 있어서 주요하게 고려할 요소들을 살펴보았습니다.
정리하자면 1) 프로토타입 제작의 어려움, 2) 게임 개발과의 차이점이었는데요. 이번엔 희망편을 다뤄보도록 하겠습니다.

XR 프로토타입 제작

일반적인 IT프로젝트에서는 발상 - 스토리보드 제작 후에 프로토타이핑으로 들어갑니다. 허나 현재 XR 프로젝트에서는 프로토타입 제작이 쉽지 않다는 말씀을 드렸었는데요. (이는 스토리보드 단계에도 영향을 미쳐, XR 프로젝트에서 되려 고전적인 Paper 바탕의 스토리보드를 제작하기도 합니다.)
프로토타입 제작에서 우선 고려할 것은 Fidelity(충실도)입니다. 프로토타이핑에서 "fidelity"라는 용어는 계획한 최종 제품과 프로토타입이 얼마나 비슷한지를 의미합니다. 또한 프로토타입의 세부 사항과 기능성의 수준을 나타내기도 합니다.
XR프로젝트는 아래 표에서 보시는 것처럼 Lo-Fi → Hi-Fi 전환이 몹시 어려운 상황입니다. 기존 2D를 넘어 3D와 상호작용까지도 복잡하게 고려해야 하며, 표준화가 부족하기 때문이지요.
특히 Hi-Fi 프로토타입부터는 상호작용 테스트가 들어가야 하기 때문에, 게임 엔진을 직접적으로 다루게 되면서 많은 비용과 시간이 소요됩니다.
User Experience & Interaction Design for AR/VR/MR/XR, Michael Nebeling

Lo-Fi 프로토타입

그러면 Lo-Fi 프로토타이핑의 대표적인 예시로써, 그레이박싱(Grayboxing)을 알아보겠습니다.
그레이박싱은 세부 작업이 들어가기 전에 단순한 기하학적 모형으로 공간 얼개를 잡아내는 작업입니다. 3차원 공간이 어떻게 활용될지, 어떤 배경을 사용해야 할지 등등 XR 프로젝트 시작에 큰 도움이 될 수 있습니다.
개발 환경이나 플랫폼에 따라 방법은 다양할 수 있습니다. 그레이박싱을 꼭 써야한다는 게 아니라 빠르고 가볍게 프로토타입을 제작하여, 이를 바탕으로 팀에서 반복 수정 작업을 효율적으로 만드는 것이 중요하다는 것을 기억해주셔야 합니다.

Hi-Fi 프로토타입

이어서 Hi-Fi 프로토타이핑의 대표적인 예시로써, XR Interaction Toolkit을 알아보겠습니다.
XR Interaction Toolkit은 유니티 엔진이며 객체 상호작용, UI 상호작용, 이동 방식 등의 구성요소를 제공합니다.
물론 이러한 프레임워크는 사용 방법을 습득하는 데 상당한 시간과 노력이 소요됩니다. 허나 대부분의 엔진에서 비주얼 스크립팅 등을 이용하여 러닝커브를 점차 줄여나가는 추세입니다. 더불어 이런 문제를 해결하려는 새로운 프로토타이핑 툴들이 계속하여 출시되는 상황이니 관심있게 살펴보시면 좋을 것 같습니다.
앞서 말한 것과 마찬가지로 XR프로젝트의 엄청나게 다양한 요소들을 테스팅하기 위해서 최대한 효율적인 협업을 목표로 진행하시면 되겠습니다.

GDD(Game design document)

앞서서 기존 게임 개발 과정을 XR 프로젝트에 그대로 적용하는 것은 무리가 있다고 했었죠. 허나 그럼에도 여전히 많은 요소들을 공유하고 있습니다.
XR이 2D 플랫폼을 벗어나며 마주치는 새로운 요소들인 복합적인 상호작용, 게이미피케이션 등은 기존 게임 개발에서 고도로 발전되어온 것들입니다.
이러한 요소들을 하나의 문서로 정리한 것을 GDD라고 부릅니다. 제품의 비전을 실현시킬 제작의 모든 측면과 세부 사항이 기록됩니다. 일종의 사업계획서로 볼 수도 있습니다. 웹/앱과 달리 게임 제작에서는 개발의 범위와 부서 간의 의존성 때문에 디자인과 개발의 경계가 명확하지 않기 때문에 GDD의 중요성이 커집니다.
XR 프로젝트에서는 GDD를 XRDD(XR design document)라고 불러야 한다는 의견도 있습니다만, 여기서는 기존 업계에서 통용하던 관행대로 GDD로 부르겠습니다.
컴퓨터 게임 제작에 활용되는 기존의 GDD 양식과 비교하면, XR용 GDD에는 실감형 미디어 특유의 변수가 추가됩니다. 착용감에 대한 고려사항, 깊이의 일체감을 일관되게 유지하는 방법, 360도 음향과 같은 공간적 구성 요소에 의존하는 게임 역학에 대한 서술이 여기에 해당합니다.
개발 과정에 있어서도, 이전 편에 첨부했던 고전적인 게임 개발 프로세스와 달리 빠르고 가볍게, 반복적으로 테스팅 과정을 거치게 됩니다.

애자일(Agile)

이 글에서 ‘빠르고 가볍게’라는 말을 자주 보셨을 겁니다. 앞서 다뤘던 내용들의 핵심이자 가장 중요한 파트를 소개하려고 합니다. 바로 ‘애자일’입니다. 제대로 설명하려면 이 지면을 다 할애해도 모자라고, 오히려 설명이 길면 이해가 복잡할 수 있으니 핵심만 전달하겠습니다.
애자일은 ‘짧은 주기의 반복 실행을 통해 변화에 적극적으로 대응하는 것’입니다.
애자일은 소프트웨어 개발 방식의 하나로 시작하여, 현재는 조직문화에 이르기까지 통용되는 단어입니다. 한국에서도 이제 낯설지 않은 용어입니다만, 여전히 해외에 비해 뒤쳐져 있는 문화입니다.
애자일과 대비되는 전통적인 폭포수(Waterfall) 방식은 계획적이고 안정적이지만, 완성되기 전에는 ‘검증’ 단계를 거칠 수 없습니다. 또한 개발 속도가 느리며 유연성이 떨어집니다.
아래 모나리자 그림에서 볼 수 있듯이, 이 방식에서는 ‘러프 스케치’(프로토타입)를 보며 수정할 수 없으며, 요구사항 변화에 대응하거나 버그를 잡아내기 힘듭니다.
애자일 방식은 반복적이고 점진적으로(Iterative Incremental) 진행합니다. 쪼개고 작업하고 검증하고, 계속해서 반복합니다.
‘Iterative and Incremental’은 별개가 아니라 결합되어 동시에 진행되어야 합니다.
XR 프로젝트에서 애자일의 중요성은 더욱 빛나게 됩니다. 웹/앱보다 UX적으로 고려해야할 요소가 훨씬 다양한데다, 실감형 특성을 가지므로 애자일을 통해 더블 다이아몬드의 Iteration을 제대로 녹여낼 수 있습니다.
Steven Thomas: Iterative Incremental
여기에 고객의 피드백을 빼놓을 수 없겠죠.
다음처럼 각 스프린트마다 고객 가치를 점차 높여가면 성공적인 애자일이 됩니다.
Henrik Kniberg: Iterative Incremental

마치며

XR 프로젝트를 진행하는 데 있어서, 기존 웹/앱 개발과 다른 점을 중심으로 살펴보았습니다.
읽어주셔서 감사합니다.
작성자 : 민효식