유일하게 어려운 요구사항은 프로젝트의 주제였던 블록스에서의 모델링이었습니다. 저는 상호작용을 넣기 위해 프로젝트를 언리얼 엔진으로 옮겨 약간의 복잡성을 더하고 싶었으며, 이것은 팀과 제가 서로 학습하고 협동하는데 있어서 아주 훌륭한 방법이었습니다. 2주 간의 막바지에는 팀에게 제 데모를 시연하면서, 블록스의 장점과 앞으로 더 탐구해보고 싶은 점, 더 이용해보고 싶었던 점, 그리고 아래에서 살펴볼 데이터 포인트 등 결과물과 배운 점들을 함께 발표했습니다.

언리얼 엔진 4 경험
제가 어떻게 이 자리에 서게 되었는지 묻고 싶으신 분들도 계실 것입니다. 저는 대학교를 졸업한 후 작은 인디 팀에 몸을 담았습니다. 저희 팀은 함께 소규모 모바일 게임을 개발해 앱스토어에 출시했으며, 이 게임은 좋은 평가를 받아 100,000회 이상 다운로드가 되었습니다. 첫번째 앱 치고는 정말 기쁜 일이었습니다! 당시에 저희는 언리얼 엔진 3를 사용하고 있었습니다. 워크플로우는 지금과 달랐고 언리얼 엔진 4만큼 쉽지도 않았지만, 여전히 아티스트 친화적이기는 했습니다.
안타깝게도 당시의 팀은 얼마 지나지 않아 차기작 작업 도중에 해체되었습니다. 저는 록히드 마틴의 멀티미디어 디자인 엔지니어로 취직해, 3D 모델과 항공 조종, 회전부터 핵발전소에 이르는 다양한 형태의 훈련용 환경을 개발했습니다. 본질적으로 따지면 저는 당시에도 목표만 달랐을 뿐, 여전히 게임을 만들고 있었던 셈입니다.
이 시기 동안 저는 절친한 친구이자 원래 인디 팀부터 함께 했던 브래드 콜슨과 함께, 이제 언리얼 엔진 4를 사용해 작은 규모의 프로토타입들과 게임 아이디어의 구체적인 컨셉들을 만들었습니다. 우리는 둘 다 아주 바빴고 전업으로 일하고 있었지만 게임 아이디어 탐색하는 것을 아주 좋아해서, 언젠가는 2인 팀으로서 우리만의 원작 게임 타이틀을 제작하고 싶었습니다.
이 시기에 저희가 얼마나 많은 프로젝트를 시작했었는지는 셀 수도 없습니다. 많은 관심 프로젝트가 게임 구조 테스트까지 거쳤었으며, 몇 가지는 보다 거대한 규모의 프로젝트로 발전할 가능성이 보였기에 좀 더 적당한 때가 올 때까지 잘 접어두었습니다.
그렇게 시간을 보내는 동안 저는 언리얼 엔진 4에 대해 상당히 심도있게 이해하게 되었으며, 공개 버전으로 출시되기 거의 1년 전 베타 시절부터 참여해서 제 엔진으로 선택해서 사용해왔습니다. 저는 언리얼 엔진을 사용해 포켓몬스터의 주인공 지우의 방을 영상과 VR 프로젝트로 모두 재현해내는 등 재미있는 활동들을 정말 많이 했습니다. 아래 영상에서 확인해보실 수 있습니다.
저는 머지 않은 미래에 지금껏 작성하고 모아왔던 게임 아이디어 중 몇 가지를 언리얼 엔진 기반의 완전한 프로젝트로 구현해내고 싶지만, 지금 당장은 구글을 위해 작업한 아트 프로젝트를 보여드리겠습니다.
구글 블록스 프로젝트
프로젝트는 간단했습니다. 블록스를 사용해서 2주라는 시간 내에 가상 현실 프로젝트를 구성하는 것이었습니다. 이런 프로젝트는 보통 커뮤니티를 통해 블록스의 갤러리나 영상, 혹은 스틸 렌더링을 공유할 수도 있다는 멋진 환경을 동반하기 마련입니다. 2주가 꽤 빠듯한 시간이라는 것을 잘 알고 있었기 때문에 저는 프로젝트의 주제를 환경 구성으로 결정했지만, 또한 여기에 상호작용성을 부여해서 순수한 시각적 경험에 그치지 않고 어느 정도 인터랙티브 경험으로도 만들어내기 위해 언리얼 엔진 4로 가져왔습니다.
언리얼 엔진 4는 아티스트에게도 강력한 위력을 선사하기에, 꽤 오랫동안 제가 선호하는 게임 엔진이었습니다. 언리얼 엔진 4는 프로그래밍 지식이 최소한으로, 심지어 아예 없더라도 자신이 생각하는 어떤 아이디어든 간단하게 프로토타입을 만들어낼 수 있습니다.
또한 저는 선의의 라이벌이 개발한 소프트웨어를 사용한다면 굉장히 멋질 것이라고도 생각했습니다. 블록스는 사실 유니티 5로 개발된 것이어서 모델 대부분은 유니티로 만들어진 것이지만, 이제는 언리얼 엔진 4 속에 구현되어 개발이 될 처지가 되었으니까요.

