[취재] "게임 서버 개발을 보다 생산적으로" 2019 아이펀팩토리 데브데이

게임뉴스 | 김규만 기자 |



게임 서버 전문 개발사 아이펀팩토리(대표 문대경)은 금일(10일) 성남에 위치한 경기창조경제혁신센터에서 '2019 아이펀팩토리 데브 데이'를 개최했다. 올해로 5회차를 맞게 되는 아이펀 팩토리 데브데이는 자사의 게임 서버 엔진을 소개하고, 개발자들과 소통하기 위해 마련된 행사다. 이번 데브데이는 '게임 서버 개발 워크숍'이라는 주제로, 문대경 대표를 비롯한 아이펀팩토리의 개발자들이 자사의 엔진을 활용해 MO게임 서버를 개발하는 과정을 설명했다.

문대경 대표는 "지난 4회까지 데브데이는 자사의 제품에 대한 소개를 최대한 하지 않고 지식 공유 차원의 행사로 진행했는데, 올해는 보다 현실에서 바로 사용할 수 있는 게임 개발 서버 방법론으로서 '아이펀 엔진'에 대한 소개가 중점이 되었다"며, "게임 업계의 상생을 위해 좀 더 효율적이고, 생산적인 게임 서버 개발 방향에 대한 공유를 하기 위해 이번 데브데이를 기획했다"고 전했다.



▲ 아이펀팩토리 문대경 CEO

본격적인 강연에 앞서 아이펀팩토리의 문대경 CEO가 컴퓨터 네트워킹 및 소켓 프로그래밍에 대한 개론적인 설명을 진행했으며, 게임 서버의 전반적인 구조에 대한 설명과 게임 서버가 실제 서비스에 사용될 때 부가적으로 필요하게 되는 요소에 대해 소개하는 자리를 가졌다.

문대경 대표는 직접 게임 서버를 구축하는 것과 자사의 아이펀 엔진과 같은 솔루션을 이용하는 방법을 비교하며, "처음부터 (게임 서버에 대한)모든 것을 만드는 것은 도전적인 일이고, 조직 내 기술기반을 쌓는다는 관점에서는 장기적으로 중요하다"라며, "그러나 많은 프로그래밍 인력이 필요하고, 시간이 많이 걸리는 만큼 개발중인 게임이 시장에 빠르게 진입하는 것이 중요하다고 생각하면 솔루션을 이용하는 것이 나을 수 있다"고 전했다.

또한 그는 "과거와 달리 게임은 기술 산업이라기보다는 흥행 산업에 가까워졌다"며, "게임의 흥행은 창의적인 콘텐츠에 의해서 결정되는 경우가 많으며, 게임 서버를 구축하는 것이 성공을 보장하는 것이 아니다. 이러한 측면에서 솔루션은 게임 서버 등에 대한 개발 코스트를 절약하고, 개발자들이 게임의 전체적인 완성도에 집중하는 것을 가능하게 해 준다"고 덧붙였다.




다음으로 발표를 맡은 아이펀팩토리의 김진욱 CTO는 MO게임 개발 시연에 앞서 각 OS에 따라 개발 환경을 설정하는 방법을 소개했다. 이날 시연에서 김진욱 CTO는 마이크로소프트 윈도우즈나 맥OS 환경에서 비주얼 스튜디오 코드를 설치하고, 이를 이용해 리눅스 서버 상에서 아이펀 엔진으로 게임 서버를 개발하는 방법을 공유했다.

