Worlds Adrift: Could be this the way to go for Ember?

Jul 26, 2016
105
133
43
38
steamcommunity.com
#1
Worlds Adrift doesn't interest me so much. But man, the underlying tech sounds exciting!

Instead of one server with a game loop and geographical control over one area—a server which can't take a lot of load or handle interesting behaviour—we have a swarm of processors that live and die as and when they're needed. These orchestrate together without a game loop, without a central controller, to model and simulate a world, and it just scales, because you have a swarm of these things.

Now, instead of a single game engine you have thousands of these workers that are able to collaborate on the fly, in milliseconds, to congregate within a space in the gameworld, and do work that simulates the world. We're able to siphon off different things, like physics, AI, whatever, to things that are very good at doing that kind of work. Instead of a central authoritative loop, which is how games and simulations are traditionally made, think of it as a big swarm or orchestra of processors.
Taken from: http://www.pcgamer.com/a-probable-future-for-the-mmo-worlds-adrift-and-improbable-tech/

Also...

Imagine an area full of players where you have a server authority over these areas, in the traditional way. If a lot of players converge and there’s a lot of physics going on the server will not handle it, it will fall. That’s why MMOs traditionally don’t do physics. Now there is no area. When there is a lot of players converging [in one place] these processing units will say ‘bloody hell, there is 300 players shooting at one another, we need 300 physics engines to converge here and handle that between them’.
To me this looks just perfect for Ember. Of course, we still don't know the feasibility of such thing or if Mark would even think about it. But even then I still think is something worth of consideration.
 
Last edited:

Vladplaya

Commander
Em-8er Contributor
Jul 27, 2016
169
259
63
USA
#2
That does sound really cool, you diverged resources exactly to where you need them, when you need them, to whom needs them.
I think a lot of games already been doing something similar with having separate resources for AI, and other systems.

But even if they can successfully calculate physics for 300 payers in one area, they still would have to send all that the info about almost every player, their projectile trajectory and whatever else, to every single one of those 300 players (in extreme case where all of them can see each other). And I feel like that's where the bottleneck would happen. So much data needs to be processed, synched and then redistributed back and forth between so many parts... But hey, if those guys really figured out how to do something like that smoothly and efficiently, then power to them, I hope they will share their technology so more devs could make awesome games!
 

Grummz

$6k package
Community Manager
Ember Dev
Jul 25, 2016
808
6,719
93
#3
Distributing the simulation is one thing. The real issue is the cost. Its no good to throw more CPUs at it when every CPU costs you a lot of money to rent in the cloud. Also, the bandwidth issues are real. I've spoken to these guys (Improbable tech) and they could not tell me if it was cost efficient. Also, since they run a full copy of Unity of the servers, that itself is very inefficient. They let Unity do all the physics work. But a full stack of Unity on a server is a hog for what it needs to do. So again, more $$$.

What they've done to distribute simulations is good work, not downplaying that accomplishment. But without a way of doing it economically its a big business problem and threatens making your "nut" every month to keep game going as a commercially viable thing.

Also, we don't use Unity and they don't support Unreal.

Edit: Final note. You have to rent your servers from Improbable, currently...so what is their incentive to keep it cost efficient?
 
Last edited:
#4
That does sound really cool, you diverged resources exactly to where you need them, when you need them, to whom needs them.
I think a lot of games already been doing something similar with having separate resources for AI, and other systems.

But even if they can successfully calculate physics for 300 payers in one area, they still would have to send all that the info about almost every player, their projectile trajectory and whatever else, to every single one of those 300 players (in extreme case where all of them can see each other). And I feel like that's where the bottleneck would happen. So much data needs to be processed, synched and then redistributed back and forth between so many parts... But hey, if those guys really figured out how to do something like that smoothly and efficiently, then power to them, I hope they will share their technology so more devs could make awesome games!
Well... about the traffic problem: wasnt there an idea for another kind of traffic? that one where teh server sends that what he wants to send and a list to teh router of one player, and the router sends to data to the next router on the list till the last IP got its data...
but i guess it wouldnt work that easily...
 

Bl4ckhunter

Active Member
Jul 26, 2016
157
123
43
#6
Well... about the traffic problem: wasnt there an idea for another kind of traffic? that one where teh server sends that what he wants to send and a list to teh router of one player, and the router sends to data to the next router on the list till the last IP got its data...
but i guess it wouldnt work that easily...
In a perfect world where everyone's got toptip fiber cable, honest isps (do they even exist?) and updated, portforwarded modems that could maybe work, and even then there'd be a lot performance issues, the real world being what it is, with a lot of people getting the internet throught what is basically telegraph cable like me or even getting it through 3g providers it's a pipe dream at best.
 
Jul 27, 2016
412
472
63
#7
I always thought using a setup like bit-torrent would be neat. Only transferring bits of data to and from other players around you while logged in. Such as streaming textures or anything else that needs to load. It would be neat if each player could act as a processor to run the game or central server.
 
Likes: Fabricio21RJ
Aug 26, 2016
21
25
13
#8
I always thought using a setup like bit-torrent would be neat. Only transferring bits of data to and from other players around you while logged in. Such as streaming textures or anything else that needs to load. It would be neat if each player could act as a processor to run the game or central server.
That is how Warframe works to an extent, however the maps are limited to 8 people in the raids and 4 in normal but all the communication done in a map is done P2P.
 
Likes: Fabricio21RJ