SlideShare une entreprise Scribd logo
1  sur  55
NDC2015
GA로 게임 로그 분석하기
2015-05-20
-[|]- Box and Whisker
강규영
alankang@boxnwhis.kr
목차
1부. GA를 활용하여 게임 데이터를 수집/분석하고 개선한 사례
2부. 게임 로그를 GA에 잘 매핑하기
주의
차근차근 따라하는 튜토리얼 아님
가능성 보여주기, 공부해서 적용하고 싶다는 생각이 들게 만들기
왜 하필 GA?
웹 로그 분석툴 아닌가?
공짜라서 기능이 부족하지 않나?
왜냐하면…
웹, 앱, 오프라인 매장, 게임, 일반 소프트웨어 등 뭐든 분석 가능
공짜지만 GA Premium과 기능상 거의 동일
게임 전문 분석툴이라고 주장하는 몇몇 제품들에 비해 게임 분석에
더 적합. 카트라이더 등에서 활용 중
(상당수의 게임 분석툴은 “마케팅툴.” 게임 자체를 분석하는 것엔
별 관심이 없음)
1부
GA를 활용하여 게임 데이터를 수집/분석하고 개선한 사례
3월 13일
NDC 발표 확정
주제는 "구글 애널리틱스로 게임 로그 분석하기”
4월 4일
공개할 수 있는 데이터가 없다 (고객사의 데이터를 쓸 수는 없음)
내일이 일요일이니 초간단 게임을 후딱 하나 만들자
4월 5일 #1/3
기획:
재미가 있을 것  검증된 고전을 카피하자
하루 안에 만들 수 있을 것  예전에 몇 번 만들어본걸루…
접근성이 높을 것  HTML5+Canvas
모바일도 지원  요즘 핫하다는 RWD
배우기 쉽게, 마스터는 어렵게  “검증된 고전”에서 이미 ㅇㅋ
한 판이 짧을 것  난이도를 잘 조절해봐야지…
4월 5일 #2/3
개발:
7시간 폭풍 코딩 + GA 연동 30분
배포:
http://snake.g15e.com
홍보:
카톡 지인들에게…
4월 5일 #3/3
아무것도 설치하지 않고 클릭 한 번에 게임이
실행되니 튕겨나가는 사람이 거의 없음
한 판에 40초. 적당한듯.
평균체류시간 6분. 재미가 있는갑다!
딱 하루면 린 스타트업에서 말하는
Build  Measure  Learn 사이클을
돌 수 있음
그럭저럭 재미가 있는 것 같다.
조금만 더 다듬어서 본격적으로 데이터 수집을 해보자.
4월 6일 #1/3
AI뱀 추가
파랑: 꼬리가 짧고 빠르고 움직임이 예측불허
노랑: 느리지만 꼬리가 길고 실수가 적음
분홍: 파랑과 노랑의 중간 쯤
Hard-mode 추가
4월 6일 #2/3
홍보
4월 6일 #3/3 948명의 사용자가 방문해서…
…사과 10,000개를 먹어치웠다
갑자기 떠오른 두 가지 궁금증
터치 조작과 키보드 조작의 난이도가 비슷할까?
Hard Mode가 정말 Normal Mode보다 어려운가?
분석 #1 – 터치 vs 키보드
휴대폰 및 타블릿을 쓰는 플레이어와 데스크탑 및 노트북을 쓰는
집단을 분리
분석 #1 – 터치 vs 키보드
한 판의 길이에 차이가 있나?
분석 #1 – 터치 vs 키보드
사과를 더 많이 먹지는 않았나?
분석 #2 – Normal vs. Hard Mode
분석 #2 – Normal vs. Hard Mode
Normal mode만 플레이한 사람 vs. Hard mode만 플레이한 사람
분석 #2 – Normal vs. Hard Mode
분석 #2 – Normal vs. Hard Mode
어쩌면 게임을 잘 하는 사람들이 편향적으로 Hard Mode를
선택하기 때문일 수도 있다.
더 확실히 알아보려면 두 모드를 모두 플레이한 사람이 각 모드에서
어떤 기록을 내는지 보아야 한다.
분석 #2 – Normal vs. Hard Mode
양쪽 모드를 다 플레이한 사람만 봐도 Hard Mode에서 더 오래
버틴다
4월 7일
Hard Mode 속도를 좀 더 빠르게, Normal Mode는 좀 느리게
Hard Mode 에서는 AI 뱀이 동시에 두 마리씩 나오게
4월 8일
게임이 너무 어렵다는 댓글들
원래 본인이 만든 게임은 대체로 본인에겐 쉽다더라. 이 게임도
마찬가지일까?
A/B 테스트를 해보자! (하지만 시간이 없으니 주말에…)
A/B 테스트란
과학에서 말하는 통제실험(randomized controlled experiment)
상관관계가 아닌 인과관계를 밝히기
여러 버전의 게임을 동시에 운영하고 접속한 플레이어를 임의로
분배
4월 12일
기다리던 일요일. A/B 테스팅을 위해 게임 파라메터를 세 벌 제작
• 살짝 더 어려운 세팅
• 기존 세팅
• 살짝 더 쉬운 세팅
4월 19일 #1/2
4월 19일 #2/2
난이도를 낮췄더니 평균 1분 정도 더 오래 플레이한다
하지만 방문 당 페이지뷰는 오히려 더 낮아진걸 보니 그냥 게임이
쉬워져서 잘 안죽고, 안죽으니 오래하는거
단순히 플레이타임만 봐서는 안되고 재방문율 등을 보았어야
(실험이 망했어요)
기타 부록들
사망원인은? 사과를 가장 많이 먹은 뱀은?
1부 요약 및 결론
이미 익숙하다면 GA 연동에 걸리는 시간은 30분 미만
Canvas 2D, WebGL (OpenGL ES) 등으로 프로토타이핑하기:
• Build  Measure  Learn 사이클을 빠르게 돌아볼 수 있음
• 앱스토어 방문  설치  실행의 장벽이 없으므로 홍보도 용이
• 핵심 메커닉을 작은 단위로 분리, 개별적으로 프로토타이핑하고 데이터를 모으는 방식도
가능할듯. 피드백 사이클을 크게 줄일 수 있지 않을까.
로그 설계만 적절히 하면 온갖 장르의 게임에서 온갖 분석이 가능
2부
게임 로그를 GA에 잘 매핑하기
1부 결론 중…
“로그 설계만 적절히 하면 온갖 장르의 게임에서 온갖 분석이 가능”
하다고 했는데… 그래서 적절히 어떻게 하는거임?
구글 애널리틱스의 “결”을 파악하기
로그란? 시간의 흐름에 따른 시스템의 주요 상태 변화(state
transition)
웹에서의 주요한 상태 변화는? 웹 주소(URL)의 전환 (앱에서는
화면의 전환)
따라서 우리 게임의 가장 중요한 상태가 무엇인지 결정하고 이
변화를 웹 주소 형태로 매핑하는 것이 첫 단계
예시 - 스테이지형 퍼즐 게임
/main /map /s11/302/entry /s11/302/field /s11/302/lose
/s11/302/win
예시 - 온라인 레이싱 게임
/speed/track_a/lap-1
/speed/track_a/lap-2
/speed/track_a/lap-3
/speed/track_a/finish
/speed/track_a/retire
/item/track_b/lap-1
…
예시 - MMORPG
필드, 주요 NPC, 인던, 포탈 등에 URL을 부여
필드가 넓다면 필드를 그리드로 나누고 /field_a/x-y 식으로 좌표를
부여하는 것도 가능
예시 - 게임 내 상점
/shop 으로 시작하는 URL 등을 부여
상점 등 UI 레이어는 일반적인 앱과 동일하므로 자세한 설명은 생략
이것만 잘해도 온갖 유용한 정보가 나온다
왜냐하면 결에 잘 맞기 때문
예시 - 온라인 레이싱 게임
트랙별 lap-time은?
제일 인기있는 트랙, 모드는?
완주 안하고 중간에 나가버리는
플레이어가 가장 많은 트랙은?
A트랙은 플레이하지만 B트랙은
플레이하지 않는 사람들의
특징은?
패치 이전/이후 랩타임 변화는?
주요 상태 변화가 아닌 것들은?
캐릭터 직업이나 레벨 등 게임 고유의 특화된 상태들은  Custom
Dimension
경험치나 골드 등 게임 고유의 수치들은?  Custom Metric
플레이어 사망, 아이템 획득 등 게임 고유의 사건들은?  Custom
Event
/track-a/lap-1
/track-a/lap-2
/track-a/lap-3
/track-a/finish
use item A
use item B
Lap time
Lap time
Lap time
상태와 이벤트의 차이
상태에는 길이가 있음
이벤트는 길이가 없는 점
특정 상태에서 발생한
이벤트라는 개념을 표현할 수
있음 (A 던전에서 획득한 경험치
등)
여기까지 해주면 어지간한 궁금증은 해결 가능
예시 - 스테이지형 퍼즐 게임
구글 시트와 연동하여 파생 지표
및 Custom Metric을 엮어서
보여주기
(자세한 내용은 이어지는
발표에서…)
예시 - 온라인 레이싱 게임
트랙별 lap-time은?
제일 인기있는 트랙, 모드는?
완주 안하고 중간에 나가버리는
플레이어가 가장 많은 트랙은?
A트랙은 플레이하지만 B트랙은
플레이하지 않는 사람들의
특징은?
패치 이전/이후 랩타임 변화는?
초보와 고수의 차이가 가장
큰/작은 트랙은?
아이템 X를 가장 많이 사용하는
트랙은?
2부 요약 및 결론
구글 애널리틱스 짱 좋아요. 게임 로그 분석에 매우 적합합니다
기능이 부족하면 API를 써서 마음대로 확장해보아요
데이터가 많으면 샘플링을 합시다 (평생 공짜로 쓸 수 있음)
부록 – 한편, 모 예술대학에서는…
수업
과제
수업
과제
중간고사수업
과제 과제 과제없음
참고자료
Measurement Protocol (영문)
https://developers.google.com/analytics/devguides/collection/protocol/v1/
Dimensions and Metrics Explorer (영문)
https://ga-dev-tools.appspot.com/dimensions-metrics-explorer/
Google Spreadsheet Add-on (영문)
https://developers.google.com/analytics/solutions/google-analytics-spreadsheet-add-on
Google Analytics로 게임 분석하기 (한글)
http://www.boxnwhis.kr/2014/09/15/analyze_game_using_ga_1.html
http://www.boxnwhis.kr/2014/11/08/analyze_game_using_ga_2.html
http://www.boxnwhis.kr/2015/04/12/analyze_game_using_ga_3.html

