Tuesday, March 19, 2013

LSL - the reason why there isn't much interactive content in Second Life

I have been planning for a few months already to write a blog post why there isn't much interactive content in Second Life. Today I saw a post by Loki Eliot, usually one of the most enthusiastic game creators. I have covered some of his game creations and other activities on my blog. Two days ago he needed to relieve his heart from some frustrations that he experienced while working with Second Life as a platform. 

Loki Eliot on his sim "Escapades" (photo taken from his SL feed)

Here are some of the statements he made in his post "SL Gaming – My enthusiasm shift".
Back in 2011 when Rodvik (now known as ‘Where’s Rodvik’) took command [and put together] a team from the lab showing new gaming possibilities they were working on. Since then that team seems to have gone along with the gaming possibilities. I am just so dam fed up of having to script complicated work arounds in order to give users a simple fun experience.
Whats happened with Pathfinding? When it finally arrived amid a barrage of User generated lies about performance degradation, i found it a lot more complicated to set up than i was expecting. It isn’t a simple task of adding a Pathfinding script to an object , you have to set up the surfaces on which the object will walk. Suddenly this tool becomes extremely complex even if to LL’s credit it’s the most simplest way they could implement it on the SL platform.
Some leading Games/Hunt Creators in SL are already at the platforms limit. I've heard them say they want to expand and do more but find the SL platform limited and unable to accommodate their creative itch. It’s only fair that a creator gets to a point in the platform before moving to bigger arenas, but it’s a shame SL can’t retain the experienced creators it has nurtured this far.
Let me assure you that Loki has not simply joined the anti-Lindens ranting squad. He is a very hard working developer who daily puts many hours of hard work into his creations. Few people have been so positive and supportive towards LL about the evolution of Second Life. And he has proven to work successfully with a platform that makes it hard to develop good games with a reasonable effort. 

When prim 1 is touched in a link set, this script hollows out another prim - Could LSL be more unintuitive?

The reason why there is so few interactive content in Second Life, let alone good games, is a three letter word: LSL. I once read an introductory text about LSL in a scripting tutorial:
In the beginning, there was only Philip Linden.Philip gazed upon the empty sims,Devoid of life and people,And was Sad.
Then, Philip had an Idea.Populating the vast world with people,Philip chose to give them the power to change the world.That power was but one Word.
That Word was "LSL."And it was Good.
The moral of this story however is totally wrong. LSL is not good at all. 

The major success of Second Life was caused by the intuitive set-up of the building tools. Everyone could build their own place in Second Life. An education as graphics designer was not necessary in order to start creating your place. Without this amateur focus SL would have never developed successfully. Several thousand sims have been built in Second Life by amateur users that have no background in graphics design or programming. But almost nothing is happening there - appart from the activity by avatars. 

For something to happen (scripters call it "events") the sim owners need to create active elements - the so called scripts. But contrary to building, LL has never thought of an intuitive scripting system. Someone who wants to set-up, change or use scripts - let's not talk about creating them - needs to have an education as a programmer first.

Here is a (non comprehensive) list why I believe LSL is the Achilles heel of Second Life:
  • LSL is the contrary of intuitive. It is complicated and even minor tasks can only be achieved after extensive studying, research including extensive trial and error.
  • Scripters will not cooperate because it is the easiest thing in the world to steal the scripts and sell them off - making collaboration practically impossible unless the scripters don't care about profit.
  • Scripts do regularly break due to LL making LSL changes.
  • If a game developer employs a freelance scripter to develop a part of his game and content breaks due to an LSL change, then the game developer risks to remain with a script that he doesn't fully understand and he might not be able to fix by himself.
  • There are no LSL knowledge bases that SL users without in-depth programming experience will easily understand.
The Experience tools that "Where's Rodvik?" promised SL content creators in 2011 could have helped to overcome some of these LSL problems - but maybe they would have turned out to be as complicated and unintuitive as Pathfinding. 

Whatever might have happened, as long as the Experience tools were on the horizon, there was reason to believe that content creation might become easier. Now that the development for these tools has stopped the game content creators have every right to be frustrated. Hopefully they won't stop creating after all. 

Loki, we are hoping you'll bring us new adventures in the future!


  1. Dont worry Stella, im still very much beavering away at scripting new stuff. With regards to Pathfinding. The script ting side of it actually is quite intuitive and easy, the complications come from how we have to set up the objects to be walked on. its less of a scripting headache and more of a wtf am i doing with all these object settings :-p. But the experience tools, yeh that would have made things a lot easier in scripting from my point of view. Im still hoping its all just on the back burner.

  2. Interesting list of problems with LSL. Which programming environments are you comparing with? Do you have an idea or suggestion on how to make it better - as in easier?

  3. There is also a very vivid discussion on this blog post on Google+:

    (mostly programmers dominate the discussion with their opinion that one shouldn't criticize a programming language as non-programmer).

    Since this blog post has met quite some interest so far, I have today also made a posting on reddit:

  4. This comment has been removed by the author.

  5. @ Loki: Great to hear that you will continue to provide us with new inspiring content in the future!

    @ Noodle: I didn't want to make this post too long, so I concentrated on the analysis. I will outline you a few first more constructive thoughts and hopefully I will find the time to explain it in more depth in a post in the coming weeks.

    1) I am not comparing LSL to any other programming environment. I think that for virtual worlds to really succeed, there has to be an intuitive user interface put over the "naked" programming language. This user interface would of course never be as flexible as the "naked" programming language - very much like prims can never be as detailed as a mesh creation. But it would serve as an entry point for amateurs.

    2) The Experience tools might have helped because they would have made many operations easier - at least that was the idea.

    3) There should be a database system for scripting and a web-interface instead of all those notecard scripts in inventory. With such a system, a team could work on and own a script. The programmers could decide if their script can be used (1) for free, (2) be bought for a one-time price (e.g. 100L) and then freely used in all objects of the buyer or (3) if every object holding the script which is sold by someone will have to pay a small user fee (e.g. 5L). There could also be a mandatory date of expiry for owning and earning from a script. Let's say after 2 years the script could be used for free by anyone.

    With such a system a script would not be put into an object. The object would be linked to a script in the database. There could be a lot of positive implications (sim owners can activate only the scripts they want to have on their sim etc.) that I will not elaborate in more depth on here.

    Such a system could easily compare new scripts with existing scripts and determine if they are new or just plain copies of existing scripts (then they would be rejected) or if they add to existing scripts (then the earned fees are split between the creator of the original script and the changes) and so on.

  6. 4) I think that Second Life could benefit greatly from a more vivid culture of collaborative open source scripting. Strangely this generally very successful programming culture has never really hit the grid.

    That's just some short ideas. Food for thought.

  7. what a crock of bull. LSL is one of the easier programing languages. As for stealing scripts well that won't always be possible. Also well-made scripts RARELY break. Sl keeps things backwards compatible....however bugs can be found later on which will happen no matter the language.

    It's a programing language it takes a bit of work getting used to but it's the same w/ building. Takes time to get used to doing things appart small changes

  8. @ Gabzo: You don't get my point. I have learned LSL and yes, it is a rather easy programming language. But why is it necessary at all to use a programming language? LL has created of the prim system to let also people who have no clue about blender etc. can build something easily. Of course it's much more efficient to build stuff with professional mesh creation tools. But with prims, everyone can do something. It would be possible to do something similar with scripting and that's no crock of bull. Cheers.