Well, I can't talk about implementation details of course.
I came here more like a Techreport reader, not to spam with Cloudgine products.
But since I'm always reading TR, why not post something about it...
Also, I'm not sure what can I share or not as Cloudgine engineer.
But to try and answer some of your questions with a big picture:
- The client is still a normal client. It only cares that it connects to a game server.
- Instead of the game server doing everything like in other games, such has doing the gameplay logic, physics, etc, it distributes the physics step to physics-only servers
- The physics are not faked. They are true rigid bodies. You can interact with them. That's why you can throw them at the enemy to cause damage for example.
Why have noone done this yet? hmmm... I'd say because there were a couple of nasty problems to solve
Also, it requires a bit of a mindset change from the developer's perspective.
Most game developers are used to have all the data right there when coding the game server.
E.g: Need a raycast? Sure, just call some function and do it right now.
With distributed physics, you require a different mindset.
Of course some engines allow asynchronous raycasts (Unreal does), so some people have an easier way adapting to this mindset.
But the raycast was just an example.
I'll refrain myself from talking too much as a Cloudgine guy.
Maybe should have posted with a different account.
Edit: Feel free to join the chat and nag Scott (our producer) with questions. He'll do his best to answer. Answer what he can disclose, of course