DEV Community

Cover image for 게임에 일루미네이트를 설정하는 방법

게임에 일루미네이트를 설정하는 방법

일루미네이트가 무엇인가요?

펍넙 일루미네이트는 게임 데이터의 실시간 분석 추적을 기반으로 즉각적인 의사 결정 및 실행 가능성을 제공하는 솔루션입니다. 일루미네이트를 사용하면 엔지니어링 팀의 큰 개입 없이도 게임에 중요한 KPI를 매핑하고, 사용자 행동에 기반한 의사 결정을 내리고, 즉각적인 결과를 확인할 수 있습니다. 일루미네이트를 사용하면 실시간 상호작용과 게임플레이가 발생하는 즉시 데이터에 기반한 스마트한 의사 결정을 내릴 수 있어 게임의 성장을 촉진하고 효율성을 최적화할 수 있습니다.Illuminate allows you to experiment and iterate in real time

이 튜토리얼에서는 일루미네이트에 대해 자세히 알아보고, 일루미네이트가 게임과 스튜디오의 성공에 중요한 이유와 게임 데이터를 기반으로 작업을 트리거하는 즉각적인 결정을 내릴 수 있도록 일루미네이트를 설정하는 방법에 대해 알아봅니다.

게임에 왜 일루미네이트가 필요한가요?

대부분의 기존 분석 도구를 사용하면 실시간 데이터에 대한 조치를 취하는 것이 보통 사후 대응적인 방식입니다. 플레이어 피드백에 따른 가격 변경과 같은 조정은 데이터 수집, 테스트, 플랫폼 전반의 배포를 포함하는 긴 패치 주기로 인해 개발 및 향후 콘텐츠 제작에 리소스를 투입할 수 없게 됩니다. 이벤트 발생 후 몇 시간이라도 지연되면 실행 가능한 인사이트를 얻을 수 없기 때문에 플레이어 참여와 수익화에 대한 실시간 가시성을 확보하여 신속하게 전술적 결정을 내릴 수 있어야 합니다.There are a lot of problems that game companies face when trying to experiment or deploy changes based on feedback. Illuminate can help solve these problems.

일루미네이트는 게임 관리자와 데이터 분석가가 전략적 결정의 영향을 즉시 적용하고 평가할 수 있는 로우코드 커스터마이징 제품입니다. 일루미네이트를 사용하면 게임 개발자에게 부담을 주지 않고 부정 행위를 감지하는 동시에 게임 밸런스를 즉각적으로 조정하고, 실시간 실험을 통해 보다 효과적이고 적절한 수익화 전략을 수립하고, 개인화된 플레이어 보상을 제공하여 리텐션과 플레이어 경험을 개선할 수 있습니다.

일루미네이트를 사용하면 플랫폼을 관리하고 실시간으로 즉각적인 조치를 취할 수 있습니다:

  1. 채널에서 타겟팅된 수익화 실험을 실행하고 즉각적인 결과 확인
  2. 플레이어의 행동에 따라 개인화된 추천을 즉시 전송할 수 있습니다.
  3. 사용자 또는 코호트 행동에 기반한 액션을 트리거하고 즉각적인 결과를 확인할 수 있습니다.
  4. 사기 탐지를 개선하고 의심스러운 행동을 실시간으로 식별하여 조치를 취하세요.
  5. 게임 내 상점 아이템의 가격을 조정하고 실험해 보세요. 플레이어가 동일한 아이템을 여러 개 구매하는 경우 가격을 조정하고 게임 내 이벤트를 트리거하여 모든 상점 가격에 영향을 줄 수 있습니다.
  6. 도전 과제/업적을 완료한 플레이어에게 게임 내 아이템 할인 코드를 보상으로 제공하세요. 플레이어가 가장 적은 시간을 보내는 지역을 조정하고 해당 지역에서 시간을 보내도록 플레이어에게 보상을 제공하거나 플레이어가 받는 보상의 종류를 변경하는 것을 고려하세요.
  7. 유용한 아이템을 생성하고 핵심 게임플레이 기능을 즉석에서 조정하여 엔지니어에게 버그를 요청하지 않아도 됩니다.

