[IGC2016] 빠르게 진화하는 게임 엔진! 아마존의 비밀 무기 '럼버야드'

게임뉴스 | 정재훈 기자 | 댓글: 2개 |


▲ 구승모 아마존 웹 서비스 / 게이밍 솔루션 아키텍트

[인벤게임컨퍼런스(IGC) 발표자 소개] 구승모 솔루션 아키텍트는 십여 년간 프로그래머 및 아키텍트로서 NCSOFT, 블루홀, NHN NEXT에서 재직하였으며, 현재는 Amazon Web Services에서 게임 서비스를 더 효율적으로 할 수 있도록 돕는 일을 수행하고 있습니다.


'게임을 만들고 싶다.'

라는 생각이 들었을 때 먼저 어떤 것을 해야 할까? 게임의 컨셉을 생각하고 장르를 정한다? 물론 맞다. 기획 없이 중구난방으로 게임 개발을 시작하는 경우는 없으니까. 기획이 끝난 후, 실질적인 개발 과정에 이르게 되면 가장 첫 고민은 아마 이거일 테다. "어떤 엔진을 써야 하지?"

게임 엔진은 여러 종류가 있고, 각각의 장점이 대중의 머릿속에 이미지처럼 박혀 있다. 언리얼 엔진은 하이엔드 그래픽에 강하고, 크라이 엔진은 배경 묘사에 강하며, 유니티 엔진은 높은 확장성과 편의성을 갖고 있다는 등 말이다.

사실 엄밀히 말하면 게임 엔진은 하나의 통짜 소프트웨어라기보다는 게임 개발자를 위한 전문 소프트웨어 모음집이라 할 수 있다. 물리 엔진, AI 엔진, 오디오 엔진 등등, 게임 하나를 개발하기 위해 사용되는 수많은 엔진을 매끄럽게 연계해 뭉쳐 놓은 것이 게임 엔진이다. 하지만 그 기능을 보면 일반적인 아마추어 개발자가 사용하는 게임 제작 도구와 비교할 수 없다. 엔진 개발사들의 노하우만큼, 게임 제작도 쉬워지기 마련. 높은 이름값의 게임 엔진들이 널리 사용되는 데는 이유가 있다.

'아마존'의 게임 엔진 진입은 다소 최근의 일이다. 올해 초, '아마존 웹 서비스(이하 AWS, 클라우드 전문 기업으로 쇼핑몰 아마존과는 다르다.)'는 '럼버야드'라는 이름의 게임 엔진의 1.0 버전을 공개했다. 그리고 지금, 럼버야드는 1.5 버전까지 업데이트되며 빠르게 진화하고 있고, 또 다른 하나의 대세 게임 엔진으로 자리 잡기 위해 성장하고 있다.

AWS의 구승모 아키텍트가 IGC 현장을 찾은 것 또한 같은 이유였다. 더욱 많은 이들에게 '럼버야드'를 소개하고, 이를 통해 게임 개발의 새로운 길을 제시하기 위함이었다.


■ 강연주제: 게임 제작을 위한 Amazon의 편리한 도구들


⊙ '럼버야드'란?




'럼버야드'는 놀라운 그래픽 품질로 이름을 알렸던 '크라이텍'의 '크라이 엔진'을 베이스로 300만 라인 이상의 코드를 수정해 만들어진 엔진이다. AWS는 물리 엔진과 네트워크 엔진에 대한 노하우를 갖고 있던 '더블헬릭스'를 인수해 럼버야드의 기초에 더했고, 자회사이자 방송 플랫폼인 '트위치'와의 연계를 통해 스트리밍에 관련된 솔루션을 추가했다.

럼버야드의 개발 스택은 다른 엔진과 마찬가지로 개발 중일 때와 실행할 때 별도로 진행된다. 하지만 수정 과정은 플레이 테스트를 거치며 실시간으로 수정할 수 있으며, 이 과정이 매우 손쉽게 이뤄진다. 또한, 클라우드 전문 기업의 게임 엔진 답게 '클라우드'를 이용한 다양한 기능을 함께 보유하고 있다.




물론 '럼버야드'의 메커니즘 자체는 다른 엔진과 크게 다르지 않다. 게임 엔진의 UI 구조는 오랜 세월 동안 쌓여온 일종의 정답에 가깝다. 럼버야드 또한 마찬가지이기 때문에 다른 게임 엔진을 사용해본 경험이 있다면 어렵지 않게 익힐 수 있고, 적응할 수 있다. 에디팅의 기본은 비주얼 에디팅이다. 직접 눈으로 보면서 조작할 수 있다는 것. 하지만 네이티브 C++과 Lua 스크립팅 또한 지원하기 때문에 개발자가 익숙한 대로 개발을 진행하는 것 또한 가능하다.




물론 지금의 럼버야드는 완성형이 아니다. 럼버야드는 현재까지 약 두 달에 한 번꼴로 업데이트가 진행되고 있으며 이는 현재도 계속 진행되고 있다. 하복 등의 다른 물리 엔진과 연동 가능하게 수정이 가해질 예정이며 렌더링 엔진 또한 다이렉트x12를 비롯해 메탈, 벌칸 등 다양한 하이엔드 엔진을 지원할 예정이다.

