본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

100억 온라인 게임 카오스온라인의 숨은 동력

게임 ‘카오스온라인’은 지난 2007년 개발을 시작으로 2011년 말 정식 서비스에 이르기까지 4년이란 시간이 걸렸다. 개발사 ‘네오액트’는 RTS, AOS(Aeon Of Strife) 등 개발 당시로선 흔치않은 고난위의 기술을 구현하는 온라인 게임 개발을 위해 많은 인력과 100억원에 이르는 비용을 투자했다는 것이다. 이 회사 관계자에 따르면, 게이머들에게 사랑받은 게임으로 도약한 카오스온라인의 숨은 동력에는 공개SW가 있었다고. 이로써 기술 구현을 가능하게 했을 뿐 아니라 개발기간을 상당히 단축할 수 있었다는 전언이다.

- 기     관 네오액트
- 수행년도 2007년~2011년(4년)
- 도입배경 누적 개발비용 100억원이 들어간 대작 게임 카오스온라인의 원활한 개발을 위해 게임 엔진 속 라이브러리는 물론 개발 단축을 위한 공개SW 다수 도입
- 솔 루 션 Boost, ACE(The ADAPTIVE Communication Environment), LuaJIT(a Just-In-Time Compiler for Lua), JsonCPP, Curl, Speex, SFML(Simple and Fast Multimedia Library), FreeImage, Chromium, BitTorrent, GoogleBreakPad, CppCheck, InnoSetup, Jenkins, MRTG(The Multi Router Traffic Grapher)
- 도입효과 : 처음 시도한 실시간 전략 시뮬레이션(RTS) 게임임에도 다양한 공개SW 요소를 활용해 성공적으로 개발하고 안정적이고 원활한 서비스 제공이 가능하게 되었음

네오액트는 지난 1999년 설립해 지금까지 16년째 게임 전문 개발사로 자리매김하고 있는 기업이다. 1996년 삼성전자 소프트웨어 멥버십 개발자 4명이 의기투합해 시작해 ‘짱구는 못 말려’ 같은 PC 패키지 게임이나 팜파일럿용 등 다양한 게임을 프리랜서로 활동하면서 만들다가 1999년 10월 법인화, 지금까지 10여 개에 이르는 게임을 만들어왔다. 설립과 동시에 세계에서 처음으로 3D 온라인 당구 게임인 ‘캐롬3D(Carom3D)’를 선보인 데 이어 ‘아스트로엔(AstroN)’, ‘포키포키’, 웹게임인 ‘아스트로네스트’, RTS 온라인 게임인 ‘카오스온라인’ 등을 연이어 선보였다. 게임 전문 개발사답게 전체 직원 50명 가운데 개발자 비율이 90%가 넘는다. 16년이라는 긴 역사에 걸맞게 게임 뿐 아니라 ‘꾸러기 훈민정음’ 등 교육 콘텐츠를 만들거나 웹사이트와 모바일앱 등 다양한 개발 이력을 갖고 있는 곳이기도 하다.

 

이 회사가 선보인 ‘카오스온라인’은 지난 2007년 개발에 들어가 2011년 11월 28일 정식 서비스를 시작할 때까지 개발 기간만 4년이 걸렸다. 카오스온라인은 RTS, 그러니까 실시간전략시뮬레이션인 동시에 대전 액션과 공성전 요소를 결합시킨 AOS(Aeon Of Strife) 즉 해외에선 MOBA라고 부르는 장르 게임이다. 네오액트는 당시만 해도 이 게임을 개발하는 데 고민이 많았다. RTS 분야는 프로그래밍 역량과 클라이언트 기술 등 기술력이 많이 필요하다. 최고의 기술력을 요하는 분야인 만큼 경험이 없던 네오액트 입장에선 개발 인력과 비용을 상당히 투자해야 했다. 카오스온라인에 들어간 개발비용은 초기 10억원대에서 지금까지 누적 투자 비용은 100억원 가량에 이른다. 투입된 개발 인력은 50∼70명에 달한다.

 

