Jump to content
autonug

Scripter or Builder ?

Recommended Posts

Sorry if its a wrong forum to ask this question but most forums are either for  builders or for scripters

I have spent around 10 months in SL and am amazed how most for things we see and use in-world are created by residence itself and not some particular team of developer like most other games. I wanted to start producing something myself. I was wondering which of Builder or Scripter option has better demand/supply ratio to dive in, as scripting in SL or building in SL will both be new to me and I want to start with one at the moment. I personally have felt there are a lots of builders compared to scripters, so scripting can be a better choice, but I can be wrong.

About me:- I am a pre-final year university student doing graduation in computer science and engineering, I have no experience in 3-d modeling/building, I have a lot of experience in writing programs in C++ and python, but always eager to learn more

Sorry again if its a wrong forum and please let me know where to post these kind of queries in future.

  • Like 2

Share this post


Link to post
Share on other sites

If by "building" you mean Mesh creation in (say) Blender, that's a useful skill that will be valuable in other applications besides Second Life.

In contrast, LSL is an extremely idiosyncratic language for executing a very platform-specific library of maddeningly buggy functions.

So, yeah, there are good reasons there are a lot more mesh-makers than there are LSL scripters.

(That said, I'm a scripter. If only there were a twelve-step program for that.)

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

You sound well suited for life as a scripter.  Your background with C++ will be a disadvantage at first because you will be expecting similarities between it and LSL that are simply not there. LSL is an event-driven language with many syntax similarities to C++ but with major differences.  I suggest spending a weekend with tutorials in the wiki  and then dissecting example scripts as you find them in the Functions section of the wiki and elsewhere to see how they work.  Start lurking in the Scripting forum.  Be prepared for surprises.  We just had a lively discussion about the value of using states (or not using them) in LSL.

Edited by Rolig Loon
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
3 minutes ago, Rolig Loon said:

You sound well suited for life as a scripter.  Your background with C++ will be a disadvantage at first because you will be expecting similarities between it and LSL that are simply not there. LSL is an event-driven language with many syntax similarities to C++ but with major differences.  I suggest spending a weekend with tutorials in the wiki  and then dissecting example scripts as you find them in the Functions section of the wiki and elsewhere to see how they work.  Start lurking in the Scripting forum.  Be prepared for surprises.  We just had a lively discussion about the value of using states (or not using them) in LSL.

Closer to C than C++. IMHO.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Just now, Love Zhaoying said:

Closer to C than C++. IMHO.

Whatever.  The point is that prior scripting experience is likely to be more of a disadvantage than a help because it will give you a cocky feeling that you know more about the language than you think you do.  :)  LSL is a weird duck.  The place where prior experience does help is with underlying logic.  If you are accustomed to thinking through the decision tree of a problem before diving into syntax, you'll do fine.  This is just my canned warning that scripting is only superficially about writing the proper statements. That's the part of scripting that doesn't always translate well as you move from one language to another, though, so watch for the minefields.

  • Like 5

Share this post


Link to post
Share on other sites
1 hour ago, autonug said:

I have spent around 10 months in SL and am amazed how most for things we see and use in-world are created by residence itself and not some particular team of developer like most other games

Virtually everything is user made. 

 

2 hours ago, autonug said:

I have a lot of experience in writing programs in C++ and python, but always eager to learn more

How are you with web servers?  HTML, PhP, maybe a bit of SQL.  There is a lot that can be done without going outside of SL but HTTP Request and Response allow for some serious development too.

If you want to play with some other scripting ... have a look at Corrade. a popular scripted agent (aka bot) tool.

The newest and therefor least developed for toy in SL is animesh.  If I were going to actually try scripting to earn money I would be looking to learn as much as possible about animesh.  I may never make a dancing teapot but I need to know what other functions that teapot may be required to do and how to make it do them. 

  • Thanks 2

Share this post


Link to post
Share on other sites
11 minutes ago, Rhonda Huntress said:

How are you with web servers?  HTML, PhP, maybe a bit of SQL.  There is a lot that can be done without going outside of SL but HTTP Request and Response allow for some serious development too.

