Opensim Tech Trivia Footnote 

The Opensim project owes its existence to a decision by Linden Labs (the creators of Second Life) to open-source their Viewer code to the community. This allowed for the eventual reverse engineering of the Simulator based off of the Viewer/Simulator protocol documentation.

Show thread

This post starts off a new mini-series of posts on the common elements of most Opensim Viewers.

Show thread

Longer thoughts on the Viewer and dev 

The current generation of Viewer is a great example of the perils of legacy code and legacy user expectations. There's more or less a full decade of iteration and cruft, and that's hard to scrub without a full redo. A new generation built on tech maintained by a larger open source community would allow for a fresh start and a new wave of experimentation.

Show thread

Longer thoughts on the Viewer and dev 

I'm covering the Viewer on the blog, and it's a topic that I've got mixed feelings on. Mostly due to the fact that the dependence on the current generation of Viewers is what keeps Opensim tied firmly to Second Life, and frankly it holds the whole system back.

It would be great to see a new generation of viewer implemented in an open-source engine like or . Ideally, both. The big question is one of resources and support.

In addition to Hello Hypergrid, I'm hoping to find time soon to start blogging more about how devs of pretty much any experience level can use Opensim to rapidly make multi-user immersive interactive applications.

For all of its quirks, one of the things I love about LSL (the in-world scripting language for Opensim/Second Life) is how right off the bat, every object is a state machine that can communicate asynchronously using a wide range of message types based on trust level.

I genuinely dislike being too busy to post new articles!

Follow up Opensim techinical factoid 

Opensim facilitates seamless user hand-off between Regions by maintaining remote "child" copies which mirror users activity in other Regions.

When a user crosses a Region boundary, the session data is passed to the destination Region simulator and the child copy is turned into a full copy.

This is also what allows a user in one Region to see what's happening in real-time in another Region.

Show thread

No new article tonight! Here's a backlong post about how Regions are joined together to make larger patches of virtual space

Technical factoid: Opensim uses random (v4) UUIDs for identifying pretty much everything. This has helped solve the problem of needing central coordination for addressing objects, and acts as a light form of content-based addressing, as every instance receives a new UUID "key".

Follow-up technical factoid: 256 m x 256m is a standard sizing inherited from Second Life. Variable-size Regions (varregions) are multiples of this base size and are quite common now in Opensim.

Some experiments have been done into creating smaller Regions (down to 16m x 16m).

Show thread

A follow-up technical factoid: The Opensimulator Project (server/simulator) is licensed as BSD while the vast majority of all Viewers (clients) are licensed GPL.

This is due to the Viewers being derivatives of Second Life's viewer code (release GPL), while Opensim was coded from the ground-up off of protocol specifications.

Show thread

Doesn't look like I'll be getting around to posting an article today, bummer!

factoid of the day: Opensim uses a streaming protocol to communicate the content which makes up a virtual environment. This is due to the fact the platform allows a radical degree of freedom to users to create and modify content that is live on the simulation.

The end user result is a world which is more or less immediately malleable, but can sometimes load in piecemeal based on what content is streamed first.

Show older

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.