• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Xbox One's SDK(Software Development Kit) leaked by H4LT

Panajev2001a

GAF's Pleasant Genius
So sounds like 6 cores generally, 6.5 if you don't use NUI speech (can go up to 80% but you aren't in control of that so cannot bank on it)

That should mean PS4 can unlock another core, as its OS isn't doing much different from xbox when games are running


What does 'constrained' mean? Is that when a game is minimised in the OS? Can't be snapped because a game needs to run full speed when snapped.

It sounded like when you snap the game you cannot have access to the 7th core at all. You need to be full screen when you want to access it. It could be fun to figure out how to use it. Having to stream stuff in and out of ESRAM, managing the extra core with such restrictions... It can be kind of fun, Xbox One should be fun for developers with PS2 development experience :). Although developers love a very high bandwidth shared memory pool even more (especially if they can share data easily between CPU and GPU).
 
With so much commodity hardware available with HDMI out I don't really see where the demand for a hacked console is going to come from outside of piracy. I've just bough a full Windows (tablet) PC for £60 that has better single thread performance (which is crucial for emulators) that I have hooked up to the bedroom HDTV via HDMI. It runs Plex, XBMC, "retro" emulators and 720p Steam inhome streaming at full speed, so what exactly is a £350 console going to offer over this?

You can't say its a bonus on top of the original function either, because, I'll have to give up online gaming, patches and access to services like EA Access if I was to hack the console.
 

psn

Member
With so much commodity hardware available with HDMI out I don't really see where the demand for a hacked console is going to come from outside of piracy. I've just bough a full Windows (tablet) PC for £60 that has better single thread performance (which is crucial for emulators) that I have hooked up to the bedroom HDTV via HDMI. It runs Plex, XBMC, "retro" emulators and 720p Steam inhome streaming at full speed, so what exactly is a £350 console going to offer over this?

You can't say its a bonus on top of the original function either, because, I'll have to give up online gaming, patches and access to services like EA Access if I was to hack the console.

Maybe a dual boot for two different firmwares...
Something like this for the XB1:
http://www.e3-tech.net/e3 flasher.html

But yeah, I guess it's mostly for piracy.
 

Blanquito

Member
That's not a rumor btw it has been confirmed by Guerilla games and Naughty dog.

Sorry, bad misplaced modifier on my part. I meant: the rumor was that Sony had two cores reserved but weren't fully using them; they just wanted to make sure that they wouldn't get burned like the ps3 and party chat by not having enough ram/CPU available.
 

flyshow

Member
Isn't that sort of the thing they announced with id@xbox with every xbox one? Retail units can be used as dev kits or something to that extent.

Ecvery retail console can be turned into a dev kit, but not for now. The difference is on the software level, not hardware. This leak is stupid, it would only make MS further postpone the original open console development plan.
 

Alx

Member
Ecvery retail console can be turned into a dev kit, but not for now. The difference is on the software level, not hardware. This leak is stupid, it would only make MS further postpone the original open console development plan.

Or maybe speed it up ? I'm not sure about it, but I felt that when Kinect came out, the quick release of a hacked reverse-engineered library made them release the "Kinect for Windows" beta SDK sooner than they expected.
Better give the official tools early, rather than let an underground community build on leaked software.
 

flyshow

Member
Or maybe speed it up ? I'm not sure about it, but I felt that when Kinect came out, the quick release of a hacked reverse-engineered library made them release the "Kinect for Windows" beta SDK sooner than they expected.
Better give the official tools early, rather than let an underground community build on leaked software.

I agree it's a possibility but I see it less likely to happen than the opposite. IIRC the early Kinect dev community relied on driver and lib from PrimeSense rather than some reverse-engineering work. Also the community work on Kinect could hardly harm MS and officially authorized developers. The XDK leak is different. As the quotes in OP says, hackers are keen on bring homebrew apps to Xbox One, which would inevitably lead to piracy.
 

whome0

Member
Isn't that sort of the thing they announced with id@xbox with every xbox one? Retail units can be used as dev kits or something to that extent.

There are two devkit devices available. Real devkit with more RAM and whatnot, it helps run binary with additional profiling+debug tools in a background. Tools don't eat gaming reserved resources. Retail_to_devkit device don't have a luxury of extra resources.
 
I thought digital foundry made the leak. so does this mean that all multiplat games will look the same on consoles from now on?
 
I don't know what the point of the leak was. It is almost useless unless you have an actual Dev Kit (until they enable every console as a Dev Kit, but then it still becomes useless as you can get an official SDK). The most basic features, like Screenshots and Video Capture, still require the use of a Dev Kit. I hope that Microsoft announces this month that every console can be used as a Dev Kit :).
 

