Xbox Live Compute: The Difference Engine
Why Microsoft's new Xbox One cloud initiative could change consoles forever
Not too long ago, Sony and Microsoft laid bare the engines of their eighth generation consoles. CPU clock speeds and DDR3 Ram numbers were bandied about, GHz were brought to bear, teraflops flaunted salaciously. When the dust eventually settled and the media guns lay relatively silent once more, a fairly predictable treaty was agreed upon: to all but the most technically minded of consumers, there's little to choose between the raw grunt of the two machines. The company supporting each machine has its priorities, its foibles and its USPs, and we're discounting Kinect and the first-party exclusives, but in the on-paper battle of boxes, you can expect much of a muchness.
Except now Microsoft's John Bruno is now telling me that those numbers aren't the full story, and it might not be unfeasible that they'll one day become almost completely irrelevant. Microsoft, owner of one of the largest and most powerful arrays of computational servers in the known universe, is putting it to use on Xbox Live.
Now, we've all heard promises about cloud processing and non-local computation. For a while, it seemed like it might be the future. Then it seemed like perhaps it might not. The public, burned by an experience which promised so much and delivered so little, returned to thinking of the cloud purely as a handy place to keep save games and MP3s. Now, says Bruno, that might all be about to change with advent of Xbox Live Compute, a service which "is specifically designed to enable game creators to utilize the scalable computing resources that Microsoft deploys within our regional datacenters, to enhance their game experiences beyond what is generally possible with the finite resources of a console."
What that means is not just convenience or multi-device access to content, but a significant extension of the power and scope which the Xbox One can offer developers and players. It means persistent worlds, improved AI, better rendering and dedicated servers for every multiplayer game on the platform. And it's all being offered to developers for free.
"Essentially what we did, about a year and a half ago, was sit down with a big group of game devs, some of whom have talked about their development on the platform," Bruno explains to me. He's the lead program manager of Xbox Live, a role which involves overseeing product direction as well as the engineering teams that build the Compute services.
"So really what the service is intended to do is to provide more of the infrastructure type services and deliver the on-demand compute features to developers"
"We really tried to understand how we could help them on the server side, we have this huge asset of lots of available computing power in the cloud. The intent was to build a platform which takes away a lot of the heavy lifting from server development. Things like scalability, things like peer distribution, things like being able to monitor and keep servers healthy: things that don't really do a lot for game development, but if we were to take that problem away from them and enable them to focus on building better games, think of the amazing things they'd be able to do with the additional compute power.
"So really what the service is intended to do is to provide more of the infrastructure type services and deliver the on-demand compute features to developers so that they can build that into their games from the outset. What we've seen, from a feature function benefit perspective, at least in v1.0, is that dedicated server multiplayer is a lot easier to build on Xbox One than it has been in previous years. So that was an obvious key benefit and there are a lot of key benefits to multiplayer gaming from that. We've also seen things like Forza, where they've done a lot with Drivatar and a lot of AI computations in the cloud. The cloud can just get smarter about the player and the game.
"One of the other things we've really been trying to push on is games as a service, we've seen this with other online games, but from a console view we saw it as a real opportunity to get games to be more adaptive, with more updates directly from the cloud. Building a game configuration in from the outset, so that game developers can tweak and tune the game without having to update the physical bits actually on the box.
"So again, building that sort of infrastructure to make those scenarios easier for developers was sort of our initial goal. We see a lot of opportunity in the future, there's a large number of things we're considering for the future, but right now we're obviously laser-focused on making it a really great launch."
That's an understandably fuzzy picture of the future, considering the program's nascent qualities, but will it sell to the customer? So far, the cloud seems to be cut from the same cloth as the clothes of the proverbial Emperor. It's everywhere, but doing relatively little of practical use. What actual difference is this going to make to players?
"From a computing perspective, server computing is evolving at a rapid rate," Bruno offers. "We expect that, over time, there'll be tons and tons more power that comes online from a server point of view. The physical box, with the chips in it that it has, well there's no easy way to upgrade that. So we do expect that over time we'll see more and more offloading of intensive CPU processing to the cloud.
"The physical box, with the chips in it that it has, well there's no easy way to upgrade that. So we do expect that over time we'll see more and more offloading of intensive CPU processing to the cloud"
"Now what that buys game developers is that, as you can imagine, they're going to make trade-offs in their game as to what they're going to use the local CPU for versus the remote CPU. We believe that there's going to be higher fidelity experiences over time, because of having that ability to offload those tasks that they often have to trade off with local resource. So we do expect higher fidelity games over time, we do expect that the cloud will just be better from a pure computing point of view."
Suspecting that this might not be specific enough for some, I try to nail Bruno down to a specific measure of the improvements we can expect. Is this going to be on the order of magnitude of a jump from 30fps to 60, for example, or the switch from SD to HD?
"That's not a question that's actually that easy for me to answer," he tells me, diplomatically. "Mostly because a lot of that depends on how the game is built. What I can tell you is what we've seen with some of our developers, in the case of someone like Respawn, is that adding that additional CPU resource for them in the cloud has made a huge difference in terms of what they can do locally on the box. So we're super excited about what we can do in the short term, but in the long term there's a lot of opportunities. Especially when you look at what our launch footprint looks like from a datacentre perspective and what that can grow to over a number of years."
Obviously, being an remote resource, utilising the Compute network is going to require a reliable, always-on internet connection. Last time Microsoft tried to introduce something along those lines, it ended in something of a backpeddle. What makes Bruno convinced that the announcement of Xbox Live Compute isn't going to result in a similar outcry?
"I think it comes down to a couple of things. One is that users who want to play multiplayer games are going to play them online. So for argument's sake we can assume that there's a connection there. The game itself can make the decision about what sort of experience it wants to deliver online vs. offline. I think that obviously there are some benefits to being online, and there are some benefits to being offline, but I generally think that it will be additive to users that are online."
It's a tricky proposition, and aiming the advantages at those who are already going to be permanently connected is a canny way to get around it. Bruno tells me that "at launch the experiences will be predominantly multiplayer," but there will be more to come on the single-player side in the future, if the developers decide to use it. For now, however, it's going to be the blockbuster multiplayer games like Titanfall and Forza 5 which are going to be the big beneficiaries.
"We've had Forza 5 working on it from day one," Bruno confirms. "We've had Titanfall working on it in the more recent months. I'd say Titanfall is definitely pushing on the additional computing resources, they're doing a good job of taking advantage of what's in the box and what's on the cloud. The Forza guys have done a really good job of providing a good multiplayer story as well as the AI technology for Drivatar in the cloud as well. So we've definitely had a great partnership from our development shops, both first and third party.
"I'd say Titanfall is definitely pushing on the additional computing resources, they're doing a good job of taking advantage of what's in the box and what's on the cloud"
"We are giving this resource away to them for free, so there is a huge incentive to utilise it on Xbox One as much as possible. I don't think that game developers of that magnitude, the Activisions and EAs, are going to put all their eggs into that basket. I think that any good service infrastructure is going to pick and choose the way that they architect the system in the way that's most beneficial to them. I think there'll be cases where developers will want services that the Compute isn't designed for, things like database services or CDNs, things that are going to provide different experiences that are unique to the way that they want to build the game.
"But I do think that will be advantages to the smaller game shops that had previously been spooked about getting into the server development because of the financial obstacle or the development obstacle there. That was one of the big intents, to take this barrier to entry of server development away and let these developers really explore what they could do with the cloud without having to worry about allocating financial resources or server developers to the problem.
"We've even heard stories where the developers have had that and wanted to shut down games and servers over time and that really does disrupt their communities. One of the big advantages of our service is that it's completely on demand, so that as games wax and wane in popularity so do the resources that get applied to it from Compute. Providing that elastic scale at a really beneficial cost price point is a big benefit to developers."
Giving those big-hitters new toys to play with might be a good thing for the end user who wants to while away endless hours in the worlds of Titanfall or Battlefield, but it doesn't do too much for Microsoft's reputation with the indies. Presumably there's not going to be much need to utilise Compute unless you're already stretching the Xbox One's internal organs, but is this extra dimension reserved only for major publishers, or can anyone get a piece of the action? At the bottom line, is the extent to which you can take advantage of Compute tied to success?
"Technically we have developer policies that we apply for any of our assets for Xbox Live, we don't make a lot of those public - but I should say the intent is to incentivise developers to do great things with the computing power but obviously not run away with it. So we have put some minimal guidance in place, we're trying to encourage this environment where developers can iterate and do more with the server and so we don't want to be limiting but at the same time we want to make sure there are some guardrails to keep cost somewhat under control."
So far, so free-market capitalism, but I feel we've not really reached the end of the list of potential gripes which consumers are going to raise. What about dropped connections, server side crashes, lost data and unavailable services? Bruno is surprisingly honest and pragmatic.
"We are giving this resource away to them for free, so there is a huge incentive to utilise it on Xbox One as much as possible"
"Well, there are always some risks associated with any internet connection, right? But we are trying to provide facilities to developers to help them mitigate those types of things. One of the great things about building on the server is that lost connections are something that the server can smartly detect and deal with from a state-saving perspective. We have also included this notion of storing a state for a game session, so a game that like similar to Minecraft, for example, with a number of players participating in a shared objective, that can be stored in the cloud in the event of disconnects.
"So we're trying to put as many tools in place as possible to give developers the power to address these matters, but obviously some of them are very difficult to overcome."
Potentially, then, this could be something the effect of which exponentially increases over time. If there's the power to turn the Xbox One into what is essentially a terminal, streaming content processed on a different continent, surely this is going to extend the lifecycle of the machine tremendously?
"I don't know that it's true or untrue," Bruno admits. "I guess at the end of the day we believe that the cloud is going to augment the Xbox One experience pretty well and it's obviously going to get better over time. Does that extend the life of the box? Potentially, I guess we're going to have to wait and see."