Jump to content

Question for viewer developers


ItHadToComeToThis
 Share

You are about to reply to a thread that has been inactive for 1303 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Before I start. Anyone who thinks “If you want these features code a viewer yourself”. I don’t have the time, I am already working on starting up my own RL app development business. And this is more a query than a request.

Okay so, viewer developers. What is it exactly that stops you from innovating improvements to the SL script editor. I see all kinds of neat and fantastic ideas coming out of the third party viewer community for artists, bloggers, fashionistas and the like. But I rarely if ever see anything innovative developed for the coding community in SL. I am not criticising you here btw, I appreciate the amount of effort that goes into viewer development. As I said above, more a query.

For example, one neat feature that I am surprised no one has attempted is some form of auto complete on functions. If that could be expanded to custom functions and variables that would be even cooler. 

Or a custom code library. The ability to save snippets of code to a file on your local drive that would act as a simple library would be really handy for organising and storing regularly used snippets of code. With perhaps a drop down box of some form to insert them similar the one that already exists for built in functions. 

A file viewer built onto the side of the editor that pops out and shows all of the scripts inside your object and clicking on one opens it in a new tab.

I am not saying that I think you should run out immediately and create these things. Although it would be kinda neat. But, it’s more a query as to what stops you from innovating for the coders as much as you do for other developer communities. I understand the level of work involved but when put in comparison with some of the other innovations that been applied to the various TPVs the level of work doesn’t seem all that high.

As I said though, query and not a request. I understand and appreciate all the work that you put into your viewers. I am just curious is all.

Link to comment
Share on other sites

Probably the same reason why there is no built-in animation editor or no built-in mesh modeling tool and no built-in image editor and no built-in audio editor:

There are excellent external tools already available. Just edit your script(s) in an external development environment. The script editor even has the "Edit" button that watches external files for changes, so a saved file automatically gets compiled in SL.

I would even go as far as to saying: The scripting tool inside the viewer is the ONLY creative tool inside the viewer. Everything else needs to be done externally. So the scripters already have a huge advantage over  everyone else.

 

Edited by Zi Ree
  • Like 1
Link to comment
Share on other sites

6 hours ago, ItHadToComeToThis said:

What is it exactly that stops you from innovating improvements to the SL script editor.

A couple of reasons.

Most obvious being the existence of SL support for external editors (like the exceptional VS code) and SL's ability to seamlessly use these external tools (save externally, script updates in SL), also, the performance of your chosen editor shouldn't be bound by the single threaded SL clients local frame rate or reliability.

Putting an end-game IDE in the viewer would be a universally miserable experience for the programmers using it and for non-programmers who must live with the extra bloat. This is also why no one is merging blender/audacity/LibreOffice and the SL client. Yes we have been asked.

There are pretty good arguments for removing the in viewer script editor entirely and having scripts open seamlessly in your external editor of choice. If LL were adding scripts today as a new feature, this is how they would do it.

 

 

 

Link to comment
Share on other sites

I have spent several years hanging with Singularity team and one of the suggestions I made was adding code folding to the viewer's code editor. The team then toyed with the idea but then rejected it because they/we could not find a code folding library with a compatible open source license.

I also asked why the viewer (all viewers) have not been made to be multi-threaded and I don't exactly remember the answer I got, I think it was something along the lines of "that would be a major headache" or something of the sort. It would be nice if someone could explain this to me again because I would love to understand.

Link to comment
Share on other sites

5 hours ago, Fritigern Gothly said:

why the viewer (all viewers) have not been made to be multi-threaded

It's a big job.

It really is time for a "Viewer 3". Rendering goal: make routine SL use look as good as Strawberry Linden's blog.

It's more than making it multi-threaded. It's probably switching to Vulkan, which is designed from the ground up both for multi-threading and for pushing more of the work out to the GPU. And if all that work is done, it's probably time to go to physically based rendering like everybody else. That's a big job, although maybe using a major game engine like UE5 can reduce the work.

