Glenn's (virtual) reality.

I do a bit of virtual-realty dabbling. Nothing fancy!

The Endless Desert

Note: The Endless Desert can be found in the Places app (bottom utility bar in the Overte Interface program) on the Elsewhere server. I am presently moving it from my home test server to a proper data-center-based server, so a lot of the stuff below may not have been re-implemented at the new address yet, as I am taking the opportunity to re-structure things a bit more neatly.

This is a relatively simple virtual world that presently serves as my personal virtual space, primarily for testing ideas and self-training. It is resource-light and I normally restrict it to no more than 6 simultaneous visitors (plus a reserved slot for myself) as it is running on a fairly light-weight server. Expect instability and frequent breakage! (from me fiddling with the content: Overte itself is stable enough). Also, even with a careful eye on data sizes, it can be a little slow to load - I'm in Australia, with its notoriously less-than-ideal international link speeds, if you are accessing from elsewhere in the world.

Please note that the below images are not representative of Overte's visual capabilities. Due to self-imposed resource constraints, as well as a personal aesthetic preference, my worlds tend to be very blocky, use very low-resolution textures, and not a lot of visual effects. Overte can do a lot more! And more!

Server instability warning sign (in-world)

The Endless Desert is a nice big open space with low polygon count. Overte gives you up to around 16km3 of usable volume in a world. You can go far beyond this, but the foibles of floating-point maths start to intefere with graphics beyond the 8km-from-origin range. My ground mesh actually extends out to around 10km, but everything beyond 2km out is not intended to be visited, just low-poly mesh to be viewed from afar.

The default entry point is a vaguely ancient-temple-like structure, with a circle of stone plinths on top, most of which contain iconified buttons which provide short-cut teleports to places-of-interest out in the desert.

Endless Desert entry pad

Remember: Hexagons are the Bestagons! ... serously, the way they break into triangles can make for really efficient and decent-looking 3D meshes, particularly terrain!

Endless Desert entry pad

Through a square opening on one side, there is a chamber inside the temple, mainly so anyone accidentally teleporting to coordinates (0,0,0) doesn't end up inside solid rock! If you find youself down there, just go up towards the light. Or go down deeper into a small dark maze under the temple. I have more-than-once become lost down there myself, and I built the thing!

The Boulder Field

As mentioned, from the roof you can teleport to various points-of-interest in the desert. For example, the above button will (should!) take you to the boulder field:

The Boulder Field

You can walk out to these places too, in the general direction the button faces, though they are around 1.4km off and not aways easy to make out on the horizon.

There is a half-boulder balanced on one of the boulders. If you get up on top, it should (assuming my dodgy scripting hasn't broken) wobble about if you jump up and down on it. My first attempt at in-world scripting, in JavaScript ... ewwww!

Return-home buttons.

There are also buttons to teleport back to the central teleport pad in most locations (any places that lack them will instead have teleports to other places that do have ones back). If you get really lost, you can also just manually teleport back to coordinates (0,0,0) or (0,13,0) if you don't want to arrive in a spooky dark chamber under the temple!

Obligatory shopping trolley

A remote location isn't complete without an abandoned shopping trolley! It is out there somewhere. I closed my eyes and random-walked about for 5 minutes before dropping it, then teleported home, so even I don't know where it is!

Endless Desert entry pad

Also, you might see a big cone over some parts of the desert. These are in-world 'bookmarks' I sometimes create so I can quickly get around to new locations when I am installing/testing them, before the official teleport buttons are set up and activated. The one over the central platform is actually a teleporter too, and you can click on it (even from km away!) and be teleported back to the starting platform.


Library Building

Not teleportable, but within an easy 180m walk from the hub, is a small library structure.

Reading a Book

Each of the columns contains a 'book' in the form of an embedded web element pointed at one of my fictional works. You can also copy-paste the URL from the top of any of these pages to read in a regular browser outside of VR (which may be easier on the eyes!)

At time of writing this, I had one short story and one 4/5th-complete novelette installed. There is room for 6 works, but that is presently twice as many as I have written or in-process right now. If I ever exceed this number, I can just use an index-page to allow multiple works per column... or increase the number of columns, I guess - the painted artwork that inspired this model actually had 7 of them).


Other locations present (or partially present, or gone!)

The Sink-hole, is a small oasis in the desert. It is primarily where my avatar 'lives' in this world.

Teleport button with a palm-tree embossed on it. Sink-hole oasis in the desert.

I plan to add more greenery, a cave, a voxel-sandpit, a big-screen-TV, and various other comforts over time.


