Table of Contents

1. Mars Roleplay

I saw a video someone made showing a run through (literally, avatar running) of a region she had built and had moved to a Raspberry Pi to see if it would cope with it. It was a beautifully made region and there were plenty of animesh avatars and a few NPCs populating the area, and it handled it all very easily.

I've been hankering to make a Mars simulator, and with opensimulator you can set the gravity and terminal velocity, which is a good start. Also, using Windlight features you can change the colour of the sky, and I found some nice Mars'ish looking ground textures. I also had a Raspberry Pi 5b with 8Gb memory not doing a lot.

Mars Simulator - a beginning

Initially I started with a single 1×1 region (1×1 means it occupies one grid coordinate). I repurposed a mesh island and re-textured it with the same textures I used for the ground, and then tweaked the underlying colour to make the mountains slightly darker than the ground so they stood out more.

The result, as you can see is rather pleasing. I stuck a sign on the ground to say 'Welcome to Mars, this sim is running on a Raspberry Pi 5, Gravity is 3.74m/s2'. I also set terminal velocity to 147m/s, but avatars won't actually fall faster than 80m/s in opensim so it only affects physical objects. There are some limitations you just have to live with.

I quickly realised though that a 256m by 256m region isn't big enough. There is a way to get rid of the water, but the area beyond the region boundaries is just a flat colour that reflects the colour of the sky, so it still looks weird. The solution to this was firstly to enlarge the region to a 2×2 (that is, it occupies 4 grid coordinates), then line the edges of the region with low mountains to hide what was beyond.

Enlarging Again

As a 4×4, beginning to take shape

With all the hard work so far, it wasn't long before I realised that for a roleplay region it would have to be bigger still. I increased the size to 4×4. Now it's 16 times the size it started at, and the sense of expanse is beginning to be felt. I can tell though, that I need to turn it into an 8×8, and for that I'll need more than 8Gb memory. Although the Pi isn't even using 1Gb yet, the problem is going to be when multiple avatars arrive, as they seriously stress a simulator, much more than the other contents do. I've ordered an Octacore brick with 16Gb RAM, that should be able to handle it just fine.

There is a small temptation to go even bigger, but going larger than 8×8 is just asking for trouble. For example, an 8×8 region is 2048m per side. That's 4,194,304sq meters. That requires a lot of resources.

Another option is to turn the 4×4 into a 5×5, and run 4 of those in a square, giving me a total landspace equivalent to 1,000 standard sized regions. That's all just food for thought, because right now I needed to get the roleplay elements in place.

RolePlay

For the roleplay elements, there are only three things to consider: health, oxygen and temperature. It's best to ignore temperature, because you can only enforce control of that with difficulty. However, health and oxygen are much easier. The basic premise is that as long as you have oxygen, you have all your health.

I first thought that I could control such things through a HUD, but you can't force people to wear a HUD, so there is a separate in-world server that monitors every avatar and manages their health and oxygen. It recognises safe areas, such as the Visitor Center, the Computer Center, the Space Station (yes, there is a space station looking down on a rotating globe of Mars). When you are in such a place, health and oxygen slowly regenerate.

In addition, there are various recharging stations dotted around the region - just go to one, sit on the provided seat, and both health and oxygen will rapidly recharge. One of these is available in the Visitor Center so (a) people know what they look like and (b) to give a faster recharge than waiting for basic regeneration.

There is a HUD of course, and it is purely optional, but you won't last long outside the dome without one - you immediately lose all oxygen and health deteriorates so rapidly you'd better hop back indoors again. You gotta take this roleplay stuff seriously!

The HUD displays your current health and oxygen levels, and allows you to set whether you are a biological creature, a cyborg or a robot. Humans lose health and consume oxygen faster than Cyborgs, and Robots just don't care about such things. If you want to wander around the region without bothering with all the pesky RP stuff like keeping your oxygen levels topped up, just put on the HUD and set yourself to 'Robot'.

The HUD provides an automatic 100% invisible bubble-suit, a close fitting environment suit that means you don't actually have to change into an environment suit to go outside.

The Graveyard of Shameful Death, accompanied by the Roll of Shameful Deaths

There is a bug (let's be nice and call it a feature) in opensimulator, where health has to be below zero to die. In Second Life, you die at zero. In order to punish miscreants not using a HUD, the region uses the built-in damage system. As your health decreases according to the in-world server, it updates the avatar's actual health status. This way, the viewer 'heart' (actual damage) shows the same damage as the HUD (virtual damage). Better yet, if you're not wearing a HUD, you'll see your health deteriorate via the viewer 'heart'.

What happens when you die? Those not wearing a HUD get teleported home. This is the default behaviour in both Second Life and OpenSimulator for people with no health in damage enabled regions. Since I'm the only one who can set home in the region, and I don't allow other people to create avatars on my system, that means they'll be teleported back out of the grid and back to wherever their home is. I'm evil like that.

If you are wearing the HUD though, I can catch that your health is zero and teleport you back to the Visitor Center where your health and oxygen will immediately start to regenerate. You get teleported to the 'Graveyard of the Shameful Dead', the people who didn't pay attention to their HUD's meters. Their name also goes up on the board named 'Roll of the Shameful Dead', so everyone else can jeer at you.

What Next

There needs to be some kind of activity people can take part in, other than just wandering around gawking at the sights. The nice thing about this is there can be many activities, and I can just add them one a time as and when they occur to me. Populating the region with contents, animesh people and NPCs will also take some time, and I'll probably spend a bit of time just planning that kind of stuff so it doesn't look haphazard.

Since the region is damage enabled, people can bring weapons to the region and annoy people. There's not a lot you can do about that, but it's far less of a problem in OpenSim than it is in Second Life. I don't want weapons, this is not a combat sim.

Selling The Damage System

By 'selling', I mean giving it away of course. It's a nice, simple system that is flexible and can be leveraged for all sorts of damage-based systems. It is quite possible to tweak it so weapons damage can be automatically taken into consideration, so you can have sword fights, for example, while also taking into consideration stuff such as poison and other damage-over-time effects. Things like bombs and grenades don't really work with the built-in damage system, because they have to 'collide' with the avatar to do damage, but my system can quite easily handle area-of-effect damage - and damage multiple people at the same time.