By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Machiavellian said:


@Bolded:  You are correct, this is the reason that MS built the Orleans platform to solve exactly what you just mentioned.  For a distributed cloud computer platform, you need a way to monitor, distribute and process pieces of code.  Its not a simple process and highly complex.  I have done something very similar but on a much smaller scale.  This is the reason why I keep telling people that its not so simple that Sony or Nnintendo can just do the same thing. The software and hardware takes years to develop.  One of the key things that Azure does that helps is its capability to spin up a server anywhere in the world to perform this type of work.  Resources can be added or removed in seconds which is why this is something that MS can do because of the money they have spent with the Azure platform.

@Second Bolded:  This is correct but then incorrect.  People do not know how Azure works.  Azure only spins up virtual servers.  The software that runs the Azure platform is very complex.  All resources within the Azure platform are controlled by software.  The reason for this setup is that if any of the actual physical hardware goes down, the customer will see absolutly no downtime.  You can actually pull the plug on a rack of servers where a customer software is running and they probably would barely see a blip.  Depending on your service agreement, you can an instance of your software running on multiple servers and datacenters around the world.  This is the reason MS can state 100% uptime for hosting companies software on Azure.

EDIT:  I forgot to mention that when people say that "its only a virtual server", you have to realize that Azure uses the same tech as the hypervisor within the X1.  The virtual servers are not the same as you running virtual PC or Citrix on your desktop.  The hypervisor are very thin allowing the virtual server to gainbare metal access to local resources on par as if you were running it directly on the server.  People should read up on hypervisors its pretty interesting tech.  I believe VMWare still have the best but MS Hyper V has come a long was and is a solid competitor.

For that cloud system you are talking about, you could do that using Azure.  The key issues you talk about would be corrected by Azure to instantly spin up a server at a datacenter local to your location.

I agree that Orleans is not setup for graphics work so it would not be used to make a game look better.  The way that the game would look better is if the hardware resources are freed up from other task so that it can concentrate on the immediate things the user is doing.  Think of how ingame non interactive movies look so much better than the actually gameplay.  All the resources are set to render the assets without having to deal with other aspects of a game that is processed behind the scenes.

The automatic load balancing is impressive, but that doesn't take away that there is not 1 real server available per xbox one. The real test comes when a few million players fire up their pre-downloaded game at launch time. Ofcourse the bigger the network, the greater the total resources to absord peak demand. Other apps may be a bit less responsive, but you're right that the usual can't get a multiplayer game going on launch day should be far less of a problem.

At bolded, it's not a simple case of freeing up CPU resources will help GPU rendering. It's true that the CPU can help out the GPU but it's difficult to make that work well, especially when using an unreliable resource. See how long it took for the Cell to be used efficiently to help out the GPU, and that was a reliable, always available resource, not one that might have to be given back for other tasks at a moments notice. Plus it's far from a 1:1 advantage when enlisting the cpu for gpu tasks. You'll get better results optimizing local code between the 6 available cpus instead of enlisting the cloud.

For non interactive movies, that has very little to do with the game code not having to process the user interaction. The optimizations come from the known camera path which allows a lot of things to be precalculated, together with precisely balancing what is in view. And still many games actually suffer the most frame rate problems and texture pop in during cut scenes when trying to make them look better.

Anyway the bandwidth limitation is the same for CPU tasks, what can you do that really helps out, fits within 1.5 mbps, and is not latency dependent. Crowd AI might work. All the NPC's that you're not directly interacting with can be controlled by the cloud. The cloud can update their paths and actions a few frames in advance while the local machine briefly takes over the AI of any NPC that comes into contact with the player. It would be a nightmare to program it well, use a lot of resources on the server, and look pretty bad during internet hickups.. For example all characters suddenly continuing in straight lines, freezing or disappearing. Plus the local machine still has to render all the extra characters, actually creating more work. See MAG, dedicated servers for 256 players, basically the equivalent of doing all the AI in the cloud. Doesn't mean the game can look better.