게임용 일 루미네이트 동영상에서 일루미네이트가 게임을 어떻게 지원하는지 자세히 알아볼 수 있습니다.

게임용 일루미네이트 설정 방법

게임용 일루미네이트 설정에 들어가기 전에 설정 전반에 걸쳐 사용되는 몇 가지 주요 용어를 이해해야 합니다. 일루미네이트는 다음 세 가지 모듈로 구성됩니다:

  1. 비즈니스 오브젝트: 일루미네이트에 데이터를 가져오는 방법. 선택한 앱과 키세트에서 데이터를 캡처하기 위한 컨테이너인 비즈니스 오브젝트를 정의, 생성 및 활성화할 수 있습니다. 일련의 옵션(측정값, 차원 또는 지표)을 통해 실시간으로 추적할 특정 데이터와 집계 방법을 결정할 수 있습니다.
  2. 결정: 결정: 생성한 메트릭에 대해 조치를 취하는 곳입니다. 충족해야 할 조건이 있는 규칙을 정의하고 이러한 규칙이 충족될 때마다 트리거되는 작업을 정의하여 이를 수행할 수 있습니다.
  3. 대시보드: 비즈니스 개체에서 만든 메트릭과 의사 결정에서 실행된 작업을 차트 및 대시보드(차트 모음)를 통해 시각화할 수 있는 곳입니다.

Illuminate is a constant cycle of experimentation and iteration once you have set up the associated Dashboard, Business Object, and Decisions.

이제 주요 용어를 정의했으니, Illuminate를 게임과 통합하는 과정은 6단계로 구성됩니다:

  1. 메시지 스키마 이해하기
  2. 데이터의 출처를 선택합니다.
  3. 데이터 선택
  4. 데이터 시각화하기
  5. 데이터 활용하기
  6. 시각화 및 조정하기

메시지 스키마 이해하기

게임의 데이터 스키마를 이해하는 것이 중요합니다. 즉, 플레이어 행동, 게임 내 거래, 시스템 이벤트 등 추적하고 분석하려는 데이터의 유형을 파악해야 합니다. 개발자는 페이로드에 정확히 무엇이 포함되어 있는지 이해하고 문서화함으로써 분석가와 다른 팀원이 JSONPath를 사용하여 데이터를 적절한 소스에 효과적으로 매핑할 수 있도록 할 수 있습니다. 비즈니스 객체를 만들 때 데이터를 선택할 때 이것이 왜 중요한지 이해하게 될 것입니다.

데이터의 출처 선택

일루미네이트는 PubNub의 지원 여부와 관계없이 온라인으로 연결되는 모든 게임에서 사용할 수 있습니다. PubNub이 게임 인프라를 지원하는 경우, 관리자 포털에서 비즈니스 오브젝트를 생성할 때 게임에 적합한 앱과 키셋을 선택하기만 하면 됩니다(자세한 내용은 곧 설명합니다).

게임이 PubNub로 구동되지 않는 경우, REST API 또는 유니티의 SDK 중 하나를 통해 Fire API를 사용하여 데이터를 전송할 수 있습니다. Fire 엔드포인트를 사용하면 클라이언트가 Functions 이벤트 핸들러에 메시지를 보낼 수 있습니다. 이러한 메시지는 발신하는 채널에 등록된 이벤트 핸들러로 직접 전달되어 실행을 트리거합니다.

PubNub Fire API를 활용하려면 PubNub 계정을 생성하고 게임에 필요한 기능으로 키셋을 설정해야 합니다. 이 키세트에는 Fire API에 필요한 퍼블리시 및 구독 키가 포함되어 있습니다. 설정 방법은 방법 가이드를 참조하세요.

데이터 선택: 비즈니스 오브젝트