Putty

Member
I don't know what the point of the leak was. It is almost useless unless you have an actual Dev Kit (until they enable every console as a Dev Kit, but then it still becomes useless as you can get an official SDK). The most basic features, like Screenshots and Video Capture, still require the use of a Dev Kit. I hope that Microsoft announces this month that every console can be used as a Dev Kit :).

It was released to shut up Mr X Media...it hasn't worked.
 

Alx

Member
I agree it's a possibility but I see it less likely to happen than the opposite. IIRC the early Kinect dev community relied on driver and lib from PrimeSense rather than some reverse-engineering work.

Not exactly, the first library released was a hacked one, freenect. An open source group had offered a reward for such a library and it was developed in a few days after the commercial release of kinect. Of course it only provided the raw depth and rgb frames, but it was enough to start developing software using the sensor.
Then MS released its beta sdk, which became the SDK for students and researchers. Only later did the Openni libraries release, which were supported by Primesense (until they got bought by Apple, now the project seems dead)
 

Yudoken

Member
There is a rumour, but I think you will need Xbox One system to streaming Xbox one games on PC.

That's like streaming Smartphone games on PC.
This is nonsense and honestly it would be way more smart to allow Xone users to stream pc games to Xone for obvious reasons.
 
So far I don't see any references to this in either the XDK nor the docs. But access to the roadmap is restricted. Interesting is also that the Multiplayer system will change in 2015. Something about ommitting parties for interaction but before jumping to conclusions - I have no complete idea what they are talking about in the docs but there is a large chapter dedicated to 2015 Multiplayer.

I read the same thing. MS is doing away with the Party system in its current structure it looks like. I believe the Party system has caused matchmaking issues and they are migrating to this new system. Party app will still exist but only as a Chat Party which is different than Game Party. It apparently been a preview for developers for a little bit.

Summary of the 2014 Multiplayer Design
The 2014 Multiplayer design is based on the concept of the game party, exposed to titles using the Microsoft.Xbox.Services.Multiplayer Namespace in the XDK. The game party is an Xbox One system-level construct that titles use to manage a group of people who are playing together within a title. All joins and invitations are currently to the game party, and matchmaking is driven by game party membership.

In 2014 Multiplayer, the title places game party members into multiplayer session directory (MPSD) sessions to manage connectivity and report multiplayer interactions. The interaction with MPSD sessions by the title uses the Xbox Services API (XSAPI) and/or the Xbox Live Services RESTful API.

2015 Multiplayer Design
The most obvious change implemented in the 2015 Multiplayer is that titles no longer need to access multiplayer functionality through game parties. Instead, they can now perform all multiplayer-related operations directly, using MPSD sessions. The following diagrams illustrate this change.

The XSAPI has been updated to enable titles to:
Advertise a user’s current activity and availability for joins.
Send invites to sessions, along with user-visible (title-specified) context strings.
Discover and join sessions.
Maintain web socket connections to the MPSD so that they can receive shoulder taps on session changes, and so that the MPSD can rapidly detect and act upon client disconnection.
Use Smart Match matchmaking.
Use service-to-service calls to access new MPSD functionality.

There are diagrams but I won't link them here. Game party is gone from the diagram. Also, looks like smart match wasn't working before?

One tinfoil hat idea. Halo MCC was running on the 2015 Multiplayer Preview which is why it has had sooooo many issues with matchmaking and parties. They likely built it off of the 2014 structure and followed the steps for the migration. It failed. They are now trying to use MCC as a live beta for why the migrations aren't working and why the system isn't working when live.

The SDK even lists common issues with migrating.
 

Bsigg12

Member
There are diagrams but I won't link them here. Game party is gone from the diagram. Also, looks like smart match wasn't working before?

One tinfoil hat idea. Halo MCC was running on the 2015 Multiplayer Preview which is why it has had sooooo many issues with matchmaking and parties. They likely built it off of the 2014 structure and followed the steps for the migration. It failed. They are now trying to use MCC as a live beta for why the migrations aren't working and why the system isn't working when live.

The SDK even lists common issues with migrating.

Your theory makes sense when you look at the problems MCC was having. Joining a party on the OS level usually resulted in nothing happening in MCC. Backing out of a playlist disbanded the party. It does seem like they were trying to run a mixture of the 2 versions and failed catastrophically.
 
Your theory makes sense when you look at the problems MCC was having. Joining a party on the OS level usually resulted in nothing happening in MCC. Backing out of a playlist disbanded the party. It does seem like they were trying to run a mixture of the 2 versions and failed catastrophically.

