Dynamic hypergrid links: the new Metaverse
Would you like to have your own SL-like micro-world in-house, to be able to make backup copies of your islands and your inventory at will, to be able to clone your avatar with all your inventory into your friend’s micro-world when needed, to be able to pack a whole island and share it with friends or with the world, to be able to use fantastic buildings and landscapes others have created, to be able to add an island instantly, to decide how much computer power you’re going to allocate to your regions, to be able to run 10+ islands with 20+ avatars in a single computer, …?
“Sure,” you’ll say, “all these things are very nice, but this has to come at a price, right? Everybody will be isolated in their own micro-world, and what’s the fun of that?”
Up to recently, that was it. Either you were in a “big” world (Second Life, Open Life, OSGrid, etc), or you had your own micro-world, and then you were isolated in it. This started to change when Christa “Diva” Lopes, from the OpenSim dev team, implemented the first phase of the Hypergrid concept, what we can now call static hypergrid. I blogged about it one month ago; here’s an older article from Vint Falken; of course it all started with Justin Clark-Casey‘s seminal post “Could there be a future without big grids?”.
With static hypergrid, grid owners decide whether their grids will be accesible from outside (i.e., if they’ll run their grid in hypergrid mode) and if so they inform other grids; other grid’ operators then use a simple command to link their grid to the first. This architecture gets complemented with the possibility to use prebuilt .xml files to link several (potentially thousands) of new regions at once with a single command.
That’s a great architecture, but it puts the power of jumping from one grid to another into the grid owner’s hands. And it’s good that it is so, because the foreign regions appear on the origin grid’s map, and if I were a grid operator I’d love to be able to control what appears on my map. However, it has several disadvantages for the end-user: it precludes the possibility to jump to an arbitrary grid; if grid A links to grid B and grid B links to grid C but grid A does not link to grid C, you have to jump to B to get to C, which is preposterous; in general, the major problem is that you’re limited in where you can teleport to by your grid owners. Of course SL works that way, but SL is not an open grid, at least for the moment. And if OpenSim has to become the 3D web, you have to be able to teleport, to jump, anywhere. The very same notion of your ISP determining which web pages you can visit and which you can’t visit is against the fundamental idea of the internet.
Ideally, what I’d love to be able to do would be something similar to the following: assume that I’m working in my soon-to-be-opened OpenSim Condensation grid, I get tired of building, and I decide to teleport to my friend’s Ludmilla grid (note: to another grid, not to an island inside my grid) to see whether she’s available to go exploring, so that I tp to her world, and, lo!, there she is; I greet her, and we both tp to OSGrid (the free OpenSim grid) and start exploring from there… Impossible? No! Here’s a video that demonstrates exactly that:
All this is possible thanks to the recently implemented dynamic hypergrid concept. Grid operators can continue to use static hypergrid, as before, but now you can teleport to any hypergrid-enabled sim by using one of three methods:
1. Bring up the map, and type the address of the grid you want to visit. This can be an ip address:
The port number is mandatory.
2. Type (or paste) a secondlife:// url in chat, for example
it will become linkable in chat history (the final slash is not optional). This is very useful to inform others where you are going, and to allow them to follow you.
3. Using the embedded browser, open a page that contains such a secondlife:// url, and click on it.
Method 1 above is the equivalent of writing an url into your web browser location bar. I can imagine a modified OpenSim client where the map is redesigned so that the location bar is always visible and you can type a domain name (the port should be optional as soon one is picked as standard, for example 9000) to teleport to a new grid. Exactly the same as with a web browser. The idea of a 3D web is beginning to make sense!
How does dynamic hypergrid work internally? Very simple: as it happens, the map doesn’t parse what you write in it, but sends it untouched to the simulator. It’s very easy then to parse your input for a url syntax and establish a temporaty link to the target region; after some time has passed, the link is severed (unless it was at the same time a static link, of course; this is not still implemented in the current version).
Dynamic hypergrid is available in OpenSim starting at r8193. This means that you can’t use the precompiled 0.6.1 or 0.6.2 binaries (0.6.2 is at r8068). You can build OpenSim yourself, or you can wait for the next version, which should be due soon, to begin playing with dynamic hypergrid yourself.