SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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 a 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 a 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
 

Último

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Último (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

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