Exploring Virtual Worlds, Part 2: Vircadia

One of the larger “domains” in Vircadia, a block of large building models

Vircadia was actually the third stop in my exploration of virtual worlds but I’m covering it in part two because, like Second Life, I think I’m moving on from this virtual world so it won’t likely need any more blog posts.

Vircadia is based on VR technology created by High Fidelity. I don’t know the full back story but apparently High Fidelity abandoned a project and open sourced the underlying code. Then several groups jumped on it and forked off two or three new projects. One of those was called Athena and was later renamed to Vircadia.

Vircadia seems to have a critical mass of enthusiastic developers. They’ve already got a good community going complete with code repos, build systems, and an alpha release of their code. I was able to download a working viewer for Fedora Linux and joined one of their development meetings.

Vircadia has some big differences compared to older virtual world projects like Second Life and OpenSimulator, some good and some bad. Good news first: as I said, Vircadia has amassed a community of very active developers who are cranking out new code fast. It’s also got a code base that relies on relatively modern graphics technology. Their alpha software is surprisingly stable and fast. When I popped in at their weekly developers meeting, I felt pretty welcome. Because it’s early in the project there are a lot of ways you can contribute as a new developer.

I immediately spotted a need for a small improvement to their build system so it could target CentOS and RHEL platforms. Within a few days, I had a patch and made a pull request on github. Within a week or so, after a few changes, my patch was incorporated and you can now build Vircadia on a CentOS or RHEL v8.x server. If Vircadia had ended up going in a direction that fit what I’m looking for, I could see easily fitting in to the developer community.

The Hub, where developers gather weekly in Vircadia

One thing about Vircadia is more of a mixed bag. Unlike other VR projects, Vircadia has put more of a focus on audio rather than texting for in-world communication. Their audio support sounds good, it works, and the avatar lip syncing looks good. I can see it being useful for meetings and educational projects but for just exploring and playing around in a virtual world, I’ve found I prefer doing it in peace and quiet with texting. So while I was really impressed by their audio support, I still prefer text as my primary communications method. But having both available is nice.

On to the bad news. Because Vircadia is new, a lot of things don’t work yet. There is little choice in an avatar. You pick one of several options and most of those are cartoon-like things. Only one is humanoid, a sort of generic looking, dark haired male. There’s not yet any way to customize your avatar to look more like yourself, no way to change the outfit, hair, skin color, eye color, etc. That means it can be tough to tell who you’re talking sometimes. A few developers have customized their avatar using 3D editing software like Blender. I’m sure this issue will be addressed eventually.

I also noticed a disconcerting tendency of the graphics software to periodically, and unexpectedly, remove things from the scene. Suddenly an avatar you’re talking to or a nearby building will just vanish. It usually comes back after 10 seconds or so.

One obvious, and only temporary I’m sure, downside is that because the software is so new, there’s really not much to see once you get a client and log in. There are a handful of “domains” to visit but most of those are run by the developers themselves for testing or dev meetings.

Speaking of “domains”, I found that bit of Vircadia’s terminology confusing. They refer to individual simulations as “domains”, a term that usually refers the naming scheme used on the Internet to identify naming spaces for hosts. In Vircadia, a “domain” is roughly analogous to a “region” in Second Life or OpenSimulator worlds. But because domains, in the Vircadia sense, are also servers with hostnames, each has a domain in the usual Internet DNS sense too, making it confusing to talk about because you can never be sure which meaning is being referred to.

Their reasoning for choosing different terminology makes sense but leads to my biggest problem with Vircadia. Second Life and OpenSimulator are trying to create virtual “worlds”. Each simulator represents a region of the larger world. Those worlds resemble a geographical space, like planet Earth. They are “places” with land, oceans, skies, a sun, a moon, gravity, wind and other recognizable features of the real world. I feel like that gives users a common point of reference when in those simulations.

Vircadia is going a different route. They see the “metaverse” more like a 3D version of the World Wide Web. Each simulator is not running a small portion of a larger geographical place that together forms a world. Instead each simulator is running an arbitrary 3D model that you can look at and move around in using an avatar. There’s no connection between that 3D model and another one running in some other simulator; no more than there is a connection between one website and another. They are just “domains” that you visit like websites. A more apt description of Vircadia might be “websites for viewing 3D models”.

By moving far away from a Vircadia model/domain, the wallpaper stands out

At first, I was fooled into thinking maybe there was an underlying “world” model that I was missing because some simulators include a sort of “desktop background” image for their 3D model that looks a bit like there’s some kind of virtual world’s geography stretching off into the distance. Sometimes an image of terrain with trees (see the image of the dev meeting earlier in this post). But if you zoom out far enough, it becomes apparent the background is just a wrapper around the local simulation and not a view of the larger world.