아이펀 엔진은 리눅스, 윈도우즈 실행 OS를 지원하며 개발 툴로는 Clion(C++만 지원), Vim 및 Mono Develop(C#만 지원), VS Code(Win, Mac, Linux), VS 2015(Win), VS 2017 등을 지원한다. 이날 세션에서는 김진욱 CTO는 두 개의 시스템 환경을 가정하고 게임 서버 개발 환경을 설정하는 방법을 소개했는데, 하나는 Mac OS에서 비주얼스튜디오 Code와 원격 리눅스 서버, C++언어를 활용한 것이었으며, 두 번째는 윈도우즈 환경에서 비주얼스튜디오 2017를 활용하는 방법이었다.

원격 리눅스 서버는 아이펀엔진이 최근부터 지원하기 시작한 기능으로, 서버 개발에 필요한 UI 및 디버거 등을 네트워크를 통해 불러와 작동시킬 수 있다. 이를 통해 물리적인 환경에 구애받지 않고 보다 편리하게 개발을 할 수 있다는 것이 김진욱 CTO의 설명이다.



▲ 아이펀팩토리 김진욱 CTO

이어서는 아이펀팩토리의 남승현 시니어 엔지니어가 이날 개발하고자 하는 MO 게임의 콘텐츠를 채워 넣고, 성능 분석과 디버깅을 하는 과정을 소개했다. 예제로 개발될 예정인 게임의 특징은 '필드', '타운'이라는 두 개의 월드로 구성되어 있으며, 각 월드는 독립된 서버로 되어 있었다. 플레이어는 포털을 이용해 두 월드(서버) 사이를 이동할 수 있고, '필드' 월드에서는 발차기 공격을 가능해 상대방을 공격하고 경험치를 획득할 수 있다. 획득한 경험치는 랭킹 시스템에 사용되었다.

남승현 시니어 엔지니어는 데이터베이스 처리를 구현하는 방법부터 아이펀 엔진으로 기획 데이터를 읽어오는 과정, 계정을 생성하고 로그인을 하는 것과 같이 게임을 시작하는 데 필요한 과정부터 구현하는 방법을 차례대로 설명했다. 또한, 캐릭터가 이동하는 모습부터 공격하는 모습, 인벤토리와 경험치 랭킹, 채팅 기능 등이 어떻게 구현되는지에 대한 시연 또한 이어나갔다.

다음으로는 아이펀 엔진으로 작성된 MO 게임의 버그를 찾아 수정하는 방법이 소개됐다. 이 또한 아이펀 엔진을 활용하는 것으로 테스트 및 성능 분석 기능을 통해 서버 성능을 테스트하거나, 느린 코드를 찾아 수정하는 것 등이 가능하다.

끝으로 장수원 시니어 엔지니어는 별도의 웹 UI 개발 없이 운영툴을 만드는 방법에 대한 소개를 진행했다. 이미 개발된 서버 프로그램 로직을 재사용해 번거로운 개발 작업을 최소화할 수 있다는 것이 그의 설명이다.




한편, 아이펀팩토리의 '아이펀 엔진'은 게임 서버를 개발할 때 필요한 복잡한 기능을 손쉽게 구현할 수 있도록 도와주고, 이를 통해 개발 시간을 단축할 수 있도록 디자인된 서버 엔진이다. 게임 서버 개발에 있어 네트워크와 데이터베이스 처리, 수평 확장성 등 필수적인 기능을 제공하고 있으며, 다양한 플랫폼 및 장르의 구분 없이 적용이 가능하다는 특징도 가지고 있다. 또한 아이펀 엔진을 활용하면 싱글플레이 또는 비동기 멀티플레이 게임에도 실시간 멀티플레이 기능을 빠르게 적용할 수 있다.

기존 게임 서버 엔진들이 클라이언트-서버간 네트워크 처리 등 일부 특정 영역에만 치중한 것에 반해, 아이펀 엔진은 효율적인 클라이언트-서버 네트워킹, 자동화된 DB 처리, 복잡한 구현이 필요 없는 서버의 scale-out 구조, 게임 서버 관리를 위한 dashboard 등 게임 서버를 개발하는 전 과정에 있어서 필요한 기능들을 제공한다.

현재 아이펀 엔진은 국내외 백여 개 프로젝트에 도입되어 사용되고 있으며, 모바일 게임은 물론 PC, 콘솔 게임의 서버 구현에도 채택되고 있을 정도로 그 영역을 넓혀가고 있다.

또한 아이펀팩토리는 성공적인 게임 서비스를 위한 솔루션 또한 제공한다. '아이펀 디플로이'는 게임 출시 이후 가장 중요하다고 할 수 있는 운영 및 관리 부분에 각 개발사들이 효율적으로 서비스를 구축할 수 있도록 돕는 게임 운영 플랫폼이다. 간단한 작업만으로 고객지원 및 게임 내 이벤트 운영, 지표 분석 등을 추가할 수 있어, 개발자가 별도의 운영툴을 개발하는 수고를 줄이고 보다 완성도 높은 게임 개발에 집중할 수 있도록 돕는다.

아이펀 디플로이는 RESTful API를 통해 게임 서버와 통신하며 게임 서비스 운영에 필수적인 유저 관리, 유저 행동 로그 분석, 게임 내 이벤트 일정 관리, 서비스 운영자 권한 관리가 가능하다. 또한 글로벌 서비스에 적합하도록 다국어를 지원한다.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5