SlideShare a Scribd company logo
1 of 39
Breaking Through Silos
Going from Multiplatform to Cross-Platform
using the Cloud.
Philip Rangel, Lead Architect
It is a complex world

MULTI *.*
Multi Platform

Mobile

PC & Browser

TV
Multi Controller
• Resolution, CPU, GPU

Touch & Gyro

Keyboard & Mouse

Controller
Multi SDK
• C++, C#, AS3, Java, JavaScript, LUA
Multi App Store
• Individual Guidelines and APIs (Billing)
CLOUD AND ENGINES
FOR THE RESCUE!
Evolution of the „Cloud“
You are on your
own!
Iron

Scale fast and
patch (fast)!

Scale fast and
convenient!

Relax!

Infrastructure

Platform

Backend

aaS

aaS

aaS
Photon Cloud
About Us

WE <3 MULTIPLAYER
Photon Cloud

Realtime: Realtime Multiplayer.
Turnbased: Turnbased Multiplayer.
Chat: Turnkey chat.
Unity Networking: Convenient Unity Multiplayer.

11
12
Cloud Stats
• Global Regions: US, EU,
Singapore, Japan (soon
Korea, China)
• 90k+ CCUs
• 1.2 Petabyte/month
• 4m+ messages per sec
• Top tier devs: Indies,
22cans, Msft, Glu,
Madfinger, etc.
Core
Game Logic

Connect > Matchmaking > Gameplay
---> Advertisement --->
Other stuff ;)
---> Analytics --->
---> Push Notifications --->
---> Social (Leaderboards etc) --->
---> In App Purchase --->
DEMO GAME
Connect > Matchmaking > Gameplay
• Connect closest Region
US, Europe, Asia (Singapore), Japan

• Authentication with facebook SDK,
Steam SDK, Parse SDK, PHP ...
• Session from
Facebook/Steam/Parse/PHP can be
verified by Photon Cloud
Connect > Matchmaking > Gameplay
Sample „facebook“ flow is:
1.
2.
3.
4.
5.

Establish facebook session (facebook SDK)
Inject session token into Photon GameClient
Choose a region (EU, US, JP, Asia, …)
Connect to Photon Cloud
Session token gets verified
Connect > Matchmaking > Gameplay
AccessToken from
Facebook SDK:

Inject into
Photon SDK:
Connect >

Matchmaking > Gameplay

• List-Lobby for list of games
• Multiple lobbies e.g. to separate games
by type
• Join a random room, with optional
filtering (e.g. Map=de_dust)
• Find friends
• SQL-Lobby for flexible queries
Connect >

Matchmaking > Gameplay
Connect > Matchmaking >

Gameplay

• Rooms with players
• Events: Join, Leave, ... , Custom
• Properties for players and room
2

1
Room Properties
Map: Snow“
State: „ahd72...“

name: „r2d2“
max: 4

3

Event Cache
... Events ...

4

Player Properties
State: 18
Name: „Peter“
Connect > Matchmaking >

Gameplay
Events
• Properties
• Join, Leave, …
• Custom
Raise Events
• Reliable/Unreliable
• Cached Events
• Interest Groups
Connect > Matchmaking >

Gameplay

• Game Properties are used to store
– State of the Board
– Player in Turn
– Player Scores
Webhooks
• HTTP/JSON callbacks for core events
– Room: create, close, load
– Player: join, leave
– Data: events, properties

• Webhooks give you complete control
Setting up Webhooks
• Base URL
• Entry point for
each callback
DEMO WEBHOOKS
Webhook GameClose
• Called when last player disconnects from
game (important: disconnect != abandon)
• Game state is handed in as byte[] containing
– Player Properties
– Room Properties
– Cached events

• Restored when GameLoad is called
GameClose
WebRPC
• HTTP/JSON callbacks for functions
– Input: Parameters
– Output: Return values

• Freedom to write a custom API
– GetGameList, GetPlayerSkill, LoadLevel, ...

• Translation from Binary to JSON and back is
done automagically
WebRPC - GetGameList
Client:

