AVWorlds is a brand new grid — at just 26 regions, it doesn’t even make our monthly Top 40 list — but it has big ambitions.
Today, the grid made another bold step, rolling out the Bullet physics engine. It can be tried out right now on the grid’s AVW Bullet region.
“The region seems very stable and works great,” AVWorlds CEO Alexsandro Pomposelli told Hypergrid Business. “I will be rolling out Bullet to all our regions next week.”
That would make AVWorlds the first OpenSim grid using anything other than the default OpenSim physics engine, ODE.
The Bullet region was set up by Dreamland Metaverse, the hosting company which provides the infrastructure and grid management services for AVWorlds, using the new BulletSim plugin developed by Intel’s Robert Adams, a new OpenSim contributor.
What is Bullet?
OpenSim has long been handicapped by the fact that it default ODE physics engine doesn’t perform as well as the Havok engine used by Second Life. Havok has also been used in hundreds of video games and dozens of movies. ODE — not so much.
According to Pomposelli, Bullet physics works as well as Havok — but without the steep price. Havok is free for individuals and non-profits but is out of the reach of commercial grids like AVWorlds. In addition, it has to be customized quite a bit in order to work with OpenSim, Pomposelli said.
“Linden Lab spent months modifying it,” he explained. “For me, it is clear that Bullet is the way to go.”
Bullet also required modification — but that part has been taken care of by Adams, who is a research scientist at Intel. The result was BulletSim, a version of Bullet that is compatible with OpenSim and will now be included in the standard OpenSim distributions as one of the alternatives to the default ODE engine.
Users won’t have to change anything to get their objects to work with BulletSim — all existing scripting commands work the same way they did before in OpenSim or in Second Life.
“BulletSim uses the existing OpenSimulator physics engine interfaces so, when it is fully functional, a user should not notice a difference other than more perfomant physics,” Adams told Hypergrid Business. “As of today, BulletSim implements basic in-world physics — avatar movement, gravity, collisions, physical object interactions — and has code that starts to implement some of the more advanced in-world features, like linksets and vehicles.”
To enable it, Adams said, grid or region managers have to open the OpenSim .INI file and specify BulletSim as the physics engine. No other changes are required.
However, it is a new feature for OpenSim and early adopters will probably see some wrinkles that need to get ironed out, he warned.
“There is a lot to be debugged and tuned before BulletSim can be considered a replacement for the existing ODE implementation,” he said.
However, it has already been shown to work better than ODE in testing.
For example, the existing ODE engine can support 800 balls in a box of pegs at 30 frames per second — BulletSim can handle 1,900, more than twice as many, according to Adams.
“Also, Bullet is more actively maintained,” OpenSim core developer Justin Clark-Casey told Hypergrid Business.
Unlike ODE, Bullet is actively 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 IV, 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 Blender for animations.
Much of the early testing of BulletSim has been done by OSGrid president Michael Emory Cerquoni (also known as Nebadon Izumi in world). He has uploaded a couple of videos of BulletSim in action.
However, Cerquoni isn’t rolling out BulletSim on OSGrid just yet.
“It’s still pretty far from ready for being used,” he told Hypergrid Business. “I have been testing it locally, there is quite a bit that still does not work right yet.”
I visited the AVW Bullet region on AVWorlds, rezzed some balls, and ran around playing soccer with them. That part worked fine. However, when my avatar was standing still, it would occasionally start to slide, on its own, across the flat ground.
I got the idea for kicking balls from the following video by Cerquoni, in which an avatar runs around a region filled with 4,000 balls.