Documentation index for AI agents

Game Server Services에 대하여

Game Server Services란 무엇인가요?

게임 개발은 지난 30년간 계속해서 복잡해져 왔습니다. 이러한 환경에 큰 변화를 가져온 것이 Unity / Unreal Engine과 같은 범용 게임 엔진입니다.

과거에는 게임 개발이 콘텐츠 제작에 들어가기까지 상당한 시간을 들여 그래픽이나 에셋 관리, 사운드 등 게임을 만들기 위한 환경을 구축해야 했습니다. 이러한 환경 구축은 타이틀마다 개별적으로 이루어졌고, 타이틀 간 정보 공유도 불충분한 상태로 개발이 진행되어 왔습니다. 그 결과 여러 회사 간, 혹은 여러 프로젝트 간에 같은 바퀴를 반복해서 재발명하는 일이 계속되었습니다.

범용 게임 엔진은 이러한 문제를 해결하여, 게임 개발자는 바로 콘텐츠 제작에 들어갈 수 있게 되었고 회사 간·프로젝트 간에 동일한 기술 스택을 채택함으로써, 인력의 유동성을 높이더라도 생산성을 해치지 않는 개발 환경을 갖출 수 있게 되었습니다.

하지만 이러한 혁신의 시작점은 10년도 더 전의 일입니다. 지난 10년 동안 게임을 둘러싼 환경은 크게 변화했습니다. 바로 온라인 기능을 전제로 한 게임 개발이 요구되기 시작했다는 점입니다.

범용 게임 엔진의 온라인 게임 지원은 불충분하여, 게임 서버 개발은 예전의 게임 엔진처럼 각 회사·각 프로젝트에서 독자적으로 이루어지고 있습니다. 이러한 낮은 생산성에 대해서는, 범용 게임 엔진으로 개발하는 것이 당연해진 지금은 굳이 설명할 필요도 없을 것입니다.

Game Server Services는 이러한 문제를 해결하기 위해, 범용 게임 서버로서 여러분의 개발 효율화를 실현하고자 탄생했습니다.

Game Server Services는 다른 서버 솔루션과 무엇이 다른가요?

저희는 장기간에 걸쳐 게임을 수익화하기 위한 서버 솔루션을 제공하고 있습니다. 이는 Game as a Service, 또는 Live Gaming이라 불리는 영역을 지원하기 위한 솔루션이라고 바꾸어 말할 수 있습니다.

Game as a Service를 대표하는 게임 장르는 MMORPG일 것입니다. Game as a Service가 게임 중에서도 극히 일부 장르에만 적용된다고 생각하고 있다면, 그것은 큰 오해입니다.

Game Server Services는 일본에서 탄생했습니다. 일본에서는 스마트폰이 등장하기 이전, Facebook 게임에서 시작된 흐름인 ‘소셜 게임’에서 싹튼 Game as a Service가 현재 스마트폰 게임 메커니즘을 뒷받침하고 있습니다. 그리고 일본에서는 지금은 예전만큼 가정용 게임기용 게임 개발에 열심이지 않습니다. 최근 몇 년간은 이러한 흐름이 되돌아와 가정용 게임 시장을 재평가하는 움직임도 있지만, 기업의 수익원은 스마트폰에서 전개되는 Game as a Service 스타일의 게임에서 비롯됩니다.

세상의 많은 솔루션이 ‘온라인 대전’에 초점을 맞추고 있는 가운데, ‘소셜 게임’을 뒷받침하는 데 필요한 게임 서버를 제공하고 있다는 점이 가장 큰 특징입니다.

Game as a Service를 위해 어떤 기능이 제공되나요?

타사 솔루션은 플레이어 데이터를 바이너리 데이터로 저장하는 것을 기본으로 하는 솔루션을 제공하고 있습니다. 이 방식은 유연성이 있지만 문제를 안고 있습니다.

첫 번째는 데이터 분석이 어렵다는 점입니다. Game as a Service를 실현하려면 게임 내에서 유통되는 자원의 총수나 소비량을 적절히 분석하여, 건전한 환경을 계속 만들어 나가야 합니다.

두 번째는 치트가 가능해진다는 점입니다. Game as a Service를 실현하려면 플레이어의 자원을 적절히 관리하여 게임 세계의 질서를 지켜야 합니다.

Game Server Services에서는 게임 내 용도별로 마이크로서비스를 설계하여 제공한다는, 엄청난 노력이 드는 작업을 하고 있습니다. 예를 들어 다음과 같은 기능을 제공하고 있습니다.

  • 스토리 진행 관리
  • 소지품
  • 도감
  • 아바타·장비·파티 편성
  • 경험치·레벨
  • 횟수 제한
  • 이벤트 스케줄 관리

스토리 진행 관리를 적절히 분석 가능한 상태로 유지하는 것은 Game as a Service에 있어 중요합니다. 왜냐하면, 전체의 1%만이 스토리를 끝까지 마쳤는데도 추가 스토리 개발에 많은 노력을 쏟고 있다면 어떨까요? 그것은 낭비입니다. 스토리를 추가하기에 앞서 ‘왜 다들 끝까지 플레이하지 않는가’를 분석하고, 그 부분을 개선하여 더 많은 사람이 기존 스토리를 완주할 수 있도록 게임을 개선해야 할 것입니다.

소지품 관리도 중요합니다. 이는 플레이어가 자산을 잃지 않도록 서버에서 관리하는 것은 물론, 게임 내에서 유통되는 아이템의 총량이나 소비 수량을 개발 측에서 파악하는 것이 중요합니다.

플레이어가 가장 필요로 하는 아이템은 무엇인가? 게임 내 화폐가 지나치게 남아돌아서 이미 존재 의의를 잃은 상태가 되어 있지는 않은가? 그러한 상태를 분석하여, 이벤트 보상에 가장 필요로 하는 자원을 추가함으로써 플레이어의 동기를 높이거나, 남아도는 경향이 있는 자원을 더 많이 소비하도록 하는 콘텐츠를 투입할 수 있습니다.

이처럼 Game as a Service는 게임 내 경제를 더욱 건전한 상태로 만들기 위해 데이터 분석이 반드시 필요합니다. 하지만 바이너리 데이터로 플레이어 데이터를 보관하고 있다면, 그것은 뜻대로 되지 않을 것입니다.

기본 용어

GS2를 이용하는 데 있어 자주 등장하는 중요한 용어를 몇 가지 소개합니다.

GS2-Identifier

GS2의 리소스에 접근하기 위한 ‘사용자’나 ‘접근 권한(정책)’, API 호출에 필요한 ‘크리덴셜(클라이언트ID/시크릿)‘을 관리하는 서비스입니다.

GS2-Deploy

AWS CloudFormation처럼 YAML 형식의 템플릿 파일을 이용하여 GS2의 리소스(네임스페이스나 마스터 데이터 등)를 자동으로 구축·관리하는 서비스입니다.

네임스페이스

각 서비스 내에서 생성되는, 데이터와 설정을 분리하기 위한 독립된 공간입니다. 예를 들어 ‘개발용’, ‘운영용’과 같이 용도별로 네임스페이스를 생성하여 구분해 사용합니다.

준비되셨나요?

관심사에 따라 다음에 읽어야 할 콘텐츠가 달라집니다.


Game Server Services의 컨셉

Game Server Services가 지향하는 게임 개발 환경에 대해

개발 흐름

Game Server Services 를 이용한 게임 개발의 흐름