엔진부터 AI까지 게임업계 속 오픈소스 기술들

 

- 이지현 IT전문기자(j.lee.reporter@gmail.com) -

 

게임업계의 오픈소스는 크게 두 가지로 나뉜다. 게임 개발 시 활용하는 오픈소스 기술들. 그리고 게임 자체가 오픈소스 형태로 배포되는 게임들이다. 두 분야 모두 개발의 편리함이나 아이디어를 제공한다는 점에서 중요한 역할을 한다. 전자의 경우 게임 기업뿐만 아니라 커뮤니티부터 일반 IT 기업들까지 적극적으로 참여하면서 그 생태계가 눈에 띄게 넓어지고 있다. 인공지능이나 엔진 기술 분야가 특히나 그렇다. 후자의 경우, 인디 게임 개발자들이 그 흐름을 주도하고 있다.

 

알파고가 쏘아올린 ‘바둑’과 인공지능이라는 공

 

인공지능의 발전 수준을 논의할 때 많은 사람들이 알파고 사례를 드는 것을 볼 수 있다. 실제로 이세돌 9단은 알파고와의 대국 이후 은퇴를 고려했을 정도였고1), 해당 대국 이후 수많은 바둑기사들이 인공지능 바둑 프로그램으로 실력을 연마하고 있기도 하다. 여기서 주목해야 하는 것은 알파고 개발사인 딥마인드가 AI를 구현하기 위해 ‘바둑’이라는 게임을 이용했다는 점이다. 바둑뿐만 아니라 이들은 벽돌깨기류 아날로그 게임부터, 체스, 스타크래프트까지 다양한 게임 구현방법과 이기는 원리를 알아내며 AI 기술을 고도화하고 있다. 딥마인드 외에도 인공지능 업계에선 게임을 활용해 연구를 진행하는 것이 흔한 편이다. 게임을 만드는 사람 입장에선 수많은 데이터를 활용하고, 여러 경우의 수를 조합하며 문제를 해결할 일이 많은데, 이런 특징이 인공지능 연구 과정에서 유용한 것이다. 자연스레 인공지능 연구업계에선 게임과 관련된 오픈소스 기술을 많이 볼 수 있다.

 

딥마인드 랩

사진1 딥마인드 랩(이미지 출처 : 딥마인드 홈페이지 )

 

먼저 딥마인드는 2016년부터 3D 게임 기반 인공지능 테스트 플랫폼인 ‘딥마인드 랩’을 오픈소스로 공개했다. 여기에는 여러 연구 논문이나, API, 데이터, 라이브러리, 소프트웨어 등이 포함돼있다. 대표적으로 오픈스필(OpenSpiel)이나 에크미(Acme)는 게임 개발에서 강화학습을 도와주는 프레임워크이며, 파이코랩(pycolab)은 강화학습 테스트를 지원하는 게임엔진이다.

 

딥마인드는 타 게임 기업과 협업해 인공지능 기술을 만들기도 한다. 블리자드 엔터테인먼트는 스타크래프트2를 활용한 머신러닝 API와 관련 맵과 리플레이 데이터를 오픈소스 형태로 공개한바 있는데, 딥마인드는 이를 활용한 강화학습 개발 환경 도구 ‘PySC2’를 만들어 공개하기도 했다. 유니티와의 협업도 인상적이다. 유니티는 2017년 강화학습 훈련에 활용할 수 있는 ‘유니티 머신러닝 에이전트 ’라는 기술을 오픈소스로 공개한 바 있다. 해당 연구의 연장으로 유니티는 딥마인드와 함께 인공지능 연구를 진행하겠다고 밝혔다. 아직 구체적인 결과물은 나오지 않았지만 당시 데미스 하사비스 딥마인드 CEO는 “게임과 시뮬레이션은 딥마인드 설립 초기부터 우리 연구 프로그램의 핵심 분야”라며 “이번 협업을 통해 현실 문제를 해결하는 똑똑하고 유연한 알고리즘을 개발하고 테스트하겠다”라고 설명했다. 같은 알파벳 산하 자회사인 구글 역시 개별적으로 게임과 관련된 오픈소스 기술을 공개하고 있으며, 대부분이 게임 개발도구나 인프라 기술이다.

 

 

딥마인드 오픈소스 목록

사진2 딥마인드 오픈소스 목록(이미지 출처 : 딥마인드 홈페이지 )

 

 

구글 게임분야 오픈소스

사진3 구글 게임분야 오픈소스 목록(이미지 출처 : Google Open Source)

 

알파고 성공 이후 바둑게임은 꾸준히 새로 개발되고 있으며, 오픈소스 형태인 경우도 많다. 겉으로 보기엔 비슷한 바둑 프로그램이지만 개발 언어나 구조가 조금씩 다르면서 여러 인공지능 연구자 및 개발자들에게 관심을 받고 있다. 페이스북도 그 중 하나로, 2017년 실시간 전략 게임을 위한 오픈소스 플랫폼 엘프(ELF)를 공개하고 1년 뒤, 바둑 게임과 연결한 엘프 오픈고(ELF OpenGo)를 배포했다. 페이스북은 스스로 딥마인드에게 영감을 받아 엘프 오픈고를 개발했으며, 알파고의 새 버전격인 ‘알파고 제로’의 결과 일부를 연구에 활용하기도 했다고 밝혔다.

 