and I won't consider myself anywhere in PhP and SQL, never I gave much time to them so far. :) 

 

15 minutes ago, Rhonda Huntress said:

The newest and therefor least developed for toy in SL is animesh.  If I were going to actually try scripting to earn money I would be looking to learn as much as possible about animesh.  I may never make a dancing teapot but I need to know what other functions that teapot may be required to do and how to make it do them. 

I will be looking into Animesh, seems something I should lay my hand on 

Share this post


Link to post
Share on other sites

LSL is an easy language for experienced programmers. Learning the API and what you can and can't do to objects in-world is the hard part.

You're not in control of the world, you just get to do things to your own objects occasionally. Other things also act on those objects - gravity, collisions, other avatars, editing through the user interface. You can't assume that when your code gets control, things are where you left them. If you've done any event-driven or real time programming, this is familiar, but some programmers have trouble with it.

To  get anything done in SL, you need to know

  • LSL
  • Blender
  • How the SL world works, more or less.

Working on animesh adds

  • The clothing system
  • The skeleton system
  • SL animation

Share this post


Link to post
Share on other sites
33 minutes ago, animats said:

LSL is an easy language for experienced programmers. Learning the API and what you can and can't do to objects in-world is the hard part.

LSL is linguistically familiar (with some bizarre quirks and omissions), and I also agree that learning what to expect from the function library is the harder part. Thinking about that, though, if I started with just the wiki full of LSL documentation I'd pick an ill-suited approach to most scripting problems I work on. That might be partially because particularly weird problems find me, but still I want to reiterate Rolig's suggestion to start by lurking in the LSL forum while exploring tweaks to existing scripts. Graduating to a more ambitious project, a scripter might get a design review to save a lot of frustration and rework.

(Strictly from a scripting standpoint, I'm less enthusiastic about Animesh than others here. It's the new thing of the moment, but scripting is pretty far down the priority list for achieving a successful Animesh-based project.)

  • Like 2

Share this post


Link to post
Share on other sites
21 minutes ago, Qie Niangao said:

(Strictly from a scripting standpoint, I'm less enthusiastic about Animesh than others here. It's the new thing of the moment, but scripting is pretty far down the priority list for achieving a successful Animesh-based project.)

I'm inclined to agree. Animesh offers some exciting possibilities for those who make and rig mesh models and for animators, but it looks rather ho-hum from a scripting perspective.  We have a couple of new functions that essentially do the same things for animesh that we have always done with animating avatars.  Unless I am totally missing something, the animesh excitement is mostly on the building/animating side of the house.

  • Like 2

Share this post


Link to post
Share on other sites

@autonug

if what you mean by demand/supply ratio is show me the money, then the money is in products that use scripts to functionally enhance their mesh components

if you see LSL as another way to apply what you are learning in school then that's where the money is. When you graduate and apply for a job then the more working examples of stuff that you can show in your portfolio, the better your chances of securing a job that you want

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

 

Autonug sed: scripting in SL or building in SL will both be new to me and I want to start with one at the moment... experience in writing programs in C++ and python, but always eager to learn more

Scripting then :D - LSL scripting language is a hoot. Enjoy ! Here's my latest project just playing and learning KFM - key framed motion ...

https://gyazo.com/ac025da7f0b69b89e292566f3c94196d

You may notice I'm not so hot at building :D . Make a prim, texture a prim, script a prim. It's all good :D Especially scripting :D I would suggest generally SL'ers will be better at one or the other rather than masters of both, though I'm often wrong :)

 

 

Edited by rasterscan

Share this post


Link to post
Share on other sites
20 hours ago, Rolig Loon said:

The point is that prior scripting experience is likely to be more of a disadvantage than a help because it will give you a cocky feeling that you know more about the language than you think you do.

That's wrong. With the exception of machine code/assembly, programming experience is a HUGE/MEGA advantage when starting to programme in LSL (or any other language). There is no doubt about that whatsoever. Having learned to programme in any language is a huge/mega advantage when starting with any other programming language. The reason being that, once you've learned to programme in a language, you understand programming, so you know what you're aiming at doing.