Yeah. I think they built it to run on 2014 then ran the migration to 2015 and ran off of the migrated version. The 2015 version wasn't ready for primetime and they didn't know it. This may be why Frankie said everyone is at fault. The issue runs from MS on down.

Multiplayer Improvements
The November Recovery adds Shell support for Multiplayer 2015 game invite, game roster, and join ability mechanics (note the API support for these shipped in the September and October XDKs). Multiplayer services have been updated to include Server-to-server shoulder tap support for session changes, Matchmaking Rules customization improvements, and MPSD now has improved integration with Thunderhead. For more information, see 2015 Multiplayer.

The ability to use 2015 was in there by the time MCC came out. The Preview also has a whole new matchmaking structure which is why even solo matchmaking didn't work for awhile They have improved that but the concept of Game Party is still messed up.

This is likely why MCC is taking so long to fix. They don't want to revert back to the 2014 Multiplayer for MCC to only convert it in the future. They thought it worked, but there were a bunch of issues.

Wouldn't be surprised to see the next XBO update have some fixes.
 
It's joined Cloud Powah in the sky.

Compute/Cloud Power is still there. There is a whole section of the SDK dedicated to it.

Xbox Live Compute (XLC) is a suite of server technologies that empowers game creators to deliver breakthrough online gaming experiences at epic scale. The primary goals and objectives of the platform are to:

Deliver lower-cost, on-demand, game-enhancing services for developers.
Extend the capabilities of gaming devices for improved game experiences.
Deliver optimal user experiences from one of 12 datacenters on 5 continents.
We provide these services because we believe that computing power and services in the cloud enable the creation of gaming experiences that simply could not be built if limited by the resources of a single device. Some examples of scenarios that are encouraged uses of Xbox Live Compute include:

Dedicated game servers
Larger game worlds
Larger player communities
More AI or NPCs in the environment
Larger, more detailed maps
Evolutionary AI
Learning, adaptive AI
Adapting, changing environments
This service is available for use on Xbox and non-Xbox platforms. Policies for use on Xbox One are discussed below. Usage on non-Xbox One platforms is available for purchase using a pay-as-you-go model with Microsoft Azure.

Another interesting tidbit. Looks like its free for XBO users and pay as you go for other platforms
 

JaggedSac

Member
I read the same thing. MS is doing away with the Party system in its current structure it looks like. I believe the Party system has caused matchmaking issues and they are migrating to this new system. Party app will still exist but only as a Chat Party which is different than Game Party. It apparently been a preview for developers for a little bit.



There are diagrams but I won't link them here. Game party is gone from the diagram. Also, looks like smart match wasn't working before?

One tinfoil hat idea. Halo MCC was running on the 2015 Multiplayer Preview which is why it has had sooooo many issues with matchmaking and parties. They likely built it off of the 2014 structure and followed the steps for the migration. It failed. They are now trying to use MCC as a live beta for why the migrations aren't working and why the system isn't working when live.

The SDK even lists common issues with migrating.

Very surprised this wasn't in there from the get go:
Maintain web socket connections to the MPSD so that they can receive shoulder taps on session changes, and so that the MPSD can rapidly detect and act upon client disconnection.


Compute/Cloud Power is still there. There is a whole section of the SDK dedicated to it.



Another interesting tidbit. Looks like its free for XBO users and pay as you go for other platforms

Wow, thought we had heard it wasn't free. Can you list us the policies it says are discussed below?
 

Wereroku

Member
Wow, thought we had heard it wasn't free. Can you list us the policies it says are discussed below?

We have it's not free but I bet it is a lot cheaper to use on Xbox One. They probably offer contracts that are a flat payment as opposed to pay as you go. This just says that other platforms have different payment plans.

I thought it was free "while developing" but the charges start once the game goes live. I wonder if that has changed.

I doubt it. I think that just means that XBO implementation of Azure computer has different payment options available versus other platforms only having a pay as you go model. We have dev confirmation that it is not free once it is released.
 
I thought it was free "while developing" but the charges start once the game goes live. I wonder if that has changed.

The language is really confusing around it. They say you can use the service without charge based on following certain policies and then the language gets confusing.

At one point they mention getting a discounted Enterprise agreement.

What is interesting is they lay out the number of expected cores needed for a player count and there is a 128+ section.
 

JaggedSac

Member
We have it's not free but I bet it is a lot cheaper to use on Xbox One. They probably offer contracts that are a flat payment as opposed to pay as you go. This just says that other platforms have different payment plans.



I doubt it. I think that just means that XBO implementation of Azure computer has different payment options available versus other platforms only having a pay as you go model. We have dev confirmation that it is not free once it is released.

