Tuesday, October 21, 2008

Workshop on Second Life

Yesterday I gave a basic introduction to building in Second Life (I am not capable of much more..) Here are the notes I used for the workshop.

Kowloon Temple by Seb, from The Best of the Best in Second Life.

“Rather than tweak the environment to force real-world styles of collaboration, more might be gained by improving aspects of collaboration that users find troublesome, such as the permission system which currently prevents objects which have been made by different individuals from being linked together.”
Collaborative Building in Second Life

The agenda for the workshop is:

- Questions
- Prims
- More sites from instructional videos, guide books etc on how to build.
- Textures
- Balancing bandwidth demands
- Coding

Media and Second Life:
- Streaming - audio and video
- PowerPoint
- Linking - websites/URLs, linking to media files
- Parcelling land for URLs and streaming

Prims are the objects which are used to build in Second Life. To create a prim, simply right-click the ground and choose Create. This will open the Create Pane on which you will see all the basic shapes available to you. You can also click the blue Build button at the bottom of your screen. Try to keep prim count low.
See Use and Abuse of Prims

Sites from instructional videos, guide books, help etc. on how to build.
Building Tools (includes links for free 3D modelling tools)
A Beginner's Guide to Second Life By v3image (Google Book)
SL Tutorials Blog
Video Tutorials
Building Resources
Ten Tips for Building in Second Life (video)
How to use the Building Grid (Important..maybe I have shown this before...but really important for collaborative building)

One of the few things that can be easily moved in and out of Second Life (uploaded, downloaded) is textures. These are the JPEG image files that give objects their appearance. A large collection of textures (10MB file) can be downloaded from here: http://secondlife.com/community/textures.php To upload and download a texture into or out of SL costs $L10. You should remember this when moving textures around and only move the ones you think you will need. All groups are running on a budget!
A sick amount of texture tools (many free) plus texture packs and instructions on making texture work well in your projects can be found here: http://wiki.secondlife.com/wiki/Texture_Tools
JPEG files should be small, be careful when importing textures and make Adobe Photoshop your friend (that is an order)!!
Of course Google Images is good for finding textures. Picsearch is also good. Because this is a university project images must be copyright neutral to be used in the projects, but this is not such a big problem as there are thousands of sources for copyright free images on the web. Look for the Creative Commons License to be sure you can use the images. Flickr has a CC collection online. As well the Internet Archive is a treasure trove of CC images, audio and texts. Finally, suiting the museum theme of the projects, old images (over 70 years after the death of the creator) can be used freely.
I will go through textures further in the workshop.

Balancing the Bandwidth
It is fairly easy to create things in SL, but it is harder to create a project which is visually and aurally pleasing with a high degree of immersive interactivity, but that does not take an hour to load and has more drag than a transvestite bar in Sydney on a Friday night. Good building in SL involves trade-offs between efficiency and appearance.
Think carefully about how you put the elements of your project together. If a prim is not all visible only put texture on those surfaces that are seen. Be careful with running scripts. Work with scale and rhythm of the piece (Ill explain this more in the workshop). Cut corners and be creative.
Here is a short guide to lag/drag issues in SL and how to avoid it. Study the prim count in you area and the FPS reading. Learn the lag meter (video)
Path mapping is important. Think of your project as a three dimensional interactive world and then map out how it is to be experienced. Once you have a series of storyboards for you piece you can plan out how to minimize prims and scripts by only creating what it needed for the experience as you design it. There should not be any holes in the fabric of your SL piece but at the same time it should be smooth, efficient and effective. Read this quote and reflect on its design wisdom:

World of Warcraft’s avatars just have 1.500 polygons (and most of the MMORPGs do the same). They rely on insanely good graphic designers to get the most out of those 1.500 polygons — and get some help from the current generation of graphics cards to do a lot of special effects without any extra “cost” in GPU processing. These games look awesome because the graphic designers and 3D modellers can figure out beforehand what path your avatar will take, and make sure that all scenes are rendered with just 200.000 polygons. Granted, sometimes you get hundreds of avatars in a raid or so, and your graphic card will start to skip frames due to the extra polygons that suddenly require to be drawn, so lag exists elsewhere in the Metaverse, too! IDG Designs

