Thanks very much for that analysis Ben.  I read over your suggestions, and 
tried to weigh out what made the most sense to me. One constraint I do have is 
time, unfortunately.  This is my last summer at RIT, and its coming to an end 
soon.  Having a modified SL client definitely sounds like the more complete ( 
and cooler! ) way to solve this, but as you said, it will be a while before the 
client actually looks like the real game.  Being able to see the animations 
will be important, and I currently only have access to one machine with SL ( my 
own ).
 
However.  You guys already have the logging stuff done, and the ability to 
transfer money and such in game... I wonder if adding code to simply perform 
the animations wouldn't really be a big stretch.  It all comes down to firing 
the right packet at the right time, yeah?  Perhaps simpler than going in and 
modifying the .exe, or even modifying snowcrash( both of which frankly terrify 
me ).
 
Plus, if I actually added animation packet firing into the repository, you 
might find a use for it later, as opposed to an ultra-specific mod.  I'd have 
to find a way to get on another machine capable of running SL to see my 
motions, but I think I could figure that out.

So I'm leaning towards libsecondlife.  This sound realistic?
 
________________________________

From: [EMAIL PROTECTED] on behalf of Ben Byer
Sent: Tue 7/18/2006 9:24 PM
To: Development list for libsecondlife
Subject: Re: [libsecondlife-dev] Hello folks! (libSL questions)


On Jul 18, 2006, at 9:18 AM, Michael Kron wrote:


        I am new to the Second Life library, and to reverse engineering in 
general( is that what this is? ).  I am familiar with both C++ and C# though, 
which it sounds like libsecondlife is being developed in.  John mentioned that 
animations are fired with an AgentAnimation packet, which sounds like exactly 
what I want to do.  But I assume that there is a whole lot of setup that comes 
first, such as logging in to their servers, and perhaps some handshaking?  I 
noticed that there are a couple sample apps in the repository, but I am 
unfamilar with the proccess that they go through.  Would anyone mind giving me 
an overview of the event flow, or just point me towards a good section to read 
over?
        [...]
        

         
        Sorry for being so long-winded, I've just been running all over trying 
to find someone who knew about all this.  I'm really happy to find you guys =)  
Thanks very much for help you can offer, I would surely appreciate it.  And let 
me know if you need any more information from me.


Welcome! 

I, for one, am always happy to talk to someone who has an interesting project 
and is willing to put the "learning time" necessary into making it happen.  I 
don't know too much about animations, specifically, but I think you'll find 
people here more than happy to help you if you've got the time to talk this all 
through.  (We can't really point you at something to read over, because we're 
making it all up as we go along!)

(For a general discussion of Reverse Engineering as a discipline, see the 
Wikipedia entry at http://en.wikipedia.org/wiki/Reverse_engineering)

I see a couple of different ways to approach this problem, and you'll have to 
make a choice about which sounds more appropriate, based on your project goals:

1.  Use the official SecondLife client, with some modifications.  (This could 
either be done by actually patching the SecondLife .exe file, or by modifying 
Snowcrash, our debugging tool, to do much the same thing.  I don't know how 
happy Linden would be about either of those -- the same such techniques have 
been used to create programs that harassed other people or scammed Linden out 
of L$.  However, they have publicly stated that they have no problem with 
people tinkering for the purpose of adding new interfaces -- and your idea is 
cool enough that they'd be idiots to object.)

2. Use the libsecondlife library to write a new "simplified client", as you put 
it -- that's exactly what libsecondlife does.

Pros and cons of each:

1. Modified SecondLife client -- this would be the most visually appealing way 
to do it.   I think it would be possible to embed the equivalent of marionette 
strings into the client that would allow you to write some software to trigger 
"canned" animations in response to your movement, and other than that, your 
interaction with the SecondLife world would be identical to anyone else using a 
keyboard or a mouse.  This may be the easier approach -- all of the login and 
handshaking stuff is taken care of for you -- but is less flexible.

/DIV> 
2. Using libSL -- Unfortunately, libSL is a very long way from having anything 
that looks like a normal SecondLife experience.  Right now, we have a few 
things that look more like a chat window, or tools for transferring money, 
managing inventory, etc.  You wouldn't be able to see what you were doing -- 
unless you signed on with a second character with the real client and stood 
nearby, watching yourself.

The big advantage here is that you have considerable more flexibility, limited 
only by your imagination and our collective ability to figure out how 
SecondLife works.


        But as far as I understand, there is no automated way to do the upload, 
so the second best solution is to "approximate" a gesture,


What a perfe t example!  If you use libSL, that restriction might go away.  It 
may be the case that there's just too much data to upload animations in 
real-time, or that there's too much server lag, such that it would take 10 
seconds between when you moved your arm and when it registered in the game.  
But this is the kind of thing that custom clients are made to do.  (Nobody's 
yet tried such a thing...)

You may well end up having to try both approaches to see which one you're more 
happy with.  You said that someone else is going to handle the approximation 
part of your project -- this is an example from a completely different problem 
space, but quite entertaining nonetheless and may give your group some 
inspiration -- http://www.popmodernism.org/scrambledhackz/?c=4

Please keep us posted on your progress!

Ben



<<winmail.dat>>

_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev

Reply via email to