building cross-device xbox live games john bruno xbox live services avi ben-menahem xbox live on...
TRANSCRIPT
Building Cross-Device Xbox LIVE Games
John BrunoXbox LIVE Services
Avi Ben-MenahemXbox LIVE on Windows
Why should we care about cross-device games?
Proliferation of devices and form factors. Our users expect to find the games they play on the
devices they own. Now it’s time to explore new ways to bring them together.
Create seamless entertainment experiences by connecting multiple screens that are available
at any time and from anywhere.
Cross-Device Gaming Scenarios
Play, Pause, and Resume Player vs. Player (Multiplayer) Companion Games
Play, Pause, and Resume
Keep users engaged on any device. Carry game progress across screens.
Multiplayer
We should expect our users to be on different devices with different capabilities.
Designs are screen-appropriate for multiplayer experiences.
Companion Games
Are applications with discernible gameplay that extends & interacts with the experience of a base/full game.
Keep users engaged with the games they love, on any device.
Have shared progress across all games of a suite.
Cross-Device Gameplay
demo
Xbox LIVE Cross-Device Gaming Enablers
Title groups Title-managed storage Near real-time, cross-screen multiplayer & matchmaking Leaderboards Achievements
Title Groups
Enables sharing across titles and screens
Title groups are a first-class construct Title group IDs are integral parts of the API Owned by a publisher, not a title
Title groups = shared cloud storage Many titles can access the same title group storage. Access control list (ACL) for granting permissions to titles.
Kinectimals for Windows Phone is released and gets read/write access to the Kinectimals title group storage so that cubs can be shared between devices.
A few years later Kinectimals 2 comes out and uses title group storage for its saved games.
Kinectimals 2 also gets read-only access to the Kinectimals title group storage in order to import saved games.
Title Groups Example
Read/Write Read-only
Kinectimals Mobile
Kinectimals
Title group123
Kinectimals 2
Title group456
Kinectimals launches and uses title group storage for its saved games.
Title Managed Storage (TMS)
Data sharing across titles and devices Game configuration management Key Attributes
Global data & user data Smart blobs: binary, JSON, game configuration
Cross-screen-enabled evolution of existing TMS for Xbox 360.
TMS-Supported Data Types
Binary blobs Classic saved game infrastructure. Also good for images and videos. Binary blobs cannot be shared between verified and unverified
platforms. Smart blobs
Same read/write API as binary blobs. Supported blob types: JSON and game configuration. Data can be shared between verified and unverified platforms. Title group ACLs restrict read/write at any level in the tree. Validation helps protect verified platforms.
TMS Example
Global data APIs GET, PUT, DELETE data:
/media/titlegroups/titleGroupId/storage/data
User data APIs GET, PUT, DELETE data:
/users/xuid(xuid)/storage/titlestorage/titlegroups/titleGroupId/data/...
Multi-User GET:(POST) /users/batch/storage/titlestorage/titlegroups/titleGroupId/data/...
The “...” is a blob name or directory of blobs
Title storage boundary
Global title storage5 GB quota, 5000 file maximum, no max file size
User A’s storage1 GB quota, 5000 file maximum, no max file size
User B’s storage
User C’s storage
Multiplayer & Matchmaking
Enabling users to play – even when they aren’t online together!
Complete service-based solution for enabling game play across screens.
Near real-time game play, gracefully degrading to asynchronous.
Numerous possibilities for fun, engaging titles.
Match, Play, Communicate…
Matchmaking Find people to play with Match against custom criteria Title groups enable cross-screen match
Multiplayer session management Create or join a session Update and retrieve game state instantly
Messaging Send game invites, turns, or other messages
Matchmaking Example
Submit a match request POST /users/xuid({xuid})/multiplayer/matchrequests
Check status of a match request GET /users/xuid({xuid})/multiplayer/matchrequests/{requestid}
POSTMatch criteria
Match found! GET
Matchmaking service
Leaderboards
Support for discrete leaderboards per screen Independent leaderboards per title – linked by title group. Accessible across devices – read only. Show progression on each supported screen.
Shared leaderboards across multiple devices Single leaderboard for the group of titles. Shared progress across screens.
Achievements
Achievements remain discrete to each title.
Query progression across titles by using title group.
Use achievements to promote cross-device gameplay.
Cross-Device Best Practices
Design for screen-optimal cross-screen experiences. Consider your data sharing strategies. For multiplayer games, match against a broader pool of
players. Use achievements to drive cross-title purchase and
gameplay.
Key Policies & TCRs
The spirit of our policies & TCRs… Recent changes to policies and TCRs New TCRs for TMS++ & title groups Policies & TCRs available at
http://developer.xboxlive.com
Summary & Recap
Entertainment experiences are evolving across devices.
Xbox LIVE services enable engaging cross-screen experiences.
Incorporate best practices into game design and mechanics.
Start today!
Becoming an Xbox LIVE Publisher
Concept Submission
Concept Review
Production Review
Investigation
Windows Phone: [email protected] Windows 8: [email protected] XBLA: [email protected] Xbox 360 & Kinect: [email protected] Web [email protected]
Call to Action
Develop!
Build experiences to connect users across devices.
Connect
Get docs, tools, and samples at http://developer.xboxlive.com/.
Succeed
Reach more users across multiple platforms.
Questions & Answers
© 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.