SlideShare a Scribd company logo
1 of 26
New High Score!
Leaderboards in the Cloud
Sarah Sexton | Technical Evangelist
Overview
• Unity Plugins
– Bitrave
– Photon
• Networking Basics
• Why the Cloud?
• Azure Mobile Services
• REST API Basics
• Azure for Game
Development
Unity Plugins
• Bitrave
─Requires:
─$25.00
Unity Plugins
• Photon
─ Multiplayer
─ Leaderboard
Azure for Game Development
• Game State Management
• Leaderboards
• Monetization
• Economics
• Multiplayer
• Scalability
• Cheating Prevention
1. Talking, playing chess, etc.
2. Translate foreign languages
3. “Goodbye”
4. “This message is for…” ID #
5. The phone book
6. “Calling street address…” #
7. Tin cans and wires
Separation of Concerns
Network Layers
1. Application – access to networking services (IPC, mail,
directory services)
2. Presentation – data formatting, encryption, compression
3. Session – maintaining connection between computers
4. Transport – TCP/UDP
5. Network – addressing and routing
6. Data Link – network topology
7. Physical – actual hardware (wire, fiber, radio)
Network Diagram
Peer-to-Peer Client-Server
Multiplayer Gaming Setups
Azure Mobile Services
Cloud services take care of everything behind the scenes.
It's essentially running in a small application-isolated box.
You just update your code.
REST API Basics
Representational State Transfer (ReST, or RESTful programming)
HTTP rules: REST rules:
• POST (envelope)
• GET (postcard)
• PUT (envelope)
• DELETE (postcard)
• CREATE
• READ
• EDIT
• DELETE
Name your Mobile Service
Select your database
Select database
Enter database admin credentials
Select the Data tab
Select Create New Table
Select the Table,
Select “Columns”
Add Columns
Select “Manage Keys”
Why the cloud?
• Rapidly set up environments
• Scale to meet peak demands
• Increase daily activities, efficiency and reduced cost.
Azure Resources
• Mobile Apps
– Provide data proxy services to game including offline data
• Event / Notification Hubs
– Data collection and push notification
• Media Services
– Streaming cut scenes or demo videos
• Machine Learning
– Evaluate massive amounts of data to determine hidden patterns and
predict outcomes
Additional Resources: Videos
Unity3D Leaderboard in the cloud using Bitrave Azure plugin
www.youtube.com
Microsoft Azure Back End for Gaming
mva.microsoft.com
Play Together! Leaderboards with Azure and Multiplayer with Wi-Fi Direct
channel9.msdn.com/events/Build/2013/3-051
How To Create A Global Leaderboard For Unity 3D Using Azure Mobile Services
channel9.msdn.com/events/MVP-Virtual-Conference
Additional Resources: Written articles
Using Azure Mobile Services to Create a Game Leaderboard in Minutes
http://thebitchwhocodes.com
“Can anyone please explain TCP/IP and its layers to me like I'm five?”
“ELI5: Representational State Transfer (REST, or RESTful programming)”
www.reddit.com/r/explainlikeimfive/
Peer-to-Peer Support for Massively Multiplayer Games
www.ieee-infocom.org/2004/Papers/03_2.PDF
Recommended Resources & Next Steps
Download free Visual Studio Community edition
www.visualstudio.com
Benefits for young developers: BizSpark
http://aka.ms/SarahBizSpark
Host ten websites for free
www.azure.com
©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the
U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

Terrascan - Cloud Native Security Tool
Terrascan - Cloud Native Security Tool Terrascan - Cloud Native Security Tool
Terrascan - Cloud Native Security Tool sangam biradar
 
About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...Nane Kratzke
 
Communication Operations: Lift off with Docker! - Jesse White
Communication Operations: Lift off with Docker! - Jesse WhiteCommunication Operations: Lift off with Docker! - Jesse White
Communication Operations: Lift off with Docker! - Jesse WhiteDocker, Inc.
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your CareerScott Lowe
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMichael Ducy
 
