[메이저 놀이터SW 활용 성공사례 57] 마이어스게임즈 - 메이저 놀이터SW 기반 빌드 자동화 솔루션으로 자동화된 개발 프로세스 체계 마련
메이저 놀이터 순위트SW 포털
게시글 작성 시각 2012-11-07 10:09:56
메이저 놀이터SW 기반 빌드 자동화 솔루션으로 자동화된 개발 프로세스 체계 마련
MMORPG 게임인 ‘모나크(Monarch)’를 개발한 마이어스게임즈(MaiusGames)는 일련의 개발 관련 작업을 일원화하고 자동화하고자 CI(Continuous Intergration, 지속적인 통합) 솔루션의 도입을 모색했다. 그 과정에서 메이저 놀이터SW인 팀시티(Teamcity)를 도입한 마이어스게임즈는 이 솔루션으로 일상적인 개발 프로세스를 자동화하고 소프트웨어 개발 공정을 간소화함으로써 개발 생산성이 높아지고 개발 시간이 단축되는 효과를 얻을 수 있었다.
|
![]() |
비효율적인 개발 프로세스 개선 방안 모색
대규모 프로젝트 성격의 게임 프로세스를 효율화할 방안을 찾던 마이어스게임즈는 이를 가능케 할 솔루션으로 CI의 도입을 고민해왔다. CI 솔루션을 고려한 이유는 무엇일까? 이에 대해 안준영 마이어스게임즈 CEO는 “국내 유수의 게임 개발사를 두루 경험해봤지만 개발 프로세스상의 비효율적인 요소들 탓에 게임 빌드의 불안전성이 높고 팀워크가 무너지는 경우를 여러 번 경험했다”면서 “이를 사전에 예방하고 개발자의 역량을 게임 개발에만 집중시키기 위해서는 CI 솔루션을 개발 프로세스에 안착시킬 필요가 있었다”고 설명했다.
게임 엔진, 개발 툴, 서버와 클라이언트, 그래픽, 사운드 등 다양한 영역이 집약된 게임 프로젝트는 수많은 프로젝트가 상호 연동되고, 배포 목적이나 빌드 환경에 따라 특정 오프셋을 설정해야 하는 등 개발 프로세스가 복잡해 팀원 개개인의 사소한 실수가 개입할 여지가 많다는 게 안준영 CEO의 설명이다.

[모나크 게임의 대규모 전투 장면]
메이저 놀이터SW 기반 CI 솔루션, 팀시티 도입
마이어스게임즈는 우선 상용 CI 솔루션인 파이널빌더(Finalbuilder)를 도입하고 주 간격으로 프로젝트가 자동 빌드되는 개발 프로세스를 설립 초기부터 확립했다. 그러나 파이널빌더는 인터페이스가 복잡하고 스크립트 계층을 제외한 영역의 커스터마이징이 불가능하며 개발 툴과의 연동에 제약이 많아 새로운 대안이 요구됐다. 그 결과 마이어스게임즈는 소스 코드의 일관성을 유지하면서 커밋에 의해 자동 빌드될 뿐 아니라 커스터마이징이 자유로운 공개SW인 팀시티를 도입하기로 결정했다. 최창호 마이어스게임즈 프로듀서는 “다양한 CI 솔루션을 검토한 결과, 라이선스 정책에 따라 상용SW와 공개SW로 나뉘는 팀시티가 기능 완성도가 높고 다양한 툴과의 연동에도 유리해 실시간 빌드를 염두에 둔 CI 솔루션 도입 취지에도 부합했다”라고 설명했다. 젯브레인스가 공개SW로 배포하는 팀시티 프로페셔널 에디션은 통합 서버 기반의 분산형 빌드 제어 툴로, 확장성이 우수하고 다중 IDE를 지원하며 커스터마이징이 자유로워 독자적인 개발 프로세스를 확립하는 데 유리하다. 또한 커밋에 따른 자동 빌드와 시간 간격에 의한 빌드를 지원하고, 중앙 서버 기반의 자동화된 통합 빌드 환경에서 팀원 간 최종 빌드를 공유하도록 함으로써 소스 코드의 무결성을 유지할 수 있다. 세계 유수의 게임 개발사가 이미 도입해 그 우수성이 충분히 입증돼 있는 점도 물론 마이어스게임즈의 선택에 고려됐다.

