Rotating regions coming to OpenSim 0.8

The release candidate of the next version of OpenSim — version 0.8 — is now out, and it’s got a bunch of cool new features, including a new default physics engine and the ability to rotate entire regions.

A “release candidate” is not the final official release, but it is the last step before the release, an opportunity for developers to take all the features they’ve been working on for the past few months, select the best ones, package them up, and send them out for testing.

There is no firm date set yet, however, for the official release.

 It will be out when the major regressions are squashed or when the cost of delaying outweighs the benefits,” OpenSim core developer Justin Clark-Casey told Hypergrid Business.

Who needs this preview release?

If you are a grid owner running a school or company grid, or any kind of public-facing grid, you will probably want to download and run this version of OpenSim in a testing environment.

Try it out with some of your most important region OAR files and your most complex scripts, especially anything dependent on physics.

If you are running your own regions, you can also download and install the new release for testing, either on a local computer, or on a testing-oriented grid such as OSgrid.

You can download the preview release here, or the OSgrid version here.

If you find any bugs, please report them and help make the official release as stable and solid as possible when it comes out.

Main difference: Bullet physics

The biggest change between OpenSim 0.7.6 — the current official release — and OpenSim 0.8 is that the latter has a new default physics engine, BulletSim.

The new physics engine is a project that the Intel folks have been working on for the last couple of years, and promises better vehicles in OpenSim. It’s been available for testing since the fall of 2012 as an alternative OpenSim physics engine, but has now reached the point where it’s stable and robust enough to be used as the default.

BulletSim is a wrapper for the well-known Bullet physics engine, designed to allow Bullet to work with OpenSim.

The Bullet physics engine is more actively maintained than the Open Dynamics Engine that is the current default in OpenSim, and offers better performance while still being free and open source. It is also being used in many high-profile projects.

For example, the Bullet physics engine was used in the Toy Story 3 video game, Grand Theft Auto V, Sony’s Free Realms games, and Activision’s Blood Drive. It also shows up on the big screen, where it was used for special effects in such movies as “Hancock,” “The A-Team,” “Sherlock Holmes,” “Megamind” and “Shrek 4.” It is also used in any game developed on the Blender Game Engine.

Of particular interest to OpenSim developers, is that BulletSim allows vehicles to work more like they do in Second Life. The downside is that vehicle scripts that have been adapted to work with the existing ODE physics will need to be revamped, a process that can take some time. As a result, vehicle-dependent grids and regions might consider changing the default physics engine back to ODE when they upgrade to 0.8.

OpenSim’s best-known auto racing enthusiast Mike Hart, for example, has car scripts optimized to work under ODE and argues in this discussion thread that there obstacles to switching over.

Creators building vehicles that can work with either physics engine can use the osGetPhysicsEngineType function to tell which physics is currently in place.

The following is a video by Richardus Raymaker of a train running on BulletSim physics.

And this is a video of a BulletSim rollercoaster by former OSgrid president Michael Emory Cerquoni — also known as Nebadon Izumi in-world.

‘4096’ hypergrid teleport lifted

This bug was actually fixed back in September of 2013. It was a viewer error that caused crashes when users tried teleporting more than 4,096 regions in any direction.

Since then, all the major OpenSim viewers, including Kokua, Firestorm, and Singularity, have updated their code so that long-distance teleports no longer cause crashes, and users have had an opportunity to upgrade.

Some users may still be using old viewers, however, such as Hippo or Imprudence. If your grid’s user base relies heavily on these older viewers, you may want to edit your OpenSim configuration to restore the old teleport limit.

Closeup of a hypergate on the Lani region of OSgrid.
A hypergate on the Lani region of OSgrid. It can now reach any destination within 16,000 regions in any direction.

Other hypergrid improvements in this release include better tracking of avatar names, and hypergrid users are now allowed into regions if they belong to a group that has permission to enter.

Varregion support

Variable-sized regions arrived in OpenSim just this past March. They fix some of the problems associated with the megaregions used today, while still allowing easy, border-less travel through a large area.

However, they require that users have up-to-date viewers.

Again, grids with users on older viewers might prefer to avoid using this feature and stick with regular-sized regions or the older megaregions.

A variable region with mesh terrain by OpenSim developer Michael Emory Cerquoni — also known as Nebadon Izumi in-world.
A variable region with mesh terrain by OpenSim developer Michael Emory Cerquoni — also known as Nebadon Izumi in-world.

Rotating regions

Anyone who’s ever spent a great deal of time building a region, only to find out that everything was facing in the wrong direction, will really appreciate this.

To use this function, you will need to have console access. To rotate an entire region 90 degrees, for example, you would type:

rotate scene 90

Any number from 0 to 360 can be used for the degrees.

You can also shrink or grow a region. For example, the following console command will shrink every object on a region to half its original size:

scale scene 0.5

And you can also move everything over. For example, to move everything in a region 100 meters up in the air, you would use the following command:

translate scene 0,0,100

This command is particularly useful for moving regions around inside megaregions or variable-sized regions. More information on OpenSim server commands is here.

However, these three command only affect the objects on a region, and do not affect the terrain which has to be handled separately. It also doesn’t include trees. This might be improved in the future.

“I can definitely see the argument for having a command that does both objects and terrain simultaneously. Also trees — it’s really a bug that this doesn’t happen right now,” said Clark-Casey.

Changing sits

The OpenSim developers have changed the way sitting works. Again. But it’s not as dramatic as previous changes.

OpenSim users will only need to redo their sit targets only if they need extremely high accuracy, said Clark-Casey.

I should go back and recheck my sits, just in case...
I should go back and recheck my sits, just in case…

“The maximum change compared to previously is 10 centimeters, which to my eye is not noticeable,” he said. “I don’t like changing sit positions but the target sit we have now matches Second Life to about five decimal places so should never have to change again.”

In addition, avatar standing positions are now directly in front of the sitting positions, sitting avatars can now cross regions, and mouselooks now moves to the correct place when an avatar sits on a child prim of a linkset.

Maximum physical prim size

Finally, the last major change I’ll mention is to the maximum size of physical prims, previously just 10 meters — it is now 64 meters. This improvement was just announced last month, and is particularly useful for large vehicles.

Regular prims are unaffected by this change, and can still be up to 256 meters big.

Read the OpenSimulator 0.8 Release Notes for more information about all the changes in this version.

Maria Korolov