카오스온라인 속 공개SW? ‘너무 많아서 정리가 힘들 정도’

카오스온라인을 움직이는 심장에는 공개SW가 상당수 포함되어 있다. CTO 겸 클라이언트 개발 총괄을 맡고 있는 박윤하 이사는 ‘카오스온라인에 들어간 공개SW는 너무 많아서 정리한다는 것 자체가 힘들 정도’라고 말한다.

 

대표적인 걸 몇 가지만 추리면 부스트(Boost)는 C++ 프로그래밍 언어를 위한 선형대수, 의사 난수 발생이나 멀티스레딩, 영상 처리와 정규 표현식, 유닛 테스트 같은 작업과 구조를 지원하는 라이브러리 집합이다. 안에는 80개가 넘는 개별 라이브러리가 있다.

 

ACE(The ADAPTIVE Communication Environment)는 서버에서 쓸 수 있는 다양한 모듈을 포함하고 있다. 네트워크 처리 방식을 선언적으로 바꿀 수 있고 접속 구축과 동기적 이벤트, 다중 수신과 디스패칭, 동기화와 동시 처리 등 네트워크 프로그래밍과 관련한 동일 반복 작업을 쉽게 할 수 있게 돕는다.

 

LuaJIT(a Just-In-Time Compiler for Lua)는 루아 스크립트를 실행 시점이나 미리 컴파일해서 중간 언어로 변환, 실행할 때 순수하게 그냥 루아 구현체로 한 것보다 훨씬 빠른 속도로 구동될 수 있게 해주는 루아 구동 구현체다. 또 JsonCPP는 C++에서 JSON 형태 데이터를 손쉽게 다룰 수 있게 해주는 라이브러리, Curl은 클라이언트 사이드 URL 통신 라이브러리로 DICT와 FILE, FTP, Gopher, HTTP, POP3 등 수많은 프로토콜을 지원한다. 멀티 플랫폼과
다중 언어를 지원하는 멀티미디어 라이브러리인 Speex, 이미지를 읽고 변환하는 데 이용하는 라이브러리인 FreeImage 등도 쓰인다.

 

카오스온라인은 여기에 안전하고 빠른 브라우징을 위해 구글 크롬 브라우저에 쓰이는 Chromium, P2P 분산 방식을 이용해 과도한 CDN 비용을 아낄 수 있게 해주는 비트토렌트(BitTorrent), 여러 플랫폼에서 소프트웨어에 충돌이 발생하면 덤프 파일을 생성해 개발자에게 안정적으로 전달해주는 도구인 ‘GoogleBreakPad’, C++ 소스코드를 정적으로 분석해 취약점을 발견해주는 툴인 ‘CppCheck’, 다국어를 지원해주는 인스톨 프로그램을 손쉽게 만들 수 있는 도구로 파스칼 언어로 스크립트를 작성할 수 있는 ‘InnoSetup’, 패키징과 테스트를 돕는 빌드 자동화 도구인 ‘Jenkins’ 등을 사용했다.

 


▲ 카오스온라인 주요 공개SW 활용 구조도

 

물론 이게 전부가 아니다. UI를 만드는 데 HTML5와 자바 같은 걸 쓰면 자연스레 JQuery 같은 걸 쓴다. 박 이사는 “알게 모르게 들어가 있는 게 많다”고 말한다. 그는 보통 게임을 만들 때에는 상용 게임 엔진을 쓰지만 이 상용 게임 엔진 역시 공개SW를 많이 가져다 쓴다고 설명했다. 렌더링 엔진을 예로 들면 카오스온라인은 겜브리오를 쓰는데 ZIP 같은 라이브러리나 PNG 라이브러리, XML 등 이것저것 함께 쓰게 된다. 박 이사는 “마치 그물처럼 하나를 쓰면 실제로는 공개SW는 그 이상을 쓰게 되는 게 많을 수밖에 없는 이유”라고 말한다.

 

