While I have been a member of both the SecondLife and OpenSimulator platforms for some time, let’s say, 16 years on Second Life, and 1 good year on OpenSimulator, it did not actually hit me that the Metaverse was already here with us until Meta’s Mark Zuckerberg wanted to create his own branded “Metaverse” to rule them all.

There was talk about Second Life briefly being the answer to the metaverse, but in reality, it does not tick all the boxes (think proprietary, centralized)

And then, I found the Fediverse, and learned about the Indieweb and Small Web movements, and it became much clearer to me.

Featured Image
The landing area of OSGrid, part of the Metaverse!

OpenSimulator, the Metaverse

So, why do I consider OpenSimulator to tick all the boxes when it comes to being more along the lines of what the metaverse should truly be?

After being a member of the Fediverse for a few months now and learning about decentralization and enshittification and all those fancy words, I came to realise that the OpenSimulator platform, which seems from the outside to be just a clone of SecondLife, is actually the complete opposite.

Firstly, it is Free and Open Source Software (FOSS), and secondly, and most importantly, it is completely decentralized. Allowing people to create their worlds (think, rooms) and connect them to existing grids (think, servers).

So, not only can you host your own worlds on an existing grid and create an account and personal identity on that grid (or server), but you also have the ability to do it yourself, host your own grid with as many worlds as you wish, and connect it to what is known as the Hypergrid, and still be interconnected between all the different worlds, grids and so forth.

Another way to look at it is:

  • Region = World, or, Planet
  • Grid = Server, or, Universe

You can add a planet to someone else’s universe, or you can create your own universe with your own rules and connect it, or not, to the Metaverse, or, Multiverse, officially known as the Hypergrid.

And it will always be there, no matter what happens to the rest of the universes (grids) out there.

What did I do?

I decided to host my own Region (or World) and connect it to the Grid (Universe) known as OSGrid which allows registered users to connect their own regions to their grid, at no cost (besides of course your own hosting costs).

This means, I used an existing avatar account to make the owner of my region and self-host it!

By default, region sizes are setup in the OpenSimulator configuration as 256x256 meters (which is also the size of regions on Second Life). It’s actually possible to run much larger region sizes, or to host multiple regions together and place them next to each other to suits your needs.

In my case, I am running a single region, the size of 4x4 (16) regions. Basically, 1024x1024m in land size, and I can do whatever I like with it.

It’s currently bare though, and here’s a screenshot of it in its current state.

A virtual environment screenshot shows an avatar standing on a platform with boxes scattered nearby, overlooking a landscape and ocean in the distance.
A screenshot of my region on the OSGrid. Nothing much to see yet!

What am I working on?

I want to build a world based off of 28 Years Later. If you haven’t seen the trailer yet, I highly recommend that you do.

I love the idea of having a city which is going through a Zombie Apocalypse and the player having to fight their way through an infested city by smacking zombie NPCs and gathering resources, until they come across a stranded island that appears to be a safe-haven.

A small, lush island surrounded by a vast expanse of ocean is visible through the gaps in the clouds.
Source: A screenshot taken of the safe island and village from the 28 Years Later trailer.

This safe-haven will be a village with roles for people to take on and to live their merry lives on. Roles might include things like farmers, smiths, carpenters and hunters. Hunters would go out back into the city, looking for valuable resources, such as metals, more foods, ammunition and medicines.

A display featuring hand-drawn images and a sign reading
Source: A screenshot taken of some of the available community roles from the 28 Years Later trailer.

A fun survival style game.

How do you accomplish that on the Metaverse? Are you able to code?

Yes, you can code on the Metaverse!

Not only can you build your world with 3d mesh models and materials, in my case, assets I purchased from the Unity Asset Store and converted them into usable formats using blender; but you can code anything your heart desires in OpenSimulator (and yes, in Second Life too).

Both OpenSimulator and Second Life have their own scripting languages.

Second Life uses the Linden Scripting Language (LSL) and OpenSimulator has a highly expanded, yet similar language known as OpenSimulator Scripting Language (OSSL).

Here’s a snippet of code so you can see how easy it is:

default {
    touch_start(integer num) {
        key player = llDetectedKey(0); // Get the avatar's key
        string playerName = llDetectedName(0); // Get the avatar's name

        // Send registration request to the data server
        llRegionSay(12345, "Register|" + (string)player + "|" + playerName);

        // Notify the player directly
        llSay(0, "Registration request sent, " + playerName + ".");
    }
}

You can view more of my source that I have been working on within my GitHub Repository!

This is just a registration board that players can click on to register their avatar as a player in the system I am working on, but there’s way more to do - such as having a HUD and floating text above avatars that tracks the players current survival stats, such as Health, Stamina, Hunger, Thirst and Infection as well as a multitude of other things, such as Inventory slots, Coins/Money and so forth.

How does one visit?

To visit places on the OpenSimulator metaverse, you need a virtual world viewer. And you need the version that allows connection to multiple grids and not just the default Second Life proprietary grid.

The best browser currently is the Firestorm viewer.

You will need the OpenSimulator version which you can grab from here: https://www.firestormviewer.org/os-operating-system/

There is support for Windows, Mac and Linux versions. I am using Linux and it works fine.

You can visit my land and come say hello when I am there, by adding the OSGrid option to your logins (by clicking on “Click to add more grids”, creating an account through the browsers “Create an Account” link and logging in.

Once you are in, open your world map in the view and search for “counterearth”. I will probably rename the region later to something that matches the RP game I wish to make and update this article when that is done.

A virtual map interface is displayed on a digital platform with various navigation and search options, showing an avatar's location.
Source: Screenshot of the world map open with counterearth in the search field to find my region for visiting!

Conclusion

Unfortunately, there is not much to see in my world currently, but I endeavour to post more updates on my proceedings and discuss the scripts I have come up with in further articles - so be sure to add this RSS to your reader to keep getting updates on my posts!

I hope that this has also inspired you into looking into the Metaverse and seeing how you could contribute with your coding knowledge to make the experience better for everyone out there! I believe the GitHub repository for OpenSimulator can be found here: https://github.com/opensim/opensim and is coded in the C# language.

Have fun all!