경이로운 우주 게임 Astroneer는 어떻게 만들어졌는가
2016. 5. 28.

경이로운 우주 게임 Astroneer는 어떻게 만들어졌는가

글쓴이 Brian Rowe,

아담 브로멜(Adam Bromell)은 유비소프트(Ubisoft) 토론토 지부에서 어시스턴트 아트 디렉터이자 수석 아티스트로 일했던 인물로, 자유시간에도 틈틈히 자신의 미술 프로젝트를 만들고는 했습니다. 특히 폴리곤 디오라마인 Canabalt는 꽤 유명해졌을 뿐만 아니라, 우주 밖으로 너무 멀리 나간 나머지 지구로 영영 돌아오지 못할 한 우주인의 모험 이야기를 만들어낸 씨앗이 되기도 하였습니다.

아담과 폴 페페라(Paul Pepera, 아티스트)는 이 불쌍한 우주인의 이야기를 좀 더 넓히기로 하였고, 제이콥 (Jacob Liechty, 디자이너)와 브렌던 윌슨(Brendan Wilson, 툴/시스템/그 외 업무 담당)까지 끌어들여 게임 개발의 기반을 다지기 시작했습니다. 아스트로니어(Astroneer)는 이제 간단한 미술 작품을 넘어 신생 게임 회사 시스템 에라 소프트웍스(System Era Softworks)를 창립했을 뿐만 아니라 이 회사의 첫번째 작품이 되었습니다. 유비소프트와 밸브(Valve), 343 인더스트리(343 Industry)에서 각종 굵직한 타이틀을 개발해본, 총 경력 35년짜리 신생 게임회사가 탄생한 것이죠. 

게이머는 아스트로니어에서 은하계 변방의 행성을 모험하는 포춘-시커(fortune-seeker)가 되어 모험가 겸 광부의 삶을 살게 됩니다. 가혹한 환경에서 살아남기 위한 건물을 건설하고, 그렇게 지어올린 움막이 혹독한 날씨에 날려가지 않기만을 빌며, 끊임없이 변화하는 환경에서 뭔가 귀중한 물질을 찾아내기 위해 돌아다녀야 하죠.

아스트로니어는 단순한 생존 게임이 아니라고 할 수 있습니다. 저희는 에라 소프트웍스를 창립한 4명의 개발자들과의 인터뷰를 통해, 다같이 우주 탐험 게임을 만들며 플레이어들에게 우주의 경이로움을 가르치는 경험에 대해 들어보았습니다.

요새 생존 장르 게임들의 인기가 폭발했습니다. 이렇게 비슷한 장르의 게임들이 넘쳐나는데, 아스트로니어는 어떤 면에서 차별화에 성공할 수 있었나요?

제이콥 - 일단 아스트로니어가 3인칭 생존게임이란 점이 한 몫 해준 것 같습니다. 3인칭 시야 덕분에 전체 화면 안에 더 많은 정보를 넣을 수 있게 되었어요. 특히 주인공 캐릭터가 주변 환경에 반응하는 것처럼 말입니다. 메뉴를 따로 열 필요도 없이 플레이어는 캐릭터가 보여주는 인상적인 애니메이션을 자세히 감상할 수도 있어요. 생존 게임 장르에서는 이게 또 굉장히 생동감 넘치는 경험이거든요. 만약 협동 플레이 도중에 친구에게 생명줄을 던져서 동력을 공급해주면, 친구의 등에 매달려있던 배터리가 실시간으로 충전되다가 마침내 친구가 다시 살아나는 광경을 똑똑히 볼 수 있어요. 딱히 스탯창을 열고 숫자를 확인하지 않아도 이런 부활의 순간을 관찰할 수 있는 겁니다. 이렇게 현실과 비슷한 상황을 설정해주니, 장르에 새로 입문하는 게이머들이라도 단순히 보는 것만으로 충분한 정보를 얻을 수 있을테죠.