Contenu connexe

Tendances

홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
devCAT Studio, NEXON
 

Tendances (20)

어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?
 
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
 
Introduction to Real-time, Streaming Data and Amazon Kinesis: Streaming Data ...
Introduction to Real-time, Streaming Data and Amazon Kinesis: Streaming Data ...Introduction to Real-time, Streaming Data and Amazon Kinesis: Streaming Data ...
Introduction to Real-time, Streaming Data and Amazon Kinesis: Streaming Data ...
 
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
 
게임 랭킹 ( Game Leader Board )
게임 랭킹 ( Game Leader Board )게임 랭킹 ( Game Leader Board )
게임 랭킹 ( Game Leader Board )
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
 
프로젝트 기획안
프로젝트 기획안프로젝트 기획안
프로젝트 기획안
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)
 

En vedette

노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
devCAT Studio, NEXON
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
Esun Kim
 

En vedette (20)

NDC 2015 비정형데이터분석 & 온라인게임운영
NDC 2015 비정형데이터분석 & 온라인게임운영NDC 2015 비정형데이터분석 & 온라인게임운영
NDC 2015 비정형데이터분석 & 온라인게임운영
 
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
 
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
 
Re:Zero부터 시작하지 않는 오픈소스 개발
Re:Zero부터 시작하지 않는 오픈소스 개발Re:Zero부터 시작하지 않는 오픈소스 개발
Re:Zero부터 시작하지 않는 오픈소스 개발
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
 
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4
 
