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

60 %
40 %
Information about Breaking through silos - From multi to true crossplatform using the cloud

Published on March 5, 2014

Author: bertelmonster2k



Today, the growing platform fragmentation has become one of a game developer's key concern.

Engines such as Unity have gained strong popularity as a viable assistance in addressing the issue.

However, they only solve part of the equation: regardless of the supported platforms, games often tend to live in silos, either per device or per platform. The reality shows that most of us have multiple devices on which we play the same games - and also that our friends don't necessarily own the same devices as we do. All the same, being able to play with them regardless of the device used, is crucial in making a game more fun through social means.

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)


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


Photon Cloud Realtime: Realtime Multiplayer. Turnbased: Turnbased Multiplayer. Chat: Turnkey chat. Unity Networking: Convenient Unity Multiplayer. 11


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


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


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


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. Register & request Early Access Download Unity Memory Demo Pull photon.waws.turnbased.webhooks


Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Cloud Computing -

You can also receive your test results online if the following are all true: Your physician is using a ... using a multi -tenant model. 2 ... through Cloud ...
Read more

Cross-Platform Mobile Website Development – a Tool ...

Cloud | Big Data | DevOps | Containers | Microservices | WebRTC | Java | Linux | Open Stack | Mobile | Security | SDDC; Java IoT Authors: Yeshim Deniz, Pat ...
Read more

Envato Tuts+ Code - Microsoft

... IBM's SoftLayer cloud offering isn't easy to find through the ... silos and cannot be ... image/true.png">

Using ...
Read more

Microsoft Launches Visual Studio Code, a Free Cross ...

Microsoft Launches Visual Studio Code, ... This was true for the earlier ... It takes only a few minutes of using Windows 8 on a desktop to realise ...
Read more

BlackBerry Offers Cross-Platform Solution for Secure Voice ...

Cloud | Big Data | DevOps | Containers | Microservices | WebRTC | Java | Linux | Open Stack | Mobile | Security | SDDC; News Feed Item. BlackBerry Offers ...
Read more

Who's Who of Financial Services Asia 2012/13 by ... - Issuu

The Who's Who of Financial Services Magazine profiles the top ... Cloud computing has the potential to be the next true game ... Using the DBS mobile ...
Read more

TEST Magazine - August-September 2012 by 31 Media - issuu

Title: TEST Magazine - August-September 2012, Author: 31 Media, Name: test_august_2012, Length: 52 pages, Published: 2014-02-20T00:00:00.000Z.
Read more

SecurityPlus 2013 Spring Edition -

Security+ The leading industry magazine from e92plus Welcome to the latest edition of SecurityPlus from e92plus: essential industry ...
Read more