네오액트는 공개SW를 도입한 이유로는 물론 게임 엔진에 들어가는 건 당연하지만 가장 큰 이유는 개발 기간 단축이라고 설명한다. 박 이사는 “기술을 밑바닥부터 만들지 않고 이걸 쓰면 어떻게 좋은 구조를 만들 수 있고 시간을 단축시킬 수 있다는 지식을 개발자끼리 공유하면서 공개SW를 쓰게 된다”고 말한다. 그의 표현을 빌자면 “좋다는 걸 알기 때문에 굳이 어렵게 가지 않더라도 공개SW를 쓰는 것”이라는 얘기다.

 

박 이사는 이런 점 때문에 아예 “공개SW를 활용하지 않고 게임을 만드는 건 아직 소소한 프로젝트가 아닌 다음에는 불가능하다”고 해도 과언이 아니라고 강조한다. 어느 정도 규모가 되면 10개 이상은 반드시 공개SW가 따라온다고 봐야 하지 않겠냐고 반문한다. 그는 또 직접 게임 프로젝트를 완수하는 데 들어가는 것도 있지만 완수를 돕는 공개SW도 많다고 말한다. 스크립트를 짜면 파이썬으로 쓰고 패키징으로 뿌리려면 비트토렌트를 이용해 분산 처리하는 걸 예로 들 수 있다.

 

직원 90%가 개발자 “공개SW 장점은 커뮤니티 활성화”

이렇게 만든 카오스온라인은 지난 2011년 서비스를 첫날 1만 1,000명에 달하는 동접(동시접속)을 기록하고 첫 주말에는 다시 1만 5,000명으로 늘어나는 등 호응을 끌어냈다. 2013년에는 카오스온라인으로 활동하는 클랜 수는 6,500개 이상을 나타냈고 지금까지 누적 회원 수는 103만 명에 이른다.

 

물론 비슷한 게임 형태를 지원하는 리그 오브 레전드(LOL)가 워낙 막강한 영향력을 발휘하다 보니 상대적으로 요즘에는 주춤한 상태지만 게임은 지금도 여전히 진화 중이다. 박 이사는 “다른 곳에선 하지 않는 1주일에 한번씩 패치를 하고 있다”고 밝혔다. 게임 속 영웅 캐릭터를 계속 추가하거나 스킨이나 아이템 등을 매주 더하는 것이다. 이 게임은 지금도 한 주마다 알게 모르게 변하고 있는 셈이다.

 

앞서 설명했듯 카오스온라인을 만드는 데 투입한 개발 인력은 50명 정도, 많을 때에는 70명까지도 들어갔다. 하지만 매주 부지런한 패치를 하는 등 꾸준히 개발 이슈가 생기는 만큼 지금도 여전히 50명 가까운 인력이 들어간다. 게임에 들어간 누적 개발비 100억원 가량 대부분이 쓰인 곳도 개발자 인건비가 가장 크고 상용엔진을 도입하는 데 들어간 것 등이다. 박 이사는 이런 점에서도 공개SW를 활용해 시간·비용적인 이득이 많았다고 설명한다.

 

네오액트는 전체 직원 중 90%가 개발자인 전문 개발사다. 내부에 온통 개발자 천지인 만큼 공개SW를 사용하는 수도 많을 수밖에 없다. 박 이사는 개발자들이 공개SW라고 굳이 인지를 하지 않아도 솔루션을 찾다보면 대부분 공개SW, 상용은 10% 정도 비율이라고 설명한다. 내부 개발자들은 때론 상용과 공개SW를 비교해보는 등 수시로 공개SW를 접한다. 이들이 말하는 공개SW의 장점은 상용보다 커뮤니티가 활성화되어 있다는 것이다. 제작자에게 이메일을 보내 피드백을 주고받거나 개선을 바로 반영하는 등 기대할 만한 장점이 많다는 것. 이에 비해 상용은 이메일을 보내도 답이 없기 일쑤다.

 


▲ 카오스온라인 화면

 

카오스온라인은 지난 2011년 4년간의 개발 끝에 탄생한 RTS 온라인 게임이다. 누적 회원수 103만 명을 기록 중인 이 게임은 지금도 매주 새로운 요소를 추가하고 있다.

 