Everything in SL runs on code. The coding language for Sl is called Linden Scripting Language (LSL). LSL is the Linden Scripting Language. This is the language all scripts in Second Life are written in. Its structure is based on Java and C. A script in Second Life is a set of instructions that can be placed inside any primitive object in the world, but not inside an avatar. Avatars, however, can wear scripted objects.
LSL has emphasis on "States" and "Events". A door can be "open" or "closed" and a light can be "on" or "off". A person can be "hyper", "calm", or "bored". Many real life behaviours can be modelled with "states" and the same can be true for LSL programs. Minimally a script will have one state, the default state.
Getting Stared with Scripts
Scripts can be access, copied or pasted into objects by right clicking on an object, selecting Edit and then choosing the Content tab. Here you find the window for scripts that are attached to the object. Scripts make objects do things.
An introduction tutorial for LSL
The SL Script Portal
More on LSL

Media and Second Life
Streaming is done from the URL channel set to the parcel.
Streaming Music
Streaming Video

In the Media tab of your About Land window, you can enter a URL for streaming video. The url must be to a stream that is Quicktime compatible, which includes .mov files, and various other formats too.

To be able to see the movie stream you selected, Second Life has to know which surface you want to display it on. This is done by designating a texture as the "Media texture" in the Media tab of your About land window. Be sure to select a texture that you don't use elsewhere on the same land because any surface set to display that texture will also become a movie screen when one is playing. Once the Media texture is set in the Media tab, all thats left to do is apply the same texture to an object that you want to use as the movie screen, and its ready to play!

With a streaming movie URL set, a small Play button with volume slider will appear at the bottom of your screen, just above the Build button. Once you press Play your screen should play the movie for you. Do be patient, sometimes it can take a little while to get started. If you are having trouble, try testing the URL outside of Second Life in the Quicktime player itself. If it works in Quicktime player, it really should work in-world too.

On the Media tab of your About Land window is a space to enter a streaming audio URL. The tick box above it allows you to avoid annoying the neighbors. There are many sources of compatible streams on the internet, perhaps the best known being www.shoutcast.com. Here are some simple instructions to follow:

Point your browser at www.shoutcast.com
Search for a music channel that you think you would enjoy, look for one that is not at its maximum listeners, and keep in mind that the higher the bitrate listed against it, the more bandwidth it will need.
You will see a small yellow button that says Tune In, for the stream you have found. You are now going to save this as a file. In most browsers, simply right-click the yellow button and choose Save Target As.. or Save Link As.. This will drop a .pls (playlist) format file onto your hard drive.
Using notepad or a similar text editor, open the .pls file and look for the URL listed inside it. Sometimes there are several, and they will usually include a port number. It will look something like.. http://12.345.12.888:80. Copy that URL then close notepad.
In Second Life, open up your About Land window, and go to the Media tab. Paste the URL into the Audio field. Close the About Land window.
You should now see a small volume control and Play button at the bottom of your screen. If not you may need to leave your land parcel and return. Press the Play button.
You should now be able to hear the music. If not, do check that your preferences settings are correct (see the Key Points above).

To purchase time on a shoutcast channel go to Shoutcast & IceCast professional stream rental from Jamie Otis
We should be able to set up a stream from the HUMlab servers. Just let us know what you want to do and we can work it out.

Screens that are built for PowerPoint presentation can be purchsed in world. The script for enabling a Powerpoint object is avialable here:
A video tutorial for PowerPoint in Second Life
If you do not have PowerPoint and don't feel like buying Word, why not try Open Office: a FREE Download which includes Impress. Slides have to be uploaded as textures (JPEG is best) and links are not active in slides. HTML websites can be embedded as images on objects in SL but not as interactive webpages. It is only a matter of time before this happens and when it does something like Slideshare will be usefull as then interactive slide shows as HTML pages can be access with SL. Slideshare is usefull anyway as a publishing and storage tool. While so much of the focus in the course is on SL, it should be remembered that digital museums are cross platform.

Linking in Second Life
The code for linking from objects in Second Life is:

state_entry() {

llSetText("Click For Info", <1.0,1.0,1.0>, 1);

touch_start(integer num_detected)
key gAvatarKey = llDetectedKey(0);
llLoadURL(gAvatarKey, "Welcome to HUMlab! View our website for info.", "http://www.humlab.umu.se");

Just replace the message and URL ("welcome to HUMlab etc.) with the message and URl you want to use. Paste it into the Content window of the Edit Object panel that I mentioned above.

Parcelling Land
In order to run multiple URLs you need to have multiple parcels. Be aware that media streams use a lot of bandwidth, so do not create more than is necessary. It will affect the overall function and appeal of your project. We will go through land division in the workshop today. In the meantime here is a video about dividing and joining parcels. When land is subdivided an extra URL is included with the new Edit Land panel.

No comments: