harnessing the power of data in real-time multiplayer games

67
1

Upload: lauren-cormack

Post on 21-Apr-2017

838 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Harnessing the power of data in real-time multiplayer games

1

Page 2: Harnessing the power of data in real-time multiplayer games

Time for Real-Time: Harnessing the power of data for real-time multiplayer

games

Page 3: Harnessing the power of data in real-time multiplayer games
Page 4: Harnessing the power of data in real-time multiplayer games

1. INTRO

Who am I?

Talk Structure

3. SOLVING PING

What is ping and why is it Important?

What did our data tell us?

What am I talking about?

4. EVOLVING MATCHMAKING

How has matchmaking evolved in our

games?

Ghosts!

2. OUR REAL-TIME STACK

Our Stack

Learning to love APIs

Page 5: Harnessing the power of data in real-time multiplayer games

Why Real-Time Multiplayer?

Page 6: Harnessing the power of data in real-time multiplayer games
Page 7: Harnessing the power of data in real-time multiplayer games
Page 8: Harnessing the power of data in real-time multiplayer games
Page 9: Harnessing the power of data in real-time multiplayer games
Page 10: Harnessing the power of data in real-time multiplayer games
Page 11: Harnessing the power of data in real-time multiplayer games

Out Real-Time Analytics Stack

Page 12: Harnessing the power of data in real-time multiplayer games

Our Real-time stack

Data Analysis

Analytics API

Real-Time Dashboards

Slice-and-Dice

Every 10 Minutes

Daily

Page 13: Harnessing the power of data in real-time multiplayer games

Learning to love APIs

Page 14: Harnessing the power of data in real-time multiplayer games

A Look to the Future

Page 15: Harnessing the power of data in real-time multiplayer games

1. INTRO

Who am I?

Talk Structure

3. SOLVING PING

What is ping and why is it Important?

What did our data tell us?

What am I talking about?

4. EVOLVING MATCHMAKING

How has matchmaking evolved in our

games?

Ghosts!

2. OUR REAL-TIME STACK

Our Stack

Learning to love APIs

Page 16: Harnessing the power of data in real-time multiplayer games

1. What is ping and why is it important?2. What did we learn from our data?3. How did we design around high ping?

Page 17: Harnessing the power of data in real-time multiplayer games

What is Ping?

Page 18: Harnessing the power of data in real-time multiplayer games

What is Ping?

A Server Somewhere

50ms

Page 19: Harnessing the power of data in real-time multiplayer games

A Server Somewhere

50ms 50ms

What is Ping?

Page 20: Harnessing the power of data in real-time multiplayer games

What is Ping?

A Server Somewhere

50ms 50ms50ms + 50 ms = 100ms ping

Page 21: Harnessing the power of data in real-time multiplayer games

A Server Somewhere

What does ping mean in multiplayer games?

50ms 50ms100ms before another player sees my input

Page 22: Harnessing the power of data in real-time multiplayer games

Me

You

Me

My Phone Your Phone

500 ms delay

You You

Page 23: Harnessing the power of data in real-time multiplayer games

Me Me

My Phone Your Phone

500 ms delay

You You

Page 24: Harnessing the power of data in real-time multiplayer games

Me Me

My Phone Your Phone

500 ms delay

You You

Page 25: Harnessing the power of data in real-time multiplayer games

Me Me

My Phone Your Phone

500 ms delay

You

You

Page 26: Harnessing the power of data in real-time multiplayer games

Me Me

My Phone Your Phone

500 ms delay

You

You

Page 27: Harnessing the power of data in real-time multiplayer games

Multiplayer Ping

A Server Somewhere

50ms 50ms 500ms 500ms

Page 28: Harnessing the power of data in real-time multiplayer games

A Server Somewhere

Multiplayer Ping

50ms 50ms 500ms 500ms

500ms + 50 ms = 550ms ping!

Page 29: Harnessing the power of data in real-time multiplayer games

A Server Somewhere

Multiplayer Ping

50ms 50ms 500ms 500ms

500ms + 50 ms = 550ms ping!

Page 30: Harnessing the power of data in real-time multiplayer games

Me Me

My Phone Your Phone

500 ms delay

You

You

Page 31: Harnessing the power of data in real-time multiplayer games

Me Me

My Phone Your Phone

500 ms delay

You

You

Page 32: Harnessing the power of data in real-time multiplayer games

What did our data tell us?

Page 33: Harnessing the power of data in real-time multiplayer games

Network Usages For Rival Kingdoms Players

Page 34: Harnessing the power of data in real-time multiplayer games

Network Usages For Rival Kingdoms Players

