Thursday 10 April 2008

Monday 10-03-2008

Portfolio Reflection:

I think my portfolio is successful, as I have built a couple of working interactive objects, although they are not as interactive as others had made, but for my level of scripting, I think I had came a long way. For the group exhibition area, I think it looks very nice, all of the exhibits goes well together on our bit of the island. Although we do not have enough face-to-face meetings, but we have managed to get our exhibits to stay in the Park Theme. I have also created this learning Second Life blog which I have try to write it as I am teaching someone instead of just a learning log, so novice users of Second Life can use this as a quick start guide with some fun, useful and informative elements. I think I have done quite well in this module.

Thursday 27 March 2008

Monday 03-03-2008

Getting Help
I am sure that most people need some form of help or assistance while you are learning something, if you don't, you will be the lucky crowd, if you do, it's not like you are a total loser. It is very easy to get help since the internet technology had enhanced over the last decade. All you need to do is search the right terms in Google, and you can find a lot of things that you may not even imagine they would exist.

I found that it's useful to learn how to use Google properly when searching something, such as when I want to know how to resize prims, by typing in just 'resize prims second life' you may find some tutorial or articles how to do it already, but if yo don't want any articles contain the word 'resize' and 'prim' in different places, all you need to do is to add double quotes around the words that you are searching for e.g. "resize prims". Then the results will be a lot more accurate.

Examples:
Results from searching 'resize prims' on Google: click here
Results from searching ' "resize prims" ' on Google: click here

You can see the differences of the search results by searching things differently. I know this is not really all about learning second life, but I think people will find this useful when they want to search for particular tutorial or similar materials to learn second life.

If you are looking for some general second life help, please look at my last post, the wiki I've post are very helpful to all different level users, if still too hard for you to understand, try to search for 'second life tutorial for beginner' or 'second life beginner', you may find some useful tips and tutorials to help you learn about second life.

Uploading image(s)
Uploading images does cost money, but not an awful lot. I thought that it would cost me a lot of money, but it turns out converting real money (in the currency of US dollars) to Linden dollars is very easy and it doesn't cost that much. I've managed to buy 300 Linden Dollars for just under 2 USD.

To upload an image to use as a texture on SL is fairly easy. All you have to do click on File at the main top horizontal menu on second life, then choose upload image, select the file that u would like to upload, after confirmation, image file should be uploaded to your inventory under textures, then u can apply it to any prim you've built.

Streaming music to area of land

There are many places on SL has their own theme music, it can be done very easily, but also can be complicated, it all depends on how you would like the music / streaming audio file to be presented. I am going to introduce you the easiest way.


First you will need to host or upload your required audio file on the internet, anywhere that is public accessible. (or find a link to a legal source of the file / streaming audio file, e.g. Radio station). Then you will need to right-click on the ground of the area (which you have right to change land settings) and choose land info. then go to the media area by clicking on the appropriate tab on the top of the dialog box. Put the file URL in the box provided.

Wednesday 19 March 2008

Monday 25-02-2008

Using Dialogue type of interaction
Dialogue type of interaction are very useful when you want the avatar to know exactly what is happening instead of just interacting using touch or sit. Users may be shown a list of options when interacting with an object which is implemented with llDialog. A great example will be the bartender in my rotating restaurant.

The lldialog function display a menu like dialogue box to interact with avatar, the menu can be hierarchical, that means there than be sub-menus under the main menu, this will widen the range of options can be offered to the interacting avatar.

Gathering ideas
When I first started to learn about second life I really do not have any idea on how to create anything with scripts, I do have a very limited knowledge how to code anything even I am an IT student. Since I have try to build up our bit of the island, I have started to realise ideas is the main thing that motivate me to learn scripting properly. Once I've got an idea, I start building it, and search for the appropriate built-in function to achieve my goals.

Here are the WIKIs I use most of the time to find built-in functions:
LSL Wiki
Second Life LSL Portal


Using the function 'Listen' in Linden Script to work with other prims
It is true that an object cannot send a message using llSay, llShout or llWhisper to itself, it will not work, it's been suggested that using link_message and llMessageLinked for this matters, it will work a lot better without panalty, such as lag and perhaps receive message error, etc.
There are cases that you may want and need to use listen , llListen in conjunction of llSay, llShout or llWhisper in order to make prims / objects to communicate with each others.

An example of this type of objects communication can be found inside my restaurant. The elevator control panes on every floors and the elevator itself communicate with each others by llSay and llListen, so when an avatar touches a button on one of the elevator control pane, it sends a message to the elevator, and it will then act accordingly.

Me on the elevator with the control pane

