*Help* Building a Network Lab
|
|
Prano Quan
Registered User
Join date: 15 Aug 2008
Posts: 29
|
07-09-2009 22:56
Hello everyone, I am writing this to ask for your opinion and advice on what's about to be done (a plan to say..). I am currently involved in a project where I have to relate my knowledge as an IT engineer (Network to be precise) to Second Life (SL). My team has concluded to work around scripting (LSL) to program the primitives in such a way that they represent IT/Networking behaviors (sort of mimic). Let's say for example, there is this Network Engineering terminology called "OSPF" which stands for "Open Shortest Path First". (see: http://en.wikipedia.org/wiki/Open_Shortest_Path_First) So basically, we're going to program the SL objects to move and behave to provide users a graphical explanation of OSPF and how we use it in our routers and switches. Obviously, further implementation of this will include animations like "How Routers work?" "How Firewalls work?" All of this will play a role in the storyboard as Object Animation, with LSL of course.. What do you think? Is there a better idea? I accept critics, to improve as best I could... PS: I've previously posted a problem in my object-testing.. the situation is "I have created an object with scripting, which allows it to move 1 meter to the right, every 5 seconds". The problem is "How do I stop the script? IE: The object to stop moving/restart the script/move 1 meter to the left AFTER moving to distance = X meters)..." An easier scenario: The object ball, moves away from me, every second... After 5 seconds, it's 5 meters away from me I want the ball to come back to me (ie: go 5 meters backwards, which means the ball is coming to me) I hope I didn't lose you back then, but I would appreciate it so much if you could help me out. Thank you for your time and understanding.
|
|
Amaranthim Talon
Voyager, Seeker, Curious
Join date: 14 Nov 2006
Posts: 12,032
|
07-09-2009 23:14
Not a scripter and dind't follow most of that- u migh tbe better served by posting in the scripting forum- but about the second part about how to get the script to stop-, u can insert a timer event that wd make it stop after soo many repetions or based on actual time. when i need a simple script i use : http://www.3greeneggs.com/autoscript/good luck
_____________________
"Yield to temptation. It may not pass your way again. " Robert A. Heinlein  http://talonfaire.blogspot.com/ Visit Talon Faire Main: http://slurl.com/secondlife/Misto%20Presto/216/21/155- Main Store XStreets: http://tinyurl.com/6r7ayn
|
|
DancesWithRobots Soyer
Registered User
Join date: 7 Apr 2006
Posts: 701
|
07-10-2009 07:55
Another thought might be to use one of the prim animation systems such as Zfire Animator or Puppeteer.
_____________________
"Two lives I have. One life I live. One life I dream. In dreams I remember the better in me."
|
|
Nika Talaj
now you see her ...
Join date: 2 Jan 2007
Posts: 5,449
|
07-10-2009 09:22
What a fun project, Prano! If you want the objects to move the same way every time and not interact with the viewer or each other, then as Dances says: From: DancesWithRobots Soyer Another thought might be to use one of the prim animation systems such as Zfire Animator or Puppeteer. Puppeteer will do the trick, without you having to write any LSL. It's a free tool, and very easy to use. Your instructor will be amazed at how quickly you finished the project Were you intending to film these animations, or to leave them up as demos that students come to look at? If you were just going to film them, then it might be fun to get a bunch of friends together and use avatars instead of objects for your demos. They could all have big signs over their heads stating their destination, and other visible indications of their metrics. (Use tinies for nearby routers, people wearing mohawks for unreliable links, etc.). People are always more fun to watch than objects! 
|
|
Kidd Krasner
Registered User
Join date: 1 Jan 2007
Posts: 1,938
|
07-10-2009 10:48
From: Prano Quan What do you think? Is there a better idea? I accept critics, to improve as best I could...
Putting on my usability hat, I think you need to begin by telling us who your end users are, and what you're trying to do for them. It sounds like you're either trying to explain your technology to potential customers, in the form of a 3D technical overview, or you're trying to teach networking concepts to students. A major difference between these two audiences is that the latter would need it to be far more interactive. Student might want to be able to make their own copy and totally reconfigure it, while customers may just need to see a handful of canned examples. Or I could be totally offbase. Regardless, a very basic user-oriented approach to this problem is begin by writing down one or more characterizations of your users. If they're students for a specific class, you may just need one such description. If they're customers, or if there are both beginner and advanced classes, you'll need more than one, e.g. junior network engineer, expert engineer, dumb manager who needs to know why the budget request is so high. But for our purposes here, we don't need such detailed descriptions. A quick list of of one or more target users is enough.
|
|
Prano Quan
Registered User
Join date: 15 Aug 2008
Posts: 29
|
07-10-2009 22:34
Hi guys,
Thanks for all your responses, I really appreciate your help, following up on your posts... here's what my reply is:
-->Amaranthim Talon: I've tried 3greeneggs previously, however, they weren't as complete (ie: no for/do while loops, etc...). You mentioned stops earlier. I'd like to ask... I can get the object to move to a direction in distance and time increments but how do I stop it within a timer? It makes sense, I'm trying to code it right now... sort of like... timer(time to STOP moving) within timer(time of still moving) is that what you mean? That's what I'm thinking...
-->DanceswithRobotsSoyer and Nika: Unfortunately, I cannot do Pupeteer to animate my prims. This is because my supervisor wants to see coded materials (ie: maximum user interactions), not a video/animation playback... Yes, they want us to do lots of programming.
-->Kidd Krasner: My end users are potential students/people who have no/LITTLE knowledge of Network Engineering, I would like to give them a graphical representation, in addition, they have maximum exposure to USER INTERACTIONS, sorry for the caps, I am highlighting the importance of U.I.
You are on the right track. My vision is for users to get the top layer of the cake, no need to give them too much detail (such as what is IP address, MAC, yadiyadiyada.. I can just stick a URL if they want to know more info). Also, students can make their own creations, the prims won't be copyable though, the project's aim is only to make as much user interactions while explaining as best we can, what network engineering is about...
|
|
Prano Quan
Registered User
Join date: 15 Aug 2008
Posts: 29
|
07-10-2009 22:38
My current storyboard consist of 2 different situations (i will proceed if I successfully complete these first). One being a Firewall representation, which means PC1 --> Firewall --> PC2
When users say "play firewall", the object will detect this and send the packet from PC1 to Firewall, there will be 2 scenarios:
Scenario 1: Packet Blocked Act 1: Packet is sent from Sender Act 2: Packet stops at Firewall Act 3: Packet is sent back to Sender, (At this point, I'm hoping I could get some sort of notecard which says "Packet is blocked " or something like that.)
Scenario 2: Packet Accepted Skip to final Act, where user gets notecard saying that packet has been sent
During the whole interactions, user will be provided with process log (notecard? possible..). This is so that they know where they're up to and what's happening now (instead of a bunch of paragraphs and they'd be lost...). So folks, that's what I'm doing right now, testing the LSL in my prims.. Any tips?
|
|
Amaranthim Talon
Voyager, Seeker, Curious
Join date: 14 Nov 2006
Posts: 12,032
|
07-10-2009 23:45
From: Prano Quan Hi guys,
Thanks for all your responses, I really appreciate your help, following up on your posts... here's what my reply is:
-->Amaranthim Talon: I've tried 3greeneggs previously, however, they weren't as complete (ie: no for/do while loops, etc...). You mentioned stops earlier. I'd like to ask... I can get the object to move to a direction in distance and time increments but how do I stop it within a timer? It makes sense, I'm trying to code it right now... sort of like... timer(time to STOP moving) within timer(time of still moving) is that what you mean? That's what I'm thinking... .. Yes that is what i meant but the how to's are beyond me- I do not script and only have a limited understading of the most simplest scripts- I am sure though what u r asking is possible - I sort of can picture it as one wd write a macro in say excell or lotus, a bunch of nested scenarios, If's and such- but i do not have any grasp of LSL to be able to do it myself- As for 3eggs- I did need a script once to make a ball just hover by moving up and down a set amt- what i did was copy what 3eggs gave me- somethign about moving +.02 on the z, then copied that line again but with a minus- that made it move up and down- it was continous-which is what i wanted. Good luck- sorry i cannt be more help
_____________________
"Yield to temptation. It may not pass your way again. " Robert A. Heinlein  http://talonfaire.blogspot.com/ Visit Talon Faire Main: http://slurl.com/secondlife/Misto%20Presto/216/21/155- Main Store XStreets: http://tinyurl.com/6r7ayn
|
|
Prano Quan
Registered User
Join date: 15 Aug 2008
Posts: 29
|
07-11-2009 00:37
Hi Talon, That's ok, I appreciate your help Cheers mate
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
07-11-2009 00:59
it's quite possible to do, most of it depends on your representation, and your time constraints, obviously the simpler the faster...
it's success or failure will lie in how well your vision of the graphical representation is understood by the user.... I've modeled things like this adventure quest style, (as a though exercise only) to explain how it works....
often it helps to lay it out as a series of actions, and ignore giving names to the parts until afterward, especially if it's the action you really want to teach...
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
Nika Talaj
now you see her ...
Join date: 2 Jan 2007
Posts: 5,449
|
07-11-2009 01:01
Hi Prano. OK, practical help. You can do all the movement with llSetPos and/or llSetPrimitiveParams. Although it's tempting to use physical objects for this sort of thing so you can get the nice damped motion of llMoveToTarget, I wouldn't. It'll just lag things out, and physics can be tricky anyway. It sounds like you'll be handing out a lot of notecards. That's great if you want students to keep the text and study it later. For things that pertain to the real-time demo tho, it might be helpful if you put the text on a prim, perhaps even on an object that rezzes real-time to point at the motion to which you want to draw students' attention. Hint: if you want to interactively rez a texture quickly, make sure it's preloaded by putting it on a prim that is always visible, only color the prim black. Even though the object just looks black, the client will load the texture as soon as the black prim is in view -- so that when you pop up the sign later, it is immediately readable. If your students know how to touch things, you might consider having them interact by pushing big colored buttons instead of via chat. It's lower lag, easier for a student to do, and is more like a real-life machine. Fyi, IBM did a very interactive simulation of a "Green" data center. Here's a video, but it doen't really show much: http://www.youtube.com/watch?v=j65RkMS9EGYYou can find the data center in search: http://world.secondlife.com/place/4441131c-3351-8b18-de8d-54409dd9009b.
|
|
Prano Quan
Registered User
Join date: 15 Aug 2008
Posts: 29
|
07-13-2009 00:04
Hi Nika, thanks for the update. I've been using the llSetPos command, I have another post on this /54/32/329609/1.html#post2494986Awesoooome
|
|
Lizz Silverstar
Living in the Moment
Join date: 12 Nov 2006
Posts: 192
|
07-13-2009 07:33
For what you are doing I think that llSetPos() and llGetPos() inside a timer driven state engine would work wonders. Some simple coding constructs should let you do this with a minimum of code in a fairly low lag way.
I am a Software Engineer specializing in Embedded Networks in RL. I do a lot of scripting in SL. Give me a shout inworld if you like, I am sure I can help you.
Lizzy
|
|
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
|
07-13-2009 07:40
No idea what you are talking about, but have you visited the Particle Laboratory in world? I've seen things moving in amazing ways there and the combination of prims and particles may solve your problem. You can pick up the scripts free there, too.
_____________________
Deira  Must create animations for head-desk and palm-face!.
|
|
Prano Quan
Registered User
Join date: 15 Aug 2008
Posts: 29
|
07-17-2009 00:46
Thanks for that Deira. Will check the land out 
|