게임 전문 개발사 경쟁력은 ‘멀티플랫폼 역량’

박 이사는 앞으로의 게임 시장은 멀티 플랫폼에 대응하는 쪽으로 변화할 것으로 보고 있다. 그 뿐 아니라 서버를 직접 운영하고 장비를 직접 다루는 것도 ‘끝물’이라고 말한다. AWS(아마존 웹 서비스) 같은 클라우드를 이용하면 콘솔로 버튼 한 방이면 설정을 하거나 DB 같은 것도 모두 지원한다. 네오액트는 현재 준비 중인 모바일 게임의 경우에는 AWS를 이용할 계획이다.

 

또 앞으로의 게임은 모든 게 서버에서 돌고 단말에선 그냥 즐기기만 하는 형태가 될 것으로 보고 있다. 물론 아직까지는 망 속도 문제가 걸릴 수 있어 이 문제는 시간이 조금 필요한 건 사실이다. 그 뿐 아니라 게임 자체가 서비스 개념을 더 강화하는 추세도 짚어볼 필요가 있다. EA 같은 곳이 한 달에 얼마를 내면 자사 게임을 전부 즐기게 해주는 식으로 바뀐다는 얘기다.

 

네오액트는 모바일 게임에 대해선 대응이 늦었다면 조금 늦었지만 얼마든지 기회가 계속될 것으로 보고 있다. 박 이사는 실제로 지난해 한국콘텐츠진흥원에 사업안을 내서 16:1 경쟁을 뚫고 통과되어서 카오스온라인을 테마로 턴 방식 5:5 전투를 하는 모바일 게임을 내년 3월까지 내놓을 계획이라고 밝혔다. 이를 통해 모바일 게임에 대한 노하우를 확보하는 동시에 시장에 대한 본격적인 진입을 시작할 것이라는 설명. 네오액트는 여기에 모바일 퍼즐 게임도 준비하고 있다. 박 이사는 온라인이나 콘솔, 모바일 등 뭐 하나가 죽고 사는 게 아니라 모든 분야가 일정 규모를 갖고 가면서 유지될 것이라고 말한다. 미래의 게임 개발사는 멀티 플랫폼에 대한 대응전략을 가져가는 전문 게임 개발사로서의 역량을 가져가게 될 것이라는 얘기다. “플랫폼이 달라도 점차 범용화되는 부분이 늘고 있어 다양한 플랫폼에 대응하는 게임을 개발하게 될 것”이라는 말이다. 네오액트가 가려는 게임 전문 개발사로서의 길이기도 하다.


 

[인터뷰]


“작은 게임 아니라면 공개SW 없는 개발은 불가능”

네오액트 박윤하 이사


네오액트 박윤하 이사

Q. 공개SW를 적용한 가장 큰 이유가 있다면

A. 가장 큰 이유는 개발 기간 단축이다. 물론 개발 기간 단축 한 가지 이유만 있는 건 아니다. 내부 지원 중 90%가 개발자다. 개발자끼리는 항상 정보를 주고받는다. 개발자 입장에선 좋다는 걸 알기 때문에 굳이 어렵게 가지 않더라도 공개SW를 쓰는 것이 어찌 보면 당연하다.

 

Q. 카오스온라인에 들어간 공개SW는 어떤 게 있나

A. 너무 많아서 정리한다는 것 자체가 힘들 정도다. 직접 게임 프로젝트를 완수하는 데 들어간 것도 있지만 이걸 빼도 완수를 돕는 공개SW도 많다. 예를 들면 스크립트를 짜면 파이썬으로 쓰고 패키징으로 뿌리려면 비트토렌트를 이용해 분산 처리하는 것도 마찬가지다. 솔직히 공개SW를 활용하지 않고 게임을 만드는 건 아직 소소한 프로젝트가 아닌 다음에는 불가능하다. 어느 정도 규모가 된다면 10개 이상은 반드시 공개SW가 따라온다고 봐야 하지 않겠나 싶다.




- 공개SW 역량프라자
맨 위로
맨 위로