Scratch for Opensim – built off Scratch for Secondlife

A big thanks to Eric Rosenbaum – creator of Scratch for Secondlife  – for showing me a few tricks …. I did a VERY LITTLE bit of tweeking to create a universal Scratch for Opensim package with Mac, Windows, and Linux launchers all in one (Windows launcher might need tested)

Download here & Let me know how it works



  1. Thanks Rich. I installed the scratch4opensim for Linux yesterday and had a good time exploring. It might be helpful to others if the code requred for placement in the “lineSegment” object to enable the pendown command to leave a trail was made available as part of the package. I went into SL to retrieve it, but not sure if I got a bad copy or something. It wouldn’t compile and changes I had to make to get it to compile messed up the communication structure used to receive the “length” and likely the “pencolour” information. I’m looking at a couple of different options for trying to get this working better, but would be relieved if it turns out that I just got an old or broken copy of the script.

  2. Rich- this is amazing!

    Trevor- sorry to hear about your troubles. here’s the latest version of the lineSegment code:

    It may be that the communication system is broken because the way opensim handles strings is subtly different from the way it works in LSL but that’s just a guess… Please let us know what you find out!

  3. Whats the difference between Scratch for SL and for Opensim?


  4. A simple re-branding … Secondlife is starting to get jumpy about the use of “SL & Secondlife” on second party products/blogs/web sites


  5. Packaging with our Kid Client coming soon via

  6. Eric- For some reason in OpenSim the compile of the lineSegment script chokes when it sees this for the second time
    integer indexOfColon = llSubStringIndex(msg, “:”);

    I just created a separate line

    integer indexOfColon2 = … to find the second “:” and tweaked some of the other parameters in related lines to match and it started working.

    I changed some of the output in the Main code block that is pretty much the same for all generated scripts. I had to add some llSleep()’s in various locations to slow it down so xengine could keep up, and changed the main move()/pendoown() to allow for moves and segments that can be of arbitrary length (as long as the rezzer stays in the sim) With that done in place in an object, then I can just use the scratch4sl generated code at the tail end, and paste that portion in. IF I had access to the scratch4sl squeak source, I might be able to tweak a version that generates pure OpenSim compatible LSL. If I feel really ambitious, I might try to build physical models of the scratch4sl code blocks that can be arranged inworld, and used to assemble something akin to the etc. construct scratch4sl creates. May be possible to send this from inworld via llhttp calls to a web app that will parse it and generate the LSL in a browser window so it can be copied and pasted back into the rezzer script. In a perfect world, it would be nice if each physical code block could communicate its bit to the rezzer object script and that might even be possible, I don’t know enough about some of the behind the scenes action yet. I will play around with it and share anything I happen to stumble on that actually works.

  7. UDPATE: Scratch for Opensim is being tuned to be a tool among our “Web to World” project !

  8. UDPATE:
    Scratch for Opensim is being used as a tool for our “Video Games & Virtual Worlds Next Gen Development 4 teens” project!

  9. Pingback: Ed Tech Crew » Ed Tech Crew 147 – Christmas ‘In World’ Special & Year in Review

  10. Pingback: Using Scratch 4 OpenSim | Begonia Island

  11. Pingback: An Interview with Ellie: Scratch 4 OpenSim | Begonia Island

  12. hello guys

    – i cannot find a working link for downloading scratch4opensim
    – which is the latest version of this program?

  13. oups sorry. just saw the link at top.
    i was looking for a “big button” or menu at very top 😛

  14. Pingback: Scratch for SL and OpenSim - SLUniverse Forums

  15. Allen Kerensky

    I would love to see the source releases for these to make a play at adding more or different functions.

    Would also be great to see a Linden Lab add this to the SecondLife viewer / or a Third Party Viewer group could.

  16. Pingback: - Resources, resources and more resources…

Leave a Reply

Your email address will not be published. Required fields are marked *