반전공자

게임 로그데이터란? 본문

게임 데이터 분석

게임 로그데이터란?

하연01 2023. 3. 7. 11:28

https://gameqa.tistory.com/86

 

게임 로그(Game Log)의 구성과 분류 - 분석 업무 기초 (Fun QA 등)

게임을 분석하기 위한 한 방법으로 게임 로그를 사용할 수 있습니다. 최근의 게임QA 입사지원 동향을 살펴보면, Fun QA 쪽에 대한 관심이 증가하고 있는것 같습니다. Fun QA 에서는 게임 내용을 직접

gameqa.tistory.com

게임 로그데이터는 직접 접해본 적이 없어서 위 티스토리를 보고 간접적으로 배워보고 정리해보려 한다.

로그데이터를 알아야 어느 방향으로 분석이 가능할지 알 수 있을 것 같아서 시작! 

 

 

1. 기록 단계별 분류

   - 원본 로그 : 게임 서버에서 얻을 수 있는 단순한 정보 

   - 표준화 로그 : 원본 로그를 사람이 판별하기 쉽도록 변경 후 부가정보 추가

→ 최근 개발된 게임은 재가공 없이 로그를 바로 읽을 수 있도록 표준화 로그 형태가 많다고 함

 

2. 발생시간과 기록 시간의 동시성에 따른 분류 

   - 액션 로그 

       * 액션 발생 즉시 기록되는 로그 

       * 대부분의 게임 로그가 해당

       * 액션로그 = 액션 주체 + 액션 정보 + 부가정보 

 

예제) 

데이터 로그이름 로그분류 로그주체
서버 다운 내역 server close 시스템 server
계정 플레이 타임 account login 게임 server
accoung logout 게임 server
캐릭터 플레이 타임 character login 게임 server
character logout 게임 server
클래스 별 캐릭터 생성 character create 게임 server
레벨 업 character levelup 게임 server
아이템별 사용빈도 character takeon con 게임 DB
개인상점 거래품목 character trade 게임 server
아이템 생성 item create 게임 server
아이템 습득 item get 게임 server
아이템 드랍 item drop 게임 server
아이템 소비 character useritem 게임 server
아이템 소멸 character delete 게임 server
아이템 거래 item trade 게임 server
아이템 강화 character enchant 게임 server
캐릭터 killed character killed 게임 server

 

   - 히스토리 로그 

      * 게임 변동내역을 빠르게 파악하기 위해 일정 주기로 현재 상태 기록하는 로그 

      * 히스토리 로그 = 시간 + 기록하고자 하는 정보 

예제) 

데이터 로그이름 로그분류 로그주체
동시접속자수 server user 시스템 server
서버 상태 내역 server ping 시스템 DB
클래스 별 캐릭터 분포 - 전체 character class all 시스템 DB
클래스 별 캐릭터 분포 - 접속 중 character class con 시스템 server
아이템 별 총 수량 item all 시스템 DB
지역 별 로그인 정보 account login 게임 server
계정정보
결제정보
클래스 별 로그인 정보 character login 게임 server
계정정보
결제정보
서버인원 통계 account login 게임 server
character login 게임 server
계정정보
결제정보
불량이용자 통계 admin ban  게임 server
계정정보

 

 

3. 액션 별 상세 분류 

   - 액션 주체에 따라 시스템 로그, 캐릭터 로그, NPC 로그로 분류

   - 게임 서버, DB 설계에 따라 적재할 수 있는 구체적 데이터의 항목을 제한될 수 있으므로 실제 로그 구현은 상황에 따라 진행 

 

예제 - 시스템 로그 )

로그 유형 설명
server start 서버 시작 시 남는 로그
server close 서버 비정상 종료 시 남는 로그
server user 동시 접속자 일정주기 체크 로그
server ping 서버 응답시간을 일정주기로 체크하는 로그
character class all 캐릭터 클래스의 총 숫자를 종류별로 일정주기로 체크하는 로그
item all  아이템의 총 수량을 종류별로 일정주기로 체크하는 로그
character class con 현재 접속 중인 캐릭터들의 클래스 비율을 일정주기로 체크하는 로그
character takeon con 현재 접속 중인 캐릭터들의 착용 아이템을 일정주기로 체크하는 로그

 

예제 - 캐릭터 로그 )

로그 유형 설명
account login 접속자의 정보 확인 (ip, play time 포함)
account logout  
character create 캐릭터 생성 확인 로그
character delete  
character login 캐릭터 로그인 확인 로그
character logout  
character levelup 캐릭터 레벨업 체크
character get 아이템 줍는 로그
character drop  
character buy 아이템을 상점에서 사는 로그
character sell 아이템을 상점에 파는 로그
character trade 개인상점 등 교환로그
character upgrade 아이템 업그레이드 로그
character enchant 아이템 강화 로그
character useitem 소모성 아이템 소모 로그
character killed 전투에 의해 캐릭터가 죽는 로그
admin 운영자 명령어에 대한 로그

 

예제 - NPC 로그 ) 

로그 유형 설명
item create 아이템을 생성하는 로그 (보통은 몬스터가 drop해서 생김)
item delete 아이템 소멸하는 로그
monster create 몬스터가 생성될 때 남는 로그
moster killed 몬스터가 죽을 때 남는 로그 

 

 

Log의 구성요소

- 누가 : 플레이의 주체를 기록 (계정명, 캐릭터명, 클래스, 레벨 등) 

계정명 캐릭터명 클래스 레벨
id_test 프링글스 전사 31

 

- 왜 : 플레이어가 액션을 행하는 이유 (유저분석) (개인 신상정보, 접속시간, 접속횟수, 게임플레이 시간대 등) 

지역 연령 성별
서울 23 남자

 

- 언제 : 플레이가 진행된 시간을 기록 (날짜, 시간 등) 

시간
2023-03-07 16:25:56

 

- 어디서 : 게임 상의 어디서와 현실 상의 어디서 두 가지 모두를 의미 (게임 내 위치좌표, 현실 상의 IP 등) 

위치 IP
201.152.51 202.131.29.71

 

- 누구에게 : 액션의 타겟을 의미 (PC, NPC(몬스터) 등) 

이전소유자
고블린

 

- 무엇을 : 액션의 대상을 의미 (아이템, 경험치, 스킬포인트, 길드, 퀘스트 등) 

아이템 고유번호 습득수량 최종수량
money 2164823 150 350

 

- 어떻게 : 구체적인 액션이나 상태의 변화 (공격, 아이템줍기/버리기/교환, 상태회복 등) 

분류
get

 

결과 로그 

시간 계정명 캐릭터명 클래스 레벨 분류 아이템 고유번호
2023-03-07 16:25:56 id_test 프링글스 전사 31 get money 2164823
습득수량 최종수량 이전소유자 위치 IP 지역 연령 성별
150 450 고블린 201.152.51 202.131.29.71 서울 23 남자

※ 육하원칙에 근거해 작성하게 되지만, 여기선 액션의 "대상"이 존재하므로 7가지 기준이 필요함 

   위는 Full Log

   그러나 실제 게임로그는 최소한의 정보만 기재한 Short Log로 표시하는 경우가 많음 

ex) 시간 / 캐릭터명 / 분류 / 아이템 / 고유번호 / 습득수량 

→ 이 외 정보는 DB 참조하여 조회가능하므로 Short Log에 표현하지 않음