또 협동 플레이라는 개념 자체가 생존 장르에는 굉장히 드문 거잖아요. 정말 가능성이 엄청난 분야인데 아무도 찔러보지 않았다니 정말 놀라운 일이예요! 생존 게임은 대부분 고독하고 쓸쓸한 경험만 제공하기 마련이죠. 물론 저희도 그런 상황을 좋아하기는 하지만, 그보다는 친구 한 명만 같이 있어도 세상이 전혀 두렵지 않아지는 든든한 감정에 더 주목했습니다. 저희는 플레이어들이 함께 동고동락할 수 있는 방법들을 계속해서 찾아보고 있습니다.
 
아스트로니어의 그래픽은 간단하면서도 굉장히 독특한데요. 이런 스타일을 선택하신 이유는 무엇인가요? 또 어떤 예술적인 결정을 통해 이런 개성적인 스타일을 만들어내셨나요?

아담 - 폴이나 저나 아스트로니어를 만들기 전에 AAA급 게임들을 많이 개발해봤지만, 그런 게임들의 스타일 보다는 이런 그래픽에 장점이 상당히 많더라고요. 제 생각에 가장 중요한 점은, 저희들의 개발팀 스타일에 가장 잘 맞더란 겁니다. 개발팀의 규모가 상당히 작기 때문에 시간을 많이 잡아먹지 않는 그래픽이란 점이 일단 점수를 많이 받고 들어갔죠. 게임 내에서 텍스처를 따로 안넣어도 된단 이야기니, 게임 내에서 써먹을 2D 텍스처를 만들 필요도 없고 그걸 모델에 매핑할 필요도 없단 거죠. 그래픽에 시간을 조금만 쏟아도 되니 생각나는 아이디어를 게임 속에 바로바로 구현해 낼 수도 있단 말이죠. 그러니 프로세스 반복도 굉장히 빠르게 이루어져서, 규모가 작은 팀에게는 정말로 큰 도움이 되어주었어요.

또 다른 이유는 멀리서도 눈에 확 들어오는 그래픽이 저희 취향에 더 잘 맞더란 겁니다. 큼직큼직한 오브젝트들이 서로 대비가 잘 되는 색깔들로 배색이 되어있으니, 멀리 떨어져있어도 눈에 잘 들어오거든요. 그리고 게임의 테마가 우주인데, 이런 스타일의 그래픽이 놀라울 정도로 테마랑 잘 맞더란 말이죠. 사람들도 이미지 몇 장이나 동영상 몇 초만 보고도 바로 게임에 반해버리더라고요. 본 게임은 아직 시작도 안했는데. 

 여러분은 왜 언리얼 엔진 4로 이 프로젝트를 개발하셨습니까?

제이콥 - 간단해요. 우리가 쓸 수 있는 게임 엔진중에 우리 비전을 가장 확실하게 실현할 수 있겠다는 자신이 설 뿐더러, 확장성도 엄청난 엔진은 이것 뿐이거든요. 디자인적인 측면에서 말씀드리자면, 블루프린트는 프로토타입을 정말 쉽고 간단하며 빠르게 만들 수 있는 기능입니다. 또 퍼포먼스를 뽑아내는 것도 여러분이 직접 코드를 짜넣을 수 있으니 훨씬 쉽다고 봐야죠. 아티스트들은 셰이드 에디터를 정말 알차게 써먹었고, 소스 컨트롤 매니지먼트 기능은 직무별 협동을 훨씬 쉽게 해주었어요. 물론 가장 중요한 사업적인 측면에서 보더라도, 무슨 오류가 터지든 소스가 오픈되어 있어 바로바로 고칠 수 있으니 발매가 지연될 수도 있다는 걱정은 접어둘 수 있거든요.
 
언리얼 엔진의 수익 모델도 에픽게임즈가 저희와 함께 퀄리티 높은 게임을 만들어가기 위해 노력한다는 느낌을 받았습니다. 에픽게임즈는 실제 게임이 발매되기 전까지 단 한 푼도 받지 않아요. 그냥 엔진의 사용자만 늘리려는 게 아니라, 게임이 어떻게든 완성되기를 바라는 거죠. 업데이트가 매번 진행될때마다 버그 수정은 물론이고 새로운 특성과 기능이 추가되고 있으니, 머지않아 지금 성능보다도 훨씬 나아질 겁니다.
 