Edited by Phil Deakins
  • Like 2

Share this post


Link to post
Share on other sites
12 hours ago, Rolig Loon said:

I'm inclined to agree. Animesh offers some exciting possibilities for those who make and rig mesh models and for animators, but it looks rather ho-hum from a scripting perspective.  We have a couple of new functions that essentially do the same things for animesh that we have always done with animating avatars.  Unless I am totally missing something, the animesh excitement is mostly on the building/animating side of the house.

While I agree that the new scripting commands related to animesh are quite limited and merely bring the same functionality to animesh as is already available for avatars, from a broader perspective animesh will most likely do much to improve the quality of (and therefore the demand for) things like NPCs and virtual pets, which could potentially also increase the demand for scripted A.I. and other applications related to the interactivity and control of animesh content.

There was also some mention of introducing new animation related LSL functions during the development of animesh which, if implemented, would also provide new opportunities for scripted projects which are currently not feasible with existing LSL functions.

  • Like 1

Share this post


Link to post
Share on other sites

I would suggest the OP learn both. Scripting is only useful when you have something to actually apply the script to. It is possible to just buy pre-built things and add functionality to them but sooner or later you'll start needing parts of the build to be slightly or radically different.

You'll also need to learn a bit of texturing, as you can do interesting things manipulating textured faces with scripts

Don't be afraid to work with prims rather than mesh at first, though. Prims are remarkably satisfying things to build and script. There are in-world sculpt-or-mesh tools that can convert some of your prims to lower LI formats, also well worth a look at.

 

I've done a little bit of building off-world, but I have to say I find it rather lonely, compared to building in-world, but that might just be me.

  • Like 3

Share this post


Link to post
Share on other sites
9 hours ago, Profaitchikenz Haiku said:

Don't be afraid to work with prims rather than mesh at first, though. Prims are remarkably satisfying things to build and script

agree very much

  • Like 2

Share this post


Link to post
Share on other sites
14 hours ago, Phil Deakins said:

That's wrong. With the exception of machine code/assembly, programming experience is a HUGE/MEGA advantage when starting to programme in LSL (or any other language). There is no doubt about that whatsoever. Having learned to programme in any language is a huge/mega advantage when starting with any other programming language. The reason being that, once you've learned to programme in a language, you understand programming, so you know what you're aiming at doing.

Beg to disagree there. Having done everything from toggle switches to mc to assy to c (to fill in blanks here as it is a long list - not a linked  one either) to big iron in the real world - LSL is as different as any other code specific system. Here I love how it interacts so easily and with so many challenging limits. I can still knock off PIC in my sleep but coding here is something I love.

But yep - do both, build and script. Do all of it in fact. You might only ever get to my level of incompetence in some areas but it is your own.

  • Like 1

Share this post


Link to post
Share on other sites

@sirhc DeSantis

Having programmed extensively in multiple high level languages, machine code and assembly, I disagree with your disagreement.

Yes, LSL is different to other high level languages, simply because it's specialised for SL. But there's hardly any difference in programming with it. Being able to programme in a high level language is a huge advantage when starting to programme in LSL, for the simple reason that you already understand programming, and the chances are that you'll already pretty much know the syntax. But even if the syntax isn't what you're used to, you'll still understand programming. For instance, you'll know about loops, sub-routines, functions, variables, scopes, etc., so you'll look for them in LSL. In other words, you'll know what you're aiming at, and you'll know roughly how to go about achieving it. If you weren't already able to programme in a high level language, you wouldn't know about such things, and you'd have to start from absolute scratch, just like we all did when we first turned to page 1 of the 'how to write a programme' book. I excepted machine code/assembly because that really is programming in a very different way.

Remember that what I wrote (what you quoted) was a response to someone saying that already being a programmer can actually be a disadvantage when starting with LSL.

Edited by Phil Deakins
  • Like 2

Share this post


Link to post
Share on other sites

I started scripting because I wanted to "move things" and you can not buy scripts that do your tasks. So you have to do it yourself or hire someone.

