4/12/2017 3:16 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.

Slides:



Advertisements
Similar presentations
Hello i am so and so, title/role and a little background on myself (i.e. former microsoft employee or anything interesting) set context for what going.
Advertisements

Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Social Channels Cat Lee Program Manager, Developer Relations facebook.com/cat Driving traffic to your app.
SFDC Integration Basics Gerry Winning. Integrating Your Progress App with SFDC Ovid Back Office App is Fully Integrated with SFDC (about two and a half.
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
Push to ALL the iPhones with Azure Chris Risner Senior Technical Microsoft Azure.
Innovation Group Event: Cocktails & Clouds 10 th November 2011.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
SharePoint Server 2013 Architecture and Identity
Google App Engine Google APIs OAuth Facebook Graph API
Name Title Microsoft Corporation Push Notification Introduction and Platform Interaction.
Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation SESSION CODE: WPH311.
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
Application Scenarios Name Title Microsoft Corporation.
First Look Clinic: What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Sayed Ali (MCTS, MCITP, MCT, MCSA, MCSE )
Windows Phone 8 uses Microsoft Push Notifications Windows 8/8.1 uses Windows Notification Service Windows Phone 8.1 uses Windows Notification.
Lets call these the “.NET/MPN APIs” We’re here for you Microsoft.Phone.Notification, Microsoft.Phone.Shell HttpNotificationChannel, ShellTile,
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Key Management with the Voltage Data Protection Server Luther Martin IEEE P May 7, 2007.
176,802,201,383 Gamer Points have been scored 2.1 Billion hours played per month More than 6.3 Billion achievements granted 35 Countries 35 Million Users.
Enabling High-Quality Printing in Web Applications
Computer Emergency Notification System (CENS)
Building Cross-Device Xbox LIVE Games John Bruno Xbox LIVE Services Avi Ben-Menahem Xbox LIVE on Windows.
Windows 8 Application Microsoft Word with Apps For Office Internal O365 SharePoint Site Windows Azure Cloud Services Windows Azure Workflow Server.
Monetization Strategies for Windows 8 Games Shai Hinitz Sr. Program Manager Windows PC Planning & Ecosystem.
Empowering people-centric IT Unified device management Access and information protection Desktop Virtualization Hybrid Identity.
Office Business Applications Workshop Defining Business Process and Workflows.
Game Data Anywhere Using Xbox LIVE Cloud Storage Michael Alyn Miller Data Storage Architect Microsoft Corporation.
HTML5 AND THE FUTURE JAVASCRIPT PLATFORM Marcelo Lopez Ruiz Senior Software Design Engineer Microsoft Corporation.
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Building Mobile Phone Applications With Windows Azure Nick HarrisWindows Azure Technical Evangelist Microsoft Blog:
FCM Workflow using GCM.
WINDOWS AZURE MOBILE SERVICES AN INTRODUCTION Bret Stateham Technical Evangelist
FriendFinder Location-aware social networking on mobile phones.
FriendFinder Location-aware social networking on mobile phones.
Windows 8 Application Microsoft Word with an app for Office Internal O365 SharePoint Site Windows Azure Web Sites Windows Azure Workflow Service.
WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr. Software Development Engineer Microsoft patterns & practices.
Exploring Mobile Device Networking Lesson 4. Exam Objective Matrix Skills/ConceptsMTA Exam Objectives Understanding Networking for Mobile Devices Network.
Secure Mobile Development with NetIQ Access Manager
© 2012 IBM Corporation IBM Worklight Overview Martin Triska – IBM Worklight specialist (420) July 2012.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Developers Introduction to the Power BI Platform.
Building Azure Mobile Apps
5/12/2018 3:54 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Node.js Express Web Applications
Mobile App Trends: lifecycle, functions, and cognitive
Develop for the Experience Business with Adobe and Microsoft
IBM Data Server Gateway for OData
Building great Metro style apps for mobile broadband devices
WEB API.
Building Windows Phone 7 Applications with the Windows Azure Platform
Building Windows 8 and Windows Azure apps
TechEd /28/ :27 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
1/16/2019 8:14 PM SAC-863T Delivering notifications with the Windows Push Notification Service and Windows Azure Darren Louie, Nick Harris Program Manager,
Tailor your SharePoint 2013 social layer according to your needs
TechEd /18/2019 2:30 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Technical Capabilities
Building device & cloud apps
Technical Integration Guide
Azure Active Directory
Using tiles and notifications
Western Mass Microsoft Technology Users Group
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Erik Porter Program Manager ASP.NET Microsoft Corporation
Building Windows Store Apps with Windows Azure Mobile Services
The Future is Now with ASP.NET Core 3.0
Presentation transcript:

4/12/2017 3:16 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Xbox LIVE Multiplayer Gaming on Windows 8 and Other Devices Tim Gill Brian Tyler Architect Lead Developer Microsoft Corporation © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Xbox LIVE Services Simple web APIs: HTTP services with JSON payloads 4/12/2017 3:16 AM Xbox LIVE Services Simple web APIs: HTTP services with JSON payloads Single authentication model Enable gameplay across any of our client platforms, including Windows Phone, Windows 8, the web, and the Xbox 360 console © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Multiplayer Today on Xbox LIVE 4/12/2017 3:16 AM Multiplayer Today on Xbox LIVE Fast, efficient real time peer-to-peer networking Xbox 360 and Games For Windows LIVE only In use on a wide range of very successful titles

Xbox LIVE Asynchronous Gaming Services Matchmaking Find players to play against Custom-match criteria Multiplayer Game state storage in the cloud Session and player management Messaging Invite friends to play with you Send notifications to players outside the game to notify them of in-game events © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Which Types of Game Are We Enabling? High Latency “sometimes connected” Low Latency “connected” Very Low Latency “twitch” “Pseudo connected” Diplomacy™ Farmville™ World of Warcraft™ © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Cards are dealt from a shared deck to players on demand 4/12/2017 3:16 AM Simple card game with players betting against the house hand (not each other) Cards are dealt from a shared deck to players on demand Total value of the cards must be < 21 or the player loses. Once all players are done getting new cards the house hand plays. If the house does not go > 21 it pays all player hands with a greater value. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Multiplayer Service Session Storage – session management in the cloud 4/12/2017 3:16 AM Multiplayer Service Session Storage – session management in the cloud Manages session metadata and player management State Storage - generic “game server” technology Game state in the cloud No cloud logic (mimics P2P) Supports multiple HTTP based access models for different latency needs: Slower polling – easy to code, higher latency “Comet”/”Hanging GET” – more work to code, lower latency © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Post, Get, and Delete State Data 4/12/2017 3:16 AM Multiplayer Workflow Gameplay Session Start Leave Session Post, Get, and Delete State Data Create Session Join Session Join Session Join Session Update Session Object Join Session Session End Update Session

Multiplayer Service – State Storage 4/12/2017 3:16 AM Multiplayer Service – State Storage Game State Queue 1 Message 4 Message 3 Message 2 Message 1 Message n Queue 2 Queue 3 Queue 4 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

State Storage Game State Object Queue 1 Game State 4/12/2017 3:16 AM { "bankerInfo": { "cards": [{"s":"h","v"=3},...], "showCards": true}, "currentPlayer" : 1, "deck": [{"s":"s","v"=2},...], "playerInfos": [ {"bet": 1200, "money":1600, "name":"ShiFu", "picture":"http://cdn.xboxlive.com/188D655F-C306-4AA5-9D4E-1560B6BF0F6A/1.jpg", "cards": [{"s":"c","v"=10},...]} ] } © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Multiplayer Service – Collision Detection 4/12/2017 3:16 AM Multiplayer Service – Collision Detection Player A Queue 1 Message 4 Message 1 Message 2 POST /system/mutiplayer/sessions/123/queues/1/messages ?mustFollow=3 Message 3 Player B Message 4

Multiplayer Service – Race Condition 4/12/2017 3:16 AM Multiplayer Service – Race Condition Queue 1 Player A DELETE Player B New State A State New State B POST POST /system/mutiplayer/sessions/123/queues/1/messages?replaceAll

Multiplayer Service – Session Objects 4/12/2017 3:16 AM Multiplayer Service – Session Objects Session Object Players Session ID Max Players Available Seats Is Closed? Has Ended? Title ID Game Variant Display Name Creation Time XUID Gamertag Seat Index Is Currently In Session Visibility Players Can Be Removed By Custom Game Data (1Kb) Custom User Data (1Kb) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Session Objects Session Object Player Roster Session ID 4/12/2017 3:16 AM Session Objects Session Object Session ID Blackjack TitleID Creation Time Visibility.Everyone PlayersCanBeRemovedBy.Self MaxPlayers: 4 Player Roster © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

4/12/2017 3:16 AM Matchmaking Service “Allows you to find people to play the game you want to be in, without putting your life on hold” © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Async Matchmaking Experience 4/12/2017 3:16 AM Async Matchmaking Experience Match criteria Matchmaking Service POST Match Found! © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Matchmaking Service - Response 4/12/2017 3:16 AM Matchmaking Service - Response Successful match requests return a requestID in response. Two options for detecting it completes: Periodic polling using the request ID for the result of the match Match Found notification from the messaging service. Match Found

Matchmaking Simple match algorithm – any table with open seats. 4/12/2017 3:16 AM Matchmaking Simple match algorithm – any table with open seats. Simple polling model { "titleId": "...", "sessionId": null, "seatsOccupied": 0, "maxSeats": 4, "minSeats": 2, }

Messaging Service - Getting into the Game Two ways to get into a session: Anonymous matchmaking Invitation messages from session owner POST https://services.part.xboxlive.com/system/messaging/outbox HTTP/1.1 Content-Type: application/json x-xbl-contract-version: 1 Authorization: XBL2.0 x=STSTokenString Host: services.part.xboxlive.com Content-Length: 39 Connection: Keep-Alive { "body": { "attachments":null, "partnerData": { "MultiplayerMessageType":“Invitation", "SessionId": "C8921C4E-4FC2-439E-9368-5D26889BD1BB" } }, "header": { "attributes":null, "expiration":"2011-10-11T23:59:59.9999999", "id":null, "messageType":"Multiplayer", "recipients":[{"userId":“worsethanuseless","userType":"Gamertag"}], "sender":"Striker", "senderPlatform":null, "sent":"2011-10-13T16:40:58.1890842-07:00", "targetPlatforms":["WP7"], "titleId":0 } } Game Invitation Checkers Tim Gill (worsethanuseless) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Multiplayer Blackjack 4/12/2017 3:16 AM Multiplayer Blackjack Brian Tyler Lead Developer Xbox LIVE on Windows 8 Windows 8 SDK © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

So – What Do I Get?

What’s in the SDK? Rich Integration with Windows 8 4/12/2017 3:16 AM What’s in the SDK? Rich Integration with Windows 8 Windows Runtime APIs: C++, .NET and JavaScript Tiles and Toasts with Windows Notification Service Account Creation and Sign-in UI © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

What’s in the SDK? Windows Runtime projections for mainline scenarios 4/12/2017 3:16 AM What’s in the SDK? Windows Runtime projections for mainline scenarios Profile and avatar Achievements and leaderboards Async matchmaking and multiplayer Friends and game invites Title Managed Storage Windows Runtime projections for REST access Simplified API to call REST/JSON endpoints directly © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

What’s in the SDK? Downloadable Content (DLC) Offline Support 4/12/2017 3:16 AM What’s in the SDK? Downloadable Content (DLC) Durable and consumable Commerce, tracking and delivery Offline Support Grant achievements Leaderboard updates while on a plane Avatar Rendering Library DX11 C++ API fully documented and supported Integrate rich, animated avatars in your game © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

What’s in the SDK? Server Side User Authentication Microsoft Account Xbox Secure Token Service (XSTS) Server Side Proof of Purchase validation with Windows Store license Federated Identity for your game services

architecture Drilling In 4/12/2017 3:16 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Architecture Strongly Typed API Third-Party Logic Offline Support 4/12/2017 3:16 AM Architecture Strongly Typed API Third-Party Logic Offline Support Foundation Layer Authentication HTTPS/JSON Logging Diagnostics OS Integration Toasts WNS Store Network Policies

Async and Parallel Patterns Library UI THREAD UI THREAD or THREAD POOL Create Task to trigger sign-in Call Sign-In code Run Task Scheduler Create Task to handle result code Run Handler code Then Completion Event Message Loop

Multiplayer Blackjack 4/12/2017 3:16 AM Multiplayer Blackjack Brian Tyler Lead Developer Xbox LIVE on Windows 8 Refresher © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Post, Get, and Delete State Data 4/12/2017 3:16 AM Multiplayer Workflow Gameplay Session Start Leave Session Post, Get, and Delete State Data Create Session Join Session Join Session Join Session Update Session Object Join Session Session End Update Session

Matchmaking Simple match algorithm – any table with open seats. 4/12/2017 3:16 AM Matchmaking Simple match algorithm – any table with open seats. Simple polling model { "titleId": "...", "sessionId": null, "seatsOccupied": 0, "maxSeats": 4, "minSeats": 2, }

Multiplayer Blackjack 4/12/2017 3:16 AM Multiplayer Blackjack Brian Tyler Lead Developer Xbox LIVE on Windows 8 demo © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Creating a Session // Create a new session settings object auto sessionSettings = ref new MultiplayerSessionSettings(); sessionSettings->DisplayName = "Blackjack"; sessionSettings->MaxPlayers = 4; sessionSettings->IsClosed = false; sessionSettings->Visibility = VisibilityLevel::Everyone; sessionSettings->TitleGroupId = titleGroupId; task<MultiplayerSession^> createTask( signedInUser->CreateMultiplayerSessionAsync(sessionSettings, PlayerAcl::Self));

Requesting a Match auto matchRequest = ref new MatchRequest(); matchRequest->TitleId = titleId; matchRequest->TitleGroupId = titleGroupId; matchRequest->SessionId = sessionId; matchRequest->MaxSeats = 4; matchRequest->SeatsOccupied = seatsOccupied; matchRequest->MatchCriteria->Restriction = MatchRestriction::PreserveSession; matchRequest->MatchCriteria->CustomMatchType = "Blackjack"; matchRequest->TimeoutSeconds = 60; task<MatchRequestResult^> requestTask(service->PostRequestAsync(matchRequest));

Multiplayer Blackjack 4/12/2017 3:16 AM Multiplayer Blackjack Brian Tyler Lead Developer Xbox LIVE on Windows 8 Notifications © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Keeping in Touch Windows Notification Service (WNS) provides push notifications to Windows clients Xbox LIVE services integrates into WNS to deliver events. Deliver game invites “Your Turn”, Nudges Results in toasts and tile updates

WNS + Xbox LIVE WNS Y DB XBL Services Friend Push Notification Send Message On Channel DB Y Create Channel You XBL Services Register Channel Invite Friend

Live Tile Update Example

What do you need to do? To get a channel and into the database Do nothing SDK handles it all To receive toasts and tiles Optionally you can do nothing If in the user is in the game, you probably want to clear the tile update

4/12/2017 3:16 AM Questions? © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

4/12/2017 3:16 AM © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.