일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Python
- Udemy
- input
- selenium
- 데이터분석
- ionehotencoding
- pyspark
- 태블로
- Word Cloud
- 데이터 분석
- SQL
- 시각화
- 크롤링
- Okt
- konlpy
- Tableau
- pandas
- numpy
- scikit-learn
- 데이터
- 형태소분석기
- 머신러닝
- iNT
- 인공지능
- 파이썬
- Today
- Total
반전공자
게임 로그데이터란? 본문
게임 로그(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에 표현하지 않음
'게임 데이터 분석' 카테고리의 다른 글
[크롤링] 앱스토어 게임리뷰 크롤링 (0) | 2023.03.11 |
---|---|
IGAWorks 마케팅클라우드 (0) | 2023.03.07 |
[논문] MarioGPT (0) | 2023.03.02 |
[시뮬레이션 게임] 모여봐요 동물의 숲 (0) | 2023.03.02 |
[플랫폼 게임] 슈퍼마리오 오디세이 (콘솔) (0) | 2023.03.02 |