비즈니스 오브젝트는 일루미네이트의 기본 요소입니다. 비즈니스 오브젝트는 일루미네이트 내에서 의사 결정 및 시각화에 사용하려는 데이터를 담는 컨테이너이며, 기본적으로 데이터를 일루미네이트에 가져오는 방법입니다.

비즈니스 개체를 구성하는 요소는 세 가지입니다:

  1. 데이터 선택(측정값 및 차원)
  2. 데이터 소스(데이터의 출처
  3. 조건(메트릭)

데이터베이스와 관련이 없지만 비즈니스 개체의 구조를 SQL의 SELECT(측정값 및 차원), FROM(데이터 소스), WHERE(메트릭)의 관점에서 생각하면 도움이 됩니다. 비즈니스 개체를 만들 때 알아야 할 구체적인 세부 사항이나 해결 방법은 설명서를 참조하세요.

데이터 선택

비즈니스 개체에 대해 선택할 수 있는 값에는 두 가지 유형이 있습니다: 측정값과 차원입니다.

측정값은 숫자로 된 정량적 값입니다. 측정값의 예로는 게임 시간, 코인 수, 킬 수, 무기 데미지, 주문 값 등이 있습니다.

차원은 플레이어 언어, 선택한 코스튬, 퀘스트 유형, 선택한 무기 유형 또는 게임 레벨과 같은 정성적 값입니다.

With Illuminate, you can create and edit Business Objects which contain mapped quantitative and qualitative data to capture.

추적하려는 데이터 유형에 따라 JSONPath를 사용하여 데이터를 측정값과 차원에 매핑해야 합니다. 일루미네이트는 데이터 소스(이전 단계에서 설정한)에서 이 데이터 캡처를 시작하기 위해 어디에서 찾을지 이해해야 합니다. 데이터 소스를 정의하려면 각 측정값 및 차원 옆에 있는 맵 버튼을 선택하고 해당 JSON 경로를 입력합니다.

메시지 스키마를 이해해야 하므로 비즈니스 개체 설정에서 가장 까다로운 부분입니다. 앞서 메시지 스키마를 문서화했거나 이해했으므로, 이를 일루미네이트가 데이터를 찾는 방식에 매핑해야 합니다.

메시지(특히 게시 메시지 API)를 캡처하는 경우, 일루미네이트는 다음과 같은 구조를 찾고 있습니다. 인프라가 PubNub에 의해 구동되지 않는 경우, 데이터를 게시 메시지 API와 동일한 구조로 매핑해야 합니다:

{
 "message":{ // data from the published message
   "body": JSON | message body payload defined by you
   "meta": JSON | meta query params defined by you
   "userId": string | user ID a.k.a UUID / sender ID
   "channel": string | the channel on which the message is published
 },
}
Enter fullscreen mode Exit fullscreen mode

측정값 또는 차원을 올바르게 매핑하려면 메시지 개체 다음에 다른 필드를 제공해야 합니다. 항상 $.message.{필수-보조 필드}.{옵션-추가 필드}와 같은 구조를 따릅니다.

데이터를 매핑하는 방식은 전적으로 메시지 구조를 기반으로 합니다. 다음은 메시지에 대한 데이터 매핑의 몇 가지 예입니다:

  • 코인 수 추적(측정값) => $.message.meta.coins
  • 장착한 코스튬 아이템(차원) => $.message.body
  • 채널 이름(차원) => $메시지.채널
  • 피해량(측정값) => $.message.body[6]
  • 특정 사용자 이름 가져오기 (차원) => $.message.userId
  • 친구 수(측정값) => $.message.body.user.friends_count

In Illuminate, you can map different data to be captured via Business Objects.

또한, 일루미네이트는 PubNub 네트워크를 통해 전송된 채널, 채널 멤버, 채널 멤버 및 사용자에 대한 메타데이터를 유지할 수 있는 PubNub의 앱 컨텍스트를 활용하여 데이터를 캡처할 수도 있습니다. Illuminate가 이 데이터를 캡처하는 방법을 정확히 따라하면 이 정보에 액세스할 수 있습니다.

{
 "user": { // data from the sending user metadata, can be null
   "externalId": string | users external ID
   "type": string | user type
   "status": string | user status
   "custom": JSON | JSON user metadata defined by you
 },
 "channel":{ // data from the channel the message is sent on, can be null
   "name": string | channel name
   "type": string | channel type
   "status": string | channel status
   "custom": JSON | JSON channel metadata defined by you
 },
 "membership":{ // data from the user's membership to the channel, can be null
   "status": string | membership status
   "custom": JSON | JSON membership metadata defined by you
 }
}
Enter fullscreen mode Exit fullscreen mode

메시지와 마찬가지로 측정값이나 차원을 올바르게 매핑하려면 사용자, 채널 또는 멤버십 개체를 제공한 다음 JSON에서 하나 이상의 키를 제공해야 합니다. 항상 $.user.{필수-보조-필드}.{옵션-추가-필드}의 구조를 따릅니다. 다음은 앱 컨텍스트에 대한 데이터 매핑의 몇 가지 예입니다:

  • 상점 항목 세부 정보(차원) => $.channel.custom.details
  • 친구 목록 상태(차원) => $.membership.status
  • 플레이어 언어(차원) => $.user.custom.language
  • 플레이어의 평균 점수(측정값) => $.user.custom.team_deathmatch_score

참고: 비즈니스 개체를 만들려면 하나 이상의 차원 또는 측정값을 추가해야 합니다.

데이터 소스

측정값과 차원을 매핑한 후에는 데이터의 출처를 결정해야 합니다. 이것은 앞서 결정한 것입니다. 앞서 정의한 적절한 앱 및 키 집합을 선택하여 Illuminate가 올바른 소스에서 데이터를 캡처하도록 하세요.

조건(지표)

데이터 소스를 선택한 후에는 메트릭이라는 조건을 추가할 수 있습니다. SQL의 WHERE 문과 유사하게, 메트릭은 비즈니스 오브젝트가 데이터를 캡처하는 데 반드시 필요한 것은 아니지만 측정값 및 차원을 필터링하고 계산을 적용하는 데 매우 유용합니다. 의사 결정을 만들거나 차트를 통해 대시보드에서 시각화하려면 메트릭이 필요하다는 점만 기억하세요(자세한 내용은 나중에 설명).

메트릭을 만들 때 필터에 필드를 할당하고 선택해야 합니다. 몇 가지 주의해야 할 필드가 있습니다:

  • 대시보드에서 데이터를 시각화할 차트의 이름이 동일하므로 의미 있는 메트릭 이름을 지정하세요.
  • 함수를 선택할 때, 측정값은 현재 SUM, AVG, MAXMIN을 사용하여 집계할 수 있습니다. 차원은 카운트 함수만 사용할 수 있습니다. 함수를 선택하면 드롭다운 목록에서 측정값 또는 차원을 선택할 수 있습니다.
  • 기간의 경우 집계 창 또는 함수의 기간을 선택합니다.
  • 차트 및 의사 결정에서 사용할 수 있는 차원을 선택해야 합니다(나중에 이러한 차원을 선택하지 않으면 차트에서 세분화하고 의사 결정의 규칙에 적용할 수 없으므로).
  • 다양한 차원을 기준으로 특정 메시지 또는 앱 컨텍스트 데이터를 필터링합니다. 대시보드에서 시각화하고 데이터를 수집하기 위해 메트릭에 필터를 적용할 필요는 없다는 점에 유의하세요.

하나의 비즈니스 개체에 대해 서로 다른 데이터를 캡처하는 여러 지표를 만들 수 있습니다. 아래는 측정값에 대해 발생한 피해와 해당 피해를 수행한 무기 유형을 캡처하는 지표의 예입니다:

In Illuminate, you can edit a metric associated with a Business Object to capture specific data by using Filters.

데이터 시각화 대시보드 및 차트

일루미네이트를 사용하면 추적하려는 지표뿐만 아니라 대시보드의 차트를 통해 의사 결정 작업과 그 결과도 시각화할 수 있습니다.

이렇게 하면 제품의 추세를 실시간으로 관찰하고, 데이터에 기반한 비즈니스 의사결정을 통해 대응하고 접근 방식을 개선할 수 있습니다. 또한 앞서 설정한 비즈니스 오브젝트를 기반으로 일루미네이트가 데이터를 제대로 캡처하고 있는지 확인할 수 있는 좋은 방법입니다!

모든 메트릭을 한 곳에서 볼 수 있는 차트 모음인 대시보드를 만들고 대시보드에 차트를 추가할 수 있습니다. 차트는 특정 비즈니스 개체에 대해 정의된 메트릭을 시각적으로 표현한 것입니다.

With Illuminate, you can add charts to Dashboards to visualize data.

언제든지 차트에 다른 시간 범위(예: 30분, 1시간 또는 사용자 지정 날짜)를 표시하거나 막대형 차트(기본 보기) 또는 선 그래프 등 다양한 차트 유형을 통해 메트릭 데이터를 표시하는 등 차트에 메트릭 데이터가 표시되는 방식을 사용자 지정할 수 있습니다.

In Illuminate, you can monitor data captured in real time by visualizing the charts in your Dashboard and see when any associated Decisions are triggered.

하나의 대시보드에 여러 차트(지표)를 추가할 수 있으며, 게임의 여러 영역(수익화, 게임플레이, 퀘스트 보상 등)을 시각화하기 위해 여러 대시보드를 만들 수도 있습니다. 의사 결정을 구성한 후에는 대시보드의 차트를 통해 트리거되는 의사 결정 작업과 그 결과를 확인할 수 있습니다.

데이터 활용하기: 의사 결정 및 조치

메트릭이 만들어지면 해당 데이터를 평가하고, 추세를 모니터링하고, 가장 중요한 것은 그에 따라 조치를 취할 수 있습니다.

일루미네이트에는 다양한 유형의 작업과 이러한 작업을 실행할 시기를 정의하는 규칙을 만들어 실행하려는 메트릭을 정의할 수 있는 의사 결정 모듈이 포함되어 있습니다.

결정을 만들 때는 다음과 같이 하세요:

규칙은 제품 관리자가 코드화 및 배포하기 전에 참여도 및 수익화 전략을 실험해 볼 수 있도록 돕기 위한 것입니다. 일루미네이트를 사용하면 가정이 아닌 실제 데이터를 기반으로 의사 결정을 내린 다음 자동화된 조건과 조치를 통해 해당 데이터에 따라 조치를 취할 수 있습니다.

의사 결정은 두 부분으로 구성됩니다: 조치와 규칙.

액션

작업은 조건(다음에 설명)이 충족될 때 어떤 일이 일어날지를 정의합니다.

In Illuminate, edit the configuration of your Decision to trigger on different conditions and execute various actions.

작업을 설정할 때 선택할 수 있는 5가지 작업 유형이 있습니다:

  1. 메시지 보내기: 사용자 또는 채널에 메시지를 게시하고 PubNub 게시 API를 활용합니다. 의사 결정 규칙을 설정할 때 동적으로 제어하고 변경할 수 있는 변수(${variableThatChanges})를 선택적으로 추가할 수 있습니다.
  2. 웹훅: 타사 서비스 연동 서비스에 연결하여 특정 URL로 호출을 보냅니다. 의사 결정 규칙을 설정할 때 동적으로 제어하고 변경할 수 있는 변수(${variableThatChanges})를 선택적으로 추가할 수 있습니다.
  3. 사용자 업데이트: 사용자를 위해 PubNub 앱 컨텍스트 API를 활용하여 원하는 정보를 키/값 쌍으로 제공하여 사전 정의된 사용자 메타데이터 또는 사용자 지정 사용자 메타데이터를 설정합니다.
  4. 채널 업데이트: 원하는 정보를 키/값 쌍으로 제공하여 사전 정의된 또는 사용자 지정 채널 메타데이터를 설정하고, 채널에 대한 PubNub 앱 컨텍스트 API를 활용하여 설정합니다.
  5. 멤버십 업데이트: 멤버십에 대한 PubNub 앱 컨텍스트 API를 활용하여 원하는 정보를 키/값 쌍으로 제공하여 사전 정의된 또는 사용자 지정 멤버십 메타데이터를 설정합니다.

의사 결정당 하나의 메트릭만 구성할 수 있지만, 사용 사례에 맞게 여러 의사 결정을 만들 수 있습니다. 의사 결정에 대한 액션을 만들 때는 반드시 설명서를 따르세요.

작업 구성을 완료한 후에는 트리거할 작업에 대한 규칙을 설정해야 합니다.

규칙

규칙은 작업을 트리거하기 위해 충족해야 하는 기준인 조건과 조건이 충족될 때 실행할 평가 및 작업으로 구성됩니다. 하나의 규칙은 어떤 조건에 대해 어떤 작업을 트리거해야 하는지 명시하는 정의(의사 결정 테이블의 행)입니다.

In Illuminate, you can add and edit rules that when satisfied, trigger various Actions associated with your Decisions.

의사 결정 테이블은 네 부분으로 구성됩니다:

  1. 히트 정책: 조건이 충족되면 첫 번째 일치하는 규칙(단일)에 대해서만 작업을 트리거할지, 아니면 모든 규칙(다중)에 대해 작업을 트리거할지를 정의하는 설정입니다.
  2. 집계 창: 규칙 구성 창에서 편집할 수 없는 유일한 값입니다. 메트릭을 만들 때 함수에 대해 선택한 기간 값에서 자동으로 채워집니다. 메트릭이 측정값 또는 차원에 대해 지정된 함수(카운트, 평균, 최대 또는 기타)를 실행하는 빈도를 나타냅니다.
  3. 평가 빈도: 이 결정에서 일루미네이트가 규칙을 실행해야 하는 빈도를 정의하는 규칙의 룩백 창입니다.
  4. 조건: 구성 테이블을 사용하여 직접 정의한 요구 사항 집합입니다. 여기에서 어떤 조건(및 조건이 충족하는 임계값)이 어떤 작업을 트리거할지 정의할 수 있습니다.

의사 결정 테이블의 각 행은 조건과 작업으로 구성된 별도의 의사 결정 규칙이라는 점에 유의하세요. 규칙의 순서에 따라 규칙이 실행되는 순서가 결정됩니다. 기존 순서를 변경하려면 의사 결정에서 규칙 편집을 선택하고 각 규칙 옆의 '작업' 메뉴에서 위로 이동 또는 아래로 이동 옵션을 사용하여 순서를 변경합니다.

시각화 및 조정하기

비즈니스 개체, 대시보드 및 차트, 의사 결정을 설정한 후에는 실시간으로 변경 사항을 분석하고 실험해 볼 수 있습니다. 변경 사항이 게이머나 게임에 긍정적인 영향을 미치는지 확인하기 위해 더 이상 밸런스 패치를 기다릴 필요가 없습니다.

대부분의 시간을 이곳에서 보내면서 게임 내 참여도를 높이기 위한 조정을 위한 실험 결정을 내릴 수 있습니다.

다음 단계

일루미네이트는 성장과 회사의 수익을 직접적으로 담당하는 팀에게 실시간 실험의 힘을 제공합니다. 게임에 중요한 KPI를 매핑하고 이러한 행동을 기반으로 의사 결정을 트리거하여 게임플레이와 사용자 행동을 기반으로 실험하고 데이터에 기반한 현명한 의사 결정을 내릴 수 있는 유용한 플랫폼입니다.

일루미네이트 리소스를 통해 일루미네이트가 게임에 어떤 도움을 줄 수 있는지 알아보고, 직접 사용해보는 방법을 알아보세요. 궁금한 점이 있으면 언제든지 개발자 지원팀( devrel@pubnub.com)으로 문의해 주세요.

Top comments (0)