여러분의 게임이 플레이어에게 어떤 느낌인지 아는 것은, 플레이어가 자꾸 자꾸 돌아오고 싶게 만드는 "끈적한" 게임을 만드는 데 있어 중요합니다. 여러분 게임이 1 일, 7 일, 30 일 유지 숫자야말로 플레이어가 게임을 계속 할 것인지 아니면 커뮤니티를 빠져나갈 것인지에 대한 좋은 척도입니다. 부분유료화 게임에서 이러한 숫자는 제품의 수익에 직결됩니다. 유지되는 플레이어가 지갑을 열 확률도 있는 것입니다. 물론 살펴볼 핵심 퍼포먼스 표식(KPI)이 유지가 전부는 아닙니다만, 추적을 위해 게임에 무언가 추가하기에는 가장 쉽습니다.
UE4 분석 지원
게임이 얼마나 잘 되고 있는지에 대해 데이터를 구하려면, 데이터를 캡처하고 처리할 분석 제공사를 사용해야 합니다. 대규모 회사의 경우 자체적인 분석 솔루션이 있지만, 대부분의 인디 개발자에게는 언감생심입니다. 자체 제작 솔루션이 없는 분들의 경우, 무료 서비스에서 유료 서비스까지 다양한 옵션이 있습니다. UE4 는 하나 이상의 분석 제공사와 통신하는 데 쓰이는 추상 인터페이스를 제공합니다. 게임에서 인터페이스를 사용하면, 분석 제공사는 백킹(backing) 구현을 제공합니다. 몇몇 경우 에픽에서 이미 백킹 제공사를 만들어 뒀습니다. UE4 4.5 이전 에픽은 멀티캐스트 (다수의 제공사들에게 연계되는) 분석 이벤트 구현과 Swrve (www.swrve.com ,유료 서비스)를 지원하는 제공사를 지원했었습니다. UE4 4.5 에는 iOS 의 Apsalar (www.apsalar.com, 무료 서비스) 지원이 추가되었고, 디버깅에는 주로 파일 기반 시스템이 사용됩니다. 서서히 더 많은 제공사 플러그인을 사용할 수 있게 될 것입니다. 또한 제공사 구현이 그리 어렵지 않아, 필요한 경우 직접 추가할 수도 있습니다.
게임 준비하기
플레이어 유지 데이터 캡처의 첫 단계는, 게임에 분석 제공사를 등록하는 것입니다. 이 작업은 프로젝트의 DefaultEngine.ini 파일을 통해 이루어집니다. 기본 제공사를 등록해야 합니다. 옵션으로, 다른 제공사를 등록하고 (development, testing, production 등) 여러가지 게임 빌드 유형에 대한 어카운트 디테일을 등록할 수도 있습니다. 아래 섹션은 Apsalar 플러그인 환경설정 예제입니다:
[Analytics]
ProviderModuleName=IOSApsalar
ApiKey=YourAnalyticsKey1
ApiSecret=YourAnalyticsSecret1
SendInterval=60
[AnalyticsDevelopment]
ApiKey=YourAnalyticsKey2
ApiSecret=YourAnalyticsSecret2
SendInterval=60
[AnalyticsTest]
ApiKey=YourAnalyticsKey3
ApiSecret=YourAnalyticsSecret4
SendInterval=60
[Analytics] 섹션은 기본으로 사용되는 것으로, 여기에 기본 제공사 모듈 이름을 설정합니다. 위의 경우, 4.5 릴리즈의 일부인 IOSApsalar 플러그인으로 설정되어 있습니다. ApiKey, ApiSecret 칸은 Apsalar 웹사이트에서 옵니다. 계정을 생성하고나면, 키와 비밀번호를 줄 것입니다.
프로젝트 환경설정을 하고나면, 이제 분석 이벤트 녹화를 시작할 준비가 되었습니다. 기본 플레이어 유지 데이터를 구하려면, 게임이 시작될 때 세션을 생성하고 더이상 포어그라운드에 있지 않을 때 종료해 줘야 합니다. 이 작업은 아래와 같은 코드 몇 줄을 통해 가능합니다.:
FAnalytics::Get().GetDefaultConfiguredProvider()->StartSession();
FAnalytics::Get().GetDefaultConfiguredProvider()->EndSession();
*wn: 4.5 버전에는 블루프린트 플러그인이 있어서, 분석 이벤트 녹화에 C++ 코드를 사용하지 않아도 됩니다.
게임을 이렇게 설정해 두면 플레이어 유지 데이터를 자동으로 수집하기 시작합니다. 데이터가 어떤 모습인지 Apsalar 의 대시보드에서 본 그림은 이렇습니다:
기본 플레이어 유지 데이터를 구한 후에는, 게임 내 플레이어의 구체적인 동작에 대해서도 알려달라는 이벤트를 추가할 수도 있습니다. 이정도면 게임의 성공 측정을 시작하는 데는 충분한 도움이 될 것입니다.