PyCon 2017 프로그래머가 이사하는 법 2 [천원경매]
PyCon 2017 프로그래머가 이사하는 법 2 [천원경매]PyCon 2017 프로그래머가 이사하는 법 2 [천원경매]
PyCon 2017 프로그래머가 이사하는 법 2 [천원경매]
 
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David StelzerDeveloping Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
 
NDC16 스매싱더배틀 1년간의 개발일지
NDC16 스매싱더배틀 1년간의 개발일지NDC16 스매싱더배틀 1년간의 개발일지
NDC16 스매싱더배틀 1년간의 개발일지
 
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러
 
영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출
 
8년동안 테라에서 배운 8가지 교훈
8년동안 테라에서 배운 8가지 교훈8년동안 테라에서 배운 8가지 교훈
8년동안 테라에서 배운 8가지 교훈
 
Docker
DockerDocker
Docker
 
Deep learning as_WaveExtractor
Deep learning as_WaveExtractorDeep learning as_WaveExtractor
Deep learning as_WaveExtractor
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
Luigi presentation NYC Data Science
Luigi presentation NYC Data ScienceLuigi presentation NYC Data Science
Luigi presentation NYC Data Science
 
게임회사 취업을 위한 현실적인 전략 3가지
게임회사 취업을 위한 현실적인 전략 3가지게임회사 취업을 위한 현실적인 전략 3가지
게임회사 취업을 위한 현실적인 전략 3가지
 
Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4
 

