지난 블로그(링크)에서는 devcom 발표 part 1, 게임 유저들에게 개인화된 경험을 제공해주기 위해서는 먼저 '유저 관점에서(user-oriented) 시간의 흐름에 따른(time-series) 데이터 로깅'이 필요하다고 하였습니다. 왜냐하면 가장 최근의 데이터만 기록을 하는 방식의 경우 플레이의 '결과'만 알 수 있는 반면, 시간에 걸쳐 데이터를 기록한다면 플레이 '패턴'을 알 수 있기 때문입니다. 뿐만 아니라, 각 플레이 패턴의 맥락까지 모두 기록을 한다면 유저가 어떤 점에 흥미를 느끼고 왜 플레이하는지 동기를 파악할 수 있습니다.

하지만 게임 유저들이 게임에 가입한 이후 일일퀘스트, 보상획득, 친구 초대, 채팅, 던전 입장, 승리 또는 패배 등 정말 다양한 활동을 하게 되는데 이 많은 것들을 어떻게 구조화하고 활용할 수 있을까요?

먼저 글을 쓸 때 육하원칙(5W1H)을 떠올려봅니다.

  • Who (누가)
  • What (무엇을)
  • How (어떻게/어떤 맥락에서)
  • When (언제)
  • Where (어디서)
  • Why (왜)

여기서 "Why"는 우리가 데이터를 통해서 유저가 왜 이탈하는지, 왜 플레이하는지를 알려고 하기 때문에 Why는 제외한 4W1H 관점으로 데이터를 로깅하고 수집합니다.

게임 데이터

여기서 'Who(누가)'는 플레이어가 될 수도 있고, 유저 플레이하는 '캐릭터'가 될 수도 있습니다.

'What(무엇을)'은 그 플레이어 또는 캐릭터가 하는 행위일 수 있는데요, 몬스터를 죽일 수도 있고, 아이템을 판매하거나 구매하고, 광고를 보거나 랜덤박스를 열어보는 행위를 모두 포함할 수 있습니다.

'How(어떻게)'는 그 행동의 맥락을 가리키면서 행동에 좀더 이야기를 실어주는 것과 같은데요, 예를 들어 몬스터를 죽일 때 특정 스킬을 사용해서 몬스터를 죽이거나, 새로운 장비를 장착할 때 인게임 재화를 사용하는 것과 같은 것을 말할 수 있습니다.

'When(언제)'는 특정 이벤트가 발생한 시각을, 'Where(어디서)'는 그 이벤트가 발생한 공간, 그러니까 PvP 또는 PvE 스테이지나 인게임상점 등을 가리킵니다.

아래와 같은 상황이 발생했다고 가정해보겠습니다.

"PlayerAAA가 2021-01-02 14:30:11에 Stage 12에서 승리하고, 골드 1,053개를 보상으로 받았습니다."

이 경우,

  • Who → Player [AAA]
  • What → Get [1,053] [Gold]
  • How → [Win] the stage
  • When → [2021-01-02 14:30:11]
  • Where → [Stage 12]

라고 4W1H 규칙에 따라 구분할 수 있고, 아래와 같은 형태가 될 수 있을 것입니다.

게임 데이터

이와 같은 형태를 게임 내 주요 행동 이벤트에 대하여 데이터를 기록하고 저장하기 위하여, 게임 내 요소들을 '개체(Entity)'로 구분하고, 각 Entity가 행할 수 있는 액션을 더한 이벤트들을 기록하게 됩니다.

이처럼 게임 내 여러 행동 이벤트에 대한 유저 관점의 데이터 로깅(User-oriented data logging)은 다음 블로그 <devcom 발표 3>에서 계속됩니다.

devcom 발표 전체 영상은 텐투플레이 유튜브 채널(클릭)에서 시청하실 수 있습니다.