Second Life: Next Generation Platform Update-VII 2015

This is the eight article in a series. In this one I touch on SCRIPTING. The ideas I gleaned from Ebbe Altberg’s, Linden Lab’s CEO, speech at VWBRE 2015 that touched on aspects of the coming Next Generation Platform (NGP).

at the hair salon...

at the hair salon… by Strawberry Singh, on Flickr
Wonderfully Funny

I started this series with these articles:

Control of the World: Scripting

On scripting languages Ebbe says were going to have C#. He didn’t say in this speech but, I am certain the Second Life scripting language, Linden Scripting Language (LSL), will NOT be in NGP. While this will be hard on those that have learned programming starting out with SL’s LSL, for the rest of the world it’s going to be a good thing. I think overall it is a good thing for the future of NGP to have C#. 

I think for non-programmers changing to C# from LSL or as a beginning place is going to be difficult and that is a problem. Will we get a secondary language like JavaScript? I don’t know and can’t even guess. I do hope there is some simpler way with a hobbyist friendly language to script items in NGP.

Control of The Viewer & Avatar

Ebbe didn’t say but I suspect we will have some scripting ability to control the avatar bot-wise and automate the viewer. It is a reasonably common feature of complex software to able to script it.

As an example, there is software designed to run on top of AutoCAD. AutoCAD is a type of database manager and interface oriented toward drawing plans; architectural, product, and civil. Various architectural and civil design packages add extensive features to the basic CAD system. The packages run on top of AutoCAD, essentially controlling AutoCAD via scripting. Think AvaStar on top of Blender.

We have nothing like that with the SL Viewers. Special third party viewers can run software and control an avatar, it’s that bot thing. The SL bots with AI have software running on the bot-owner-user’s computer in a third party modified viewer.

Will we have a viewer that allows us to build on top of it? That style of design has never been part of Linden Lab’s design style, as far as I can tell. So, I think that level of freedom is unlikely. But, we may get some way to have a bit of programming control over our viewer. Such a feature could allow people to build amazing tools for use with NGP. Again, think of Blender and AvaStar.

Viewers

Oz Linden is one of the Lindens that likes some of the possibilities that RLV provides third-party viewers in SL. (If you haven’t realized the possibilities go far beyond the usual BDSM toys.) I think some degree of the control RLV provides users, will be provided to Second Life™ by the coming Experience Tools. The idea is to allow in-world scripts to control aspects of the viewer and avatar.

I suspect the control Experience Tools (ET) provide in SL will be built into NGP in some form. Since they are starting at the foundation of NGP the Experience Tools will probably be better and do more and certainly be better integrated. But, we have yet to see what all we can do with SL’s ET. I am hoping we will have more control than even RLV offers.

In SL we have basically no ability to control a user’s viewer via in-world script. RLV adds that control to third party viewers. ET will add, to some extent, the ability for scripts to control the avatar and viewer.

Considering the problems and legitimate use-cases for bots I can’t decide if bots will be part of NGP or not. Since we are seeing more features for NPC’s (non-player characters – sort of bots) in OpenSim worlds I suspect we may see NPC’s as part of NGP. NPC’s have a place in many games. So, it seems reasonable we will have them in NGP too. Having them would remove much of the need for bots. Plus it would make it easier for the system to ID bots.

We would need a way to control these NPC’s. In SL we use NPC avatars controlled by bot-viewers. With C# being the in-world scripting language for NGP it would be relatively easy to program NPC’s with AI running on the NGP server side. With new skeletons, animation, and scripting we should be able to make some interesting NPC’s.

Summary

So, will the Lindens provide in-world and viewer scripting abilities that allow us to control and automate avatars or NPC’s as well build applications on top of the viewer? I think yes to both. But, when is a big question and to what extent is another.

6 thoughts on “Second Life: Next Generation Platform Update-VII 2015

  1. Dump C#, lets use PASCAL. That’s at least a language i really did more with.
    But C# it can be easy, if the avoid some difficult things the use in new languages that pascal did not have. Pascal and delphi are really the best to program clean and nice.

    I would suggest the just make some lsl to C# converter or interpreter so it can still be used or at least most of it. Also give people time to get used to changes.

    • 🙂 I’m not going with PASCAL. 😛

      It should be possible to make a LSL to C# converter. But, the logic of LSL scripts is not going to easily translate. That will make such programs inefficient convoluted. I think it will be faster and better to rewrite from scratch in C#. For now that is what I plan to do.

  2. I expected C# to be the language of choice for the NGP and seeing this confirmed makes me very happy. With 15 years of experience with the .NET framework under my belt, most of them with C#, scripting for the NGP will be lots of fun for me. To be noted, C# is the language used in the Unity dev tool. I wonder if this may be a hint on what the rendering engine will be.

    I have to disagree that switching to C# will be hard for those who learned programming because of LSL. The basics concepts of programming are always the same. Once one learn them switching to a different language requires some adjustments, but at the end it’s a matter of sintax, API and what one can and can’t do with a language. And will, of course. C# will be a quantum leap to what people can do that can only be appreciated by current LSL scripters.

    Several months ago there was a thread in one of SL forums with many expressing concerns and complaints after the first rumors on C# could have been the language of choice for scripting spread. I tried to explain with several examples that there was nothing to be concerned and that C# is a very powerful language that isn’t difficult to learn when one understands the basic concepts of programming. What really makes a difference is writing good, efficient code, and that comes only with experience.

    • You comment is accurate. I think there is one fallacy or presupposition we differ on. but, that only affects my conclusion not your accuracy.

      I agree that anyone that knows programming can make the move to C# with relative ease. I do not see those that learned LSL as there first programming language as really having learned programming. So, I do think they will have a hard time. May be not. Either way I wish them well and patience.

  3. I’m enjoying your analysis of NGP so far. Keep up the good work.

    Fashion, clothes and attachments are a HUGE industry in SL. I’ve seen the industry evolve from system clothes, through flexi prims and various forms of mesh. All have had their problems. I’m wondering if Ebbe said anything about changes in the clothing system and what your take on that would be. Will we be getting mesh that is better fitting and less complicated to make and use?

    • He has not said enough for it to warrant any real speculation. About all he has said is they plan to make a better inventory system and to make wearing clothes and outfits easier.

      Thanks for the kind words.

Leave a Reply

Your email address will not be published.