(And none of those "Second Life is different because it's user built" excuses. That's in the past. SL is not that different from a modern MMO. Go watch some Dual Universe videos.)

  • Thanks 1
  • Haha 1
Link to comment
Share on other sites

6 hours ago, Fritigern Gothly said:

I also asked why the viewer (all viewers) have not been made to be multi-threaded and I don't exactly remember the answer I got, I think it was something along the lines of "that would be a major headache" or something of the sort. It would be nice if someone could explain this to me again because I would love to understand.

That would require dropping the entire existing code base into the trash. Basically it's of no use beyond being reference material.

Just making what we have now use more threads does not achieve any additional performance as there will always be bottle necks left over from the single threaded base. If anything, the end result would be less performant as all the additional threads would require management code. Actual multi threading would need to be implemented from the ground up and cover the entire asset pipeline, from linden servers to your screen and literally everything in between.

Say you have a fruit pie factory and want to make more pies per hour, after careful study it turns out making the filling is very labor intensive. So you add a dozen extra-fancy pie filling machines at great expense, only to find out the factory as a whole operates slower than when you started, everyone is working full tilt and most of the new machines aren't even able to be used. Further study identifies that production rate of pie custs per hour falls dramatically short of your ability to make filling. One more massive refit later, everyone shows up for work and PPH (pies per hour) is .. yet again down, it would have been better to do nothing. Turns out moving crusts around is eating a lot of time, packing the pies at the other end requires everyone to stop work and wait, supplying the machines with raw materials needs be rethought, bigger factory doors, more delivery trucks, a faster packaging process, replace all the people with robots. So you do all of that. The math works out, the planets align, hell freezes over and .. production is up. 20% up. Not the 800% you were expecting. Turns out the infrastructure surrounding the factory can't handle the massive uptick in delivery trucks, production surges and then halts in none obvious ways. If the factory was a pond and pies were stones, previously you'd been tossing one in at a time and watching the ripple, now you're throwing hundreds in almost randomly and trying to make sense of the chaos. You're conducting an orchestra, everyone is wearing a blindfold and located in a different room. Everything is on fire. The one person who understands how half of this mess works quits and it takes 6 months for a new team to unpick everything, only to suggest that the brand new soap dispenser in the employee rest room be replaced with one 16.3% smaller. You invent time travel, go back and inform yourself that maybe the best idea would be to sell the pie factory and invest in cakes.

Edited by CoffeeDujour
Turns out nobody likes the new sansar cakes. Corporate suggest re-branding everything.
  • Like 1
  • Thanks 1
  • Haha 1
Link to comment
Share on other sites

6 hours ago, CoffeeDujour said:

There are pretty good arguments for removing the in viewer script editor entirely and having scripts open seamlessly in your external editor of choice.

nuuu!

Linden viewer script editor has amazing color characters and tooltips even. Notepad doesn't

😸

 

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Zi Ree said:

To be fair, VSCode is open source and cross platform.

I have installed it on my Linux PC just minutes ago, but I think I still prefer Sublime Text because it feels more.. Dunno... The UI doesn't feel like I am working on just the one script. It feels sleeker and smoother to me, more streamlined.

I will give VSCode a whirl for a while, and let's see if my scepticism will turn out to be justified or not. 

Link to comment
Share on other sites

 

next suggestion will be: menu Build... Start Blender, Start Gimp, Start Marvelous Designer, Start Magic Rainbow Maker

new person goes: how do I make a box? And we go: menu Build... Start Blender.... then press like 87 buttons and voila... easy peasy !!!

then if they ask: How do I put a plywood on it ? Then we can say even more easy peasy.  menu Build... Start Gimp... then only have to press like 26 buttons and voila moila !!

new person goes: umm! is there any simpler way to do this ?  And we go: what are ya !! lazy or something !!! Is not hard you know. Ya just got to put the time into it !!!

edit: i better put in a smiley or am going to get in trubble

😺

 

 

 

Edited by Mollymews
  • Thanks 1
  • Haha 1
  • Confused 1
Link to comment
Share on other sites

21 hours ago, Zi Ree said:

Probably the same reason why there is no built-in animation editor ...

That one isn't all too far in the distance anymore. When i finally start on it, i won't be quitting until its done, its only the next logical step after the Poser.

But with animations being no mod and me not getting official support nor the help i actually want i doubt its going to be the new super tool i hope it will be. Not with LL around imposing more limits than i can count, the Poser has seen the same fate... keyword "Export" and the implications of such a feature...

Edited by NiranV Dean
Link to comment
Share on other sites

18 hours ago, Fritigern Gothly said:

I have installed it on my Linux PC just minutes ago, but I think I still prefer Sublime Text because it feels more.. Dunno... The UI doesn't feel like I am working on just the one script. It feels sleeker and smoother to me, more streamlined.

I will give VSCode a whirl for a while, and let's see if my scepticism will turn out to be justified or not. 

I run VSCode on all of my computers: my office Mac and Linux systems, my System76 Linux laptop, and my work Windows machine. It works great across all of those platforms and, more importantly, works the same across them all (plus or minus the Mac's command key vs. Windows and Linux's control key).

I looked at Sublime Text once...it didn't look good enough to justify the purchase price. VSCode is free, as are its extensions.

Be sure to install the extensions for the languages you use. They bring a lot of the power out where you can get at it.

Link to comment
Share on other sites

On 9/13/2020 at 8:11 PM, animats said:

It's more than making it multi-threaded. It's probably switching to Vulkan, which is designed from the ground up both for multi-threading and for pushing more of the work out to the GPU.

I expect that the viewer will switch to Vulkan, as the only cross-platform graphics rendering toolkit these days. Oz won't say that's what they're doing, but they're going to have to get off of OpenGL, since Apple has deprecated it. (I'm personally surprised that Apple Silicon versions of macOS still have it, myself.)

Going to PBR is a bit bigger lift, since just adding materials took far more work than simply adding it to the render pipeline. Going to a game engine, even more so. (Have you looked at SineSpace? Developing content for it is very different from developing it for SL. Not everyone uses Blender to build things with, especially at first.) I expect we may see PBR at some point in the future, but not a game engine.

Link to comment
Share on other sites

On 9/14/2020 at 10:46 AM, Profaitchikenz Haiku said:

Ditch Windows, use Geany or Gedit :)

Ditch every modern editor/IDE: keep using Nedit (or XNedit for people using UTF-8) ! 👴

I have been programing with it in all languages (C, C++, Forth, Perl, Tcl/Tk, JavaScript, Java, Python, PHP, bash, etc), for the past 26 years... And yes, I even made syntax highlighting ”recognition patterns” settings for LSL in Nedit...

Seeing how much code I produced with this editor (that also can act more or less like an IDE since you can launch complex commands with it, including compilation), I can tell you it certainly does not harm my productivity. 🚅

And yes, the Cool VL Viewer is entirely coded using Nedit.

Link to comment
Share on other sites

On 9/14/2020 at 11:33 AM, Mollymews said:

 

next suggestion will be: menu Build... Start Blender, Start Gimp, Start Marvelous Designer, Start Magic Rainbow Maker

new person goes: how do I make a box? And we go: menu Build... Start Blender.... then press like 87 buttons and voila... easy peasy !!!

then if they ask: How do I put a plywood on it ? Then we can say even more easy peasy.  menu Build... Start Gimp... then only have to press like 26 buttons and voila moila !!

new person goes: umm! is there any simpler way to do this ?  And we go: what are ya !! lazy or something !!! Is not hard you know. Ya just got to put the time into it !!!

edit: i better put in a smiley or am going to get in trubble

😺

i dont understand why we should mesh every plank we need, when we can easy build a plank inworld.

And i dont understand why a linked bundle of 10 mesh planks can have a LI of 1, when a linked bundle of 10 built planks has a LI of 10.

I personally think that f.e. loading issues on events are related to unnecessary meshed planks.

 

  • Haha 1
Link to comment
Share on other sites

  • 2 weeks later...
On 9/14/2020 at 12:20 PM, NiranV Dean said:

That one isn't all too far in the distance anymore. When i finally start on it, i won't be quitting until its done, its only the next logical step after the Poser.

But with animations being no mod and me not getting official support nor the help i actually want i doubt its going to be the new super tool i hope it will be. Not with LL around imposing more limits than i can count, the Poser has seen the same fate... keyword "Export" and the implications of such a feature...

What are you exactly looking for regarding animations being mod? Or are you looking for the SL import file as in animation file?

Link to comment
Share on other sites

14 hours ago, Selena Daehlie said:

What are you exactly looking for regarding animations being mod? Or are you looking for the SL import file as in animation file?

I was thinking of making inworld animations live-moddable (obviously you'd have to reupload them for them to apply the changes) but that would only be allowed if the object was moddable (and basically full perm). But with all the animations being neither full perm nor at least moddable (why would you make them no mod, did they anticipate this?) i doubt that the animator would fulfill its intended purpose of modding existing animations to your liking which would make it an inworld QAvimator basically with the only option being to make a new animation from scratch and a theoretical option of editing existing ones.

Link to comment
Share on other sites

1 hour ago, CoffeeDujour said:

Any animation editing facility that allows an existing asset as a base is dead on arrival.

Even if the asset was full perm, it doesn't grant the user sufficient ownership to basically copy it and reupload it under their own identity with their own choice of new perms. 

 

in another thread which Niran was also in this was discussed. The consensus was, as you suggest here, and Niran concurred with, is that the tool would only allow export to bvh/anim of animation files of which we were already the named creator

Link to comment
Share on other sites

Yea. Why would i even spend time on it then. We need a way to add multiple creators to one asset and we need a proper way to display that rather than just (multiple), also the Viewer needs to away to upload things and set multiple owners (or having fixed names already added when we reupload something from someone else)

Link to comment
Share on other sites

We need procedural animation creation by script capability.

A viewer UI based poser is nice, but it mainly serves one use case, making poses that have to be uploaded as assets for later use.

Being able to "build" and "play" keyframed animations by script in the same manner as we can build and play keyframed motion on objects by script would allow far more use cases.

Animations have the small memory foot print, smaller than most textures.

Some benefits include:

  • Not having to upload hundreds of offset animations to adjust positioning of bento wings, tails, bits. Animesh form factor is not always a solution since slots are limited and may already be consumed since too many creators are already relying too much on animesh to be the "solution" for this problem alone.
  • Immediately build and play animations dictated by a scene/environment, like turning a head/body to face something, aiming a hand and/or arm toward something.
  • Correct hand and/or feet placement on ladders, stairs, handles, pedals, etc.

Some of this also needs the aid of insertable IK's into frame data. Then you can have things like correct hand placement in/on hands,heads,faces,waists,other body parts regardless of height/limb length differences.

You could even use the script backend to create a poser with variable UI, albeit, in HUD format and build off previously built and saved animation data or start from scratch.

You won't be able to build off of already playing animations, though. So there is little risk of IP theft unless such a feature creates an underground of animation build data being traded on the blackmarket, but then there would already be something like that for existing animations.

Edited by Lucia Nightfire
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1303 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...