초기 아이디어
초기 아이디어로는 플레이어가 간단한 퍼즐을 풀어 통과하고, 이동도 가능하고, 한데 모이거나 성장해서 하나의 환경으로 구성될 수 있는 3~4개의 작은 환경을 만들고자 했습니다. 저는 이런 아이디어를 다뤄보면서 언리얼 엔진 4 속에서 빠르게 프로토타입을 만들어, 움직임과 간단한 구조를 테스트 해 보았습니다. 어느 정도 테스트를 해 본 결과, 저는 이 아이디어를 폐기했습니다. 플레이어 주변에서 세계가 성장해나간다는 생각은 좋았고 더 심화시켜 보고 싶기도 했지만, 이 것을 씬의 이동 가능한 요소들과 섞어버리면 사용자가 싫증을 낼 가능성이 높았습니다.
또 다른 몇 가지 컨셉들도 시도해보았습니다. 시작할 때는 으레 그렇듯이, 모든 아이디어가 다 재미있고 현실적이어 보였습니다. 블록스 덕분에 테스트를 해볼 수 있는 프로토타입을 빠르게 만들 수 있었습니다. 엔진 내에서 실제로 테스트를 해볼 수 있는 수준의 프로토타입을 제작하는 데 시간을 너무 많이 들일 필요가 없었습니다.
또 한 가지 아이디어로는 플레이어가 이리저리 걸어다니면서 탐험할 수 있는 작은 블록 세계를 제작하려 했습니다. 이 아이디어에서 플레이어들은 다양한 방식으로 레벨 내의 각 부분들에 접속해서 드러낼 것이었습니다.

블록스로 구현한 컨셉 1
이렇게 접속한다는 측면을 좀 더 발전시켜, 플레이어가 각 블록에서 특정 아이템을 수집하면 블록스 로고를 만들게 하기도 했습니다. 빠른 테스트를 거친 결과 수직, 수평적인 움직임이 많이 발생해 플레이어가 꽤 불편한 느낌을 느껴서, 이 아이디어도 보류했습니다.

블록스로 구현한 컨셉 2
섬

저는 규모를 키우기로 결정했습니다. 씬의 크기를 키우고 흥미롭게 탐험할 수 있는 장소, 플레이어가 실제로는 가볼 수 없는 장소, 그리고 뭔가 이국적이면서도 친숙한 장소를 만들어보기로 했습니다. 조그맣고 살아있는 기계의 섬을 만들기로 정했습니다.
블록스 아일(Blocks Isle)은 초기에 구상했던 작은 블록의 컨셉보다 훨씬 크지만, 구성요소가 없다면 플레이어가 싫증이 날 수가 있습니다. 플레이어는 섬을 탐험하면서 약간의 퍼즐을 풀어가며 실종된 친구에게 무슨 일이 일어난 것인지 차근차근 알아가게 될 것입니다. 작업 시간이 단 2주밖에 없었으므로, 목표를 한정시켜야 한다고 스스로에게 다짐을 시켜야 했습니다.
이 컨셉에서 경험의 기본 스토리가 탄생했습니다.
스토리는 다음과 같습니다: 플레이어의 친구 재스퍼가 또 다른 정신나간 모험을 떠났습니다. 재스퍼는 이번에 수수께끼의 블록 아일에 가 보겠다고 결심했습니다. 재스퍼의 마지막 연락이 들린 것이 벌써 몇 주 전이기에, 이제 플레이어는 재스퍼가 마지막으로 신호를 보내왔던 위치로 가 보기로 합니다.
플레이어는 이렇게 경험을 시작하게 됩니다. 프로토타입을 해 본 결과 느낌이 좋았습니다. 전체 경험은 20분 정도로 짧은 편이었습니다.

시작 위치
플레이어는 이 섬을 탐험하며 친구 재스퍼가 수수께끼의 섬에서 찾은 것들에 대해 남긴 기록과 쪽지들을 발견하게 될 것입니다. 플레이어는 이 기록들을 읽거나 들으면서, 자신의 모험에 도움이 될 수도 있을 정보를 얻을 수 있습니다.

재스퍼의 기록
각각 엔진과 블록스에서 찍은 아일의 스크린샷입니다.

엔진에서 찍은 블록스 아일 스크린샷

엔진에서 찍은 블록스 아일 스크린샷

블록스에서 작업중에 찍은 찍은 블록스 아일 컨셉 스크린샷
모델링
블록스로 하는 모델링 작업은 정말 즐거웠습니다. 블록스가 얼마나 자유롭고 창의적인지는 이미 설명했으니 굳이 다시 말씀드리지는 않겠습니다. 아직 블록스를 사용해보지 않으셨다면 꼭 한번 시도해 보시기를 추천합니다. 인상과 시각 언어를 완벽하게 일관되게 유지하면서 로우 폴리 모델을 만드는 수단 중에 가장 재미있는 것 중 하나입니다.
블록스가 공간적 프로토타입 작업에는 정말 굉장한 도구라는 점도 짚고 넘어가겠습니다. 언리얼 엔진 4 속으로 구현하기 전에 저는 씬을 실제 사이즈로 키워 그 안에 서 보면서, 주먹을 쥐는 동작이나 팔을 앞뒤로 흔들며 공간 안을 돌아다니는 동작을 조합해 시뮬레이션 해 보았습니다. 이 시뮬레이션으로 저는 플레이어들이 VR 공간 속에서 어떻게 돌아다니도록 유도하면 될지, 그리고 특정 사물을 어디에 배치해야 할지 더 잘 이해할 수 있었습니다. 덕분에 정말 많은 시간을 절약했습니다.
개발
블록스와 언리얼 엔진 4는 너무나 잘 결합되었습니다! 블록스는 모델링 및 컨셉 확립 단계에서도 공간 속으로 들어가는 것이나 시각화를 가능하게 해 주었습니다. 언리얼은 아티스트에게 마치 마법같은 위력을 주었습니다. 덕분에 저는 탄탄한 컨셉을 완전하게 만들어낼 수 있었으며, 전문 프로그래머 없이도 기능을 구현해낼 수 있었습니다.

