[Opensim-dev] Thoughts on Scripting

J Ross Nicoll jrn2005 at cs.st-andrews.ac.uk
Tue Sep 16 15:13:05 UTC 2008


For doing something completely new and different, I'd be tempted to  
suggest forming a group to write up a "LSL as we'd like to see it",  
and see if we can get Linden Labs on board too. So, splinter off, do  
more experimental things than Linden Labs could easily do on main  
grid, and then try getting them to merge the successful ideas back  
into their sims.

Definitely, absolutely, LSL is a mess, though. Total lack of any  
support for library code, no object orientation (please, no prim  
jokes), inconsistent API naming (llGetListLength() vs  
llStringLength(), llRot2<anything> vs llStringToBase64() ) , there's  
wonderful methods such as llXorBase64StringsCorrect() (because the  
original one wasn't correct), methods that affect "the avatar  
detected" ( llMapDestionation() ) or "the avatar you most recently  
received this permission for" ( llStartAnimation() ), the entire  
llList2<blah>() set of methods which don't convert a list, but instead  
extract something from one... I could go one for a while. Point is,  
I'd love to see both OpenSim and SL have a sane, well thought out  
scripting language, rather than one that grew organically over the  
years.

On 14 Sep 2008, at 16:09, Mike Deem wrote:

> Yes, LSL makes things difficult. What is the general feeling on  
> compatibility vs. improvements when it comes to scripting? Would  
> having both a "100% compatible" and a completely separate, and  
> completely different, "new scripting model" make sense?
>
> One thing that a new model could explore are some simple declarative  
> triggers and actions for things like door opening, etc. In it's  
> simplest form, the (possibly external) script would call an API to  
> associate something like an llSetPrimitaveParams argument list with  
> an event like touch. The sim would automatically apply those changes  
> when the event occurs, no further interaction with the script would  
> be needed. Look at how events and animations work in WPF or  
> Silverlight for an example of what I mean.
>
> One big long term advantage of going down a path like this is  
> improved security. Moving untrusted code execution out of the core  
> simulation process would be a really good thing. Pushing declarative  
> trigger/action pairs back into the secure process is much safer.
>
>   == Mike ==
>
> On Sun, Sep 14, 2008 at 5:30 AM, Melanie <melanie at t-data.com> wrote:
> Tedd originally wanted to do a script server. Unfortunately, he
> found that many things that need to work to support LSL could not be
> pushed across a remoting path.
> He then abandoned the ScriptServer project and has removed it from
> the tree a couple of days ago.
>
> While it may be possible to make it work for some scripts and
> scripting languages, it is an unsuitable concept for LSL and
> per-prim scripting.
>
> Also, if the script server is half a world away, it would not do
> responsiveness any good. Clicking a door and encountering a 2 second
> delay until it actually opens isn't my idea of a good user experience.
>
> Melanie
>
>
> Dahlia Trimble wrote:
> > I'm not sure I agree, periodic state backups could preserve quite  
> a bit of
> > information, and machines hosting simulators can fail just as a  
> machine
> > hosting a script server. Not sure I agree with the delays either  
> as the
> > script server may even be able to do things faster since it may  
> only have
> > script processing to do and doesn't have to spend time processing  
> physics or
> > whatnot. If it was able to communicate all the changes that needed  
> to happen
> > in a server frame before the next frame starts then it may  
> actually be a
> > faster design. I guess a lot depends on how it's implemented.
> >
> > On Sat, Sep 13, 2008 at 4:32 AM, J Ross Nicoll
> > <jrn2005 at cs.st-andrews.ac.uk>wrote:
> >
> >> The problem with an external script server is you're still doomed  
> if
> >> the server goes down. You need to be able to serialise state  
> anyway or
> >> the first extended powercut/hardware fault/intern looking for a  
> kettle
> >> lead will cause unspeakable chaos.
> >>
> >> You'd also be bringing in even more delay in script response  
> time, but
> >> that's relatively minor.
> >>
> >> On 7 Sep 2008, at 15:52, Mike Deem wrote:
> >>
> >> > I've also been thinking about things like global scripts and
> >> > external script servers. External script servers would solve  
> some of
> >> > the script state serialization issues. Instead of moving a  
> running
> >> > script from one region to another, it just keeps running on it's
> >> > server.
> >>
> >> The University of St Andrews is a charity registered in  
> Scotland : No
> >> SC013532
> >>
> >>
> >>
> >> _______________________________________________
> >> Opensim-dev mailing list
> >> Opensim-dev at lists.berlios.de
> >> https://lists.berlios.de/mailman/listinfo/opensim-dev
> >>
> >
> >
> >  
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev

The University of St Andrews is a charity registered in Scotland : No  
SC013532



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080916/930922e5/attachment-0001.html>


More information about the Opensim-dev mailing list