IT Insight

게임 속에 깊게 파고든 오픈소스 기술

2017.05.30 09:30

한국 IT 업계에서 게임 시장은 꽤 큰 비중을 차지하고 있습니다. 2016년, 한국콘텐츠진흥원이 발표한 자료에 따르면, 이미 국내 게임 시장 규모는 10조 원을 돌파했다고 하는데요. 그만큼 게임을 만드는 기업과 개발자도 많아지고 있습니다. 과거에는 게임을 만들기 위해 복잡한 기술을 알아야만 했는데요.



요즘은 게임 엔진 덕분에 기술적으로 쉽고 빠르게 게임을 만들 수 있습니다. 특히, 모바일 게임이 성장하면서, 게임 엔진이 보편적으로 활용되고 있는데요. 오늘은 그중 한국에서도 큰 인기가 있는 언리얼(Unreal) 엔진, 유니티(Unity) 3D 그리고 코코스(Cocos) 2D-X를 살펴보겠습니다. 이 세 기술 모두 오픈소스와 밀접한 연관을 가지고 있기 때문이죠. 



 전세계 강력한 게임 엔진, 언리얼 엔진

언리얼 엔진은 에픽 게임스(Epic Games)라는 게임 개발사가 만든 게임 엔진입니다. 에픽 게임스는 1991년 설립됐으며, 처음에는 비디오 게임을 개발하다 게임엔진 기업으로 성장했습니다. 1992년 ‘언리얼’이라는 3D 기반 1인칭 슈팅 게임(First Person Shooter, FPS)을 만들었는데요. 여기서 사용한 내부 기술이 언리얼 엔진입니다. 

당시 언리얼 엔진은 높은 기술력을 가지고 있어, 경쟁 기업들의 관심을 받았습니다. 이때부터 에픽 게임스는 라이선스비를 받아 언리얼 엔진을 판매하고 이익을 얻기 시작했습니다. 

언리얼 엔진은 최근 몇 년 동안 많은 변화를 겪었습니다. 일단 유니티라는 경쟁 기업이 나타났습니다. 시대 상황도 바뀌었죠. 오늘날은 1990년대에 비해 PC, 모바일, VR, AR 등 다양한 플랫폼에서 게임을 이용할 수 있는 상황이 됐습니다. 이러한 상황에서 에픽 게임스는 2015년 3월 큰 결정을 공개합니다. 바로 언리얼 엔진4를 무료화하고 이와 관련된 코드 일부를 깃허브(GitHub)에 공개한 것입니다. 

언리얼 엔진 소스코드는 깃허브 계정을 만들어, 언리얼 엔진 계정과 연동하면 접근 권한이 생깁니다. 소스코드는 C++코드이며, 깃허브를 통해 개선사항, 오류 보고, 요청사항 등을 보내는 것도 가능합니다.

엔진 사용부터 소스코드까지 누구나 무료로 이용할 수 있고, 대신에 게임이나 애플리케이션 개발 후, 분기당 수익이 3천 달러를 넘는 경우 5%의 로열티를 내는 정책을 진행하고 있습니다. 언리얼 엔진은 과거 PC나 콘솔 게임을 개발할 때 많이 이용하고 있습니다. 요즘은 모바일이나 VR 게임 개발자들이 많이 사용하고 있죠. 