예전에도 언리얼 엔진을 사용해본 경험이 있으십니까? 만약 사용해보셨다면, 작은 팀에서 쓰는 언리얼 엔진은 거대한 규모의 게임사에서 쓰는 언리얼 엔진과 비교했을때 어떤 차이점이 있었나요?
 
폴 - 아담과 저는 예전에도 굵직한 프로젝트나 개인적인 취미활동을 할 때 언리얼 엔진을 써봤습니다. 그래서 이 엔진과 굉장히 친숙해요. 저는 언리얼 엔진을 2.0 버전 시절부터 써왔고, 이걸로 언리얼 토너먼트 2003, 2004의 레드 오케스트라 모드도 만들어서 배포한 적이 있었어요. 물론 언리얼 엔진 3로는 아예 게임을 새로 만들기도 했고요. 아담도 언리얼 엔진 2.5 버전때부터 이걸 사용해왔습니다.
 
언리얼 엔진은 3D 아티스트들도 머릿속에 든 아이디어를 게임으로 빠르게 구현해낼 수 있도록 도와줍니다. 특히 머티리얼 에디터와 블루프린트 시스템은 제게 정말로 소중한 기능이예요. 저는 셰이더 코딩도 전혀 할 줄 모르지만, 머티리얼 에디터만 있다면 어떤 그림자든지 쉽게 만들어낼 수 있어요. 다른 엔진을 썼다면 프로그래머 하나를 데려다가 제가 원하는 머티리얼을 작성해달라고 부탁해야 했겠죠. 블루프린트 시스템을 활용해서 게임플레이의 로직을 게임 애셋과 연결하는 것 역시 컨텐츠 개발과 게임 내 구현에 박차를 가해주었어요. 다른 엔진들은 아티스트들을 별로 배려하지 않아서, 무슨 일을 하든 간에 언제나 프로그래머랑 붙어다녀야 했거든요. 당연히 작업시간은 늘어지고 진행이 막히는 경우도 자주 발생했었죠.
 
언리얼 개발자 커뮤니티도 엄청난 자산이 되어주었습니다. 특히 제가 무슨 문제에 부딪히거나 의문점이 생겼을 때에는, 이 곳보다 해답을 구하기 쉬운 곳이 없었어요. 다른 게임 엔진들은 워낙 폐쇄적이거나 개발사들이 독점적으로 사용하는 바람에, 작업 도중에 문제점이 생기더라도 답변을 주거나 도와줄 사람이 전 세계에 많아야 한두명 뿐이었거든요. 하지만 제가 언리얼 엔진 4를 사용하는 중에 의문점이 생기면 분명 다른 개발자들 중에서도 비슷한 문제나 의문을 가진 사람이 있었단 뜻이고, 이미 관련 게시판에 비슷한 질문과 그 답변이 올라와 있을 가능성도 크다는 얘기죠. 이게 완전히 새로운 문제점이라도 그냥 게시판에 질문을 올리기만 하면, 얼마 지나지도 않아서 다른 개발자들이 답변을 올려줍니다. 이런 타입의 열린 커뮤니티는 저희들같은 소규모 개발사들에게 정말로 소중한 존재입니다. 적은 인원들만으로도 문제는 최소한으로 일으키면서, 작업이 막힌다 한들 다른 사람들의 작업까지 방해할 필요 없이 알아서 해결할 수 있거든요.
 
스튜디오 에라의 개발자들은 북미 전역에 퍼져있는 인원들이잖습니까. 언리얼 엔진 4의 기능 중에 이렇게 흩어져 있는 팀이 보다 쉽게 협동할 수 있게끔 도와준 기능도 있나요?

브렌던 - 제 개인적인 생각으로는 언리얼 엔진과 UnrealBuildTool을 통해 컴파일러 툴체인으로 튼튼하게 연결되어 있다는 점이 아주 중요했다고 생각합니다. 즉 기술적인 면에는 젬병인 팀원들도 별다른 도움 없이 자기 나름대로 게임을 만드는 작업을 해낼 수 있다는 말이거든요. 달리 말하면, 바이너리 버전을 배포하지 않더라도 계속해서 게임을 실행하고 서로 작업 속도를 굉장히 빠르고 부담없이 맞춰줄 수 있단 겁니다. 집에서 인터넷으로 작업하시는 분들이면 인터넷 접속 속도가 빠듯할 우려가 있으니 주의하셔야 합니다.
 