Reactive Architecture
Reactive ArchitectureReactive Architecture
Reactive ArchitectureAssaf Gannon
 
Microsoft Build 2018 news for .NET developers
Microsoft Build 2018 news for .NET developersMicrosoft Build 2018 news for .NET developers
Microsoft Build 2018 news for .NET developersAndriy Deren'
 
Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud VMware Tanzu
 
Closing the Cloud Skills Gap
Closing the Cloud Skills GapClosing the Cloud Skills Gap
Closing the Cloud Skills GapScott Lowe
 
Sergii Bielskiy "Dev spaces development in AKS"
Sergii Bielskiy "Dev spaces development in AKS"Sergii Bielskiy "Dev spaces development in AKS"
Sergii Bielskiy "Dev spaces development in AKS"Fwdays
 
Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Visug
 
Azure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesAzure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesMicrosoft Tech Community
 
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)Visug
 
Everything you always wanted to know about API Management (but were afraid to...
Everything you always wanted to know about API Management (but were afraid to...Everything you always wanted to know about API Management (but were afraid to...
Everything you always wanted to know about API Management (but were afraid to...Massimo Bonanni
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0Jeff Chu
 
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»SpbDotNet Community
 

What's hot (20)

Terrascan - Cloud Native Security Tool
Terrascan - Cloud Native Security Tool Terrascan - Cloud Native Security Tool
Terrascan - Cloud Native Security Tool
 
Azure Functions 101
Azure Functions 101Azure Functions 101
Azure Functions 101
 
About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...
 
Communication Operations: Lift off with Docker! - Jesse White
Communication Operations: Lift off with Docker! - Jesse WhiteCommunication Operations: Lift off with Docker! - Jesse White
Communication Operations: Lift off with Docker! - Jesse White
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your Career
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCamp
 
Reactive Architecture
Reactive ArchitectureReactive Architecture
Reactive Architecture
 
Microsoft Build 2018 news for .NET developers
Microsoft Build 2018 news for .NET developersMicrosoft Build 2018 news for .NET developers
Microsoft Build 2018 news for .NET developers
 
Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud
 
Closing the Cloud Skills Gap
Closing the Cloud Skills GapClosing the Cloud Skills Gap
Closing the Cloud Skills Gap
 
Sergii Bielskiy "Dev spaces development in AKS"
Sergii Bielskiy "Dev spaces development in AKS"Sergii Bielskiy "Dev spaces development in AKS"
Sergii Bielskiy "Dev spaces development in AKS"
 
Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)
 
Azure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesAzure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservices
 
Introducing to Azure Functions
Introducing to Azure FunctionsIntroducing to Azure Functions
Introducing to Azure Functions
 
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
 
Tokyo Azure Meetup #29 AKS
Tokyo Azure Meetup #29 AKSTokyo Azure Meetup #29 AKS
Tokyo Azure Meetup #29 AKS
 
Everything you always wanted to know about API Management (but were afraid to...
Everything you always wanted to know about API Management (but were afraid to...Everything you always wanted to know about API Management (but were afraid to...
Everything you always wanted to know about API Management (but were afraid to...
 
Azure Functions - Introduction
Azure Functions - IntroductionAzure Functions - Introduction
Azure Functions - Introduction
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0
 
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
 

Viewers also liked

Viewers also liked (15)

BBC Good Food Mediapack 2015
BBC Good Food Mediapack 2015BBC Good Food Mediapack 2015
BBC Good Food Mediapack 2015
 
amit
amitamit
amit
 
Album covers
Album coversAlbum covers
Album covers
 
unidades de corel
unidades de corelunidades de corel
unidades de corel
 
Ireland
IrelandIreland
Ireland
 
Social Media 101 - Notes from Our Workshop
Social Media 101 - Notes from Our WorkshopSocial Media 101 - Notes from Our Workshop
Social Media 101 - Notes from Our Workshop
 
Professional
Professional Professional
Professional
 
Biografi Elvira Devinamira
Biografi Elvira DevinamiraBiografi Elvira Devinamira
Biografi Elvira Devinamira
 
Seconday day
Seconday day Seconday day
Seconday day
 
My last vacation
My last vacationMy last vacation
My last vacation
 
Muusikud Järvamaalt
Muusikud JärvamaaltMuusikud Järvamaalt
Muusikud Järvamaalt
 
Evaluation Q2 dorcas
Evaluation Q2  dorcasEvaluation Q2  dorcas
Evaluation Q2 dorcas
 
Figuranten
FigurantenFiguranten
Figuranten
 
Gold10
Gold10Gold10
Gold10
 
English AQWF soundtrack
English AQWF soundtrack English AQWF soundtrack
English AQWF soundtrack
 

Similar to New High Score! Leaderboards in the Cloud

Cloud for Game Developers – Myth or Real Scenarios?
Cloud for Game Developers – Myth or Real Scenarios?Cloud for Game Developers – Myth or Real Scenarios?
Cloud for Game Developers – Myth or Real Scenarios?DevGAMM Conference
 
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)White Nights Conference
 
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games Suhas Urs
 
SUGCON EU 2023 - Secure Composable SaaS.pptx
SUGCON EU 2023 - Secure Composable SaaS.pptxSUGCON EU 2023 - Secure Composable SaaS.pptx
SUGCON EU 2023 - Secure Composable SaaS.pptxVasiliy Fomichev
 
Windows Azure through the eyes of an it pro
Windows Azure through the eyes of an it proWindows Azure through the eyes of an it pro
Windows Azure through the eyes of an it proMike Martin
 
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfThe Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfFörderverein Technische Fakultät
 
IoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesIoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesSzymon Włodarczyk
 
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance ToolsITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance ToolsITCamp
 
Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)Microsoft Norge AS
 
First-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing applicationFirst-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing applicationIRJET Journal
 
What is ThousandEyes Webinar
What is ThousandEyes WebinarWhat is ThousandEyes Webinar
What is ThousandEyes WebinarThousandEyes
 
Internet of Things & Co.
Internet of Things & Co.Internet of Things & Co.
Internet of Things & Co.Damir Dobric
 
Internet of Things and Edge Compute at Chick-fil-A
Internet of Things and Edge Compute at Chick-fil-AInternet of Things and Edge Compute at Chick-fil-A
Internet of Things and Edge Compute at Chick-fil-ABrian Chambers
 
Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017
Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017
Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017Eran Stiller
 
The Cloud and Training and Education
The Cloud and Training and EducationThe Cloud and Training and Education
The Cloud and Training and EducationAndy Fawkes
 
Building Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft AzureBuilding Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft AzureWinWire Technologies Inc
 

Similar to New High Score! Leaderboards in the Cloud (20)

Cloud for Game Developers – Myth or Real Scenarios?
Cloud for Game Developers – Myth or Real Scenarios?Cloud for Game Developers – Myth or Real Scenarios?
Cloud for Game Developers – Myth or Real Scenarios?
 
Martin Simecek, Microsoft
Martin Simecek, Microsoft	Martin Simecek, Microsoft
Martin Simecek, Microsoft
 
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
 
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
 
SUGCON EU 2023 - Secure Composable SaaS.pptx
SUGCON EU 2023 - Secure Composable SaaS.pptxSUGCON EU 2023 - Secure Composable SaaS.pptx
SUGCON EU 2023 - Secure Composable SaaS.pptx
 
Clouds Infrastructure Administration
Clouds Infrastructure Administration Clouds Infrastructure Administration
Clouds Infrastructure Administration
 
Azure for gaming
Azure for gamingAzure for gaming
Azure for gaming
 
Windows Azure through the eyes of an it pro
Windows Azure through the eyes of an it proWindows Azure through the eyes of an it pro
Windows Azure through the eyes of an it pro
 
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfThe Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
 
IoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesIoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure services
 
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance ToolsITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
 
Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina På Bakken (Av Andersf@Microsoft Com)
 
First-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing applicationFirst-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing application
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
What is ThousandEyes Webinar
What is ThousandEyes WebinarWhat is ThousandEyes Webinar
What is ThousandEyes Webinar
 
Internet of Things & Co.
Internet of Things & Co.Internet of Things & Co.
Internet of Things & Co.
 
Internet of Things and Edge Compute at Chick-fil-A
Internet of Things and Edge Compute at Chick-fil-AInternet of Things and Edge Compute at Chick-fil-A
Internet of Things and Edge Compute at Chick-fil-A
 
Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017
Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017
Building an IoT Massive Multiplayer Game in 60 Minutes - TechBash 2017
 
The Cloud and Training and Education
The Cloud and Training and EducationThe Cloud and Training and Education
The Cloud and Training and Education
 
Building Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft AzureBuilding Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft Azure
 

More from Sarah Sexton

HoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsHoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
 
A Whirlwind Tour of Recurrent Neural Networks
A Whirlwind Tour of Recurrent Neural NetworksA Whirlwind Tour of Recurrent Neural Networks
A Whirlwind Tour of Recurrent Neural NetworksSarah Sexton
 
Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)Sarah Sexton
 
Developing for Consoles as an Indie in 2018
Developing for Consoles as an Indie in 2018Developing for Consoles as an Indie in 2018
Developing for Consoles as an Indie in 2018Sarah Sexton
 
Implementing LUIS in Node.js
Implementing LUIS in Node.jsImplementing LUIS in Node.js
Implementing LUIS in Node.jsSarah Sexton
 
Code camp HoloLens Build and Deploy
Code camp HoloLens Build and DeployCode camp HoloLens Build and Deploy
Code camp HoloLens Build and DeploySarah Sexton
 
How to Build and Deploy to HoloLens
How to Build and Deploy to HoloLensHow to Build and Deploy to HoloLens
How to Build and Deploy to HoloLensSarah Sexton
 
Breaking into Bots
Breaking into BotsBreaking into Bots
Breaking into BotsSarah Sexton
 
Getting Started with Microsoft Bot Framework
Getting Started with Microsoft Bot FrameworkGetting Started with Microsoft Bot Framework
Getting Started with Microsoft Bot FrameworkSarah Sexton
 
Word Play in the Digital Age: Building Text Bots with Tracery
Word Play in the Digital Age: Building Text Bots with TraceryWord Play in the Digital Age: Building Text Bots with Tracery
Word Play in the Digital Age: Building Text Bots with TracerySarah Sexton
 
Video game development for everybody
Video game development for everybodyVideo game development for everybody
Video game development for everybodySarah Sexton
 
Introduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameIntroduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameSarah Sexton
 
Developing for Consoles as an Indie in 2015
Developing for Consoles as an Indie in 2015Developing for Consoles as an Indie in 2015
Developing for Consoles as an Indie in 2015Sarah Sexton
 

More from Sarah Sexton (14)

HoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsHoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOps
 
A Whirlwind Tour of Recurrent Neural Networks
A Whirlwind Tour of Recurrent Neural NetworksA Whirlwind Tour of Recurrent Neural Networks
A Whirlwind Tour of Recurrent Neural Networks
 
Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)
 
Developing for Consoles as an Indie in 2018
Developing for Consoles as an Indie in 2018Developing for Consoles as an Indie in 2018
Developing for Consoles as an Indie in 2018
 
Implementing LUIS in Node.js
Implementing LUIS in Node.jsImplementing LUIS in Node.js
Implementing LUIS in Node.js
 
Mixed Reality
Mixed RealityMixed Reality
Mixed Reality
 
Code camp HoloLens Build and Deploy
Code camp HoloLens Build and DeployCode camp HoloLens Build and Deploy
Code camp HoloLens Build and Deploy
 
How to Build and Deploy to HoloLens
How to Build and Deploy to HoloLensHow to Build and Deploy to HoloLens
How to Build and Deploy to HoloLens
 
Breaking into Bots
Breaking into BotsBreaking into Bots
Breaking into Bots
 
Getting Started with Microsoft Bot Framework
Getting Started with Microsoft Bot FrameworkGetting Started with Microsoft Bot Framework
Getting Started with Microsoft Bot Framework
 
Word Play in the Digital Age: Building Text Bots with Tracery
Word Play in the Digital Age: Building Text Bots with TraceryWord Play in the Digital Age: Building Text Bots with Tracery
Word Play in the Digital Age: Building Text Bots with Tracery
 
Video game development for everybody
Video game development for everybodyVideo game development for everybody
Video game development for everybody
 
Introduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameIntroduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First Game
 
Developing for Consoles as an Indie in 2015
Developing for Consoles as an Indie in 2015Developing for Consoles as an Indie in 2015
Developing for Consoles as an Indie in 2015
 

Recently uploaded

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

New High Score! Leaderboards in the Cloud

  • 1. New High Score! Leaderboards in the Cloud Sarah Sexton | Technical Evangelist
  • 2. Overview • Unity Plugins – Bitrave – Photon • Networking Basics • Why the Cloud? • Azure Mobile Services • REST API Basics • Azure for Game Development
  • 4. Unity Plugins • Photon ─ Multiplayer ─ Leaderboard
  • 5. Azure for Game Development • Game State Management • Leaderboards • Monetization • Economics • Multiplayer • Scalability • Cheating Prevention
  • 6. 1. Talking, playing chess, etc. 2. Translate foreign languages 3. “Goodbye” 4. “This message is for…” ID # 5. The phone book 6. “Calling street address…” # 7. Tin cans and wires Separation of Concerns
  • 7. Network Layers 1. Application – access to networking services (IPC, mail, directory services) 2. Presentation – data formatting, encryption, compression 3. Session – maintaining connection between computers 4. Transport – TCP/UDP 5. Network – addressing and routing 6. Data Link – network topology 7. Physical – actual hardware (wire, fiber, radio)
  • 9. Azure Mobile Services Cloud services take care of everything behind the scenes. It's essentially running in a small application-isolated box. You just update your code.
  • 10. REST API Basics Representational State Transfer (ReST, or RESTful programming) HTTP rules: REST rules: • POST (envelope) • GET (postcard) • PUT (envelope) • DELETE (postcard) • CREATE • READ • EDIT • DELETE
  • 11. Name your Mobile Service Select your database
  • 12. Select database Enter database admin credentials
  • 15. Select the Table, Select “Columns”
  • 18.
  • 19.
  • 20.
  • 21. Why the cloud? • Rapidly set up environments • Scale to meet peak demands • Increase daily activities, efficiency and reduced cost.
  • 22. Azure Resources • Mobile Apps – Provide data proxy services to game including offline data • Event / Notification Hubs – Data collection and push notification • Media Services – Streaming cut scenes or demo videos • Machine Learning – Evaluate massive amounts of data to determine hidden patterns and predict outcomes
  • 23. Additional Resources: Videos Unity3D Leaderboard in the cloud using Bitrave Azure plugin www.youtube.com Microsoft Azure Back End for Gaming mva.microsoft.com Play Together! Leaderboards with Azure and Multiplayer with Wi-Fi Direct channel9.msdn.com/events/Build/2013/3-051 How To Create A Global Leaderboard For Unity 3D Using Azure Mobile Services channel9.msdn.com/events/MVP-Virtual-Conference
  • 24. Additional Resources: Written articles Using Azure Mobile Services to Create a Game Leaderboard in Minutes http://thebitchwhocodes.com “Can anyone please explain TCP/IP and its layers to me like I'm five?” “ELI5: Representational State Transfer (REST, or RESTful programming)” www.reddit.com/r/explainlikeimfive/ Peer-to-Peer Support for Massively Multiplayer Games www.ieee-infocom.org/2004/Papers/03_2.PDF
  • 25. Recommended Resources & Next Steps Download free Visual Studio Community edition www.visualstudio.com Benefits for young developers: BizSpark http://aka.ms/SarahBizSpark Host ten websites for free www.azure.com
  • 26. ©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. 1
  2. Transmission Control Protocol / Internet Protocol (TCP/IP) | Open Systems Interconnection (OSI) The thing with TCP/IP is that it is distinct from the OSI model ("the layers"). OSI is just a model of the separation of concerns. There are sometimes not clear boundaries between the layers. They simply serve as a guideline to how your networking functionality should be divided. Now, onto the layers. Suppose you are trying to communicate with Alice and Bob, who are next door neighbors living on each side of your house, using a three cans and three wires. (One can is connected to both other cans.) The cans and the wires are the physical layer. They allow you to transmit raw sound (raw bits). The problem with this is that you don't know who you are sending to. You want to somehow address either Alice or Bob. So, before you say your actual message, you say the street address (MAC address) of the guy you want to talk to, and they both listen to this address and determines whether the message is for them. Now, you have to have good faith that Bob will not eavesdrop on your message to Alice. This is the job of the data-link layer. Let's say Alice's parents are rich, and they own the entire block. They move around houses every day, and you don't know where she is at any given moment. How will your message reach her? Remember, she listens only for the street address where she is currently at. So, you guys get together and assign each of you a number (IP address) that identifies you no matter where you go. And, you decide to post in the local newspaper (DHCP service) the physical location of each of you, every day. That way, you can look up Alice and Bob’s physical addresses when you need to, and will be able to send them messages. This is the network layer. What if you want to talk to multiple people in Alice’s household? What if she has a hot older sister, Charlotte, whom you have a crush on? How will you let Alice know that a message is for Charlotte, instead of Alice? Simple, before your actual message, but after you say the street address, you say “This message is for Charlotte.” But names are complicated, so we assign a number (port number) to each person (process) in the household that wants to communicate. This is the transport layer. (TCP and UDP sits on this layer.) Furthermore, sometimes the wire is bad and there’s a lot of background noise outside so you can’t be sure that the other person got your message. What do you do? Simple: have the other person acknowledge every message you send, say, “I got it.” (This is what TCP does but not UDP.) Remember, all of these messages are still prefaced by “This message is for ___” and the street address of the recipient. How will Alice know when the conversation is over? What if she wants to go eat and doesn’t want to pay close attention to the wire? Just say “Goodbye” at the end of your string of messages. This is the session layer. (This layer isn’t very well-defined, and is often combined with the transport layer.) Perhaps now you want to talk to David, Bob’s uncle. He doesn’t speak a word of English and only speaks Russian. What can you do? Get a translator! The translator listens to your message, translates it into Russian, and says the message in Russian to David. When David wants to talk to you, he talks to the translator, and the translator translates his Russian message into English, and then relays the message back to you. This is the presentation layer. Suppose, on top of all of that, you want to play a game of chess. Chess has well-defined, standardized notation of the moves. So you can simply say “knight to F3” and the other person will understand that you want to move your Knight to the square labeled F3. Imagine, that you have a chess board that speaks the move in the standardized notation every time you make a move, and every time it hears a move, it moves the mentioned piece to the correct location. Now, you can play chess, over two cans and a wire, with everyone that has a similar chess board, even with David, who has a board that only operates in Russian. This is the application layer.
  3. Separation of concerns = network traffic does not slow down GUI display. We can deploy it, make it redundant, fault-tolerant, and all the good stuff. You don't have to worry about the fluff of managing a VM. We do all that for you in the Azure side, and you just worry about the application and that service providing the functionality. You can just isolate it, get it ready, and deploy it into a cloud service, and it's running! No need to upgrade and patch your operating systems for security holes. Cloud services take care of all that behind the scenes. It's essentially running in a small application-isolated box. You just update your code.
  4. A "Get" is a postcard. You're supposed to use it to request a document. There's no space on the postcard to send me a document, although you can squeeze a couple of lines into the end of the room and name field. A "Post" is an envelope. It's supposed to be used to send me a new document for me to store, but you can really put anything in the envelope. A "Put" is another envelope. You give me a document, and I'm supposed to replace a document I have with the one you gave me. A "Delete" is a postcard telling me to throw out a document. REST takes as its premise the idea that there are really only four sorts of things you might want to do: Create, Read, Edit, or Delete things. I have a mail room somewhere with a separate slot for each "thing". You send a letter with a name and room specified, and it really goes to a slot in this room, where someone takes and processes the request. If you want to Create something, you send a Post with the thing you want to create enclosed; if you want to Read something, you send a Get; if you want to Edit something, you send a Put with the thing enclosed; if you want to Delete something, send a Delete postcard. That's it – there's nothing extra to work out. All you need to know is what "things" I have, which is fairly easy for me to communicate.
  5. Let’s give this Mobile Service a name. For example, I could to use “testleaderboard,” which means that the start of the REST API endpoint for this service would be https://testleaderboard.azure-mobile.net.
  6. After choosing a name and selecting a database, we will have to enter in the database credentials. Under the database dropdown, you will have a few different options: use and existing one, create a new one or create a new database server.
  7. Once you have your database selected, your Mobile Service will be created. You should be able to see it in list with its creation progress being reported back to you. Once it is created, select it from the list. We now need to think about the data that we want to store and access. We can create a table to store the data and add whatever columns we think we may need. For this example, I am going to create a table called ”highscore” and add in a few columns
  8. We need to name this table and set its permissions for the various CRUD operations. For this example, I am just going to allow insert, update, delete and read to happen with an application key. We will need to find the application key as we will need to use that with every api call that we make. Don’t worry about the application key quite yet, we’ll get to that in just a bit.  Let’s add a few columns to the table first.
  9. To add a new column, select the “Add Column” button from the bottom navigation. I am adding two columns : one called “user_name” with data type of String, and another called “score” with data type of Number.
  10. Select “Add Column” from the bottom navigation and add a column called “user_name” with data type string, and a second column called “score” with a data type of Number. We now have a table called “highscore” for our Mobile Service and we added two columns called “user_name” and “score” to the already existing columns in the table. Now we need to only do a few more things before we can start using this service. First, let’s go get our application key.
  11. Select “Manage Keys” from the bottom navigation. We will need to record the application key. Copy the top application key and record it for later use.
  12. Unity3D Leaderboard in the cloud using Bitrave Azure plugin https://www.youtube.com/watch?v=KGEabheqcRA Microsoft Azure Back End for Gaming https://mva.microsoft.com/en-US/training-courses/microsoft-azure-back-end-for-gaming-10548?l=RU7KQp97_1504984382 Play Together! Leaderboards with Windows Azure and Multiplayer with Wi-Fi Direct https://channel9.msdn.com/events/Build/2013/3-051 How To Create A Global Leaderboard For Unity 3D Using Azure Mobile Services https://channel9.msdn.com/events/MVP-Virtual-Conference/MVP-Virtual-Conference-Americas-2015/Dev2-How-To-Create-GL-Unity-3D-Azure-Mobile-Services
  13. http://thebitchwhocodes.com/2014/02/24/using-azure-mobile-services-to-create-a-game-leaderboard-in-minutes/ REST API: https://www.reddit.com/r/explainlikeimfive/comments/1fevr4/eli5_representational_state_transfer_rest_or/ TCP/IP: https://www.reddit.com/r/explainlikeimfive/comments/mk75a/can_anyone_please_explain_tcpip_and_its_layers_to/
  14. https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx