Creating a Gaming Analytics Platform
Oyvind Roti, Cloud Solutions Architect
Confidential & ProprietaryGoogle Cloud Platform 2
Free-to-play mobile gaming is delivered
as a service.
Player engagement is key.
Confidential & ProprietaryGoogle Cloud Platform 3
The goal is to have a
unified view of the player.
Confidential & ProprietaryGoogle Cloud Platform 4
Diverse Data Sources
Confidential & ProprietaryGoogle Cloud Platform 5
Diverse Data Sources
Data from user
acquisition
campaigns
Data from Google
Play and App Store
Turnkey gaming
metrics
(e.g. player churn and
spend predictions from
Play Games Services)
Confidential & ProprietaryGoogle Cloud Platform 6
Diverse Data Sources
User behavior data
from your website
and mobile apps
Confidential & ProprietaryGoogle Cloud Platform 7
Custom game events
Custom logs
Custom player telemetry
specific to your games
Diverse Data Sources
Confidential & ProprietaryGoogle Cloud Platform 8
Continuum of Gaming Analytics
Standard metrics:
● DAU, MAU, ARPPU
● Player Progression
● Feature Engagement
● Spend
● Retention / Churn
● Daily revenue targets
● Fraud and cheating
Key indicators specific to your game:
● Activity in communities, joining
guilds, # of friends in-game
● Reached meaningful milestone
or achievement
● Time to first meaningful transaction
● Player response to specific A/B tests
Turnkey Custom
● How many players made it to stage 12?
● What path did they take through the stage?
● Health and other key stats at this point in time?
● Of the players who took the same route where a
certain condition was true, how many made an in-
app purchase?
● What are the characteristics of the player segment
who didn’t make the purchase vs. those who did?
● Why was this custom event so successful in driving
in-app purchases compared to others?
Ask custom questions
Confidential & ProprietaryGoogle Cloud Platform 9
秘密 / 占有情報Google Cloud Platform 10
3 Things to Remember
秘密 / 占有情報Google Cloud Platform 10
Speed up from Batch to Real-Time
Speed up Development Time
Speed up Batch Processing1
3
2
Confidential & ProprietaryGoogle Cloud Platform 11Confidential & ProprietaryGoogle Cloud Platform 11
1 - Speed up Batch Processing
秘密 / 占有情報Google Cloud Platform 12
"Getting Started" Pattern
秘密 / 占有情報Google Cloud Platform 12
Confidential & ProprietaryGoogle Cloud Platform 13
Demo
Confidential & ProprietaryGoogle Cloud Platform 14
Confidential & ProprietaryGoogle Cloud Platform 15
Confidential & ProprietaryGoogle Cloud Platform 16
Some of DeNA's Hadoop+Hive woes:
● Many bottlenecks & failure points
● 3 hour data ingestion lag
● Too many analysts at peak time
● Slow queries
● ...
Google confidential │ Do not
distribute
BigQuery is different because
Google confidential │ Do not
distribute
BigQuery is different because
Analyze TBs /secs
Google confidential │ Do not
distribute
BigQuery is different because
No servers
Google confidential │ Do not
distribute
BigQuery is different because
Terabit network
Google confidential │ Do not
distribute
BigQuery is different because
No pre-planning
Google confidential │ Do not
distribute
BigQuery is different because
No indexes
Google confidential │ Do not
distribute
BigQuery is different because
Large joins, any key
Google confidential │ Do not
distribute
BigQuery is different because
Always On
Google confidential │ Do not
distribute
BigQuery is different because
Planned downtime?
Google confidential │ Do not
distribute
BigQuery is different because
Unlimited users
Google confidential │ Do not
distribute
BigQuery is different because
Stream in <100k rps
Google confidential │ Do not
distribute
BigQuery is different because
Secure, but shares
Google confidential │ Do not
distribute
BigQuery is different because
Free monthly quota
Confidential & ProprietaryGoogle Cloud Platform 30
Confidential & ProprietaryGoogle Cloud Platform 31
If that's the "Getting Started" pattern...
...what's NEXT?
秘密 / 占有情報Google Cloud Platform 32
Cloud Dataflow (Apache Beam) Pattern
秘密 / 占有情報Google Cloud Platform 32
Confidential & ProprietaryGoogle Cloud Platform 33
Let's Dive Deeper:
Cloud Dataflow (Apache Beam)
秘密 / 占有情報Google Cloud Platform 34
Dataflow (Apache Beam) Pattern
秘密 / 占有情報Google Cloud Platform 34
秘密 / 占有情報Google Cloud Platform 35秘密 / 占有情報Google Cloud Platform 35
秘密 / 占有情報Google Cloud Platform 36
Dataflow (Apache Beam) Pattern
秘密 / 占有情報Google Cloud Platform 36
Confidential & ProprietaryGoogle Cloud Platform 37
Autoscaling mid-job
Fully managed - No-Ops
Intuitive Data Processing Framework
Batch and Stream Processing in one
Liquid sharding mid-job
1
2
3
4
5
Pipeline p = Pipeline.create();
p.begin()
.apply(TextIO.Read.from(“gs://…”))
.apply(ParDo.of(new ExtractTags())
.apply(Count.create())
.apply(ParDo.of(new ExpandPrefixes())
.apply(Top.largestPerKey(3))
.apply(TextIO.Write.to(“gs://…”));
p.run();
Dataflow goodies
Confidential & ProprietaryGoogle Cloud Platform 38
Dataflow goodies
Autoscaling mid-job
Fully managed - No-Ops
Intuitive Data Processing Framework
Batch and Stream Processing in one
Liquid sharding mid-job
1
2
3
4
5
Deploy
Schedule & Monitor
Confidential & ProprietaryGoogle Cloud Platform 39
Autoscaling mid-job
Fully managed - No-Ops
Intuitive Data Processing Framework
Batch and Stream Processing in one
Liquid sharding mid-job
1
2
3
4
5
Dataflow goodies
800 RPS 1200 RPS 5000 RPS 50 RPS
*means 100% cluster utilization by definition
Confidential & ProprietaryGoogle Cloud Platform 40
Autoscaling mid-job
Fully managed - No-Ops
Intuitive Data Processing Framework
Batch and Stream Processing in one
Liquid sharding mid-job
1
2
3
4
5
Dataflow goodies
Confidential & ProprietaryGoogle Cloud Platform 41
Autoscaling mid-job
Fully managed - No-Ops
Intuitive Data Processing Framework
Batch and Stream Processing in one
Liquid sharding mid-job
1
2
3
4
5
Dataflow goodies
Pipeline p = Pipeline.create();
p.begin()
.apply(TextIO.Read.from(“gs://…”))
.apply(ParDo.of(new ExtractTags())
.apply(Count.create())
.apply(ParDo.of(new ExpandPrefixes())
.apply(Top.largestPerKey(3))
.apply(TextIO.Write.to(“gs://…”));
p.run();
.apply(PubsubIO.Read.from(“input_topic”))
.apply(Window.<Integer>by(FixedWindows.of(5, MINUTES))
.apply(PubsubIO.Write.to(“output_topic”));
Confidential & ProprietaryGoogle Cloud Platform 42Confidential & ProprietaryGoogle Cloud Platform 42
2 - Speed up from Batch to Real-time
{
"eventTime":"2016-04-29T05:22:39.201477414Z",
"userId":"user529287@example.com",
"sessionId":"413b4d97-634f-9463-3bc7-9f9f45ecdcb0",
"sessionStartTime":"2016-04-29T05:20:44.201477414Z",
"eventId":"playermissednpc",
"currentQuest":156,
"npcId":"boss156",
"battleId":"928f86db-187a-5ba4-f7cb-b6a7ded0056a",
"playerAttackPoints":15,
"playerHitPoints":2,
"playerMaxHitPoints":15,
"playerArmorClass":15,
"npcAttackPoints":15,
"npcHitPoints":8,
"npcMaxHitPoints":15,
"npcArmorClass":15,
"attackRoll":12
}
{
"eventTime":"2016-04-29T05:22:39.201477414Z",
"userId":"user529287@example.com",
"sessionId":"413b4d97-634f-9463-3bc7-9f9f45ecdcb0",
"sessionStartTime":"2016-04-29T05:20:44.201477414Z",
"eventId":"playermissednpc",
"currentQuest":156,
"npcId":"boss156",
"battleId":"928f86db-187a-5ba4-f7cb-b6a7ded0056a",
"player": [
{"attackPoints":15},
{"hitPoints":2},
{"maxHitPoints":15},
{"armorClass":15} ],
"npcAttackPoints":15,
"npcHitPoints":8,
"npcMaxHitPoints":15,
"npcArmorClass":15,
"attackRoll":12
}
Confidential & ProprietaryGoogle Cloud Platform 45
Transform and Load: Cloud Dataflow
Streaming Pipeline
BigQuery
Analytics Engine
Cloud Pub/Sub
Asynchronous messaging
Real
Time
Events
Cloud Dataflow
Parallel data processing
32 4
Streaming Pipeline
iOS
1
Real-time Events
{
...
"userId":"gamer@example.com",
"damageRoll":13,
...
}
{
userId... damageRoll ...
... 13 ...gamer@example.com
... 8 ...player@example.com
{
...
"userId":"player@example.com",
"damageRoll":8,
...
}
Confidential & ProprietaryGoogle Cloud Platform 46
Demo
秘密 / 占有情報Google Cloud Platform 47
Reads game data published in near real-time, and
uses that data to perform two separate processing
tasks:
● Calculates the total score for every unique
user and publishes speculative results for
every ten minutes of processing time.
● Calculates the team scores for each hour that
the pipeline runs using fixed-time windowing..
● In addition, the team score calculation uses
Dataflow's trigger mechanisms to provide
speculative results for each hour (which
update every five minutes until the hour is
up), and to also capture any late data and
add it to the specific hour-long window to
which it belongs.
Leaderboard Example
秘密 / 占有情報Google Cloud Platform 47
GCP Gaming 2016 Seoul, Korea Gaming Analytics
秘密 / 占有情報Google Cloud Platform 49
http://goo.gl/vz1Cj5
● UserScore: Basic Score Processing in Batch
● HourlyTeamScore: Advanced Processing in
Batch with Windowing
● LeaderBoard: Streaming Processing with
Real-Time Game Data
● GameStats: Abuse Detection and Usage
Analysis
Cloud Dataflow and Spark examples
Sample Code on Github
秘密 / 占有情報Google Cloud Platform 49
Confidential & ProprietaryGoogle Cloud Platform 50
US Mobile Game Company goes Real-time Streaming
Streaming Pipeline
BigQuery
Analytics Engine
Cloud Pub/Sub
Asynchronous messaging
Real
Time
Events
Cloud Dataflow
Parallel data processing
32 4
Streaming Pipeline
iOS
1
Real-time Events
Confidential & ProprietaryGoogle Cloud Platform 51
Thing 3: Speed up Development Time
Building what’s next 52
Time to Understanding
Typical Big Data
Processing
Programming
Resource
provisioning
Performance
tuning
Monitoring
Reliability
Deployment &
configuration
Handling
growing scale
Utilization
improvements
Building what’s next 53
Time to Understanding
Big Data with Google:
Focus on insight,
not infrastructure.
Programming
Confidential & ProprietaryGoogle Cloud Platform 54
A ample data streaming logic (Dataflow vs Spark)
Confidential & Proprietary 55Google Cloud Platform
speed 10B logs TBs of info 10x faster
Provisions new services
in seconds instead
of days
Google App Engine syncs
with BigQuery to automatically
store tens of billions
of application logs so TabTale
can analyze issues
on a moment's notice
Run queries on terabytes
of information
in a few seconds
Can now deliver new backend
features 10 times faster
without dealing with
infrastructure maintenance
“Our ability to provision new services in seconds saves us a lot of time,
since it used to take days. The gaming industry is characterized by short-
term projects, so it’s important for us to have a backend that is flexible
and works fast.”
Confidential & ProprietaryGoogle Cloud Platform 56
7
Architecture breakdown: Batch
Architecture breakdown: Stream
Confidential & ProprietaryGoogle Cloud Platform 57
7
GCP gaming telemetry reference architecture
Confidential & ProprietaryGoogle Cloud Platform 58
7
Confidential & ProprietaryGoogle Cloud Platform 59
6
7
http://goo.gl/IdYxaa
Confidential & ProprietaryGoogle Cloud Platform 60
TensorFlow open source
manifestation of our ML capability
Machine Learning - TensorFlow Machine Learning - Vision API
Label / Entity Detection, Facial
Detection, OCR, Logo Detection, Safe
Search
Machine Learning - Cloud Dataproc
Managed Hadoop, Hive, Spark
90 secs to start cluster
Confidential & ProprietaryGoogle Cloud Platform 61
Like you, Google is committed to gaming
Use Google’s latest technologies to build,
distribute, and monetize your games
Select Customers
Confidential & ProprietaryGoogle Cloud Platform 62
秘密 / 占有情報Google Cloud Platform 63
3 Things to Remember
秘密 / 占有情報Google Cloud Platform 63
Speed up from Batch to Real-Time
Speed up Development Time
Speed up Batch Processing1
3
2
Thanks!
Oyvind Roti
Cloud Solutions Architect
roti@google.com

More Related Content

PDF
GCP Gaming 2016 Keynote Seoul, Korea
PDF
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
PDF
GCP Gaming 2016 Seoul, Korea Firebase
PDF
GCP Gaming 2016 Seoul, Korea Build Game Server in 20min
PDF
Journey to Containerized Application / Google Container Engine
PDF
node.js on Google Compute Engine
PDF
Google Cloud Platform as a Backend Solution for your Product
PDF
#DataUnlimited - Google Big Data Unlimited
GCP Gaming 2016 Keynote Seoul, Korea
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
GCP Gaming 2016 Seoul, Korea Firebase
GCP Gaming 2016 Seoul, Korea Build Game Server in 20min
Journey to Containerized Application / Google Container Engine
node.js on Google Compute Engine
Google Cloud Platform as a Backend Solution for your Product
#DataUnlimited - Google Big Data Unlimited

What's hot (20)

PDF
Google compute engine - overview
PPTX
Introduction to Google Cloud Services / Platforms
PDF
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
PPTX
Google for モバイル アプリ 16:00: モバイル kpi 分析の新標準 fluentd + google big query
PPTX
TIAD : Automate everything with Google Cloud
PPTX
SEC302 Twitter's GCP Architecture for its petabyte scale data storage in gcs...
PDF
Introduction to Google Compute Engine
PPTX
Google Cloud Platform: Prototype ->Production-> Planet scale
PDF
Introduction to Google Cloud Platform
PDF
[English] Create Mobile LBS Application Using Maps API
PDF
Google Cloud Platform Introduction - 2016Q3
PPTX
Google Cloud Platform - Eric Johnson, Joe Selman - ManageIQ Design Summit 2016
PDF
Getting started with Google Cloud Training Material - 2018
PDF
Google Cloud Platform & rockPlace Big Data Event-Mar.31.2016
PDF
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
PDF
Cloud computing overview & Technical intro to Google Cloud
PDF
Google cloud big data summit master gcp big data summit la - 10-20-2015
PDF
Top Advantages of Using Google Cloud Platform
PDF
Google Cloud Technologies Overview
PPTX
Understanding cloud with Google Cloud Platform
Google compute engine - overview
Introduction to Google Cloud Services / Platforms
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
Google for モバイル アプリ 16:00: モバイル kpi 分析の新標準 fluentd + google big query
TIAD : Automate everything with Google Cloud
SEC302 Twitter's GCP Architecture for its petabyte scale data storage in gcs...
Introduction to Google Compute Engine
Google Cloud Platform: Prototype ->Production-> Planet scale
Introduction to Google Cloud Platform
[English] Create Mobile LBS Application Using Maps API
Google Cloud Platform Introduction - 2016Q3
Google Cloud Platform - Eric Johnson, Joe Selman - ManageIQ Design Summit 2016
Getting started with Google Cloud Training Material - 2018
Google Cloud Platform & rockPlace Big Data Event-Mar.31.2016
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
Cloud computing overview & Technical intro to Google Cloud
Google cloud big data summit master gcp big data summit la - 10-20-2015
Top Advantages of Using Google Cloud Platform
Google Cloud Technologies Overview
Understanding cloud with Google Cloud Platform
Ad

Similar to GCP Gaming 2016 Seoul, Korea Gaming Analytics (20)

PDF
Gaming analytics on gcp
PDF
Kubernetes as data platform
PDF
DevOpsDaysRiga 2018: Eric Skoglund, Lars Albertsson - Kubernetes as data plat...
PDF
Cassandra on Google Cloud Platform (Ravi Madasu, Google / Ben Lackey, DataSta...
PDF
Accessing Google Cloud APIs
PDF
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
PDF
Google Cloud Platform Special Training
PDF
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
PPTX
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
PDF
Exploring Google APIs with Python
PDF
Session 8 - Creating Data Processing Services | Train the Trainers Program
PPTX
Serverless Data Architecture at scale on Google Cloud Platform
PDF
Image archive, analysis & report generation with Google Cloud
PPTX
Dataworks | 2018-06-20 | Gimel data platform
PPTX
Gimel at Dataworks Summit San Jose 2018
PDF
[Study Guide] Google Professional Cloud Architect (GCP-PCA) Certification
PPTX
How google cloud platform can benefit devops?
PDF
Critical Breakthroughs and Challenges in Big Data and Analytics
PDF
Data Science On The Google Cloud Platform Implementing Endtoend Realtime Data...
PDF
DSDT Meetup Nov 2017
Gaming analytics on gcp
Kubernetes as data platform
DevOpsDaysRiga 2018: Eric Skoglund, Lars Albertsson - Kubernetes as data plat...
Cassandra on Google Cloud Platform (Ravi Madasu, Google / Ben Lackey, DataSta...
Accessing Google Cloud APIs
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
Google Cloud Platform Special Training
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
Exploring Google APIs with Python
Session 8 - Creating Data Processing Services | Train the Trainers Program
Serverless Data Architecture at scale on Google Cloud Platform
Image archive, analysis & report generation with Google Cloud
Dataworks | 2018-06-20 | Gimel data platform
Gimel at Dataworks Summit San Jose 2018
[Study Guide] Google Professional Cloud Architect (GCP-PCA) Certification
How google cloud platform can benefit devops?
Critical Breakthroughs and Challenges in Big Data and Analytics
Data Science On The Google Cloud Platform Implementing Endtoend Realtime Data...
DSDT Meetup Nov 2017
Ad

Recently uploaded (20)

PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Decision Optimization - From Theory to Practice
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
Altius execution marketplace concept.pdf
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
4 layer Arch & Reference Arch of IoT.pdf
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Module 1 Introduction to Web Programming .pptx
Decision Optimization - From Theory to Practice
Connector Corner: Transform Unstructured Documents with Agentic Automation
Altius execution marketplace concept.pdf
Build automations faster and more reliably with UiPath ScreenPlay
Advancing precision in air quality forecasting through machine learning integ...
NewMind AI Weekly Chronicles – August ’25 Week IV
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Introduction to MCP and A2A Protocols: Enabling Agent Communication
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
CEH Module 2 Footprinting CEH V13, concepts
Lung cancer patients survival prediction using outlier detection and optimize...
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
Presentation - Principles of Instructional Design.pptx
LMS bot: enhanced learning management systems for improved student learning e...
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf

GCP Gaming 2016 Seoul, Korea Gaming Analytics