기업과 별개로 개인들도 오픈소스 바둑 게임 개발에 한창이다. 릴라 제로는 벨기에 출신 개발자가 딥마인드의 공개한 알파고 제로 논문을 참고해 구현한 오픈소스 바둑게임인데 미국 언론사 더뉴욕은 “릴라 제로는 가장 성공한 오픈소스 바둑 게임 엔진”이라고 평가하기도 했다2). 이 외에도 미니고, 무고, 카나고, 카타고 등이 오픈소스 바둑 프로그램으로 연구 및 바둑업계에서 인기가 높다.

바둑은 아니지만 게임을 이용한 인공지능을 만드는 곳에 오픈AI를 빼놓을 수 없다. 오픈AI는 테슬라 CEO인 일론 머스크와 미국 내 유명 벤처 투자자들이 지원해 만든 비영리 기업이다. 이들의 목표는 인류에 도움이 되는 인공지능 기술을 개발하는 것이며, 딥마인드의 핵심 경쟁자로도 평가받고 있다. 오픈AI가 만든 강화학습 개발도구 ‘’과 ‘파이브’는 오픈소스여서 연구자들에게 꽤 관심을 끌었다.

 

게임 개발의 꽃 ‘엔진’의 오픈소스

 

게임 분야 속 인공지능 기술이 비교적 최근에 발전한 분야라면 게임 엔진은 2000년대 이후부터 성장한 기술이다. 이제 그 영향력은 게임 개발의 심장이라고 불릴만큼 중요하게 여겨지고 있다. 게임 엔진의 기본 역할은 렌더링, 그래픽, 배경음악, UI제작 등 게임 개발에 필요한 요소들은 만들고 결합해주는 것이다. 일부 게임사는 자체 엔진을 개발해 활용하기도 하지만 언리얼 엔진이나 유니티 엔진같은 이미 잘 개발된 외부 엔진을 차용하는게 더 편하니 이를 더 많이 이용하는 추세다. 엔진 개발사들의 인기가 워낙 높아지면서 오픈소스 기반 엔진 시장도 함께 커지는 경향이 있다. 라이선스 조건에 따라 다르긴 하지만 소스코드를 입맛에 맞게 변경할 수 있다는 점. 그리고 로열티를 내지 않고 무료로 이용할 수 있다는 점 때문에 다음과같은 오픈소스 게임 엔진들이 각광받고 있다.

 

언리얼 엔진 예시

사진4 언리얼 엔진 예시 (이미지출처 : 언리얼 엔진 홈페이지 )

 

현존하는 오픈소스 게임엔진은 수십 개가 넘는다. 그중 가장 유명한 오픈소스 게임 엔진은 단연 고도 엔진이다. 연극 ‘고도를 기다리며’에서 이름을 따왔다는 이 엔진은 두 명의 아르헨티나 출신 개발자가 고안해냈다. 2D와 3D 게임 개발을 지원하고, 2014년도 오픈소스 기술로 공개된 이후 지금도 기업이 아닌 커뮤니티 형태로 기술 개선이 이뤄지고 있다. 무료로 이용할 수 있고, GD스크립트라는 직관적인 자체 언어를 사용하는 게 특징이다. 초보 개발자들에게 특히나 많이 추천되는 기술이기도 하다. 모질라나 에픽게임즈같은 외부 업체에 성공적으로 후원을 받기도 했다.

 

두 번째로 판다3D라는 기술이 있다. 이 기술은 처음부터 오픈소스 기술은 아니었고, 디즈니가 테마파크 놀이기구에서 사용할 3D 영상을 제작하려고 만들 엔진이었다. 이후에 가상현실(VR) 콘텐츠를 결합한 놀이기구 제작이나 디즈니가 제작하는 여러 온라인 게임에도 꾸준히 활용되기도 했다. 디즈니 개발자들은 해당 기술을 대학 내 VR 연구를 지원하는데 활용할 수 있다고 판단하고 2002년부터 오픈소스로 전환했다. 이때 카네기멜론 대학교와 협업해 문서화 및 기술을 보강했다. 현재 홈페이지는 카네기멜론 대학에서 운영하고 있지만 판다3D 기술자체는 디즈니와 함께 주도적으로 개발하고 있다. 판다3D 소개 페이지에서 이 기술은 초보자가 아닌 전문가에게 적합한 도구라고 소개하고 있다. 엔진자체는 C++를 사용하지만 스크립팅 언어는 파이썬을 활용하는 것도 특징이다.

 