l 언리얼 엔진 블루프린트 기능(출처: https://docs.unrealengine.com/latest/INT/Engine/Blueprints/)


언리얼 엔진의 장점 중 하나로는 ‘블루프린트(Blueprints)’를 꼽을 수 있습니다. 블루프린트는 프로토타입 도구인데요. 코딩에 대한 높은 지식 없이도 게임을 설계할 수 있게 도와줍니다.


 게임 개발의 민주화, 유니티(Unity)

작년 크게 화제가 된 게임 ‘포켓몬GO’가 바로 유니티 엔진으로 만든 게임입니다. 그만큼, 최근 모바일 게임 업계에서 큰 관심을 받고 있는데요. 유니티를 처음 설립한 인물들은 전부 게임 개발자이었습니다. 당시 설립자들은 3D 기술을 잘 만들 방법에 대해 고민하면서 온라인에 글을 올렸고, 서로 소통하다가 직접 좋은 게임 기술을 만들기로 했다고 합니다. 
2005년 처음 공개된 유니티 1.0은 인디 개발자나 소규모 기업에서 많은 관심을 가졌습니다. 3D 그래픽 기능, C 및 C++ 플러그인을 지원하는 것에 주목을 받았습니다.

유니티는 엔진 자체는 오픈소스로 공개하지 않았지만, 그 사용권한은 폭넓게 열어두었습니다. 유니티 회사의 슬로건 자체가 ‘게임 개발의 민주화(democratize game development)’인데요. 인디 개발사나 스타트업, 취미로 앱을 개발하는 사람들은 무료로 유니티를 이용할 수 있습니다. 기업도 연 매출이 10만 달러 미만이라면 무료로 사용 가능합니다.

유니티는 모바일, PC, 콘솔, 위, 웹 브라우저 등 다양한 플랫폼을 이용할 수 있는 특징이 있습니다. 여기에 인앱 분석도구 ‘유니티 애널리틱스’와 인앱 광고 서비스 ‘유니티 애즈’같은 것도 무료로 이용할 수도 있습니다. 또한, 사용자끼리 기술을 사고파는 ‘에셋스토어’도 유니티만의 큰 강점입니다.

2014년부터는 오픈소스 기술을 적극적으로 개발하고 있는데요. 특히, 유니티 테스트 도구나 VR 에디터, 디버깅 등을 오픈소스 기술로 적극적으로 내놓고 있습니다. 유니티의 스크립트 엔진은 모노(mono)라는 오픈소스 기술을 기반으로 만들었는데요. 이 기술에도 유니티가 직접 기여하기도 하고, 컴필레이션 툴(Compilation Tools)인 ‘GLSL 옵티마이저’ 등의 외부 오픈소스 기술을 가져와 개발하고 있습니다. 


 오픈소스 게임엔진 코코스 2D-X(Cocos 2D-X)

언리얼 엔진이 최근 오픈소스로 전환된 것에 비해 코코스 2D 엔진은 태생부터 오픈소스 기술로 공개됐습니다. 최근은 주춤하지만 2D 게임 영역에서는 한때 많은 사용자를 보유했죠. 코코스 2D 역시 모바일 게임 개발자들이 많이 사용하고 있으며, 모두의 마블, 쿠키런 등이 코코스 2D로 만들어졌습니다. 


l 코코스 2D-X 구조 사진(출처: https://github.com/cocos2d/cocos2d-x)


코코스는 아르헨티나 게임 개발자 리카드로 콰사다(Ricardo Quesada)와 그의 몇몇 친구가 함께 만든 기술입니다. 그는 당시 2D 게임을 제작 중이었고, 당시 아르헨티나의 로스 코코스(Los Cocos)라는 지역에서 이 게임을 개발하고 있었다고 하네요. 코코스 2D라는 이름은 개발자가 있었던 지역에서 가져온 셈이죠. 

코코스 2D는 아이폰의 성장과 함께 많이 사용됐습니다. 앱 스토어가 막 등장했을 때 코코아 2D가 오브젝티브C(Objective-C)를 지원하면서 쉽게 아이폰 앱이나 아이폰용 게임을 만들 수 있었기 때문입니다. 그뿐만 아니라 코코스 2D는 다양한 언어 기술로 출력해주는 것도 큰 장점입니다. 

코코스 2D는 루비, 자바, 안드로이드, C++, 자바스크립트 등으로 결과물을 만들 수 있어, 많은 개발자의 수고를 덜어주었죠. 2010년에는 즈 왕(Zhe Wang)이라는 중국 개발자가 코코스 2D를 기반으로 일부 기술을 변형했는데, 그 결과가 바로 코코스2D-X입니다. 


코코스 2D가 오픈소스 기술이었기 때문에 이를 쉽게 복사해 개선하는 게 가능했던 거죠. 코코스2D-X는 현재 MIT 라이선스로 배포됐으며, 초기 개발자였던 리카드로 콰사다 역시 코코스 2D-X팀에서 기술을 개발하고 있습니다.

코코스 2D의 인기는 최근 들어 많이 줄어든 상황입니다. 코코스는 현재 중국 기업인 추콩 테크놀로지스(Chukong Technologies)라는 곳의 후원을 받고 운영 중이지만, 아직 기술 지원 이외에 문서 지원이나 교육 지원 등은 약한 상태입니다. 동시에 유니티와 언리얼 엔진이라는 글로벌 대형 기업이 크게 성장하면서 경쟁에서 밀리고 있습니다. 

오늘은 오픈소스 게임 엔진에 대해 알아보았습니다. 대표 게임 엔진이 오픈소스로 제공되고 있다는 것을 알 수 있었는데요. 게임 산업의 성장과 함께 오픈소스 게임 엔진의 역할도 커질 것으로 보입니다. 오픈소스를 통해 서로 소통하며 더욱 발전하는 게임 산업의 미래를 기대해보도록 하겠습니다.


글 | 이지현 | 블로터 기자

* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

저작자 표시 비영리 변경 금지
신고
Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS
위로