Using 'llShout' to form communication between prims or objects that further away
As mentioned above, communicating between prims or objects, we can use llSay and llListen, but there are some situations you may want to use llShout instead, such as the objects communicating with each other are far away(>100m) from each others (But not too far that llShout won't reach the object with the llListen function in its script).
There is also other benefits for choosing this kind of object communication, for example you can make your objects to work with other people's object if you have compromise a communal channel where their objects can communicate in order to perform tasks.

A great example of this will be the advertisement board I've created, it teleport avatar who clicked on the advert to another group's land where there is a interactive voting system and instruct the avatar to vote for our group. The advertisement board sends two messages to the voting system after teleporting the avatar there, to show the board, so if the boards are hidden, they will be shown automatically.

Our island advertisement board
Marcus's Voting and Statistics board

Monday 18-02-2008

Texture Magic
As I always learn from experimenting things instead of reading all instruction first, I have discovered the 'Select Texture' option while using the 'Select' tool when building something.

Selecting a particular side of a prim for changing texture of that particular side


This really doesn't require any skills to do so, but once you sit down and think about it to generate more idea, you can do something creative like this:


Looks solid from the outside

Looks transparent from the inside

Remember you can Shift-select different sides of prim and change the textures together, even that involves more than one prim!


Building and linking Big Prims

There is a interactive version of the images below available on the 'exhibition' floor of the rotating restaurant I've made for our group project at HeriotWatt Island.

My interactive presentation on Second Life in my Rotating Restaurant

Here are the slides included (They are not scripted, so the next and restart button will not work):











Mega Prims
I am not sure if you guys have heard of MegaPrims, they are made with a certain release of some third-party SL equivalent software when it was out quite sometimes ago. MegaPrims are the primitives that were made over the size limit of building prims. They cannot be built again after the bug was detected and removed. There is no indications of Second Life will take away the things that were built with MegaPrims, at the moment, they are not going to delete them from our inventory neither, so if you can get hold of a few of them, you should use them effectively , it is because they will save you a lot of prims.

I've been showing too many pictures in this entry, so I am not going to show any MegaPrims pictures, as you can probably figured out how they looked like... just like the original prims, but they are normally in the form of cylinder or cubes.

Oscar
Our lecturer of this Second Life module had arranged a SL Oscar for us to nominate the best interactive object created on our island, I think Mira certainly deserve to have won that prize. He had created a couple of interactive games on his bit of the island, they included a Tic-Tac-Toe game and a shooting-range game. The scores we have achieve by playing those games are also stored in an archive with PHP and MySQL behind the Linden Script, so they will keep our score until we next gone in to play :)

I've really enjoyed the little Oscar Party, as other people on the course can have a glance of what we do in this module throughout this term, and they can see our Island, I have never seen so many coursemates on SL together at the same time like that. I've put on my Banana avatar just for spicing the party up. It's ashamed that we were in a special lecture room that they provided us laptops so I can't take a snapshot of that scene, otherwise it would be priceless. :)

Monday 11 February 2008

Scripting


Tutorial 3 Material


I have partially done the tutorial before the Bsc students have the actual tutorial as Judy was ill, and I had happened to be in the Msc Tutorial class on the previous Friday morning, which gave me a little bit more time to explore the scripting side SL. It was fun, at first I thought I won't be able to do any scripting at all, but after Judy said everyone can be a scripter, then I stopped worrying. Judy gave us a lot of hints on the tutorial worksheet, which gave me a lot of idea what functions should we be looking at using in our codes.

I have spent a little bit of time working through how to make an object talk, and I found that the scripting language is actually quite similar to the other ones that we have been using. I actually find that making things to interact with avatars had motivated me to code something. I have found that I have understand how to code a lot better than writing programs to say 'Hello world' :).

"Stonelike Greeter" & "Stonelike Bouncer"

As mentioned on the last post, I had to create something that will responds to the avatar who touches it. Instead of just creating a box to practice scripting, I have actually use the opportunity to practice my building skills as well, as I think that a box sitting on the island isn't that attractive, so I have created my "Stonelike Greeter" and my "Stonelike Bouncer" to output messages with their name in the middle of the sentence as a response, for coding details of my "Stonelike"-selection, please look at my last post. The yellow one is a cheeky bouncer, I made it just for fun.


My "Stone-like" selection and my talking art-piece

Talking art piece

I have no idea what to do when I have to practice coding something that will talk/whisper random message to the avatar who touches it, so I have created this art-like ornament. It will random pick a number using the llFrand(float max) function which will generate a random number according to the parameter you have provided. At first I didn't have a clue how to use the randomised number, but after a couple minutes I have got a solution, using if-then-else to check conditions. After I have created it, it works! I felt that I've actually achieved something :) I also had a second thought after I've created it, I think a while loop will also work :p

Something that I found

I was going to name all the sentences in my "Talking art piece" to "1", "2"... with all these numerals, but Judy told me not to, as it may upset the compiler, I am glad that I have done this tutorial sheet in the lab, there is always someone to help :) after I thought about it, I think she was right, because when I write my if-then-else statement, something like this will appear in my script :

if (random == 0) {
llWhisper(0, 0),

Which this will confuse the compiler if I meant 0 as some sort of size or the number I would like to show and other errors it may occur... but with the name zero, it will always be representing the pointer to a string. I am not very good at describing things about coding, if I confused anyone here, please excuse my lanugage problem here.

Fun Time

I nearly forgot to upload this lovely picture that I have taken while I was in a great costume :) I was a BANANA.... :) I've found this avatar set sometime ago and I have never really tried it on, once I've tried it, I can't take it off again as it's so hilarious. I did take it off at the end, coz it's taking too much space on the screen, I can't really see where I am going :) If you know me on SL, come and grab me or IM me, I will give you a copy of it :)

This is me in the BANANA costume ;p