일원화된 개발 프로세스 체계 확립
마이어스게임즈는 주 개발 툴인 비주얼 스튜디오를 비롯해 코드의 일관성을 유지하기 위한 버전 관리 툴인 퍼포스(Perforce), 플래시를 게임에서 이용 가능한 리소스로 컨버전하는 스케일폼(Autodesk Scaleform), 공개SW 기반 버그 트래킹 시스템인 레드마인, 인스톨쉴드, 자체 개발한 저작 툴 등을 팀시티와 연동하고 개발, 컴파일, 디버깅, 디지털 서명, 결제 솔루션, 배포, 패치 등의 여러 서브 프로젝트와 빌드 과정을 팀시티에 통합함으로써 개발 지향적이고 일원화된 자동 빌드 환경을 사내에 구축했다. 여기에 컴파일과 관련된 스토리지 저장 기술을 커스터마이징함으로써 30여분이 소요되는 서브 프로젝트의 빌드를 2분 미만으로 단축시켜 실시간 빌드가 가능해졌으며 주 단위로 통합 빌드도 실시했다. 이로써 비주얼 스튜디오 등의 각 개발 툴에서 생성된 코드가 소스 컨트롤 툴에 체크인되면 팀시티가 이를 감지하고 실시간으로 빌드가 이뤄지는 자동화된 통합 빌드 환경이 완성됐다.

[팀시티 블록다이어그램]
이를 통해 최신 소스가 패키지화하고 배포될 수 있는 상태가 유지됨으로써 통합 빌드 수행 전에 발견하기 어려운 문제와 개발 환경 차이로 인한 컴파일 오류 등을 예방할 수 있었다. 뿐만 아니라 생성일과 마일스톤 등 미리 정의된 규칙에 따라 자동으로 빌드 넘버가 부여돼 롤백이나 이슈 발생 시 통일된 기준에 의해 판단할 수 있게 됐다. 개발 효율성의 향상과 개발 시간 단축을 비롯해 지역별, 배포 유형에 따른 빌드를 프로젝트 추가로 관리할 수 있고, 프로젝트의 가시성이 확보돼 전체 프로세스 진행 상황을 파악할 수 있는 것도 팀시티 도입의 주요 효과로 꼽힌다.

[도입된 팀시티 화면]
2012년 10월 유저간담회에서 모나크의 신규 시스템을 소개하고 시장 가능성을 확인한 마이어스게임즈는 최근 첫 트레일러를 공개하는 등 본격적인 서비스 런칭을 준비하고 있다. 2년여 만에 글로벌 시장을 겨냥한 대규모 MMORPG의 개발을 성공적으로 완료한 마이어스게임즈의 이런 성과는 개발 효율성을 제고하고 팀원 간의 효과적인 협업을 도운 공개SW가 있어 가능했다. 최근 마이어스게임즈는 일원화된 팀시티 기반의 통합 빌드 환경을 바탕으로 웹사이트 등의 부가적인 프로젝트까지 팀시티와 연동할 계획을 수립하는 등 그 적용 대상을 점차 확대하고 있다.
-----------------------------------------------------------------------------------------------------------------------------
[인터뷰]
“개발 생산성 향상 위해 CI 솔루션 우선 검토해야”
안준영 마이어스게임즈 CEO / 최창호 마이어스게임즈 프로듀서
![]() |
안준영 마이어스게임즈 CEO |
일반적인 기업 환경에서는 팀 규모가 클수록 사람에 의존적인 영역이 더 많고, 이를 개선하기도 쉽지 않다. 이는 개발 팀도 마찬가지이므로 수작업이 필요한 개발 프로세스로 인해 사람의 실수가 팀의 협업이나 프로젝트에 악영향을 미치는 문제를 방지하기 위해서는 수작업을 최대한 자동화할 수 있는 솔루션이 필요하다. 개발자가 개발에만 집중할 수 있는 환경을 마련하는 것이 개발 생산성을 높일 수 있는 가장 효과적인 수단이므로, 이를 가능케 하는 CI 솔루션 중 팀시티처럼 유용성이 검증된 메이저 놀이터SW에 기업들이 더 주목할 필요가 있다.
![]() |
최창호 마이어스게임즈 프로듀서 |
Q 개발 프로세스 개선을 위한 ‘개발 방법론’도 주목받고 있는데…
개발 효율화 방안으로 애자일 등의 개발 방법론이 화두가 되고 있지만 정작 현업에서는 이를 도입할 만한 여건이 갖춰지지 않은 경우가 많다. 이 때문에 개발 방법론의 무리한 도입이 오히려 업무만 가중시키는 결과를 초래할 수 있다. 따라서 개발 방법론 자체에도 의미를 둘 수 있지만, 그보다는 이를 수행할 수 있는 환경이 갖춰졌는지를 먼저 고민할 필요가 있다. 대부분의 사람들이 변화를 두려워하는 만큼 개발 방법론의 필요성에 대해 먼저 팀원 내에서 공감을 형성하는 것이 무엇보다 중요하다. 이런 점에서 보면 아직까지는 새로운 개발 방법론의 도입에 더 신중할 필요가 있다고 생각된다.
-----------------------------------------------------------------------------------------------------------------------------
- 마이크로소프트웨어 조수현 기자 suhyeoni@imaso.co.kr
- 메이저 놀이터SW 역량프라자
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
104 | [공개메이저 사이트 추천 활용 성공사례 62] KTH - 공개메이저 사이트 추천로 일체 구성된 백엔드 서비스로 | 1603 | 2012-12-11 |
103 | [메이저 카지노 사이트SW 활용 성공사례 61] 인크로스 - 메이저 카지노 사이트SW로 웹앱 개발 툴의 | 1523 | 2012-12-03 |
102 | [공개메이저 놀이터 추천 활용 성공사례 60] 백업코리아 - OpenPC로 이머징 마켓 진출 위한 발판 | 1465 | 2012-11-27 |
101 | [메이저 놀이터 순위SW 활용 성공사례 59] 현대중공업 - 오픈폼으로 선박 성능 평가 고도화 | 2133 | 2012-11-20 |
100 | [메이저 놀이터 순위트SW 활용 성공사례 58] 한국메이저 놀이터 순위트소프트웨어협회 - 드루팔 | 1400 | 2012-11-13 |
99 | [메이저 사이트 추천SW 활용 성공사례 57] 마이어스게임즈 - 메이저 사이트 추천SW 기반 빌드 자동화 솔루션으로 자동화된 개발 프로세스 | 1542 | 2012-11-07 |
98 | [보증 사이트 추천SW 활용 성공사례 56] 맛클 - 보증 사이트 추천SW 기반 콘텐츠 관리로 기능과 관리 효율성 | 1569 | 2012-10-30 |
97 | [보증 사이트 추천SW 활용 성공사례 55] Sprint Nextel - 미들웨어 교체를 통한 라이선스 및 유지관리 비용 절감 | 1423 | 2012-10-23 |
96 | [검증 사이트 추천SW 활용 성공사례 54] 퓨처로봇 - 검증 사이트 추천SW로 지능형 서비스 로봇 운용상의 | 1492 | 2012-10-16 |
95 | [메이저 놀이터 순위SW 활용 성공사례 53] 한양대학교 - 제이쿼리 모바일 적용한 모바일 웹앱으로 스마트 캠퍼스 | 1410 | 2012-10-09 |
0개 댓글