럼버야드의 초점은 편의성, 그리고 확장성에 맞춰져 있다. 기존의 다른 엔진을 사용하던 개발자들도 어렵지 않게 적응할 수 있고, 또한 필요한 경우 AWS의 강점인 '클라우드'를 통해 각종 어셋(GEM)을 내려받아 사용할 수 있는 것. 그것이 럼버야드의 핵심이다. 이는 기존의 엔진들로 만들어진 게임들이 일종의 형상화된 정체성을 내포하고 있던 것과는 다른 방향이다. (물론 같은 엔진으로 만들어졌다 해도 전혀 다른 느낌의 게임들도 있지만, 이는 엔진 개조로 인한 영향이 크기 때문에)





⊙ 게임리프트 - 멀티플레이를 위한 솔루션

럼버야드에 대한 설명이 끝난 이후, 구승모 아키텍트는 아마존의 멀티플레이 서버 전문 솔루션인 '게임 리프트'에 대한 소개를 시작했다.

일반적으로 시간에 따른 서버의 사용량은 마치 파도와도 같은 곡선을 그린다. 가장 많은 사람이 게임이나 인터넷 서핑을 즐기는 초저녁 - 밤까지는 높은 사용량을 보여주지만, 새벽에서 아침까지의 서버 사용량은 그 반절에도 미치지 못할 정도로 떨어진다. 게임 리프트의 오토스케일링은 이런 서버 사용량의 유동성을 잡아내고, 자동으로 서버의 활성도를 조절한다.




일반적으로 '멀티플레이'는 세 가지 방식으로 나뉜다. 비교적 적은 부담이 가해지는 비동기성 멀티플레이, 그리고 MMORPG 등에 쓰이는 지속적 멀티플레이, 마지막으로 AOS나 FPS에 주로 쓰이는 세션제 멀티플레이다. 하지만 최근 가장 높은 인기를 끌고 있는 세션형 인터페이스를 만드는 것은 간단한 일이 아니다. 게임 리프트는 이 과정을 줄여주고, 몇 분 안에 서버 구축이 가능한 수준까지 만들어준다. 어플리케이션을 올린 후, 플릿을 설정하고, 스케일 정책을 적용하는 몇 번의 작업만으로 말이다.

물론 게임 리프트가 없는 서버를 만들어 주는 것은 아니다. 게임 리프트는 서버를 대절하거나 제공하는 것이 아닌, 만들어져 있는 서버를 관리하고 소프트웨어적 솔루션을 통해 지원하는 개념이라 할 수 있다.




게임 세션이 더 필요하면 인스턴스를 더 크게 키워주고, 사용량이 줄어 세션이 줄어드는 경우는 이를 줄여 비용 낭비를 줄여준다. 게임 리프트는 웹 기반의 UI를 통한 운영을 지원하고 API를 통해서도 제어할 수 있다. 동시에 모든 지표를 지켜볼 수 있기 때문에 필요한 모든 정보를 얻을 수 있다.


⊙ AWS의 솔루션, 어떻게 시작해야 하나?

시작은 어렵지 않다. 럼버야드는 크라이 엔진 3.8버전을 기반으로 60% 이상의 내부적 개선이 가해진 버전이다. 엔진 내에 들어 있는 소스 코드는 모두 변형이 가능하며, 원하는 경우 어떻게 뜯어고친다 해도 개의치 않는다.

동시에 어떤 비용도 들지 않는다. 하지만 AWS는 클라우드 기반의 기업이기 때문에 엔진을 사용하면서 타사의 클라우드 서비스를 이용하게 되면 이 경우는 계약에 따라 비용을 지급해야 한다. 그 외에 다른 사안은 존재치 않으며 규모와 관계없이 상용화까지 문제없이 이용할 수 있다. (물론 멀티플레이 기반의 게임이면 AWS의 클라우드 서비스를 사용해야 한다.)




로열티도, 소스코드 조건도 없으며, 구매 비용 조건도 없다. 이는 게임 리프트 또한 마찬가지. 월 125시간 이내라면 무료로 게임 서버를 돌려볼 수 있고 데모로 제공된 게임의 소스를 뜯어 고쳐 자신만의 게임을 만드는 것도 가능하다.

한가지, 이 모든 정책이 무효가 되는 순간이 있으니, 인간이 이성을 잃고 서로 공격하는 등 좀비 아포칼립스에 가까운 사태(...)가 벌어지게 되면 계약의 효력이 사라진다. (실제로 계약서에 있는 내용이다….)

AWS의 솔루션을 어떻게 사용해야 하는지까지 설명을 끝낸 구승모 아키텍트는 소개를 마무리하고 관객들과 개인적인 소통을 시작했다. 언리얼과 유니티가 게임 엔진의 양대 축을 이루는 지금, AWS의 '럼버야드'가 제3의 선택지가 될지는 아직 더 두고 볼 일이지만, 적어도 그 가능성만큼은 충분히 알린 자리였다.







댓글

새로고침
새로고침

기사 목록

1 2 3 4 5