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