“저는 언제나 SF(공상 과학) 장르의 팬이었고, 그래서 제가 첫번째로 만들 게임이 SF 게임이 될 것이란 것을 알고 있었습니다.” 타우 세티 스튜디오(Tau Ceti Studios)의 제시 대넌브링(Jesse Dannenbring)의 말입니다. “저는 플레이어들이 실시간 전략 시뮬레이션 장르에서 즐길 수 있는 재미있는 전략 수립과 전투들을 그대로 가져와, 은하계 전역의 성계와 성계 사이를 오가며 즐길 수 있도록 만들고 싶었습니다.”
이제 처음으로 게임 개발을 시작한 개발자에게는 산더미처럼 쌓인 코딩 작업을 제외하더라도 결코 쉬운 작업이랄게 없었습니다. 우주가 턴제 전략 장르의 게임상에서 지금껏 큰 인기를 누려온 배경이라고는 하지만, 우주를 배경으로 게임을 제작하는 작업에는 독특한 과제들이 산재해 있습니다.
광대한 성계 전체를 단 몇 초만에 모두 둘러볼 수 있어야 합니다. 깜깜한 진공 공간 속에서 적절한 라이팅 작업이 이루어져야 합니다. 또한 공전한다는 사실조차 알아채기 힘들 정도로 거대한 규모를 자랑하는 행성들 역시 단순한 미학 애셋으로 내버려두기 보다는, 실제로 살아 숨쉬는 별로 만들어주어야 합니다. 이렇듯 대넌브링은 보이드 이클립스(Void Eclipse)의 제작 과정을 거치며 은하계의 조각가가 되었습니다.
아름다운 우주 공간
언리얼은 커스텀 카메라워크를 지원하기 때문에, 대넌브링은 비좁은 시야가 아니라 우주 은하계 전체를 조망할 수 있는 카메라 시야를 구성할 수 있었습니다.
“물론 카메라를 어떻게 구성하고 조정할지, 또 어떤 액터를 사용할지에 대해서 상당히 연구를 해야 했습니다. ” 대넌브링은 회상합니다.
액터(Actor)란 레벨 상에 배치할 수 있는 오브젝트를 모두 일컫는 말입니다. 플레이어나 AI가 조종할 수 있는 액터는 폰(Pawn)이 됩니다. 대넌브링은 중력의 구애를 받지 않고 우주 공간을 날아다니며 은하계 전체를 관찰하는 기능에 언리얼 엔진 4의 관람자 폰을 활용하는 작업 방식을 선택했습니다.
대넌브링이 개발한 카메라는 길이를 자유자재로 조절할 수 있는 막대 끝에 달린 캠코더를 연상하게 하며, 꼭 망원경처럼 작용합니다. “그러니 원한다면 행성에서 채 1미터도 떨어지지 않은 거리에서 거대한 행성을 관찰할 수도 있고, 반대로 족히 10만 킬로미터는 떨어진 곳까지 시야를 축소할 수도 있습니다. 이 모든 시야 조정이 엔진 내에서 이루어집니다.”
대넌브링은 언리얼 엔진의 입력 프레임워크를 활용해 플레이어 컨트롤을 폰이 이해하고 반응할 수 있는 데이터로 전환하여, 마우스 휠을 위아래로 굴리는 것만으로 지도의 줌 인, 아웃을 조정할 수 있는 완성됩니다.
“탑뷰 시점에서 본 카메라는 굉장히 쉽게 만들 수 있습니다.” 대넌브링은 말했습니다.
우주의 창조
대넌브링은 소프트웨어 엔지니어라는 경력을 가지고 있으며, 지금까지 UI와 관련된 수많은 작업들을 수행해왔습니다. “그래서 레이아웃 등의 요소들을 어떻게 보여주어야 괜찮은지 잘 알고 있습니다.”
하지만 보이드 이클립스를 정말 화면에서 튀어나올 것 같이 실감나게 만드는 폴리시 작업은 상당히 어려운 과제였습니다.
“저는 머티리얼 에디터와 섭스턴스 디자이너를 통해, 그저 실사처럼 보이는데 그치지 않고 실제로 사람들의 상상을 사로잡을 수 있는 머티리얼을 제작하는 것에 대해 정말 많은 것을 배울 수 있었습니다.” 대넌브링은 설명합니다.
시각적 폴리시 작업에서는 아주 작은 요소가 거대한 차이를 불러옵니다. 특히 보이드 이클립스에서의 이런 작은 요소란 바로 절차적 애니메이션이었습니다. 대넌브링이 처음 성계를 제작하기 시작했을 때, 이 성계의 행성들은 모두 고정된 상태였습니다.
“그 정도도 괜찮아 보입니다. 여기에 조정을 가해 이동까지 시켜본다면 정말 좋아보입니다.” 대넌브링은 말합니다. “하지만 약간의 애니메이션까지 추가해준다면, 정말 생생한 장면으로 다시 태어나는 것입니다.”
대넌브링은 행성 자체에 애니메이션을 추가하여, 위성들이 행성의 궤도를 돌고, 행성들은 항성의 궤도를 도는 구조를 만들어 내었습니다.
“너무 과장된 효과를 넣지는 않았습니다. 엄청나게 빠른 속도로 궤도 상에서 돌거나 하는 애니메이션이 아닙니다.” 대넌브링은 강조합니다. “하지만 아주 약간의 애니메이션을 넣은 것만으로도, 해당 장면에 예상보다 훨씬 생생한 생동감을 넣을 수 있게 되는 것입니다.”
라이팅 작업
대넌브링의 말에 따르면 깜깜한 우주 속에서 제대로 된 라이팅 작업을 한다는 것은 굉장히 “흥미로운” 것이었다고 합니다. 피직스 미들웨어는 기본적으로 지구상에서 중력의 작용을 받는 상황을 상정하기 때문에, 기존의 라이팅 솔루션은 굉장히 평범하고 방 규모의 공간만을 소화해냅니다. 성계 전체의 라이팅 작업에는 도무지 계산이 맞지 않습니다. 다행인 점은 언리얼 엔진 4는 오픈 소스로 제공된다는 것입니다.
“물론 디렉셔널 라이트나 포인트 라이트만 활용해서 괜찮은 작업물을 만들 수 있는 부분도 있습니다.” 대넌브링의 말입니다. “하지만 그렇지 않은 경우도 분명 존재합니다. 특히 게임 엔진은 사람들에게 익숙한 규모와 비율을 보여주도록 설계되어 있기 떄문에, 저는 필요할 경우 엔진의 파라미터를 분해하고 조정해서 100% 정확하지는 않게 만들었습니다. 이런 방법은 궤도 상에 있는 별빛을 보여줄 때 아주 유용했습니다.”
대넌브링은 이렇게 형성한 배경에 허블 천체 망원경이 촬영한 사진을 렌더링해 넣었습니다. 그리고 행성의 어두운 표면에는 지표의 도시에서 흘러나오는 불빛이나 용암 지대를 넣어 밝게 꾸몄으며, 이는 대넌브링이 특히 자랑스럽게 강조하는 부분입니다.
“이처럼 행성에서 흘러나오는 라이팅의 작업에는 이미시브 글로우를 아주 유용하게 사용했습니다.” 대넌브링은 열정적으로 말했습니다. “약간의 계산과 벡터, 벡터 노멀에 대한 이해만 있다면 충분히 활용할 수 있는 요소지만, 머티리얼에 노드만 조금 구성해주더라도 바로 구현할 수 있습니다. 정말 굉장하죠.”
은하계의 생성
보이드 이클립스는 우주를 생성하는 작업에 “준-절차적(semi-procedural)” 시스템을 사용합니다.
“저는 원래 완전한 절차적 생성 방식을 만들기 위해 쿠킹을 진행했었습니다.” 대넌브링은 설명합니다. “하지만 병력 생산과 자원 생산 간의 초기 밸런스를 맞추는 작업 도중 각 성계에는 어떤 행성들을 배치할 것인지, 그리고 이 행성들은 어떻게 연결되어 있는지 직접 조정하고 싶어졌습니다.”
대넌브링은 프로그래밍에 대한 지식이 없어도 코딩 작업을 가능하게 해주는 언리얼 엔진 4의 노드 기반 시각화 스크립트 툴, 블루프린트로 은하 내부를 성계로 채우는 스크립트를 제작했습니다. 이렇게 블루프린트를 활용해 언리얼 엔진의 레벨 에디터 내에서 새로운 은하를 만들어낼 수 있었습니다.
“행성의 숫자, 유형, 보유한 위성, 천체 및 별 사이의 간격까지 모두 결정해주는 변수와 설정들을 정말 많이 구성하였습니다.” 대넌브링은 말합니다. “그러니 일단 게임을 시작하면 블루프린트는 관련 정보를 모두 취합하여 런타임에 행성의 모델과 머티리얼, 애니메이션, 위치를 런타임에 생성합니다.”
배넌브링은 이런 방식으로 절차적 생성을 통해 만들어진 은하를 마음대로 조정할 수 있게 되어서, 턴제 전략이라는 장르에 더 뛰어난 게임성과 재미를 부여할 수 있었습니다.
“예를 들어 별이 40개 배치된 지도를 가지고 있다고 가정해봅시다. 여기에 수많은 경로들이 겹치는 교차점을 만들어서 분쟁 지점을 형성하려고 한다면, 지도상에서 곧바로 작업해줄 수 있습니다.” 대넌브링은 말을 맺습니다.
“이 블루프린트를 커뮤니티에 공유해서 자신만의 우주를 만들 수 있게 하면 정말 굉장하지 않을까, 하는 생각도 하고 있습니다. 지금 구체적인 구상까지 해보지는 않았지만, 커뮤니티의 다른 구성원들도 창의적인 생각과 언리얼 엔진을 가지고 있으니 분명 굉장한 우주 지도가 만들어질 것이라고 생각합니다.”
보이드 이클립스: 엠파이어스 앳 워는 PC로 출시될 예정입니다. 언리얼 엔진 4는 현재 무료로 이용하실 수 있습니다..
에디터 주석: PCGamesN에서는 언리얼 엔진을 기반으로 제작된 환상적인 게임을 선정하여, 해당 게임의 개발자들과 인터뷰를 하고 "Making It in Unreal" 시리즈로 제작하고 있습니다. 에픽게임즈는 기사 제작에 어떤 영향력도 행사하지 않습니다.