점진적 생성 기능은 이 게임의 큰 부분을 차지하고 있는데, 어떤 기술과 툴을 활용하셔서 플레이어에게 인상깊고 흥미로운 환경을 만드셨습니까?

제이콥 - 점진적 생성 기능을 넣었으면 랜덤성의 범위를 잘 통제할 수 있어야 합니다. 너무 많은 부분을 생성 기능에 맡겨버린다면 플레이어들에게 좋은 소리 듣기는 힘들거예요.  

이 문제는 아티스트들이 설계한 생태계를 도입해서 해결했습니다. 이 생태계는 거의 랜덤으로 생성되어서 행성들에 적용된 다음, 식물과 광물, 그리고 생태계를 이루는 요소들을 완전히 랜덤으로 행성에 배치합니다. 하지만 랜덤이라 할지라도 매번 게임 시작 버튼을 누를 때마다 아주 재미있고 상호작용이 잘 이루어지도록 생태계가 배치될 겁니다.
 
아스트로니어의 점진적 행성이나 지형 변화 효과를 구현하는 과정에서, 언리얼 엔진 4가 특히 강점을 보인 부분이 있었나요?

제이콥 - 저희는 언리얼 엔진의 많은 요소들을 활용해 지형 조성 효과를 만들어냈습니다. 특히 언리얼 엔진의 액터 시스템이 아주 유용했어요. 각각의 생태계가 모두 액터인지라 여러 구성요소들을 공유해서, 새 생태계를 만들 때에도 굳이 아무것도 없는 맨땅에서부터 만들 필요가 없었어요. 그 덕분에 정말 다양한 생태계를 만들어 구현해낼 수 있었죠. 또한 행성 구성 요소를 배치할 때에도 생성 알고리즘이나 위치 결정에 영향을 받을 수 있는 요소들을 짜넣을 수 있었어요. 엔진의 모듈적인 특징을 완전히 활용한 덕분에, 랜덤 배치에 필요한 코딩을 하는데 시간을 낭비하지 않고 더 다양한 생태계들을 설계할 수 있었습니다.



언리얼 엔진 4의 기능 중에 생각보다 유용했던 부분이 있다면? 또 그런 기능이 게임 개발에는 어떤 식으로 도움이 되어주었나요?

브렌던 - 언리얼 엔진이 '오픈 소스'라는 것도 기능으로 꼽을 수 있다면, 이 부분이 저희 게임 개발에 엄청나게 중요한 역할을 했다고 생각합니다. 저희도 엔진을 아예 우리 방식대로 개조해서 사용하고 있어요. 코드가 완전히 개방되어 있으니, 단순히 코드를 보고 디버그를 하는 수준이 아니라 간단한 모딩을 통해 기술적으로 필요한 부분을 바로바로 수정해서 입맛대로 쓸 수 있다는 거죠. 이 정도의 유연성과 안정성을 가진 게임 엔진이 라이센스 비용도 없이 인디 게임 회사들에게 공짜로 풀린다고요? 업계가 뒤집어질겁니다.
 
제이콥 - 개발팀의 엔지니어들이 블루프린트 시스템의 기능에 대해 미덥지 않다는 반응을 보였었던 것 같습니다. 자기들이 짜넣는 코드가 오히려 방해가 되지는 않을지 걱정이 된 거예요! 그래서 언제 블루프린트를 쓰고 언제 C++을 쓸지 괜찮은 밸런스를 잡는 데에도 시간이 좀 걸렸죠. 새로운 프로토타입을 만들때는 으레 블루프린트를 썼어요. 어떤 컨텐츠를 만들건 굉장히 빠르게 개발해낼 수 있었으니까요. 텍스트 에디터는 엔진을 활용한 개발보다 세심한 관리를 할 수 있으니, 큰 흐름을 잡고 게임을 개발해 나갈때는 따로 쓸 필요가 없어요. 일단 블루프린트로 안정적인 프로토타입을 만든 다음, C++을 활용해서 재사용이 가능한 API를 만들어냈습니다. 이렇게 세심한 최적화가 가능하니, 소비자들도 만족하게 됩니다 이 모든 과정이 소비자나 판매자 측 모두에게 최고의 결과를 가져다 줍니다.
 
