Upload
lauren-cormack
View
838
Download
0
Embed Size (px)
Citation preview
1
Time for Real-Time: Harnessing the power of data for 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
Why Real-Time Multiplayer?
Out Real-Time Analytics Stack
Our Real-time stack
Data Analysis
Analytics API
Real-Time Dashboards
Slice-and-Dice
Every 10 Minutes
Daily
Learning to love APIs
A Look to the Future
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
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?
What is Ping?
What is Ping?
A Server Somewhere
50ms
A Server Somewhere
50ms 50ms
What is Ping?
What is Ping?
A Server Somewhere
50ms 50ms50ms + 50 ms = 100ms ping
A Server Somewhere
What does ping mean in multiplayer games?
50ms 50ms100ms before another player sees my input
Me
You
Me
My Phone Your Phone
500 ms delay
You You
Me Me
My Phone Your Phone
500 ms delay
You You
Me Me
My Phone Your Phone
500 ms delay
You You
Me Me
My Phone Your Phone
500 ms delay
You
You
Me Me
My Phone Your Phone
500 ms delay
You
You
Multiplayer Ping
A Server Somewhere
50ms 50ms 500ms 500ms
A Server Somewhere
Multiplayer Ping
50ms 50ms 500ms 500ms
500ms + 50 ms = 550ms ping!
A Server Somewhere
Multiplayer Ping
50ms 50ms 500ms 500ms
500ms + 50 ms = 550ms ping!
Me Me
My Phone Your Phone
500 ms delay
You
You
Me Me
My Phone Your Phone
500 ms delay
You
You
What did our data tell us?
Network Usages For Rival Kingdoms Players
Network Usages For Rival Kingdoms Players
* China not shown - not enough data points (metrics captured from Android only)
Region Breakdown
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
3G RTT Distribution (All Regions)
99% that RTT <= 2 seconds95% RTT <= 1 second
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
4G Usage Geo Heatmap
Wifi Usage Geo Heatmap
WiFi vs 4G
WiFi 4G99% that RTT <= 900 millis 99% that RTT <= 600 millis
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
Designing around high ping
Latency Sensitive
Turn based RealtimePseudo realtime
Turn Based 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
15 seconds long turn
Turn timer ends
1 second RTT
I play a card Opponent sees my card
Shuffle Cats
“Pseudo”-Realtime
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
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
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
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
How has matchmaking evolved in our games?
Gen 1 -> Samurai Siege: Nexting
Gen 2 -> Rival Kingdoms: Match-Making
Gen 2 -> Rival Kingdoms: Match-Making
Gen 2 -> Rival Kingdoms: Match-Making
Gen 3 -> Transformers “Battlezones”
Ghosts!
Liquidity by Battlezone
Avg Battles per Day by Battlezone
Clash of Clouds
Send in the Ghosts
Questions?
THANKS!!