I'm not too sure where to begin! There is so much wrongness(tm) that it's almost overwhelming... LOL.
Now then, if you are suggesting that the client is informed of what has happened and then THE CLIENT processes the actual physics of the debris, then what you're referring to is exactly what I outlined in the point below (the correct way to implement this) and the cloud is NOT doing the physics processing - the client is.
Anyway, don't let my 30+ years of game programming experience deter your enthusiasm to reply with another load of uninformed nonsense! ;-)
Of course physics are frame critical! You can't just not process a piece of debris for a few frames while you wait for a new position to come back from a server somewhere!Strazdas said:Physics are not frame critical then. you can calculate physics for multiple secons ahead in current games. epecially when one physics effect does not do anything to the other (for example a splash of explosion does not effect physics of a building nearby it being a static model).
I'm not too sure what you're talking about - rendering isn't really relevant to this conversation.Strazdas said:The processing if powerful enough happens way bellow those marks though. for most renders anyway. (lets ignore consoles being stuck on ancient technology for a second). 33 MS is still enough for a render and a signal if the render is, say, happening in 15 MS, which on some machines do for almost all games. granted you need powerful machine to render everything at that speed, but if the machine only has to render 10% and another 10% is rendered by another machine it does the job much faster. well maybe i shoudl say calculate and not render since render is done locally anyway.
No, wrong again. Your scenario is that the cloud does all of the processing for the physics. That means an object's position cannot be updated until that position arrives from the cloud. Bearing in mind a 50ms round trip would be fantastically quick, there goes your frame rate.Strazdas said:and you need to do that once. and your fine for the whole particle effect to last multiple seconds. Yes it will cause a single freze of say 100ms once. But thats because our machines are not powerful enough yet to make it smaller. Or rather, they are but people dont get acess to.
Now then, if you are suggesting that the client is informed of what has happened and then THE CLIENT processes the actual physics of the debris, then what you're referring to is exactly what I outlined in the point below (the correct way to implement this) and the cloud is NOT doing the physics processing - the client is.
Even if you had an internet connection at the speed of light and you were just 1,000 miles from the server farm, the round trip from your computer to the server and back again would be roughly 10ms, and that's just a ping time. Add into that the processing on the server (let's say 10ms for the solver to process the world) as well as transmitting the actual packet data and your round trip is looking more like 20-22ms in absolutely perfect conditions with network traffic moving at the speed of light across ALL CONNECTIONS TO THE SERVER (remember how the internet works... you aren't connected directly to the server, so all paths that your traffic uses would need to be at the speed of light). Right there, just because of the round trip time, you cannot run at 60fps. Now consider the real world (most people are not within 1,000 miles of the server farm, connection speeds are much slower than that, the server has to wait for other people etc. etc.) and even you must conclude that anything close 30fps is impossible if all physics processing is done on the server.Strazdas said:Technically - yes. Practically the bandwitch of our cables in comaprisong to how much data is being transmited by online gameplay in current games would allow us much higher data amounts without extra delays.
Again, I'm not quite sure I follow the wording, but let me take a stab anyway... if all physics processing is done in the cloud, you will ALWAYS be at the mercy of the slowest connection. The solver cannot process the world until ALL client actions have been received. I can tell you don't know how physics solvers work, so let me put it like this. Imagine me asking you to solve this equation: what is 4+x? ... if the 'x' is a position coming from a client, you cannot solve that equation without the data from that client.Strazdas said:and that is why we have dedicated servers that does the calculations for us, so we wouldnt need to rely on the slowest machine. of course clouding would render that away which makes your point valid.
Anyway, don't let my 30+ years of game programming experience deter your enthusiasm to reply with another load of uninformed nonsense! ;-)