It is free for 4 - 32 players:

On Xbox One, we provide Xbox Live Compute to developers/publishers who are already using Xbox Live services. The use of the service without charge is predicated upon following the policies mentioned below. We currently offer a dedicated amount of computation per game session based on the size of the session or player count. The following describes those policies.
 

JaggedSac

Member
Interesting stuff:

Xbox Live Compute-enabled games
Xbox Live Compute-enabled games have two major components. The first is the console game and the second is the Cloud Game which is game code that runs in the Windows Azure data center on dedicated servers.

Game flow for an Xbox Live Compute-enabled game starts with the game launching on the console, like a game that is not Xbox Live Compute enabled would launch. Then, the game will interact with the Multiplayer Session Directory (MPSD) and Matchmaking to create an MPSD session. Once created, the session is allocated to an Xbox Live Compute service game host. Console games then use Internet Protocol security (IPSec) to connect to the Xbox Live Compute service game host and play the game.

Enabling Xbox Live Compute in a game allows larger multiplayer matches and automatic allocation of Xbox Live Compute service game hosts to ensure only the required number of hosts exist at any time.

Restrictions enforced by the Xbox Live Compute SDK
The Xbox cloud platform has a set of restrictions it enforces on top of what a normal Windows Azure account affords a user:

Support of a singular worker role deployment
Platform allocates one worker role instance per session
Platform provides 20 TB of blob storage which is divided between storage of logs and session data
Additional Azure-based technologies are available for use, but not included in the Cloud Compute program
 

iceatcs

Junior Member
That's like streaming Smartphone games on PC.
This is nonsense and honestly it would be way more smart to allow Xone users to stream pc games to Xone for obvious reasons.

There is no reason that would limit to PC only. Like Windows Phone/tablet too, even maybe iOS/Android.
All about play your Xbox One anywhere.

There won't be all xbox one port to windows 10 rumour. MS want Xbox One system to sell.
 

JaggedSac

Member
This is pretty cool. Shows that apps can subscribe to real time game data if given permission. This must be how Twitch is doing the real time stuff with Halo game streams.

Real-Time Activity (RTA) Service

Example implementations they list.

Achievements progress app
Users are nearly always curious about their progress towards certain achievements, especially achievements that require performing an action a certain number of times. With real-time access to a user's statistics (which are aggregated in the Xbox Live Player Statistics service), you can present real-time progress for players and their friends towards achievements and milestones, on Xbox One or on a companion device, while the user is playing your title.

Game help app

As users navigate through your title, real-time access to data allows you to present game help either next to the experience on Xbox One or on any companion device. Users might come up to a new map, new track, or challenging boss fight, and your Game Help companion could display user-generated or developer-generated videos and text to help the user through the experience in your title.

Squad viewer app
In co-op multiplayer games, a player and his or her teammates work together for a shared goal. With so many players, it can be hard to keep track of the bigger picture. With access to real-time data, you could create a companion app that shows the high-level map and heat maps of where the action might be.

Statistics viewer
While it's typical to think of companion apps when thinking about RTA, you can also use RTA in your core title. For example, you can use RTA to provide a player of a multiplayer game with a display of everyone's current statistics within the game, perhaps by the player simply pressing the View button on the controller while in the multiplayer match.

Presence Viewer
When in a lobby, it's useful to have an up-to-date view of which friends are online and if they are playing the same title. You can subscribe to a user's friends' presence and show which friends are coming online, if they start playing your title, all in real-time.

Subscription privacy and authorization
The latest version of RTA includes checks for privacy and authorization/content isolation. As long as privacy and authorization checks are satisfied, your app can subscribe to any statistic that is marked as RTA-enabled. (For more information on how to make a statistic RTA-enabled, see How to: Make a Stat or State Information RTA-Enabled.) There are no limitations on the kinds of statistics that can be made RTA-enabled—it's up to you, the developer. However, there is a limit to the number of statistics that a user can subscribe to per app session. If a user reaches that limit, he or she will receive an error on the next subscription.
 
This whole document is fascinating. So much content.

Looks like they are going to push harder on the Smart Match and reputation concepts. Titles have direct access to the Reputation API and can file their own reports. Team Killing and Early Quitters can be detected by the Title and automatically reported if the developer pushes it.
 
Ah, interesting. I'll be curious to see what it substantially adds to the game, and it if means the game will require an always online connection, even for the SP stuff (assuming there's a SP option).

One developer on here mentioned that they are building two versions. One with internet and one without. Physics significantly cut back when internet is down.
 
Top Bottom