4 ms·
Nearly all real time games do something similar (though in the past I’ve skipped stuff like message packing). I’m definitely interested in digging through this
by a_t48 9y ago
Nearly all real time games do something similar (though in the past I’ve skipped stuff like message packing). I’m definitely interested in digging through this to see what they’ve done differently. Is there anything unique about SL’s reliable UDP implementation? I don’t believe the same system was carried over for Sansar.
- Animats 9y agoSL uses the same transport protocol between servers and between server and client. SL's virtual world is divided into regions 256 meters on a side. Each region is managed by a separate process. Movement of avatars and vehicles across region boundaries does not work very well, because there are delays and race conditions. It's supposed to be a consistent-eventually system; the world doesn't stop just because of inter-region movement. So there's temporary inconsistency, resolved correctly most of the time. It's rather ad-hoc; this is 1990s technology. Also, the client is over-involved in region crossing. The client isn't trusted, but it's involved in the handoff of avatar control from one region to another. This was probably a design mistake - the communications rerouting and virtual object movement should have been separate. Almost everybody else evaded that problem. Sansar has bigger regions (up to 4km on a side, but usually much smaller) and no region crossing at all. It's a simpler client/server architecture. None of the major successors to SL (High Fidelity, Sansar, SineSpace) offer a full connected virtual world. They're more about "experiences" - go in, visit pre-built world, leave. This simplifies their scaling problem. Second Life is an alternate universe to the World Wide Web. There's much the same functionality - chat, voice, graphics, text - but the approach is completely different. The web is mostly stateless. SL is all about state. Everything is persistent, including the state of executing scripts. So most of the tricks used to scale web applications don't work.
- a_t48 9y agoThere were certainly decisions made with Sansar to avoid messiness that happened in SL. (You might say the entire existence of Sansar....) Improbable supposedly offers large large multiserver regions but I don’t know if there is any user generated content platform built on top of it.