If we look at a typical game's requirements of its processors, we can look for opportunities to utilise the cloud. A typical game engine cycle consists of:
Game physics (update models)
Triangle setup and optimisation
Tessellation
Texturing
Shading
Various render passes
Lighting calculations
Post effects
Immediate AI
Ambient (world) AI
Immediate physics (shots, collisions)
Ambient physics
Of these, only the ambient background tasks and some forms of lighting stand out as candidates for remote processing.
Lighting has been named as a possibility for cloud processing by Microsoft. Lighting has a history of pre-calculation, creating fixed data that is stored on disc and loaded into the game. Early use of this concept was "pre-baked" lightmaps, effectively creating textures with the lighting fixed in placed, which could look fairly realistic but was static and only worked with non-interactive environments. Advances like pre-computed radiance transfer (PRT) have made pre-calculated lighting more dynamic, and the current state-of-the-art is Unreal Engine's Lightmass featured in the next-gen Unreal Engine 4. This pre-computes light volumes instead of the real-time calculations of Epic's former SVOGI technology which was deemed too computationally expensive. Although the cloud could not run SVOGI type dynamic lighting due to latency and bandwidth limits, it does offer the possibility of 'pre-calculating' lighting data for dynamic scenes.
Things like time-of-day can be uploaded to the server, and the relevant rendered lighting for the local area sent back over a few minutes. This data will be saved to HDD and retrieved as the player walks around. Delays in updating such subtle changes won't be apparent, so the problem is highly latency tolerant. Dynamic lights like muzzle flashes cannot be handled this way so the developers would still need to include real-time lighting solutions, but advanced lighting is one area the cloud could definitely contribute.
However, improvements in local rendering power and techniques have made real-time global illumination - realistic without the artifacts and limitations of prebaked lighting - a real possibility without needing servers. Crytek's cascaded light propagation volumes were shown running on a GTX 285 in 2009 and was extremely impressive. A future Battlefield game with destructible environments is going to want an immediate lighting solution as opposed to shadows and lighting updating a few seconds after every change.
"Although the cloud could not run real-time global illumination due to latency and bandwidth limits, it does offer the possibility of 'pre-calculating' lighting data for dynamic scenes."
The notion of off-loading lighting to the cloud has some advantages, but real-time solutions - such as Crytek's cascaded light propogation tech - suggest that next-gen hardware will be capable of doing these calculations locally. Further, cloud-based lighting wouldn't be so good with games with environmental destruction - updates would lag noticeably in non-static environments.
Another known possibility for cloud computing is AI, not for direct interactions such as determining if an NPC should duck or shoot, but for background AI in living worlds like Grand Theft Auto and Elder Scrolls. The complexity of these games has always been limited to the console's resources, and AI has often been very limited to simple behaviour routines. Cloud computing could run world simulation and just update the player's local world over time, allowing the world to live and respond to player actions. Such complex game worlds could be a significant advance, but they are also constrained to a limited set of game types. Games like Xbox 360's flagships Gears of War and Forza Motorsport have little need for smart NPC AI of this kind.
So what other options are there for cloud computing? In this regard, perhaps it's a bit disconcerting that Microsoft seems stuck for ideas. In the Xbox One architecture panel, Boyd Multerer, director of development, had this to say: "You can start to have bigger worlds. You can start to have lots of players together, but you can also maybe take some of the things that are normally done locally, push them out, and... you know, this generation is about embracing change and growth while still maintaining the predictability the game developer needs."
Marc Whitten, chief product officer, said in a post-event interview: "We can take advantage of that cloud power to create experiences and really pair with the power of the box. So game creators can use raw cloud computation to create bigger multiplayer matches or bigger worlds, more physics, all those things. I think you're going to see unparalleled creativity when you match that power of the new Xbox Live with the power of the new Xbox."
Neither is presenting a clear vision for cloud compute opportunities, while both mention increased numbers of players. We also have recognition of the importance of the local hardware. Nick Baker, console architect, commented on the usefulness of AMD's multitasking GCN architecture, telling us, "The GPU as well is multitasking so you can run several rendering and compute threads so all of the cloud effects and AI and collision detection on the GPU in parallel while you're doing the rendering..."
That's something of a mixed message, although Microsoft does say it is treading new ground here, paving the way into new territory, so it behoves them to provide conventional solutions for games. If we attempt a little more creative thinking than Microsoft, there are a couple of options for the cloud that the firm doesn't seem to have hit upon. Procedural content creation, a big buzz-phrase waved around at the start of this generation but which never got anywhere, could be performed online to generate textures and models, filling a city with varied people and buildings.
"Allegorithmic's Substance Engine creates