For example the "infinitely large simulation world" is an off-the-shelf system (or was the last time I looked https://hadean.com/) .
Sure, it might not work in production but that certainly is not a lie.
For example the "infinitely large simulation world" is an off-the-shelf system (or was the last time I looked https://hadean.com/) .
Sure, it might not work in production but that certainly is not a lie.
Spatial OS is more geographical. They have regions, and dynamic boundaries between them. If more players are in a region, the regions get smaller. Inter-region interactions are possible but slower.
Second Life has fixed-sized regions. Each region talks to its neighbors on four sides. The user's viewer talks to all the regions within visual range of the viewpoint. Assets are stored on AWS front-ended by Akamai. The servers are mostly single-thread per region, because the design is old. Crossing regions works most of the time, and since moving to AWS with faster networking, the delay is usually under 0.5 second. The whole system is sluggish but works reasonably well. (I'm writing a new client for it in safe Rust, using Vulkan and multiple threads. It's going well. The existing C++ client gets CPU bound on the main thread and can't keep the GPU busy.)
Yes, the Hadean Platform is a general distributed compute platform. But 'EVE: Aether Wars' used Aether Engine, our spatial simulation engine built on top of the platform (and works similarly to how you describe Spatial OS). Some updated numbers: more recently we've hit 2 million entities with a few hundred CCU.
In terms of cross-cell ('cell' being our region) interactions, entities moving between cells has been a single tick (at 15-30Hz depending on sim) in all simulations we've built so far - 'EVE: Aether Wars' did torpedo and player transitions, as well as torpedo target tracking across cells and torpedo-ship collisions. We also have a demo of cross-cell PhysX - this has some pretty strict requirements on inter-cell interaction latency.
Out of curiosity, what would you see as a litmus test for 'simulation with lots of cross-region interactivity'?
"Let us all join hands around the world".
No, that's too hard. Crowd scenes, basically. How big a crowd of players, reasonably close to each other although not in physical contact. Clubs, ground battles, etc.
We look at CCU alongside number of entities in the sim, since they're both axes of interest for customers - 2m+ entity scale is tricky, netcode at 10k+ player scale is tricky, we target both.
That said, I've found it interesting that people _generally_ want one or the other. Game companies like the idea of loads of entities/logic ('high fidelity'), but that ramps up cost per user - ultimately they just want more people in-game for cheaper. Whereas companies willing to put the money behind resources for high fidelity simulations, generally 'only' want a few hundred concurrent users.
Thanks for the thoughts on the scenario!
Improvement means more CPU cores per region, though, which increases cost. Especially since Linden Lab moved the sim servers to AWS, where you pay by CPU. Server cost is a big problem with this approach. Server cost scales with land area, not usage. Second Life land costs about US$175 per month for a 256 x 256 meter square.
I thought Improbable was going to crack this, but after the first three Spatial OS games shut down due to high hosting costs at Google, it looks like that's not it. Sominium Space is on Spatial OS, but their world isn't very big. If it was big, the NFT land scheme, which depends on scarcity, wouldn't work.
I want to see a Metaverse that looks like an AAA title. This is probably possible now but may not yet be cost-effective to operate. Linden Lab lacks the will, the staff, the management, the money, and enough understanding of their legacy code base. The really good people who built the thing all left years ago.
Linden Lab has a job opening for a VP of Engineering. The old one retired. If someone competent wants to go over there and kick them into forward motion, please go for it. Really. There's probably someone reading this who's qualified for the job.
Starting a new world of user-created content is hard because it takes years to acquire the creator base and for the culture to settle. So far, Roblox, Minecraft, and Second Life have achieved that. In each case it took over a decade. That's the hard problem. Upgrading the technology is easier than the decade of building a world.
(I'm looking at this from the outside, not as a Linden Lab employee. The Second Life client is open source, and after a few months of writing a replacement client in Rust, I have a reasonably good idea of what's required. There's a third party replacement for the server code, written in C#, so that's relatively well understood by others. The C++ code Linden Lab uses for their servers is still proprietary, but the protocols are not. Nor are the bug reports.)