YOUR Server:
Azure Websites + Table + Blob
• Azure Websites perfect for
Webhooks
– WebAPI == RESTful APIs (HTTP + JSON)
– Global
– RAD with Visual Studio: Deploy, Debug

• Azure Table Storage
• Azure Blob Storage
Azure Websites (WAWS)
• Managed Service for your Web based
applications
• Develop locally and deploy from VS
• Options:
– Scale: free, shared, standard (w. auto scale)
– Staged deploy
– Backup
– Monitoring w. Alerts
– WebJobs
Table vs Blob Storage
• Where do we save?
– Game State: Azure Blob Storage
– Game List: Azure Table Storage
• One Partition per User
• One Row per Game

• Why Azure Storage?
– ‘cheap’ fast data store
– its save (High Available & Geo Redundant)
– … & it scales!
Azure Blob & Table Storage
• What is Azure Blob Storage?
– Like Amazon S3
– Rest API: Uploading blobs per HTTP

• What is Azure Table Storage?
– ‘Like’ Google BigTable or AmazonDynamo
– Data in Rows & Columns, but Schemaless
– ‘Better’ Key/Value store
– ONE INDEX only: PartitionKey + RowKey
– Rest API: CRUD using JSON per HTTP
Azure Blob Storage
•
•
•
•
•

Install-Package WindowsAzure.Storage (VS)
Create blob client
Get container reference
Get BlockBlob reference
Upload:
Azure Table Storage
•
•
•
•

Install-Package WindowsAzure.Storage (VS)
Create table client
Get Table reference
Insert your Entity
Memory Game
1.
2.
3.
4.
5.

https://www.exitgames.com/en/Turnbased
Register & request Early Access
Download Unity Memory Demo
https://github.com/exitgames
Pull photon.waws.turnbased.webhooks
Questions?
philip@exitgames.com

More Related Content

What's hot

Amazon Web Services - An Overview
Amazon Web Services - An OverviewAmazon Web Services - An Overview
Amazon Web Services - An Overviewchregu
 
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiOGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiBuff Nguyen
 
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3jasinb
 
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen NgocOGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen NgocBuff Nguyen
 
NSBCon UK nservicebus on Azure by Yves Goeleven
NSBCon UK nservicebus on Azure by Yves GoelevenNSBCon UK nservicebus on Azure by Yves Goeleven
NSBCon UK nservicebus on Azure by Yves GoelevenParticular Software
 
Windows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual NetworksWindows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual NetworksKristof Rennen
 
Microsoft Azure Media Services
Microsoft Azure Media ServicesMicrosoft Azure Media Services
Microsoft Azure Media ServicesPavel Revenkov
 
Cluj.DevOps Meetup - Code your Infrastructure
Cluj.DevOps Meetup - Code your InfrastructureCluj.DevOps Meetup - Code your Infrastructure
Cluj.DevOps Meetup - Code your InfrastructureLiviu Damian
 
LocalSocial, Dial2Do and the Cloud
LocalSocial, Dial2Do and the CloudLocalSocial, Dial2Do and the Cloud
LocalSocial, Dial2Do and the CloudSean O'Sullivan
 
Using Aws As A Game Server (AWS UG Bandung)
Using Aws As A Game Server (AWS UG Bandung)Using Aws As A Game Server (AWS UG Bandung)
Using Aws As A Game Server (AWS UG Bandung)Aswin Juari
 
MS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageMS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageSpiffy
 
Server architecture & scaling strategy for a sports website
Server architecture & scaling strategy for a sports websiteServer architecture & scaling strategy for a sports website
Server architecture & scaling strategy for a sports websiteLeonidas Tsementzis
 
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen AnhOGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen AnhBuff Nguyen
 

What's hot (20)

Amazon Web Services - An Overview
Amazon Web Services - An OverviewAmazon Web Services - An Overview
Amazon Web Services - An Overview
 
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiOGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
 
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
 
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen NgocOGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
 
NSBCon UK nservicebus on Azure by Yves Goeleven
NSBCon UK nservicebus on Azure by Yves GoelevenNSBCon UK nservicebus on Azure by Yves Goeleven
NSBCon UK nservicebus on Azure by Yves Goeleven
 