* China not shown - not enough data points (metrics captured from Android only)

Page 35: Harnessing the power of data in real-time multiplayer games

Region Breakdown

Page 36: Harnessing the power of data in real-time multiplayer games

3G RTT Distribution (All Regions)

*Probabilities done based on cumulative counts of response times within a time window. Bucketing counts mean tcp / udp variations are less visible

Page 37: Harnessing the power of data in real-time multiplayer games

3G RTT Distribution (All Regions)

99% that RTT <= 2 seconds95% RTT <= 1 second

Page 38: Harnessing the power of data in real-time multiplayer games

3G Usage Geo Heatmap

*Probabilities done based on cumulative counts of response times within a time window. Bucketing counts mean tcp / udp variations are less visible

Page 39: Harnessing the power of data in real-time multiplayer games

4G Usage Geo Heatmap

Page 40: Harnessing the power of data in real-time multiplayer games

Wifi Usage Geo Heatmap

Page 41: Harnessing the power of data in real-time multiplayer games

WiFi vs 4G

WiFi 4G99% that RTT <= 900 millis 99% that RTT <= 600 millis

Page 42: Harnessing the power of data in real-time multiplayer games

What did our data tell us?

No-one uses 2G (although self-selecting sample)But we don’t really care about 2G players anyway!

US is almost full 4G/WiFi CoverageAsia still has a lot of 3G usersPseudo Real-time on 3G would have some issues, but is possible4G is actually better than WiFi, but both are good enough to support real-time multiplayer

Page 43: Harnessing the power of data in real-time multiplayer games

Designing around high ping

Page 44: Harnessing the power of data in real-time multiplayer games

Latency Sensitive

Turn based RealtimePseudo realtime

Page 45: Harnessing the power of data in real-time multiplayer games

Turn Based Games

Page 46: Harnessing the power of data in real-time multiplayer games

Shuffle Cats

15 seconds long turn

Turn timer starts Turn timer ends

1 second RTT (my phone -> server -> opponent’s phone)

I play my card Opponent sees my card

Page 47: Harnessing the power of data in real-time multiplayer games

15 seconds long turn

Turn timer ends

1 second RTT

I play a card Opponent sees my card

Shuffle Cats

Page 48: Harnessing the power of data in real-time multiplayer games

“Pseudo”-Realtime

Page 49: Harnessing the power of data in real-time multiplayer games

Clash Royale

2 Second Move DelayWe both see my troop appear

1 second RTT

I drop a troop Opponent’s phone receives the troop position

Page 50: Harnessing the power of data in real-time multiplayer games
Page 51: Harnessing the power of data in real-time multiplayer games
Page 52: Harnessing the power of data in real-time multiplayer games

Orca Rocket Collision

2 Second Rocket Delay

We both see my rocket hit.

1 second RTT

I fire a rocket Opponent’s phone finds out about the rocket

Page 53: Harnessing the power of data in real-time multiplayer games

Orca Rocket Collision

2 Second Rocket Delay

We both see my rocket hit.

1 second RTT

I fire a rocket Opponent’s phone finds out about the rocket

Page 54: Harnessing the power of data in real-time multiplayer games

Orca Finish Line Cam

Time slooooooows down

We all see the same result.

1 second RTT

All of our last inputs

1 second RTT

1 second RTT

Page 55: Harnessing the power of data in real-time multiplayer games

How has matchmaking evolved in our games?

Page 56: Harnessing the power of data in real-time multiplayer games

Gen 1 -> Samurai Siege: Nexting

Page 57: Harnessing the power of data in real-time multiplayer games

Gen 2 -> Rival Kingdoms: Match-Making

Page 58: Harnessing the power of data in real-time multiplayer games

Gen 2 -> Rival Kingdoms: Match-Making

Page 59: Harnessing the power of data in real-time multiplayer games

Gen 2 -> Rival Kingdoms: Match-Making

Page 60: Harnessing the power of data in real-time multiplayer games

Gen 3 -> Transformers “Battlezones”

Page 61: Harnessing the power of data in real-time multiplayer games

Ghosts!

Page 62: Harnessing the power of data in real-time multiplayer games

Liquidity by Battlezone

Page 63: Harnessing the power of data in real-time multiplayer games

Avg Battles per Day by Battlezone

Page 64: Harnessing the power of data in real-time multiplayer games

Clash of Clouds

Page 65: Harnessing the power of data in real-time multiplayer games

Send in the Ghosts

Page 66: Harnessing the power of data in real-time multiplayer games

Questions?

Page 67: Harnessing the power of data in real-time multiplayer games

THANKS!!