280 likes | 453 Views
Building cross-device Xbox LIVE games. John Bruno Xbox LIVE Services. Avi Ben-Menahem Xbox LIVE Services. 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
E N D
Building cross-device Xbox LIVE games John Bruno Xbox LIVE Services Avi Ben-Menahem Xbox LIVE Services
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 versus player (multiplayer) • Companion games • SmartGlass experiences
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 and 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
SmartGlass • Simultaneously enhance the play of my main experience with additional input surfaces
Cross-device gameplay • Demo
Mårten Engblom, VP Engineering • Casual, Social & Mobile Game Developer • 10+ years experience • Based in New York, 3 offices worldwide • Long time partners with Microsoft
Windows 8 Launch Titles • Microsoft Solitaire Collection • Microsoft Minesweeper • Microsoft Mahjong • Taptiles
Windows 8 Launch Titles • Leaderboards • Multiple leaderboards within a single game • Achievements • Title Managed Storage – Per Title • Daily Challenges • Configuration values • Content • Title Managed Storage – Per User • Game Options • Daily Challenge Progression, Badges • Statistics • Play/Pause/Resume
Xbox LIVE cross-device gaming enablers • Title groups • Title-managed storage • Near real-time, cross-screen multiplayer, and 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
Title groups example 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 Kinectimals launches and uses title group storage for its saved games Title group 123 Title group 456 Read-only Read/Write Kinectimals Mobile Kinectimals Kinectimals 2
Title Managed Storage (TMS) • Data sharing across titles and devices • Game configuration management • Key attributes • Global data and user data • Smart blobs: Binary, JSON, game configuration • Adding support for photo UGC storage and scanning
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 storage150 MBquota, 5000 file maximum, no max file size • User A’s storage • 250 MBquota, 5000 file maximum, no max file size • User B’s storage • User C’s storage
Multiplayer and 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} Matchmaking service POST Match criteria GET Match found!
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 policiesand TCRs • The spirit of our policies and TCRs… • Recent changes to policies and TCRs • Policies and TCRs available at http://developer.xboxlive.com
Summary and 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!
Windows Phone: mobilegames@microsoft.com Windows 8: windowsgames@microsoft.com XBLA: arcade@microsoft.com Xbox 360 and Kinect: gamesub@microsoft.com Web: webgames@microsoft.com Becoming an Xbox LIVE publisher