Joy. I’m having much fun this evening dinking about with my Second Life avatar. I finally got around to wiring up a SL primitive (simple object) to the in-game XML-RPC interface. Nothing advanced here…it’s almost trivial, and a well-established communication method for calling into the game from the “Outer Internet”. (currently, only inbound xmlrpc is allowed, to limit malicious code in-game for DoSing websites.) But already, I can see the possibilities…this is uber cool.
My initial test is simple. It involves the “MediaURL” that can be attached to land…what this means is that a particular audio stream can be kicked off when you walk or fly into an area. I want to be able to stream podcasts, but have the URL updated automatically as new podcasts are posted to the sites that I register with. Thus the XML-RPC call. I have an external script that handles the podcast subscriptions…it checks for new MP3s, and calls into Second Life when new podcasts are released. This updates my in-game media player, even if I’m not there. Jazzy!
Right now, initiating _outbound_ communications from Second Life is clunky…email is the only option. But within the next couple of releases, the in-game scripting language will gain the ability to manipulate the web. A Mozilla client is being baked into the SL client, and LSL (Linden Scripting Language, the scripting language of Second Life) is scheduled to eventually grow some calls to set URLs. These calls are designed to allow you to dynamically apply HTML to a primitive (to paint an object with a web page, basically)…but you could potentially (depending on implementation) also use it to “call out” to a website and communicate, based on the URL you use (a stereotypical REST interface).
The Metaverse is coming. Second Life seems goofy at times, but it’s flat-out cool. And it contains a lot of the pieces we’ll need for a “Metaverse”…environmental persistence, player-created and owned intellectual property (along with an associated economy and real-world currency exchange), tools for creation and manipulation of the environment. A scripting language powerful enough to build upon (and getting better…the VM is moving to Mono in v.2!). Tons of content, created by the users. (check out SnapZilla for ongoing snapshots from within the game. Some are kinda cheesy…others are pretty interesting..)
Plus, it’s cheap…7 day free trial, and a one time payment of $9.95 gets you a permanent basic subscription (your ability to create and persist objects is limited with this account, but it IS possible.) Check it out; it’s worth taking a look. I certainly DO enjoy my Guild Wars account, but if I had to pick only one, I’d pick Second Life.