Internal developer documentation for the Xbox One appears to have leaked on the Internet—and after scanning through the files, it appears that there are some interesting things we can learn from it.
News of the Xbox One leak began to circulate online shortly before the new year, after the forum Se7ensins started a thread saying they'd received the November 2014 version of the Xbox One software development kit, or "SDK" for short, along with related documentation, from a hacking group that goes by the name notHALT.
There are two main takeaways from the SDK leak so far. First, while the console's development software being made available to the general public has sparked excitement among modders eager to break the Xbox One open and start a legitimate homebrew movement, it doesn't seem like that's going to happen just yet. Acquiring the SDK doesn't mean that anything has changed about the Xbox One's security measures, so aspiring modders still face the same anti-piracy measures they did before.
Se7ensins interviewed two members of its community who'd been messing around with the SDK at the end of last week, and came to the conclusion that "no one can really say for sure what usable things will come to fruition because of this leak." In other words, as Richard Leadbetter put it in a piece for Eurogamer, programmers might be able to take the leaked SDK and write code based off of it. But even if they do that, "they will have no target hardware to run it on without a comprehensive hack of the Xbox One console itself."
Secondly, the November 2014 SDK's documentation contains some interesting details about how Microsoft has reconfigured the Xbox One to give game developers a greater ability to configure the console's allotment of processing power than they'd previously had. Of particularly note, as that Eurogamer article observed, is the fact that developers can now access seven of the console's eight CPU cores.
For the less tech-savvy among us, a quick reminder: "CPU" is short for "central processing unit." It is not to be confused with a graphics processing unit, or GPU, which is the part of gaming consoles (or PCs!) that do most of the heavy-lifting for making things look nice and pretty. CPUs, in comparison, casts a wider net—managing countless different tasks at any given moment, telling the rest of the computer what to do, where to do it, and in what order. It's often referred by people like me (i.e., ones who only managed to build themselves a PC by the grace of god and many, many instruction manuals) as the "brain" of a computer as a result. When a piece of hardware like, say, a video game console has multiple CPUs working simultaneously to more efficiently manage the device's performance and energy expenditure, they're divided into separate CPU cores.
The PS4 and Xbox One both have eight CPU cores. Originally, both consoles reserved two of these for background operations—i.e., making sure the console's main operating system continued to run smoothly while you were playing a game. The Xbox One SDK leak reveals that Microsoft changed this back in October, allowing developers to devote 50 to 80 percent of the seventh CPU core's power to running their games instead.
Doing so requires a trade-off, however. The SDK's documents explain that when a developer uses the seventh CPU core, their game won't be able to use any custom voice or motion-based commands with the Kinect. General console-level commands like "Xbox Snap Achievements," or, "Xbox Record That" are still available if a Kinect is hooked up to the console, but using those commands limits the total amount of power available for a game. The document states:
Titles are always guaranteed at least 50% of the core and will have at most 80% of the core. The amount of the core that is available will vary based on what is happening in the system at any point in time. For example, when the system must process commands spoken by the user (e.g "Xbox Go To Friends"), it will take up to 50% of the 7th core. After the processing is done, the amount of the core made available to the title will increase again, up to the maximum of 80%.
It's impact on the actual game's performance is lessened by the fact that it's only one of now seven CPU cores putting in work, so going from 50 to 80% isn't necessarily a huge deal. One current problem the documentation acknowledges, however, is that games "currently don't receive any notification indicating that system tasks are about to run on the 7th core," meaning that developers have a hard time predicting how much of the CPU they'll actually be able to use at any given moment.
While the documents say that relevant notifications will be added at a later date, the extra CPU power therefore sounds like something that games will only truly start to capitalize on further down the road. The new SDK was only made available in October, after all—the holiday season's big games were only a few weeks away from being released at that point. Eurogamer suggested in its report that access to the seventh CPU core could explain "why a small amount of multi-platform titles released during Q4 2014 may have possessed performance advantages over their PS4 counterparts in certain scenarios."
After Microsoft began shipping Xbox One consoles without the Kinect last year, the company said that it was now able to give games access to 10% of the console's GPU power that had previously been reserved for the peripheral. The leaked documents show they're doing something similar with the Xbox One's CPU now.
How game developers take advantage of the extra power that's been afforded to them remains to be seen for the most part, as does the possibility of genuine console hacks from the would-be Xbox One homebrew community.
I reached out to Microsoft for comment about the leaked SDK and related documentation, and will update this story if I hear back.
UPDATE (12:50 am): I originally overstated the impact that changes in the amount of processing power in the 7th CPU core would have, saying "Going from 50 to 80% is a big jump in the extra juice available for a game." I've updated the post to amend this. I regret the error.