Knowledge of programming is very helpful if you have no problem to learn new things. Once you find out the general concept of how scripts work in SL - things seem to be easy. Expect surprises in the specialties of SL scripting and alot of "oh's" - "what?" - "OMG's" though. :)

Edited by Nova Convair
  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, Phil Deakins said:

Remember that what I wrote (what you quoted) was a response to someone saying that already being a programmer can actually be a disadvantage when starting with LSL.

Someone (me) said that because I have interacted with a surprising number of new LSL scripters over the years who ought to have an easy time with the language because they had prior programming experience, but don't.  They come to LSL with preconceived ideas about the way it ought to work and then get confused by the fact that it's event-driven, does not have true boolean variables or arrays, or a host of other features that they have taken for granted elsewhere.  It does help to know what loops and branching and user-defined functions are, and it certainly helps to be accustomed to thinking logically.  Those advantages are quite often offset by the fact that LSL is truly a different kind of duck.  All I said earlier was not to get cocky about what you think you know about programming.  It can make this new experience harder for you, not easier.

  • Like 2

Share this post


Link to post
Share on other sites

Nevertheless, it's much easier, by orders of magnitude, to arrive at LSL with high level language programming experience than to arrive at it with no programming experience at all. Your original statement was that arriving at LSL with programming experience can actually be a disadvantage, and that was wrong.

For those who don't know and are wondering, a 'high level' language isn't what it sounds like. 'High level' doesn't mean more skilled or anything like that. In fact it's just the opposite.. It simply means that the language used is close to english, which make it a heck of a lot easier to programme in than a low level language like machine code/assembly.

Edited by Phil Deakins

Share this post


Link to post
Share on other sites

No, the statement that it 

17 minutes ago, Phil Deakins said:

can actually be a disadvantage

is quite correct.  I didn't say that it must be.  Prior experience can blind you to new possibilities and lead you to false assumptions.  I've seen it happen many times.  So don't get cocky.  That's all.

Share this post


Link to post
Share on other sites
3 hours ago, Rolig Loon said:

No, the statement that it 

is quite correct.  I didn't say that it must be.  Prior experience can blind you to new possibilities and lead you to false assumptions.  I've seen it happen many times.  So don't get cocky.  That's all.

I didn't suggest that you said it must be a disadvantage. I disagreed with what you did say - that it can be a disadvantage. I completely disagree with that. Any high level programming experience is a clear advantage when coming to LSL, and I gave the reasons why it's an advantage.

What you're arguing is that, for those who aren't used to event programming, or can't manage without arrays, it's better to have no programming experience at all when starting with LSL than to already be a competant programmer. I'm sorry Rolig, but that's completely wrong.

ETA: I'm not getting cocky. I'm merely correcting something you wrote that was wrong.

Edited by Phil Deakins

Share this post


Link to post
Share on other sites
On 12/19/2018 at 10:21 AM, autonug said:

Sorry if its a wrong forum to ask this question but most forums are either for  builders or for scripters

I have spent around 10 months in SL and am amazed how most for things we see and use in-world are created by residence itself and not some particular team of developer like most other games. I wanted to start producing something myself. I was wondering which of Builder or Scripter option has better demand/supply ratio to dive in, as scripting in SL or building in SL will both be new to me and I want to start with one at the moment. I personally have felt there are a lots of builders compared to scripters, so scripting can be a better choice, but I can be wrong.

About me:- I am a pre-final year university student doing graduation in computer science and engineering, I have no experience in 3-d modeling/building, I have a lot of experience in writing programs in C++ and python, but always eager to learn more

Sorry again if its a wrong forum and please let me know where to post these kind of queries in future.

Here's my 2 cents. From someone who has been building over a period of 14 years in SL, yet can't script her way out of a wet paper bag*. ;)

Learn building first, then learn to script what you build. In the past, there were a few scripters who never learned to build and so their scripts never really functioned properly. There is nothing quite as frustrating as having to try to tweak a script so that it functions as intended.

*I can do a bit of tweaking on the simpler things...the rest is all goobledegoop to my brain. 

Edited by Selene Gregoire
  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...