Windows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual NetworksWindows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual Networks
 
Microsoft Azure Media Services
Microsoft Azure Media ServicesMicrosoft Azure Media Services
Microsoft Azure Media Services
 
AWS KSS
AWS  KSSAWS  KSS
AWS KSS
 
Docker ppt
Docker pptDocker ppt
Docker ppt
 
Cluj.DevOps Meetup - Code your Infrastructure
Cluj.DevOps Meetup - Code your InfrastructureCluj.DevOps Meetup - Code your Infrastructure
Cluj.DevOps Meetup - Code your Infrastructure
 
Chugalug
ChugalugChugalug
Chugalug
 
LocalSocial, Dial2Do and the Cloud
LocalSocial, Dial2Do and the CloudLocalSocial, Dial2Do and the Cloud
LocalSocial, Dial2Do and the Cloud
 
HTML5 Gaming
HTML5 GamingHTML5 Gaming
HTML5 Gaming
 
Patch Maps
Patch MapsPatch Maps
Patch Maps
 
Using Aws As A Game Server (AWS UG Bandung)
Using Aws As A Game Server (AWS UG Bandung)Using Aws As A Game Server (AWS UG Bandung)
Using Aws As A Game Server (AWS UG Bandung)
 
Amazon EC2
Amazon EC2Amazon EC2
Amazon EC2
 
MS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageMS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storage
 
Server architecture & scaling strategy for a sports website
Server architecture & scaling strategy for a sports websiteServer architecture & scaling strategy for a sports website
Server architecture & scaling strategy for a sports website
 
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen AnhOGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
 
AWS Quick Intro
AWS Quick IntroAWS Quick Intro
AWS Quick Intro
 

Viewers also liked

Primera act.agua electricidad
Primera act.agua electricidadPrimera act.agua electricidad
Primera act.agua electricidadandreaibeth29
 
Context Analysis Facilitators
Context Analysis FacilitatorsContext Analysis Facilitators
Context Analysis FacilitatorsTELECENTRE EUROPE
 
Innovacion y emprendimiento para la dinamizacion turistica del territorio
Innovacion y emprendimiento para la dinamizacion turistica del territorioInnovacion y emprendimiento para la dinamizacion turistica del territorio
Innovacion y emprendimiento para la dinamizacion turistica del territorioGersón Beltran
 
Lecture 12 a eco labels
Lecture 12 a eco labelsLecture 12 a eco labels
Lecture 12 a eco labelsAdane Nega
 
Czech without aspect: Marrying functional schemas with functional representat...
Czech without aspect: Marrying functional schemas with functional representat...Czech without aspect: Marrying functional schemas with functional representat...
Czech without aspect: Marrying functional schemas with functional representat...Dominik Lukes
 
Nov Anncts
Nov AnnctsNov Anncts
Nov Annctsbonierin
 
Research__Retailing Activities
Research__Retailing ActivitiesResearch__Retailing Activities
Research__Retailing ActivitiesTung Duong Duc
 
Near Field Communications (NFC) in China
Near Field Communications (NFC) in ChinaNear Field Communications (NFC) in China
Near Field Communications (NFC) in ChinaExicon
 
2011 Jeep Grand Cherokee Detroit
2011 Jeep Grand Cherokee Detroit2011 Jeep Grand Cherokee Detroit
2011 Jeep Grand Cherokee DetroitDan
 
Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014
Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014
Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014HetOndernemersBelang
 
ROI - Digital Marketing Case Study
ROI - Digital Marketing Case StudyROI - Digital Marketing Case Study
ROI - Digital Marketing Case StudyEvgeny Tsarkov
 
Imágenes de mitología (II)
Imágenes de mitología (II)Imágenes de mitología (II)
Imágenes de mitología (II)Juanjo Castro
 
Industrial Hardware Products | Ronstan Industrial
Industrial Hardware Products | Ronstan Industrial Industrial Hardware Products | Ronstan Industrial
Industrial Hardware Products | Ronstan Industrial ronstanindustrial
 
