Created by folks with the legendary MIT Media Lab, Scratch4SL is an elegant and powerful offline tool for adding interactivity to Second Life objects, without having to first learn Linden Script Language's intimidating, C+-like code. Dusan Writer mentioned it recently, but I was skeptical it was as easy as depicted, and decided to give it a first-hand try. (Years ago I gave up learning LSL after a few hours, so I'm a good test case in utter noobosity.)
The Scratch client runs on your desktop, so you just have to leave it open in another window while running Second Life, as depicted above. Creating a script is astoundingly easy, because you just add interactivity variables (movement, chat dialog, etc.) which literally interlock like puzzle pieces. Once you're finished, you hit Copy Linden Script, and Scratch4SL converts your plain English instructions into LSL; you then copy/paste the resultant block of code as a new script into a given object.
In about 10 minutes, I was able to program a cowboy hat to yelp "Dude!", honk, move 12 meters, and spin in a circle when touched. (I actually tried to add that script to my cowfish, but for some reason, it would only honk.)
Everything you need to use Scratch4SL, including a tutorial and demo video, is free at the MIT site here. There's a version for Windows and Mac. But frankly, if I was Linden Lab, I'd buy it from the creators and make it part of the official client. As I wrote for GigaOM last week, we're starting to see a host of intuitive, user-created game platforms come online, and the high learning curve for LSL is yet more competitive weakness. (Doubtful the upgrade to Mono will help much on that front, either.)
Suggest following steps to mod Neo-Realms Cow Fish to: 1) move 12m, 2) honk, 3) yell "dood!", 4) twirls in a full circle.
1) rez a new sphere prim behind the tailfins of the CowFish. set it to rotation X=0, Y=0, Z=0
2) select the Cow Fish, then the new prim last, and Link them together in a new primset.
3) copy script from S4SL into new script in the resulting primset.
4) with "Edit Linked Prims" checked, select only the new sphere prim, and rotate it, then touch to test, until you're satisfied that the cowfish moves in the correct direction as intended.
5) with the sphere prim still selected, stuff it into the cow fish.
Wallah, one cowfish that yells "DOOD!", honks and twirls around.
Posted by: Patchouli Woollahra | Wednesday, July 30, 2008 at 09:04 PM
The cause of the cowfish failing to respond to the script was the odd rotation of the root prim in the default cowfish - adding a new root prim with a proper rotation solved the issue. Enjoy your new pet :D
Posted by: Patchouli Woollahra | Wednesday, July 30, 2008 at 09:08 PM
OMFG Patch that's even more complicated!
Posted by: Hamlet Au | Wednesday, July 30, 2008 at 09:08 PM
While I salute the interface - it truly does a great job of getting people into programming, the resulting script is a bit bloated.
Apparently there is a master framework, and depending on what you enable via the interface, certain parts are used out of the LONG script itself.
My only complaint is that it could've been a bit more efficient, LSL is limited in memory already, it doesn't need aggravation :)
Great effort still, I hope more streamlined exmamples follow this first good effort :)
Posted by: Maxx Monde | Wednesday, July 30, 2008 at 09:48 PM
There's a Mono update? :P
I thought that was due in, um, April.
Intuitive interfaces! It's the way to go! Including LSL which, like you, leaves me baffled. But then I get confused by widgets, e-mail and cell phones so I'm hardly representative.
Posted by: Dusan Writer | Thursday, July 31, 2008 at 10:09 AM
I just fear this influx of automated scripts will further deteriorate sim performance, since it's obvious that more people will script now, and that the script will be bloated.
Posted by: Will Webb | Friday, August 01, 2008 at 11:40 AM