3 ms·
Here's my open source metaverse, which unlike Croquet has an open-source server as well: https://github.com/glaretechnologies/substrata https://github.com/glare
by Ono-Sendai 3y ago
Here's my open source metaverse, which unlike Croquet has an open-source server as well: https://github.com/glaretechnologies/substrata https://github.com/glaretechnologies/substrata
It's out there live, you can visit the world right now via https://substrata.info/ https://substrata.info/
It can do networked physics, see https://youtu.be/_rECxiwVteY https://youtu.be/_rECxiwVteY, https://youtu.be/CzGz6voUE_8 https://youtu.be/CzGz6voUE_8 etc.
- celdon25 3y agoIs there a detailed (text) explanation of the networked physics concept somewhere?
- Ono-Sendai 3y agoHave a look at https://github.com/glaretechnologies/substrata/blob/ef48de336aa1d721b4138adb51dd11edfb7a03c0/docs/networked%20physics.txt https://github.com/glaretechnologies/substrata/blob/ef48de33... for some (incomplete) notes.
- codefrau 3y agoIn Croquet that simply falls out of synchronizing computation itself, rather than just state. Since all machines receive the exact same inputs, their physics engines arrive at the exact same results without any need to cooperate.
- beeman 3y agoThis looks really nice! I can't seem to find a LICENSE file in the repo though, would you mind sharing what license it uses?
- Animats 3y agoThere's a comment on the web site that they plan to make it open source someday. That's a very impressive system. I want to find out how they do scaling.
- Ono-Sendai 3y agoHi John, Substrata is already open source (well, 99% open source): https://github.com/glaretechnologies/substrata https://github.com/glaretechnologies/substrata As far as scaling goes, fancy scaling solutions are currently in the 'future-problems' basket. Currently Substrata just uses a naive client-server solution with O(n^2) messaging where n is the number of connected clients - e.g. each message from a client is sent to all other clients. I'm relying on the performance of C++ to manage despite this. I've tested with a few hundred concurrent clients. Cheers, Nick
- Animats 3y agoPick two: 1. Big seamless world 2. High detail 3. Fast response You can get any two of those easily. All three, and you're into a big data wrangling problem. Since I'm working on a high performance client for Second Life/Open Simulator, I have to face all three, and am interested in systems that address all of those. 2) and 3) are the usual case for games - there's a big content download, and then you go. Such systems inevitably have a "Loading..." screen, or screens. Decentraland is 1) and 3); it's a big world, but not much detail. (Each parcel in Decentraland has only 20,000 triangles.) Second Life is 1) and 2) - big, detailed world, big performance problems. There are some voxel based systems which manage all three, sort of. They have their own problems. Improbable's system seems to work, but it cost US$400 million to develop and takes huge server resources to run, so the only real customers have been for special events and military training. The five indy games that tried to use it all went broke. (Worlds Adrift was pretty good, too.) Croquet seems to be a 2) and 3) system.
- Ono-Sendai 3y agoI think Substrata delivers on all of those things, although it could be faster to download the initial data with a CDN.
- Ono-Sendai 3y agoHi, thanks! I have added a licence file to it (MIT licence).