[sldev] Script to client channel.
Lawson English
lenglish5 at cox.net
Mon Feb 16 01:20:31 PST 2009
Ambrosia wrote:
> The main issue with enhanced lsl-to-client communication, like in
> RestrainedLife that was mentioned as an example, is..
>
> The change of behavior runs deep. RestrainedLife is not about the UI,
> but direct client behavior for all sorts of things.
> All effects and behavior that one'd want to be executed in the client
> via messages coming from in-world would need to be implemented, and/or
> at least selecteable. You'd have to have a either predefined messages
> and commands with hardcoded effects, or some kind of template system
> with which to program the viewer.
>
> Added to that, the viewer'd need to allow for all kinds of implemented
> functionality to be executed, given that the change'd not be for a
> specifc system, but for people to build their own systems on (Again,
> RestrainedLife was an example). The viewer architecture isn't that
> easy. Implementing such a templating would be a huge undertaking, and
> I see a huge potential for abuse as well if there is some kind of
> default.
>
> IMO the best solution for such quite deep changes of behavior is to
> simply make a modified client for a specifc system, like
> RestrainedLife is today. It's by far the more secure approach, if you
> want such enhanced client functionality triggered by in-world objects.
>
>
> When it comes to UI changes only, I also think the other way around
> would be much nicer...create an UI that is scriptable via a language
> like LUA.
> World Of Warcraft is an -excellent- example what people can do with a
> programmable LUA UI.
>
The model I'm planning on using for pyogp is the AppleEvents model where
GUIs and scripts call the same internal message handlers (where
appropriate). That way, any viewer that implements a login command via
GUI should be able to handle the same command via script. For simple
user interactions (e.g. anything with a simple menu interface), this
model is paretty easy to implement and extremely powerful....
And its language-neutral.
A lua-scripted client OK, but you'd need to redesign the whole thing
from scratch to make it truly usable, IMHO. If you're going to do that,
rewrite it in ObjectiveC and expose the client innards in a way that a
cross-platform f-script or equivalent language could use.
L.
More information about the SLDev
mailing list