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

Well that's not entirely true :) yes the bulk of the code work would be done for whatever you are writing (communicating with servers, authentication), but this still has to fit into the game, not take up too many ms, and work with other systems. Each game will have their own strengths and weaknesses. Actually it's not that difficult to get something working with an online server, its making it work with all other systems within your game and making it improve your game - thats where the cost/time and issues really create problems.

If you were making a game say it was Forza, and you wrote the game to do weather simulation online, if you made Forza 2, it is true that would be slightly easier as its probably using a similar structure and engine as before. If you decided to make a totally different game, all bets are off. It's like starting again.. and theres no guarentee that you would still have a benefit from it once you had got into development of that other game.

It's really difficult juggling all these things... developers dont want the hassle. They have many other priorities and I dont think this will be one of them. I dont see many 1st party using it in the way it's being sold. For example Sunset Overdrive is using it for Matchmaking, which is sensible, but that's not making the actual single player element any better. So as i said, you will see it for MP/MMO benefits and not really in SP games. That's not to say its not a benefit, but not in the way that it's currently being sold.

One thing this developer states is how they are using the cloud.  If you notice none of it really rely on ms it takes to talk to the server.  All the things listed are global effects which can be process async and not dependent on what the client is current is doing.  I agree if the developers are going to use the cloud for anything reliant on the client performing an action and then processed by the cloud would mean that your connect to the server must have a low ping, low packets (sending binary helps).

On your second paragraph, most of your code you would reuse.  Here is the thing, if you are processing some type of physics operation, the code does not change when run on the server compared locally especially if the CPUs are x86.  Its the same code run server side as its running client side, the difference is your pipeline.  The code that switches between one or the other dependent on whatever triggers used for the switch.  That’s the part that’s a pain in the ass.  Once you write that code then you just write the physics part once and reuse it either server or client side.

 

One way to help with juggling this type of code is the Orleans platform MS created just for this type of scenarios.  MS actually has thought about the complexity of doing cloud based processing and spent 3 years getting that Orleans platform up to make this process much easier.