The “space” between simulations is a meaningless void of black and blue. You can end up there if the viewer fails to reach a desired “domain”, leaving you drifting in a sort of featureless hyperspace. To me, Vircadia finally seemed to be a shared viewer for 3D models more than anything else. To be fair, the idea of 3D websites is a popular one, perhaps as popular as the idea of creating virtual worlds. But I think it’s not where my interest lies. Vircadia is not the Metaverse of Snow Crash or the Oasis of Ready Player One.

The void in which Vircadia model/domains exist

Even though I think Vircadia isn’t for me, I’m still checking in on their developer community and following code releases. There is a lot of interesting technology and software that may prove useful in other areas. I highly recommend checking them out if it sounds like a project you’d be interested in. There’s a lot of activity and lot of opportunities to jump in and help out on a new open source project. Here are a couple of links to get you started:

Vircadia – main website
Vircadia Discord channel
Vircadia git repo

Exploring Virtual Worlds, Part 1: Second Life

Exploring a random castle I found in Second Life

After more than six months of being stuck at home because Covid-19, I began to miss seeing open spaces and even other people. Until it’s safe to do that sort of thing in real life again, I thought I’d explore the state of online virtual worlds. I remember taking a brief tour of Second Life many years ago and, of course, I’m familiar with the classic representations of virtual worlds in novels like Snow Crash, Neuromancer, and Ready Player One. Even though I’m not much of a gamer, I’m aware there are many MMOs out there like Eve and WoW. But I’m more interested in exploring a world, possibly building things in it, and tinkering with the software.

I thought a good start would be to revisit Second Life to see what’s changed in the last 10 years. I was surprised to find there were no immediately noticeable differences. It seemed pretty revolutionary when I saw it in 2007 but it may be on its way to becoming a dinosaur today. Still, it’s reasonably nice-looking and seemed to be the most expansive, most populated virtual world I looked it. Land area is up to 1,636 square kilometers. There are around 900,000 active users, up from 700,000 before Covid-19 (so I’m clearly not the only one who had this idea). For exploring and meeting people it’s probably good.

The Second Life software is a mix of proprietary and open source. While the protocols and viewer are open source, the servers are proprietary. That’s a problem for me because I like to participate and improve projects that I get involved with. Also, proprietary platforms often lead to proprietary mindsets in the users and that seems to be the case with Second Life.

It’s a highly proprietary world full people who want to sell you stuff. Everything you might want to do is going to cost you money. Want a piece of real estate to play with building things on? It’ll cost you. Want to customize your avatar to look a bit more (or less) like yourself? It’ll cost you. Want to play a game, sail a boat, race a car? It’ll cost you. For my casual exploration, I didn’t really want to spend a lot of dollars in the process. So I moved on after a couple of days. But I think Second Life makes a good reference point as the most well-known virtual world.

Standing on the roof of someone’s house to get a good selfie

The Second Life world is made up of square geographic segments called “regions”. Regions are joined together in the form of a large, rectangular grid. So the “world” is built on a sort of flat Earth model where the planet is a big, flat rectangle instead of a sphere. This is pretty much a super primitive version of the virtual world described in Neil Stephenson’s novel, Snow Crash. By default, everything is ocean but when you take over a region, you can make it anything you want: an island, a forest, mountains, a plain, an urban area, anything you want to design. This leads to interesting transitions if you’re exploring on foot as you walk through a forest and cross a perfectly straight boundary after which you’re in the middle of a downtown area. Since region owners can also control weather to an extent, you’ll run into contrasts you’d never see in real life. Snow covered, rolling hills will abruptly transition to rocky desert.

That’s me sitting on the bar stool with a beer watching the dancing

Many areas are almost devoid of other people but it’s easy to find crowds if you want to. Just look for bars and dance clubs. Second Lifers seem to enjoy dancing, and why not, it’s easy in a virtual world, no practice needed. Even I was able to dance better than I can in real life. Without a VR headset though, it begins to feel more like you’re just watching video game characters doing stuff rather than experiencing it yourself. Walking alone in some areas with first person view turned on, it was a little easier to get into the experience. Talking with other people is mostly done by text chat rather than voice, and that also breaks the feeling of a real experience.

The one thing in Second Life that did seem to be different than I remember from my decade old experience was the lack of creativity I saw. When it was new, everyone in Second Life seemed almost obsessive with the need for artistic experimentation. You’d see every kind of avatar you could imagine. Aliens, animals, robots, ghosts, even stranger things were common. There were weird and wonderful vehicles, landscapes, and events. Today things have settled down into a something a little less creative and more mundane.

Eventually, my desire to see the software behind things caught up with me and I moved on to other virtual worlds. The next two I looked at were OSgrid, a virtual world that relies on OpenSimulator, a free software/open source server, and Vircadia, an open source spin-off of software original developed by the High Fidelity VR company. I’ll take a look at one of those next time.