Achieving Quality and Compliance Excellence in Pharmaceuticals
Achieving Quality and Compliance Excellence in PharmaceuticalsAchieving Quality and Compliance Excellence in Pharmaceuticals
Achieving Quality and Compliance Excellence in PharmaceuticalsAlicia Tébar
 

Viewers also liked (20)

Primera act.agua electricidad
Primera act.agua electricidadPrimera act.agua electricidad
Primera act.agua electricidad
 
Context Analysis Facilitators
Context Analysis FacilitatorsContext Analysis Facilitators
Context Analysis Facilitators
 
Innovacion y emprendimiento para la dinamizacion turistica del territorio
Innovacion y emprendimiento para la dinamizacion turistica del territorioInnovacion y emprendimiento para la dinamizacion turistica del territorio
Innovacion y emprendimiento para la dinamizacion turistica del territorio
 
Tesis de grado 1
Tesis de grado 1Tesis de grado 1
Tesis de grado 1
 
Lecture 12 a eco labels
Lecture 12 a eco labelsLecture 12 a eco labels
Lecture 12 a eco labels
 
Czech without aspect: Marrying functional schemas with functional representat...
Czech without aspect: Marrying functional schemas with functional representat...Czech without aspect: Marrying functional schemas with functional representat...
Czech without aspect: Marrying functional schemas with functional representat...
 
Nov Anncts
Nov AnnctsNov Anncts
Nov Anncts
 
La Huella de Irapuato
La Huella de Irapuato La Huella de Irapuato
La Huella de Irapuato
 
Research__Retailing Activities
Research__Retailing ActivitiesResearch__Retailing Activities
Research__Retailing Activities
 
Asiaric . the committes
Asiaric . the committesAsiaric . the committes
Asiaric . the committes
 
Near Field Communications (NFC) in China
Near Field Communications (NFC) in ChinaNear Field Communications (NFC) in China
Near Field Communications (NFC) in China
 
2011 Jeep Grand Cherokee Detroit
2011 Jeep Grand Cherokee Detroit2011 Jeep Grand Cherokee Detroit
2011 Jeep Grand Cherokee Detroit
 
Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014
Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014
Magazine Hét Ondernemersbelang Noord Holland Noord / West Friesland 4-2014
 
ROI - Digital Marketing Case Study
ROI - Digital Marketing Case StudyROI - Digital Marketing Case Study
ROI - Digital Marketing Case Study
 
Agenda interna de productividad de antioquia 17 09
Agenda interna de productividad de antioquia 17 09Agenda interna de productividad de antioquia 17 09
Agenda interna de productividad de antioquia 17 09
 
Imágenes de mitología (II)
Imágenes de mitología (II)Imágenes de mitología (II)
Imágenes de mitología (II)
 
Industrial Hardware Products | Ronstan Industrial
Industrial Hardware Products | Ronstan Industrial Industrial Hardware Products | Ronstan Industrial
Industrial Hardware Products | Ronstan Industrial
 
Nethemba profil
Nethemba profilNethemba profil
Nethemba profil
 
Achieving Quality and Compliance Excellence in Pharmaceuticals
Achieving Quality and Compliance Excellence in PharmaceuticalsAchieving Quality and Compliance Excellence in Pharmaceuticals
Achieving Quality and Compliance Excellence in Pharmaceuticals
 
Biobanks for-europe en
Biobanks for-europe enBiobanks for-europe en
Biobanks for-europe en
 

Similar to Breaking through silos - From multi to true crossplatform using the cloud

Write retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureWrite retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureMarco Parenzan
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2Amazon Web Services
 
GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS Nate Wiger
 
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)David Salz
 
Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Amazon Web Services
 
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Amazon Web Services Korea
 
Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively MultiplayerPaul Furio
 
201507131408448146
201507131408448146201507131408448146
201507131408448146Mason Mei
 
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game RequestsAmazon Web Services
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...Amazon Web Services
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud DevelopmentNick Pruehs
 
Games with your head in the cloud
Games with your head in the cloudGames with your head in the cloud
Games with your head in the cloudJulien Ellie
 
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...Amazon Web Services
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice StackTomer Gabel
 
