SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante 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
 

Semelhante 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

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

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