솔라2D도 오랫동안 사랑받은 엔진 기술이다. 이름에서 알 수 있듯이 오로지 2D 게임을 만들 때만 사용할 수 있지만 그만큼 기술의 복잡도가 낮아 초보자가 많이 찾는다고 한다. 모바일, HTML5, TV 앱 등 여러 플랫폼을 지원하는 게임을 만들 때 활용하기 좋은 기술이다. 이 기술은 특히 2010년 전후 모바일 기기가 등장한 이후 인기를 끌었는데, 당시에는 코로나SDK(Corona SDK)라는 이름으로 배포됐다가 최근 이름을 솔라2D로 바뀌었다. 어도비에서 플래시(flash) 기술 개발을 이끈 두 명의 개발자가 앱 개발 기업을 설립하고 만든 오픈소스 기술인데, 현재는 기업이 직접적으로 관리하기 보다 커뮤니티에 기술 개발을 위임했다.

 

마지막으로 오픈소스 게임엔진의 시초 같은 이드 테크4(id Tech4)가 있다.(원래 이름은 둠3(Doom 3 BFG Edition)이었지만 이후 이드테크4로 변경됐다.) 이 기술은 존 카멕이란 인물이 게임 ‘둠3’을 위해 만든 엔진이다. 존 카멕은 오큘러스 VR 초기 CTO이자 90년대 인기 게임을 만들어낸 저명한 게임 개발자다. 동시에 그는 강력한 오픈소스 지지자이기도 해서 90년대 게임 엔진 시장이 발달되지 않은 상태에서 게임에 활용된 핵심 기술을 오픈소스로 공개해 화제를 모으기도 했다. 이드 테크4는 실제 기술 개발에 도입하기에는 여러 사용 제약이 있는 편이다. 하지만 게임 엔진 기반 기술이 어떻게 시작했는지와 과거 게임 개발 역사를 알 수 있다는 점에서 중요한 자산으로 인식되고 있다. 안타깝게도 이드 테크4 이후 버전의 엔진은 다시 상용기술로 변경되기도 했다.

 

오픈소스게임 엔진 로고들

사진5 오픈소스게임 엔진 로고들 (이미지 출처 : 각 공식 홈페이지)

 

인디게임 개발자들이 주도하는 오픈소스 게임

 

게임 시장은 매달 수많은 게임이 새로 나오거나 업데이트 되면서 말 그대로 무한 경쟁이 이뤄지고 있는 곳이다. 이런 게임 중 소수만이 성공하게 되는데, 그 중 오픈소스 형태면서도 주목을 받은 게임은 정말 찾기 어렵다. 그럼에도 불구하고 많은 소규모 게임사 및 인디 게임 개발자가 오픈소스 게임을 배포하고 그 문화를 만드는데 일조하고 있다. 그 결과 매년 최소 수백개의 게임들이 오픈소스 게임 형태로 공개되고 있다. 주로 해커톤이나 게임잼 등에서 이러한 오픈소스 게임을 발견할 수 있다. 아무래도 오픈소스 게임 상당수가 내부에 오픈소스 엔진이나 크리에이티브 커먼즈 라이선스 기반 콘텐츠를 활용하곤 한다. 오픈소스 게임이라고 해도 그 안의 소스코드가 재활용이 가능한지, 상업적 활용이 가능할지, 게임 소스코드 외 이미지, 음악 같은 콘텐츠를 이용해도 되는지에 대한 조건은 제각각이다. 하지만 잘만 찾으면 새로운 게임을 개발할 때 유용한 재료들을 찾을 수 있다. 위키피디아깃허브에 소개된 오픈소스 게임 목록, 게임잼 홈페이지들 혹은 오픈소스 클론이란 사이트에서 다양한 오픈소스 게임을 확인할 수 있다. 스팀에서도 오픈소스 게임만 따로 볼 수 있는 페이지가 존재하기도 하고, 게임 개발에 필요한 디자인이나 음악 자료 중 오픈소스 형태만 모아 소개하는 홈페이지도 존재한다.

 

이러한 흐름을 기반으로 앞으로 게임 분야 속 오픈소스 기술은 더욱 다채로워질 것으로 보인다. 한국에서도 그 변화를 볼 수 있는데, 블록체인 기반 게임 개발사 플라네타리움은 2019년 RPG게임을 만들면서 만든 핵심 라이브러리를 오픈소스로 개발했으며3), 엑스엘게임즈는 자체 개발 엔진 ‘XLE’를 오픈소스로 공개한바 있다. 영어권 국가 외에도 아시아에서도 참여도 늘고 있다. 대표적으로 텐센트가 공개한 게임용 AI 프레임워크나 중국 대형 게임사 넷이즈가 만든 서버엔진 포멜로나 일본 게임 개발사가 만든 엔진 스트라이드가 이에 해당한다.

 

 

 

* 이 기사는 정보통신산업진흥원(NIPA) Open UP과 이지현 IT전문기자가 공동으로 기획한 기사입니다.

 

Creative Commons LicenseOpen UP에 의해 작성된 이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다.
.
.
2020
맨 위로
맨 위로