언리얼 엔진 커뮤니티에서 활동한 경험은 어땠습니까?

브렌던 - 정말 굉장했습니다. 에픽게임즈가 해주는 지원은 완벽했고, 저희와 비슷한 문제로 끙끙댄 경험이 있는 사람들도 쉽게 발견할 수 있었으니까요. 이제 엔진도 깃허브(GitHub)에 올라와 있겠다, 문제가 생기면 질문과 답변 란을 돌아다니면서 해결책을 찾을 수도 있습니다. 마켓플레이스랑 앤써헙도 중요하죠. 에픽게임즈도 굉장히 협력적인 자세로 나와준 덕분에, 저희 역시 에픽게임즈 소속의 직원들과 매우 긍정적인 관계를 굳건하게 만들 수 있었습니다. 다른 사람들의 성공도 나의 성공처럼 신경써주는, 그런 협력적인 분위기를 조성해준 것 같습니다.
 
요새는 PAX East같은 행사에서 이 게임을 시연하고 계신다면서요. 아스트로니어에 대한 반응응 어떻고, 또 그렇게 받은 피드백은 어떤 방식으로 반영하십니까?
 
폴 - PAX East에서는 게임에 새로운 기능을 많이 집어넣고, 관련 플레이 데이터를 수집했습니다. 몇 가지 꼽아보자면 크레인 드릴이나 행성간 여행, 모래폭풍같은 자연재해, 지하 플레이, 그리고 궤도상 위성 배치 등이 있겠네요. 게임이 시작되는 행성은 일종의 튜토리얼처럼 배치를 했죠. 플레이어들은 게임 초반 몇 분 동안 게임이 어떻게 돌아가는지 간단하게 이해를 한 다음에, 로켓을 타고 게임의 주요 무대가 될 행성으로 날아가 좀 더 다양한 경험들을 하게 됩니다. 아직 UX쪽에는 손봐야 할 부분이 많이 남아있지만, 그래도 게임을 체험하신 분들이 전반적인 게임의 흐름을 잘 이해하셨다고 생각합니다.
 
PAX East나 GDC에서 얻은 반응들은 대체로 긍정적이었습니다. 게임을 이런 대형 행사에서 시연하고 피드백을 받을 수 있다는 것은 아주 굉장한 기회죠. 회사로 돌아온 다음에는 이런 피드백들을 활용해서 게임에서 우선적으로 개발해야 할 부분은 무엇인지, 또 개선해야 할 점은 무엇인지 잘 이해할 수 있었습니다. 부스를 설치하고 행사를 벌이는 것이 꽤나 피곤한 일이기는 했지만, 그렇게 좋은 반응들을 얻고 나니 정말이지 창의성이 제대로 자극되더란 말입니다. 행사가 끝난 다음에도 몸은 힘든데 마음은 당장이라도 사무실로 돌아가서 계속 게임을 개발하고 싶었습니다.

--

더 많은 정보를 원하시는 분들은 아스트로니어의 공식 웹사이트트위터 계정, 그리고 페이스북 계정을 팔로우해보시기 바랍니다. 또 개발자들에게 질문이 있으신 분들은 레딧스팀에서 직접 질문을 받고 있으니 한번 방문해보시는 것도 좋겠습니다.

최근 게시글

Andy Serkis가 비디오 게임 기술 속 언리얼 엔진의 발전을 논하다

언리얼 엔진으로 제작된 Planet of the Apes: Last Frontier는 동명의 Fox 영화 프랜차이즈를 인터랙티브 엔터테...

Stonehenge VR SANDBOX로 독창적인 스톤헨지를 건설해 보십시오.

VR을 직접 경험한 후 열정으로 가득해진 Jessica Villarreal과 Christian Bretz는 즉시 VR이 가지고 있는 잠...

Maelstrom의 환상 속, 높은 파도가 치는 위험한 바다

Maelstrom은 해상 전투에 수많은 커스터마이제이션을 가진 아케이드 스타일의 액션과 판타지의 분위기를 합쳐, 여러분이 이 장르에 대...