언리얼 엔진 4 기능 프로토타입
저는 하루 중 일부를 블록스로 컨셉을 실험해보고, 나머지는 언리얼로 그 아이디어들을 위한 기본 기능들을 만들어 보며 보냈습니다. 이 방법은 정말 빠른 프로토타입 작업을 가능하게 해 주었으며, 나중에는 공간을 아트 애셋으로 채우는 데도 상당히 도움이 되었습니다.
제가 기존의 3D 모델링에는 매우 능숙하기는 하지만, 이 프로젝트에서 기존의 작업 방식을 사용했다면 작업 시간이 훨씬 오래 걸렸을 것입니다. 블록스는 프로세스에서 중간 과정을 생략하는 것을 도와주었습니다. 기존 방식대로였다면 씬에서 모델 작업을 한 다음 프로세스를 진행하며 몇몇 요소를 익스포트하고, 엔진 내로 가져와 배치한 다음 이리저리 움직여보면서 공간감은 어떻게 느껴지는지 작업했어야 하겠지만, 블록스에서는 이 모든 작업이 하나로 합쳐졌습니다. 정말 엄청난 시간을 절약할 수 있었습니다. 아, 그리고 색상 탐색도 빼놓으면 안됩니다. 기존에는 특정한 색상을 시도해 보고 싶었다면, 그 색상으로 머티리얼을 만든 다음 엔진 테스트를 통해 각 애셋에 배치까지 한 후에 확인해야 해서 상당한 시간이 걸렸습니다. 하지만 블록스에서는 모든 것을 간단하게 미리보기할 수 있습니다.
위에서 말씀드린 작업을 전부 끝낸 다음 저는 지오메트리를 블록스에서 3D 프로그램으로 옮겨 언래핑 및 라이트맵 베이킹 작업을 했습니다. 그러니 이 프로세스 부분은 아직 작업해야 하는 셈입니다.

UI
저는 이 프로젝트에서 UI의 많은 부분을 간단하게 유지했으며, 너무 간단해서 사실상 거의 UI가 없는 수준입니다. 눈에 보이는 UI로는 아이템을 토글했을 때 나오는 설명과 인터랙티브 아이템에 호버를 했을 때 팝업하는 툴팁 설명 뿐입니다.
아일은 짧은 경험이기 때문에 플레이어에게 학습을 시킬 시간이 많지 않습니다. 그 결과 플레이어들은 테스트에서 각 버튼의 역할을 모르거나 잊어버리는 모습을 보여주었습니다. 이 문제를 완화시키기 위해 컨트롤러에 게임의 맥락과 관계된 툴팁을 넣어, 아이템에 호버를 하면 설명이 나오도록 했습니다. 또한 필요한 행동과 관계된 버튼에 하이라이트 효과를 넣은 결과, 사용자에게 극적인 도움을 주게 되었습니다. 또한 플레이어가 잊어버릴 가능성이 큰, 긴 튜토리얼을 넣을 필요가 없게 되었으니 저 역시 큰 도움을 받은 셈입니다.

컨트롤러 툴팁
UI는 앞으로 더 시간을 들여서 탐구해보고 싶은 부분이지만, 이 프로젝트에서는 이런 방식이 잘 작동했습니다.
마치면서
제가 드릴 수 있는 최고의 조언 중 하나는 계속해서 탐구하고 언제나 갈구하라는 것입니다. 프로세스를 개선할 수 있는 새 툴을 찾고, 새로운 시도를 두려워 하지 마세요. 새로운 시도가 성공하지 않았더라도 괜찮습니다. 우리는 쉬운 길을 갈 때보다, 도전을 통해서 마주치는 난관에서 훨씬 많은 것을 배우게 됩니다.
놀라운 로우 폴리 게임 및 아티스트 여러분이 많이 계셨던 덕분에, 저는 VR 내에서 블록스를 사용한 모델 제작 작업에 정말 큰 도움을 받을 수 있었습니다. 제가 혼자서 이 프로젝트를 단 2주 만에 구현해낼 수 있었는데, 작은 규모의 팀이 더 많은 시간을 들여 작업한다면 얼마나 많은 작업을 할 수 있을지는 그저 상상만 할 수 있겠습니다. 저 자신은 그렇게 팀 단위로 작업하는 것을 정말로 보고 싶으며, 곧 보게 될 것이라고 자신있게 확신합니다. 여러분도 한번 도전해 보시고, 그 결과물을 #MadeWithBlocks 해시태그로 온라인에 포스팅하는 것도 잊지 마세요. 또한 질문이 있으시거나 제작물을 저와 공유하고 싶으시다면, 트위터(Twitter)로 저를 언급해 주세요!
다운로드
이 프로젝트는 검로드(Gumroad) 링크를 통해 다운로드하실 수 있습니다.
편집자 주: 이 포스트는 원래 할란의 미디엄(Medium)블로그에 올라온 글입니다. 원본 포스트는 이 링크로 방문해 보실 수 있습니다.