Similaire à GA로 게임 로그 분석하기

게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
Seokmin No
 
Cbt,fgt,obt를 통한 game data mining 기법
Cbt,fgt,obt를 통한 game data mining 기법Cbt,fgt,obt를 통한 game data mining 기법
Cbt,fgt,obt를 통한 game data mining 기법
Chanman Jo
 
The hows and_whys_of_level_design_01
The hows and_whys_of_level_design_01The hows and_whys_of_level_design_01
The hows and_whys_of_level_design_01
용태 이
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
Kay Kim
 
Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14
sj k
 
Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14
sj k
 

Similaire à GA로 게임 로그 분석하기 (20)

Blackbox 기획안
Blackbox 기획안Blackbox 기획안
Blackbox 기획안
 
Ndc17 슈퍼판타지워 포스트모템_srpg로 맨땅에 헤딩하기
Ndc17 슈퍼판타지워 포스트모템_srpg로 맨땅에 헤딩하기Ndc17 슈퍼판타지워 포스트모템_srpg로 맨땅에 헤딩하기
Ndc17 슈퍼판타지워 포스트모템_srpg로 맨땅에 헤딩하기
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
 
게임제작개론 : #9 라이브 서비스
게임제작개론 : #9 라이브 서비스게임제작개론 : #9 라이브 서비스
게임제작개론 : #9 라이브 서비스
 
Cbt,fgt,obt를 통한 game data mining 기법
Cbt,fgt,obt를 통한 game data mining 기법Cbt,fgt,obt를 통한 game data mining 기법
Cbt,fgt,obt를 통한 game data mining 기법
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
 
The hows and_whys_of_level_design_01
The hows and_whys_of_level_design_01The hows and_whys_of_level_design_01
The hows and_whys_of_level_design_01
 
Slice it! bada programming report(kor)
Slice it! bada programming report(kor)Slice it! bada programming report(kor)
Slice it! bada programming report(kor)
 
NDC 17: [크루세이더 퀘스트] 스토어 차트 역주행 후일담
NDC 17: [크루세이더 퀘스트] 스토어 차트 역주행 후일담NDC 17: [크루세이더 퀘스트] 스토어 차트 역주행 후일담
NDC 17: [크루세이더 퀘스트] 스토어 차트 역주행 후일담
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
 
용사는 진행중 포스트모템_KGC2014 발표자료
용사는 진행중 포스트모템_KGC2014 발표자료용사는 진행중 포스트모템_KGC2014 발표자료
용사는 진행중 포스트모템_KGC2014 발표자료
 
Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14
 
Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14
 
[PandoraCube] '게임메이커'에 대해 알아보자
[PandoraCube] '게임메이커'에 대해 알아보자[PandoraCube] '게임메이커'에 대해 알아보자
[PandoraCube] '게임메이커'에 대해 알아보자
 
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
 
