Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 39 Ad

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

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.

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.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

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

Recently uploaded (20)

Advertisement

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

  1. 1. Breaking Through Silos Going from Multiplatform to Cross-Platform using the Cloud. Philip Rangel, Lead Architect
  2. 2. It is a complex world MULTI *.*
  3. 3. Multi Platform Mobile PC & Browser TV
  4. 4. Multi Controller • Resolution, CPU, GPU Touch & Gyro Keyboard & Mouse Controller
  5. 5. Multi SDK • C++, C#, AS3, Java, JavaScript, LUA
  6. 6. Multi App Store • Individual Guidelines and APIs (Billing)
  7. 7. CLOUD AND ENGINES FOR THE RESCUE!
  8. 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
  9. 9. Photon Cloud
  10. 10. About Us WE <3 MULTIPLAYER
  11. 11. Photon Cloud Realtime: Realtime Multiplayer. Turnbased: Turnbased Multiplayer. Chat: Turnkey chat. Unity Networking: Convenient Unity Multiplayer. 11
  12. 12. 12
  13. 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. 14. Core Game Logic Connect > Matchmaking > Gameplay ---> Advertisement ---> Other stuff ;) ---> Analytics ---> ---> Push Notifications ---> ---> Social (Leaderboards etc) ---> ---> In App Purchase --->
  15. 15. DEMO GAME
  16. 16. 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
  17. 17. 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
  18. 18. Connect > Matchmaking > Gameplay AccessToken from Facebook SDK: Inject into Photon SDK:
  19. 19. 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
  20. 20. Connect > Matchmaking > Gameplay
  21. 21. 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“
  22. 22. Connect > Matchmaking > Gameplay Events • Properties • Join, Leave, … • Custom Raise Events • Reliable/Unreliable • Cached Events • Interest Groups
  23. 23. Connect > Matchmaking > Gameplay • Game Properties are used to store – State of the Board – Player in Turn – Player Scores
  24. 24. Webhooks • HTTP/JSON callbacks for core events – Room: create, close, load – Player: join, leave – Data: events, properties • Webhooks give you complete control
  25. 25. Setting up Webhooks • Base URL • Entry point for each callback
  26. 26. DEMO WEBHOOKS
  27. 27. 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
  28. 28. GameClose
  29. 29. 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
  30. 30. WebRPC - GetGameList Client: YOUR Server:
  31. 31. 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
  32. 32. 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
  33. 33. 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!
  34. 34. 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
  35. 35. Azure Blob Storage • • • • • Install-Package WindowsAzure.Storage (VS) Create blob client Get container reference Get BlockBlob reference Upload:
  36. 36. Azure Table Storage • • • • Install-Package WindowsAzure.Storage (VS) Create table client Get Table reference Insert your Entity
  37. 37. 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
  38. 38. Questions? philip@exitgames.com

×