Amazon Aurora로 안전하게 migration 하기
Amazon Aurora로 안전하게 migration 하기Amazon Aurora로 안전하게 migration 하기
Amazon Aurora로 안전하게 migration 하기Jesang Yoon
 
Survey of the Microsoft Azure Data Landscape
Survey of the Microsoft Azure Data LandscapeSurvey of the Microsoft Azure Data Landscape
Survey of the Microsoft Azure Data LandscapeIke Ellis
 
Node.js and couchbase Full Stack JSON - Munich NoSQL
Node.js and couchbase   Full Stack JSON - Munich NoSQLNode.js and couchbase   Full Stack JSON - Munich NoSQL
Node.js and couchbase Full Stack JSON - Munich NoSQLPhilipp Fehre
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and SecuritySeungmin Shin
 
AWS Česko-Slovenský Webinár 03: Vývoj v AWS
AWS Česko-Slovenský Webinár 03: Vývoj v AWSAWS Česko-Slovenský Webinár 03: Vývoj v AWS
AWS Česko-Slovenský Webinár 03: Vývoj v AWSVladimir Simek
 

Similar to Breaking through silos - From multi to true crossplatform using the cloud (20)

Write retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureWrite retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with Azure
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
 
GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS
 
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
 
Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout
 
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
 
Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively Multiplayer
 
201507131408448146
201507131408448146201507131408448146
201507131408448146
 
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud Development
 
Games with your head in the cloud
Games with your head in the cloudGames with your head in the cloud
Games with your head in the cloud
 
KGC 2013 AWS Keynote
KGC 2013 AWS KeynoteKGC 2013 AWS Keynote
KGC 2013 AWS Keynote
 
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
Amazon Aurora로 안전하게 migration 하기
Amazon Aurora로 안전하게 migration 하기Amazon Aurora로 안전하게 migration 하기
Amazon Aurora로 안전하게 migration 하기
 
Survey of the Microsoft Azure Data Landscape
Survey of the Microsoft Azure Data LandscapeSurvey of the Microsoft Azure Data Landscape
Survey of the Microsoft Azure Data Landscape
 
Node.js and couchbase Full Stack JSON - Munich NoSQL
Node.js and couchbase   Full Stack JSON - Munich NoSQLNode.js and couchbase   Full Stack JSON - Munich NoSQL
Node.js and couchbase Full Stack JSON - Munich NoSQL
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
 
AWS Česko-Slovenský Webinár 03: Vývoj v AWS
AWS Česko-Slovenský Webinár 03: Vývoj v AWSAWS Česko-Slovenský Webinár 03: Vývoj v AWS
AWS Česko-Slovenský Webinár 03: Vývoj v AWS
 

Recently uploaded

Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 

Recently uploaded (20)

Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 

