78
Gameplay Data Analysis Asking the Right Questions

Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Gameplay Data Analysis

Asking the Right Questions

Page 2: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Ian Thomas • Database/ Web Development

– Epic Games, Inc

Page 3: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Intended Audience • Server and Database Programmers • Analysts • Gameplay Programmers • Producers • Designers

Page 4: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Too Much or Too Little? • Collect Too Much Data

– Expensive – Can’t Analyze

• Collect Too Little Data – Cheap – Can’t Analyze

Page 5: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Collecting the Right Data • Gears 3 Data Pipeline

– Flexible

• (Gears of ) War Story • How to Determine Which Data to Collect

– And How To Store It

Page 6: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

GEARS 3 DATA PIPELINE

Page 7: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Gears of War 3 • 18 M. Franchise • 5.5 M. Gears of War 3

Page 8: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Peak Data Sizes • Storage

– 65 GB / Day – 21 Million Rows / Day

• Traffic – 180 GB / Day – 25 Mbps

Page 9: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Flexible Storage Pipeline

Page 10: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Network Infrastructure

Page 11: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Network Infrastructure

Page 12: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Network Infrastructure

Page 13: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Network Infrastructure

Page 14: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Network Infrastructure

Page 15: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Flexible • Mitigate Costs • Able to Send Anything • Can Add or Remove Data Points

Page 16: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

(GEARS OF ) WAR STORY

Page 17: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Priorities for Beta 1. Matchmaking 2. Weapon Balance 3. Achievement Progression 4. Anything that might come up

Page 18: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

DEDICATED SERVER MONITORING The One Thing we Weren’t Concerned with Was …

Page 19: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Are the Dedicated Servers Up? • Forums Say They’re Down • IT Says They’re Up • We Play Some Games • … And They’re Down • WTF !?!

Page 20: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Healthy Servers; Unhealthy Game • Dedicated Servers ARE Up • Logs Look Healthy • Users are Playing

– On Listen Servers

Page 21: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Are the Dedicated Servers Up?

Page 22: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

AHA! • Matchmaking Results Can Be Used to Infer

Game Health

Page 23: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Inferred Datacenter Health

Page 24: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Matchmaking Process

Request Datacenter

Read Skill Data

Search for Matches

Rate Matches Join Match

Page 25: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Analysis -> Monitoring • 25 – 2,500 Results per Matchmaking Request • Full Dataset: 1 Day Turnaround • Small Sample: 15 Minutes

Page 26: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 27: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 28: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 29: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 30: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 31: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 32: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 33: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Ok, so what’s wrong?

Page 34: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Comparing Apples to Oranges • Different Granularities • No Cohesive Picture • Only Experts Could Divine

Answers • We Needed …

Page 35: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

The One True Chart

• One View That Showed Everyone What Problems Servers Were Having

Page 36: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Datacenter Status

Page 37: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Lessons • Priorities Change • Schema Affects Analysis • Iteration is Key • Knowing What You Want Allows You to

Optimize

Page 38: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

ASK THE RIGHT QUESTIONS

How do you only collect the data that you’re going to use?

Page 39: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Everybody Wants Something

Page 40: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible
Page 41: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Collect Everything; Answer Anything

• Holy Grail – Don’t Know What You Don’t Know – Can Only Ship Once

• Easier Than Trying to Answer Everything

Page 42: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Answer Anything You Want

Page 43: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Selecting Questions to Answer • Define Priorities • Categorize • Structure Data Accordingly • Analyze • Iterate

Page 44: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

DEFINE PRIORITIES

What are the most important things you’re expecting to get out of your data?

Page 45: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Cost / Benefit You Want the Hot Information Without Spending Crazy Amounts of Effort to Get It.

Page 46: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Who Needs to Be Involved?

• Gameplay Programmers • Designers • Producers • Operations

– Dedicated servers • External partners

Page 47: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Actionable Data • What can you Change? • When can you Use this Information?

– Config files – Beta – Title Update – Next Game – Press Release – Forums

Page 48: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will Knowing Get You?

Multiplayer Character Preference:

Page 49: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will Knowing Get You?

Active Reload Success Rates

Page 50: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will Knowing Get You?

Downing Distances

Page 51: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will Knowing Get You?

Avid Fans

Page 52: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will NOT Knowing COST You?

Page 53: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will NOT Knowing COST You?

Dedicated Server Outages

Page 54: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

What Will NOT Knowing COST You?

Nerd Rage

Page 55: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Gears 3 Priorities 1. Matchmaking Analysis

– Minimize User Wait Times

2. Actionable Gameplay Measurements – Weapon Balance – Achievement and Level Progress – Game Types

Page 56: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Gears 3 Priorities 1. Dedicated Server Health Monitoring 2. Matchmaking Analysis

– Minimize User Wait Times 3. Actionable Gameplay Measurements

– Weapon Balance – Achievement and Level Progress – Game Types

Page 57: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

CATEGORIZE QUESTIONS

Page 58: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Brainstorm

• Work With Everyone • Gather Large List of

Potential Questions • Filter These Through

Priorities

Page 59: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Categories Will Emerge • Game Info

– Games by Hour of the day, Games by Game Type, Average Match Length

• Weapons – Kills by Weapon, DBNO by Weapon, Starting Weapon

by Game Type • User Settings

– Resolutions, Control Scheme, Gore, Subtitles

Page 60: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

STRUCTURE DATA Now is the Time to Think About How to

Page 61: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Storage Basics You Try Counting All Those Kills

Page 62: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Events

Page 63: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Counting Kills

Page 64: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Event Driven Heat Maps

Page 65: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Events • Granular

– 1,000 rows/game – 7,500,000 sessions/ Day – 7,500,000,000 rows/Day!

• If we were to all expand it all • Expensive to Store and Analyze

– 36 GB/Day Raw Compressed Data • Just for Game Events

Page 66: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Roll-ups

Page 67: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Counting Kills

Page 68: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Roll-ups • Less granular

– 1000 events -> 30 events

• Less Space – 7.5 Billion -> 480 rows/day – 2GB /Day Session + Rollup data

• Quick Reports

Page 69: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Things to Consider • Timeliness • Sample Size • Outliers • Discovery • Dimensionality

Page 70: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

ANALYZE

Page 71: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Decision Driven • Your Job is to Help People Make Decisions • Worry About Accuracy

– So Decision Makers Don’t Have To

Page 72: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Remember your Viewers

• People Tend to Confirm Beliefs

• Data Can be Difficult to Analyze – Nuanced Data Should be Simplified

Page 73: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

ITERATE Every Question Leads to Another

Page 74: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Iteration Data • Generated • Game QA • Playtest • Beta • Live

Page 75: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Constantly

• Evaluate Priorities • Solidify Categories • Tweak Storage Layout • Improve Charts

Page 76: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Coming up with questions without real data is

HARD

Answering unexpected questions on Launch day is HARDER

Page 77: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Conclusion The More You Know About What Knowledge You Want From Your Data The More Efficient Your Collection and Analyses Will Be.

Page 78: Gameplay Data Analysis - Unreal Engine · – Can’t Analyze • Collect Too Little Data – Cheap – Can’t Analyze . Collecting the Right Data • Gears 3 Data Pipeline – Flexible

Ian Thomas Epic Games, Inc.

Gameplay Data Analysis Collecting the Right Data

Special thanks to: Wes Hunt Josh Markiewicz Joe Graf Sam Zamani Paul Oliver Dana Cowley