[IGC2015] 아라소판단 김성욱-게임 기획을 변경하게 되는 요인
[IGC2015] 아라소판단 김성욱-게임 기획을 변경하게 되는 요인[IGC2015] 아라소판단 김성욱-게임 기획을 변경하게 되는 요인
[IGC2015] 아라소판단 김성욱-게임 기획을 변경하게 되는 요인
 
KGC 2014 Hwang Seonpill Line Game Global
KGC 2014 Hwang Seonpill Line Game GlobalKGC 2014 Hwang Seonpill Line Game Global
KGC 2014 Hwang Seonpill Line Game Global
 
모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기
 
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
 
[IGC 2016] 제페토 국정진 - FPS 게임으로 글로벌 시장에 도전하기 : ‘배틀 카니발’의 도전
[IGC 2016] 제페토 국정진 - FPS 게임으로 글로벌 시장에 도전하기 : ‘배틀 카니발’의 도전[IGC 2016] 제페토 국정진 - FPS 게임으로 글로벌 시장에 도전하기 : ‘배틀 카니발’의 도전
[IGC 2016] 제페토 국정진 - FPS 게임으로 글로벌 시장에 도전하기 : ‘배틀 카니발’의 도전
 

GA로 게임 로그 분석하기

  • 1. NDC2015 GA로 게임 로그 분석하기 2015-05-20 -[|]- Box and Whisker 강규영 alankang@boxnwhis.kr
  • 2. 목차 1부. GA를 활용하여 게임 데이터를 수집/분석하고 개선한 사례 2부. 게임 로그를 GA에 잘 매핑하기
  • 3. 주의 차근차근 따라하는 튜토리얼 아님 가능성 보여주기, 공부해서 적용하고 싶다는 생각이 들게 만들기
  • 4. 왜 하필 GA? 웹 로그 분석툴 아닌가? 공짜라서 기능이 부족하지 않나?
  • 5. 왜냐하면… 웹, 앱, 오프라인 매장, 게임, 일반 소프트웨어 등 뭐든 분석 가능 공짜지만 GA Premium과 기능상 거의 동일 게임 전문 분석툴이라고 주장하는 몇몇 제품들에 비해 게임 분석에 더 적합. 카트라이더 등에서 활용 중 (상당수의 게임 분석툴은 “마케팅툴.” 게임 자체를 분석하는 것엔 별 관심이 없음)
  • 6. 1부 GA를 활용하여 게임 데이터를 수집/분석하고 개선한 사례
  • 7. 3월 13일 NDC 발표 확정 주제는 "구글 애널리틱스로 게임 로그 분석하기”
  • 8. 4월 4일 공개할 수 있는 데이터가 없다 (고객사의 데이터를 쓸 수는 없음) 내일이 일요일이니 초간단 게임을 후딱 하나 만들자
  • 9. 4월 5일 #1/3 기획: 재미가 있을 것  검증된 고전을 카피하자 하루 안에 만들 수 있을 것  예전에 몇 번 만들어본걸루… 접근성이 높을 것  HTML5+Canvas 모바일도 지원  요즘 핫하다는 RWD 배우기 쉽게, 마스터는 어렵게  “검증된 고전”에서 이미 ㅇㅋ 한 판이 짧을 것  난이도를 잘 조절해봐야지…
  • 10. 4월 5일 #2/3 개발: 7시간 폭풍 코딩 + GA 연동 30분 배포: http://snake.g15e.com 홍보: 카톡 지인들에게…
  • 11. 4월 5일 #3/3 아무것도 설치하지 않고 클릭 한 번에 게임이 실행되니 튕겨나가는 사람이 거의 없음 한 판에 40초. 적당한듯. 평균체류시간 6분. 재미가 있는갑다!
  • 12. 딱 하루면 린 스타트업에서 말하는 Build  Measure  Learn 사이클을 돌 수 있음
  • 13. 그럭저럭 재미가 있는 것 같다. 조금만 더 다듬어서 본격적으로 데이터 수집을 해보자.
  • 14. 4월 6일 #1/3 AI뱀 추가 파랑: 꼬리가 짧고 빠르고 움직임이 예측불허 노랑: 느리지만 꼬리가 길고 실수가 적음 분홍: 파랑과 노랑의 중간 쯤 Hard-mode 추가
  • 16. 4월 6일 #3/3 948명의 사용자가 방문해서… …사과 10,000개를 먹어치웠다
  • 17. 갑자기 떠오른 두 가지 궁금증 터치 조작과 키보드 조작의 난이도가 비슷할까? Hard Mode가 정말 Normal Mode보다 어려운가?
  • 18. 분석 #1 – 터치 vs 키보드 휴대폰 및 타블릿을 쓰는 플레이어와 데스크탑 및 노트북을 쓰는 집단을 분리
  • 19. 분석 #1 – 터치 vs 키보드 한 판의 길이에 차이가 있나?
  • 20. 분석 #1 – 터치 vs 키보드 사과를 더 많이 먹지는 않았나?
  • 21. 분석 #2 – Normal vs. Hard Mode
  • 22. 분석 #2 – Normal vs. Hard Mode Normal mode만 플레이한 사람 vs. Hard mode만 플레이한 사람
  • 23. 분석 #2 – Normal vs. Hard Mode
  • 24. 분석 #2 – Normal vs. Hard Mode 어쩌면 게임을 잘 하는 사람들이 편향적으로 Hard Mode를 선택하기 때문일 수도 있다. 더 확실히 알아보려면 두 모드를 모두 플레이한 사람이 각 모드에서 어떤 기록을 내는지 보아야 한다.
  • 25. 분석 #2 – Normal vs. Hard Mode 양쪽 모드를 다 플레이한 사람만 봐도 Hard Mode에서 더 오래 버틴다
  • 26. 4월 7일 Hard Mode 속도를 좀 더 빠르게, Normal Mode는 좀 느리게 Hard Mode 에서는 AI 뱀이 동시에 두 마리씩 나오게
  • 27. 4월 8일 게임이 너무 어렵다는 댓글들 원래 본인이 만든 게임은 대체로 본인에겐 쉽다더라. 이 게임도 마찬가지일까? A/B 테스트를 해보자! (하지만 시간이 없으니 주말에…)
  • 28. A/B 테스트란 과학에서 말하는 통제실험(randomized controlled experiment) 상관관계가 아닌 인과관계를 밝히기 여러 버전의 게임을 동시에 운영하고 접속한 플레이어를 임의로 분배
  • 29. 4월 12일 기다리던 일요일. A/B 테스팅을 위해 게임 파라메터를 세 벌 제작 • 살짝 더 어려운 세팅 • 기존 세팅 • 살짝 더 쉬운 세팅
  • 30.
  • 32. 4월 19일 #2/2 난이도를 낮췄더니 평균 1분 정도 더 오래 플레이한다 하지만 방문 당 페이지뷰는 오히려 더 낮아진걸 보니 그냥 게임이 쉬워져서 잘 안죽고, 안죽으니 오래하는거 단순히 플레이타임만 봐서는 안되고 재방문율 등을 보았어야 (실험이 망했어요)
  • 33. 기타 부록들 사망원인은? 사과를 가장 많이 먹은 뱀은?
  • 34. 1부 요약 및 결론 이미 익숙하다면 GA 연동에 걸리는 시간은 30분 미만 Canvas 2D, WebGL (OpenGL ES) 등으로 프로토타이핑하기: • Build  Measure  Learn 사이클을 빠르게 돌아볼 수 있음 • 앱스토어 방문  설치  실행의 장벽이 없으므로 홍보도 용이 • 핵심 메커닉을 작은 단위로 분리, 개별적으로 프로토타이핑하고 데이터를 모으는 방식도 가능할듯. 피드백 사이클을 크게 줄일 수 있지 않을까. 로그 설계만 적절히 하면 온갖 장르의 게임에서 온갖 분석이 가능
  • 35. 2부 게임 로그를 GA에 잘 매핑하기
  • 36. 1부 결론 중… “로그 설계만 적절히 하면 온갖 장르의 게임에서 온갖 분석이 가능” 하다고 했는데… 그래서 적절히 어떻게 하는거임?
  • 37. 구글 애널리틱스의 “결”을 파악하기 로그란? 시간의 흐름에 따른 시스템의 주요 상태 변화(state transition) 웹에서의 주요한 상태 변화는? 웹 주소(URL)의 전환 (앱에서는 화면의 전환) 따라서 우리 게임의 가장 중요한 상태가 무엇인지 결정하고 이 변화를 웹 주소 형태로 매핑하는 것이 첫 단계
  • 38. 예시 - 스테이지형 퍼즐 게임 /main /map /s11/302/entry /s11/302/field /s11/302/lose /s11/302/win
  • 39. 예시 - 온라인 레이싱 게임 /speed/track_a/lap-1 /speed/track_a/lap-2 /speed/track_a/lap-3 /speed/track_a/finish /speed/track_a/retire /item/track_b/lap-1 …
  • 40. 예시 - MMORPG 필드, 주요 NPC, 인던, 포탈 등에 URL을 부여 필드가 넓다면 필드를 그리드로 나누고 /field_a/x-y 식으로 좌표를 부여하는 것도 가능
  • 41. 예시 - 게임 내 상점 /shop 으로 시작하는 URL 등을 부여 상점 등 UI 레이어는 일반적인 앱과 동일하므로 자세한 설명은 생략
  • 42. 이것만 잘해도 온갖 유용한 정보가 나온다 왜냐하면 결에 잘 맞기 때문
  • 43. 예시 - 온라인 레이싱 게임 트랙별 lap-time은? 제일 인기있는 트랙, 모드는? 완주 안하고 중간에 나가버리는 플레이어가 가장 많은 트랙은? A트랙은 플레이하지만 B트랙은 플레이하지 않는 사람들의 특징은? 패치 이전/이후 랩타임 변화는?
  • 44. 주요 상태 변화가 아닌 것들은? 캐릭터 직업이나 레벨 등 게임 고유의 특화된 상태들은  Custom Dimension 경험치나 골드 등 게임 고유의 수치들은?  Custom Metric 플레이어 사망, 아이템 획득 등 게임 고유의 사건들은?  Custom Event
  • 45. /track-a/lap-1 /track-a/lap-2 /track-a/lap-3 /track-a/finish use item A use item B Lap time Lap time Lap time 상태와 이벤트의 차이 상태에는 길이가 있음 이벤트는 길이가 없는 점 특정 상태에서 발생한 이벤트라는 개념을 표현할 수 있음 (A 던전에서 획득한 경험치 등)
  • 46. 여기까지 해주면 어지간한 궁금증은 해결 가능
  • 47. 예시 - 스테이지형 퍼즐 게임 구글 시트와 연동하여 파생 지표 및 Custom Metric을 엮어서 보여주기 (자세한 내용은 이어지는 발표에서…)
  • 48. 예시 - 온라인 레이싱 게임 트랙별 lap-time은? 제일 인기있는 트랙, 모드는? 완주 안하고 중간에 나가버리는 플레이어가 가장 많은 트랙은? A트랙은 플레이하지만 B트랙은 플레이하지 않는 사람들의 특징은? 패치 이전/이후 랩타임 변화는? 초보와 고수의 차이가 가장 큰/작은 트랙은? 아이템 X를 가장 많이 사용하는 트랙은?
  • 49.
  • 50.
  • 51.
  • 52.
  • 53. 2부 요약 및 결론 구글 애널리틱스 짱 좋아요. 게임 로그 분석에 매우 적합합니다 기능이 부족하면 API를 써서 마음대로 확장해보아요 데이터가 많으면 샘플링을 합시다 (평생 공짜로 쓸 수 있음)
  • 54. 부록 – 한편, 모 예술대학에서는… 수업 과제 수업 과제 중간고사수업 과제 과제 과제없음
  • 55. 참고자료 Measurement Protocol (영문) https://developers.google.com/analytics/devguides/collection/protocol/v1/ Dimensions and Metrics Explorer (영문) https://ga-dev-tools.appspot.com/dimensions-metrics-explorer/ Google Spreadsheet Add-on (영문) https://developers.google.com/analytics/solutions/google-analytics-spreadsheet-add-on Google Analytics로 게임 분석하기 (한글) http://www.boxnwhis.kr/2014/09/15/analyze_game_using_ga_1.html http://www.boxnwhis.kr/2014/11/08/analyze_game_using_ga_2.html http://www.boxnwhis.kr/2015/04/12/analyze_game_using_ga_3.html