Breaking through silos - From multi to true crossplatform using the cloud

  • 1. Breaking Through Silos Going from Multiplatform to Cross-Platform using the Cloud. Philip Rangel, Lead Architect
  • 2. It is a complex world MULTI *.*
  • 4. Multi Controller • Resolution, CPU, GPU Touch & Gyro Keyboard & Mouse Controller
  • 5. Multi SDK • C++, C#, AS3, Java, JavaScript, LUA
  • 6. Multi App Store • Individual Guidelines and APIs (Billing)
  • 7. CLOUD AND ENGINES FOR THE RESCUE!
  • 8. Evolution of the „Cloud“ You are on your own! Iron Scale fast and patch (fast)! Scale fast and convenient! Relax! Infrastructure Platform Backend aaS aaS aaS
  • 10. About Us WE <3 MULTIPLAYER
  • 11. Photon Cloud Realtime: Realtime Multiplayer. Turnbased: Turnbased Multiplayer. Chat: Turnkey chat. Unity Networking: Convenient Unity Multiplayer. 11
  • 12. 12
  • 13. Cloud Stats • Global Regions: US, EU, Singapore, Japan (soon Korea, China) • 90k+ CCUs • 1.2 Petabyte/month • 4m+ messages per sec • Top tier devs: Indies, 22cans, Msft, Glu, Madfinger, etc.
  • 14.
  • 15. Core Game Logic Connect > Matchmaking > Gameplay ---> Advertisement ---> Other stuff ;) ---> Analytics ---> ---> Push Notifications ---> ---> Social (Leaderboards etc) ---> ---> In App Purchase --->
  • 17. Connect > Matchmaking > Gameplay • Connect closest Region US, Europe, Asia (Singapore), Japan • Authentication with facebook SDK, Steam SDK, Parse SDK, PHP ... • Session from Facebook/Steam/Parse/PHP can be verified by Photon Cloud
  • 18. Connect > Matchmaking > Gameplay Sample „facebook“ flow is: 1. 2. 3. 4. 5. Establish facebook session (facebook SDK) Inject session token into Photon GameClient Choose a region (EU, US, JP, Asia, …) Connect to Photon Cloud Session token gets verified
  • 19. Connect > Matchmaking > Gameplay AccessToken from Facebook SDK: Inject into Photon SDK:
  • 20. Connect > Matchmaking > Gameplay • List-Lobby for list of games • Multiple lobbies e.g. to separate games by type • Join a random room, with optional filtering (e.g. Map=de_dust) • Find friends • SQL-Lobby for flexible queries
  • 22. Connect > Matchmaking > Gameplay • Rooms with players • Events: Join, Leave, ... , Custom • Properties for players and room 2 1 Room Properties Map: Snow“ State: „ahd72...“ name: „r2d2“ max: 4 3 Event Cache ... Events ... 4 Player Properties State: 18 Name: „Peter“
  • 23. Connect > Matchmaking > Gameplay Events • Properties • Join, Leave, … • Custom Raise Events • Reliable/Unreliable • Cached Events • Interest Groups
  • 24. Connect > Matchmaking > Gameplay • Game Properties are used to store – State of the Board – Player in Turn – Player Scores
  • 25. Webhooks • HTTP/JSON callbacks for core events – Room: create, close, load – Player: join, leave – Data: events, properties • Webhooks give you complete control
  • 26. Setting up Webhooks • Base URL • Entry point for each callback
  • 28. Webhook GameClose • Called when last player disconnects from game (important: disconnect != abandon) • Game state is handed in as byte[] containing – Player Properties – Room Properties – Cached events • Restored when GameLoad is called
  • 30. WebRPC • HTTP/JSON callbacks for functions – Input: Parameters – Output: Return values • Freedom to write a custom API – GetGameList, GetPlayerSkill, LoadLevel, ... • Translation from Binary to JSON and back is done automagically
  • 32. Azure Websites + Table + Blob • Azure Websites perfect for Webhooks – WebAPI == RESTful APIs (HTTP + JSON) – Global – RAD with Visual Studio: Deploy, Debug • Azure Table Storage • Azure Blob Storage
  • 33. Azure Websites (WAWS) • Managed Service for your Web based applications • Develop locally and deploy from VS • Options: – Scale: free, shared, standard (w. auto scale) – Staged deploy – Backup – Monitoring w. Alerts – WebJobs
  • 34. Table vs Blob Storage • Where do we save? – Game State: Azure Blob Storage – Game List: Azure Table Storage • One Partition per User • One Row per Game • Why Azure Storage? – ‘cheap’ fast data store – its save (High Available & Geo Redundant) – … & it scales!
  • 35. Azure Blob & Table Storage • What is Azure Blob Storage? – Like Amazon S3 – Rest API: Uploading blobs per HTTP • What is Azure Table Storage? – ‘Like’ Google BigTable or AmazonDynamo – Data in Rows & Columns, but Schemaless – ‘Better’ Key/Value store – ONE INDEX only: PartitionKey + RowKey – Rest API: CRUD using JSON per HTTP
  • 36. Azure Blob Storage • • • • • Install-Package WindowsAzure.Storage (VS) Create blob client Get container reference Get BlockBlob reference Upload:
  • 37. Azure Table Storage • • • • Install-Package WindowsAzure.Storage (VS) Create table client Get Table reference Insert your Entity
  • 38. Memory Game 1. 2. 3. 4. 5. https://www.exitgames.com/en/Turnbased Register & request Early Access Download Unity Memory Demo https://github.com/exitgames Pull photon.waws.turnbased.webhooks