Crashed spaceship, currently only the outer shell is present in world as I am completely reconceptualising and rebuilding the models, this structure will eventually contain cargo crates that will dispense some of my 3D assets used in the world, for visitors to keep and use in their own worlds (I am quite big on developing my own assets, rather than using others' IP, though my own skils in this area are a bit basic, so my aesthetic follows that).

A big rectangualr spaceship in space.

Here is the space-ship model from the outside (the easy bit). I pasted it over a generic starfield background.

A half-burried spaceship wreck.

The older version of the ship model crashed into the desert.

At the blown airlock of the burried spaceship wreck.

I have made some new stackable cargo containers, conforming to my oPL units of measurement.

Cargo Shipping Container. Fluid Shipping Tank.

The models are designed so that the image parts can be easily changed to have a bunch of containers all using the same 3D model but with different labels.

Crates in the crashed-ship cargo bay.

The old ship had cubic containers, but the new 1:2:1 ratio ones will be quite similar. The ship has a capacity for 2048 such containers, but I don't actually expect to have more than a few dozen in there. The rest will just be a vast empty space.

Still to go are the crew, control, and engineering decks, which are small, but a bit detailed, so will take some time. Also, everything has to be 90° off vertical, since this ship was never designed to actually land flat on a planet, and everything was built relative to direction-of-primary-thrust, rather than local gravity! It should make for some interesting room navigation if exploring the place, and I have to account for both logical in-use design and post-crash access when laying out the interior!

Crates in the desert.

Meanwhile, I dumped a few of my new containers in the desert near my 'temple'.


Nutter's Knoll, was a mesa of no real use other than vertically balancing the sink-hole in my 3D terrain model! Changes to the Overte engine solved the mesh-alignment issue it was there to fix, so it has been removed from the current build, for now.

At the blown airlock of a burried spaceship wreck.

My Avatar has a full head of hair, not because of personal vanity, but because 'male pattern baldness' wasn't a hairstyle option offered by Ready Player Me's avatar service when I created him. I recently noticed they have the option now, and plan to update my look*. More disapointing is the lack of monobrow options! Solidarity! Eyebrows of the world unite!

* I don't actually care much about people having, or not having, 'real-looking' avatars, but for some things I am happy to just look like me. For other things I like to look like entirely different people, or things other than people!


The Underground, since I can go 8km down (and up) too, I am eventually going to add in some sort of vast network of catacombs and abandoned caves/tunnels below the surface. Probably done in stacked-together 1.37km blocks, possibly a different theme for each (natural caverns, ancient temple, abandoned technological structure, etc.).

Screenshot from the 1956 film 'Forbiden Planet'

Think the Krell-facility (AKA: The Great Machine) shown above, featured in the 1956 SciFi film Forbidden Planet (Metro-Goldwyn-Mayer) as a vast underground mechanised space, a cubic volume 64km to a side, full of immense power and constantly switching circuits... and the doom of the mysterious Krell species who built it! (A genre-defining movie, in its day, though a bit more 'slow-and-thinky' than a modern sci-fi movie audience might enjoy!)

Note, my intention is not to model this specific IP - this is just for a general idea of one of the kinds of vast underground structures I am hoping to create under my desert. See also The City from the manga comic BLAME!


A big bunch of tree-like 3D-print support structures.

An interesting 'found object'. A 3D-print at work generated this support structure, which I exported from the slicer software and separated out from the model to keep. I am thinking of using it to make a 'petrified forest' cave somewhere under my desert.

3D-print support-trees in green, looking like brocoli.

I donated the printed support-trees to the sculpture department to use for something creative! I call it 'digital broccoli'.

...

Animation of moving in the 3D forest.

And so I quickly ran the stl model through Blender to export it as a gltf file without any other changes and imported and dumped the model in my desert, just to make sure the model (which is 'solid' but has a lot of non-manifold attributes) would even work before I did too much work on it. Above is a (rather low-resolution, to keep file-sizes on my site down!) animation of running into it from the side.

Animation of moving in the 3D forest.

Then I whacked a greyscale wood-texture on the trees (remember, the forest is petrified, so stone, not wood anymore) and quickly modelled a little granite-walled cavern around it all, with an entrance on either side to traverse between.

I couldn't decide if I preferred the stark shadows of the desert-surface one or the forbidding tone of the underground one. Then I realised: why not both? So my current plan is to have two identical petrified forests, the surface one directly over the cavern one. Turning the cavern one up-side-down to be the roots of the surface one is another thing I want to try out.



Software:

I primarily use the following software (all is open-source and multi-platform):

Overte: a general-purpose VR platform. You can just run the client to interact with other people's worlds, using a headset or a flat screen. No crypto or NFT junk ripping you off with expensive artificial-scarcity - you can have as many VR-worlds (of up to 16km3 each) as you want to supply your own server-capacity for, using any cloud-provider (or in-company) server for bigger, always-available worlds, or even running a smaller world from your home laptop/desktop computer for free (the limit will more likely be your home network bandwidth than your computer).

Right now, Overte works well on MS-Windows and Linux. Code trees for MacOS and Android are present but in a non-functional state. If any MacOS or Android OSS developers, particularly with C++ and Qt experience, want to tackle either of those, you will be more than welcome!
(No Crypto! ☺ )

Blender: a very featureful 2D/3D modeling animation package. I use about 1/8th of its capabilities, mostly static modeling for insertion into my Overte worlds (and for 3D print, but that is another story!). It is a bit daunting in its complexity, but there are extensive (and usually good, even!) tutorials all over the place for beginners (do the donut!).

GIMP: an open-source image-editing staple which I mostly use for generating my image-based textures.


Hardware:

Current Server: I presently run on a cheap shared single-core Linode server at Akami. This is plenty for my low-use server, to which I support 6 simultaneous visitors (plus a reserved slot for myself), and a relatively simple world mostly for self-learning purposes.

Until quite recently, I was running my Overte server from a 14yo junk PC in my laundry. It worked perfectly well for my own uses. I mainly moved up to Akami Linode because I started hosting this web site there, and adding a Overte VR server to the existing server was not much additional work, and no extra expense. Having done it all before on my junker PC at home certainly helped smooth the process (as it did for the Apache web server here, which I also ran as a test instance of on that same junker first).

Possible Alternate Home-Servers (additional to using a junk PC) include using a small power-sipping SBC (Single-Board-Computer). A Raspberry Pi 4 or 5 actually has fairly decent CPU performance, for very low power usage, though less-than-ideal I/O performance for this kind of usage (not a criticism - this isn't the usage either the devices, or the chips in them, were intended for). There are alternate SBC options available which have their own pros and cons vs the Pi devices (generally stronger I/O, but weaker CPU cores), and nothing beats the support of the Raspberry Pi organisation and the Pi community. For a resource-light world limited to only half-a-dozen simultaneous visitors, a Pi5 or equivalent is plenty of processing power for the server-side. If you want to host a world that can cater to hundreds of simultaneous visitors (yes, Overte can handle that), you saturate your home broadband long before you ran out of processing power, so would have to switch to cloud-based hosting for that anyway.

One of the Overte core-developers has been running a small home test-server on a Pi4 for a while, I believe, and ARM-Linux packages now appear to be standard on the repository.

Client: I presently run on an intel NUC micro-PC with an i7 CPU, 64GiB RAM and a mid-range graphics card. This is actually massive overkill for a modern GNU/Linux system, and I only have it because it was cheaper to get that pre-assembled than a less-capable bespoke version in that form-factor. The client runs easily, especially for the kinds of low-detail content I tend to prefer.

Headset: I have a few old headsets, donated to me by former users who got bored with them. One even still works! Well, actually all still work from a hardware perspective, but the manufacturers got bored with them too and effectively-bricked them. When Overte switches from using SteamVR as a (really clunky) intermediary to direct OpenXR drive, one or both of the 'non-working' ones might even come back to life! Meanwhile I have a VivePro (origional) on perma-loan from a work colleague which works as well as SteamVR will let it.

I might buy my own some day! A wired one, since I don't need the mobility of a portable unit. I am very unlikely to ever get anything by Meta as I probably can't get the needed Meta account to use one (my online presence is a bit too-well shielded from routine commercial identity-tracking, and if you don't show up on their advertising servers you are a non-person as far as they are concerned! And I am not really interested in sending them my photo-ID just to prove I exist enough to buy their products. I'm sure they won't miss my non-monitisable eyeballs at all!). I am interested in getting something with eye-tracking, when that is a bit more mainstream, so will probably hold off for that (not just the hardware but the open-software support to make it actually-usable independently of the whims of fly-by-night consumer-electronics manufacturers).

I have briefly played with a Meta Quest 2 at work (using a colleague's Meta account) and it is very impressive hardware and worked very well for 3D games. Just a shame about the corporate lock-in! Apple's VisionOS offering may be the first properly-usable-for-doing-actual-work headset, for a price, but I have similar lock-in issues with Apple's ecosystem.

Finally, because I spend more time building in VR than just looking about, I tend to work on a large flat screen more than in a headset anyway - Overte will let you build in VR fine, but - like all contemporary VR - it can be a bit of a chore with the game-centric controls for all but simple object-positioning/sizing/rotating. I usually build on a flat-screen and test+socialise in a headset. A headset is definitely far more immersive but a flat screen is often easier, and Overte supports both as first-class interfaces.

Brain-Computer Interface (BCI)! I wish! And not one from Elon, Mark, or any of the rest of the GooMyFaceYouTwit* crowd! Such a thing would definitely have to be a fully and properly open platform completely in my control, before I even considered plugging it into my mushy-grey-bits!

* Thanks to The Register for coining that lovey portmanteau. Note that the 'My' in that referrs to Myspace: They used to be a big deal, just like Twitter... um X?... used to be! Ho hum, the tech-world rolls on.... :-D.