Monday, December 19, 2011

Maze

This is Pei Shen's and Jason's Maze. The project is split into two essential parts, with one level for each of us. We made each part as characteristic as we wanted with one idea that connected the two. The essence of the idea is of Alice in Wonderland. The book Alice in Wonderland is a 19th century British novel by Lewis Carol. In the story Alice begins in the real world in a garden and travels into a world of dreams or makebelieve. In our maze you also begin in a kind of natural environment. Green tubes like mossy sewer pipes are like green hedgerows and classic 19th century illustrations help set a tone. The maze attempts to offer interesting passages and elements, such as the lookout grate, the waterfall, and the fog. Teleportation tiles allow one to transfer to different places in the maze. Once one reaches the end point of the first level the walls begin to glow informing the participant that advancement is underway.
The second part is much like Alice when she has traversed the rabbit hole. The world is decidedly unnatural and more interactive. The guest is led through a series of contrasting textured halls and spaces. There are interactive devices that must be used to advance and some that are less essential to progressing but add fun to the environment. Pei Shen devised some clever scripts for the second part. A 'ride' mechanism to carry one through a barrier, and a pose object that directs the person through a trap door. When one reaches the end of this section the prize awaits. What else than a teleport to the beginning again!

(4shared, Maze-take1.avi for video download)

Babel Video

Happy Holidays y'all
Dan

Monday, December 12, 2011

A little bit of scripting

Here's a simple script I made using script me!

Once you touch the sand mound it will blend into the darkness of the night. Feel free to enter the island and discover all of the mystical elements of sand mound.

Monday, December 5, 2011

Class Mon Dec 5

is at the usual time. Try to post a work in progress by the end of the day. I'kk be available via email all week. See also Thursdays group message inworld.

Monday, November 28, 2011

Seasonal SL

For the finale of this class, I'm going to create twelve high quality images, using one avatar in different formations, a vast variety of found objects and in-word created ones. The imagery will follow the theme of the seasons, influenced by the idea of a themed calendar, each month using historical elements and weather related ideas to make the best possible outcome. The avatar itself will be chosen on ascetic principles and depending on the environment chosen, each physical characteristic will be warped and played with until perfection in sake of the portrait.

Presentation will be that of a printed out, handheld booklet, able to lay on any solid surface and be held by those in distance enough to handle it. This form of presentation will give the physical element of actually holding the portraits in the hands of the viewer, and taking small sparks out of the virtual life realm back into the world of its creator.

The images will be used in more then just this printed format, placing them in second life for a limited time, or using them as the display on a real time calendar will be a good experimentation in seeing where the idea of these images originated from. Of course the possibilities and lives of a group of images deserve to be played with and handled in a variety of ways. The prints will be what I present in the final of this class, and will be critiqued in the form of the usual way of art school.  Below is a little sample of an image I might possibly be using, as you can see the avatar isn't the main focus, but just like in the real world, surrounded by nature objects and land and sky.

Planet of Sound

My final project idea is more about sensory deprivation than a real experience. Imagine a tower (possibly turned on its side due to prim limits) that is completely black on the inside. The "viewer" as it were, will board some sort of elevator or cart, which will take them through the pitch black and audio overload. I've decided that the simplest way to do this would be to create localized sound objects, that loop a clip of audio rather than a live stream of a radio station or something. While the live stream would add an ever-changing touch that might add a lot to the project and make it more relevant as time goes on, the logistics of planning this, with space and prims limited as they are, become needlessly hard.

I have been thinking of the design so far as a sort of spacial Tower of Babel. I have been studying old illustrations and art about the tower and may decide to loosely base the design off of these elements. From an idea standpoint the Tower of Babel summarizes my thoughts extremely well. I want all of these sound clips of people talking to be overwhelming, lack of sight enforcing the heightening of sound. The final presentation of it will be as a ride, something the "viewer" will sit in, and will take them at my speed past these objects. This may change however, as a ride would only offer the same combination of sound objects in the same order every time. Allowing the user to walk through the darkness past these objects of their own volition and seemingly randomly would make the experience a bit more interactive and open format.

Thoughts for now.
DaDonBot

Sunday, November 27, 2011

Maze Final Project

What Jason and I are going to do is a maze with interactive structure and full of interactive objects. He is designing the basic structure of the maze with tubes and spaces he built in maya, and I’m working more on designing the objects and modifying scripts. We had thought about how to build and define our project so it wouldn’t be just “a game” rather than an art piece. We agree that both of us will have different opinions about it and it is actually great to have multiple concepts on the same project.


I myself am more like a “definition-after-design” person, and I see the idea behind things after I made them in most cases. (Or sometimes it was the others who saw them). Therefore I don’t have any fixed concept about this piece at this point, but what I am sure I will do is that I would like to make an interactive environment that the people, or avatars, basically, who come in wouldn’t be able to predict what might happens. There will be certain instructions given at the starting point, giving the challenger a goal or a mission to complete, and the challenger will experience things in the maze while trying to achieve the goal.


Since I’m interested in scripts, I’ll look at different scripts to make going into this maze a more interesting experience. Here are a couple of snapshots of the maze at this point.




I’m going to keep what I had done to some objects a secret since it would effect people’s expectation to the maze. By the way, the maze would have 2 floors.

A very metallic final project.

Robots, I’m going to make a mechanical garden of robots that I’m going to then make a video in, and then I’m going to put together a soundtrack using max/msp and live and edit the video to reflect the sound track.

I’ll design all the costumes and surroundings myself in maya, I plan on making not just a few things, but an entire environment to interact with and to make a stronger video. Each object will be a piece of work in itself, working together as a graveyard or garden of non functioning robots as architecture.

The sound will be mostly FM synthesis, rhythmically driven, and will be derived from a piece I did back in the spring semester of 2011. I’ll most likely compose it “live” and re mix it and add other post processing later to give it a more professional sound.

As for the video, I'm going to have some sort of narrative I believe... I haven't decided though, I just know I want to make robots, big robots, small robots, creepy robots, anthropomorphic robots, arachnid robots, stuff like that.

The rest is TBD

Because robots are cool.

-Please Stand By

Thursday, November 17, 2011

Monday, October 24, 2011

7) Gesture (Pei)

Series Dancing

it's basically a link of all the dancing poses and some other gestures.

10/24/'11

the files used are: dance1 - dance 8, Roundhouse kick and Floating yoga

Modified animation code:

a list of all the gesture animations with wait of 2 seconds between each of them, and a 0.5 second wait between the Roundhouse kick and Floating yoga.

4) Interactive object (Pei)

Location:

X: 239.491
Y:209.380
Z:24.285

I turned the second assignment into an interactive object. The plane that displays the picture can be touched by an avatar, and once it is touched, it release the hover text which shows the basic information about the picture. (The location it is shot, the date and the clothing credits)



(object before being touched)



(text display above the object)

3) and 6) Object with LSL code (Pei)

Photobucket
(an animated gif that briefly shows the movement of the lantern)


Shifting Lantern (for (3)and(6))

X: 236.575/236.519
Y:205.058/204.916
Z:25.836/25.848

10/24/'11

I modified this colorful lantern I had made previously. I'd learned that in SL there is this limitation that you can never create the physical movement of a hanged object, so what I did instead is to try to make the object rotate and shift from left to right a little bit. I did it in Script Me with the option of rotating an object on a repeating timer, and I applied it to the lantern itself but not the rope it is hanging from. The lantern itself also contains the code of releasing particles. It might be due to the internet or the viewer problems that sometimes the particles are not visible.

Modified source code:

// Particle Script 0.5
// Created by Ama Omega
// 3-26-2004

// Mask Flags - set to TRUE to enable
integer glow = TRUE; // Make the particles glow
integer bounce = FALSE; // Make particles bounce on Z plane of object
integer interpColor = TRUE; // Go from start to end color
integer interpSize = TRUE; // Go from start to end size
integer wind = TRUE; // Particles affected by wind
integer followSource = TRUE; // Particles follow the source
integer followVel = TRUE; // Particles turn to velocity direction

// Choose a pattern from the following:
// PSYS_SRC_PATTERN_EXPLODE
// PSYS_SRC_PATTERN_DROP
// PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
// PSYS_SRC_PATTERN_ANGLE_CONE
// PSYS_SRC_PATTERN_ANGLE
integer pattern = PSYS_SRC_PATTERN_EXPLODE;

// Select a target for particles to go towards
// "" for no target, "owner" will follow object owner
// and "self" will target this object
// or put the key of an object for particles to go to
key target = "self";

// Particle paramaters
float age = 1; // Life of each particle
float maxSpeed = 5; // Max speed each particle is spit out at
float minSpeed = 1; // Min speed each particle is spit out at
string texture = ""; // Texture used for particles, default used if blank
float startAlpha = 1; // Start alpha (transparency) value
float endAlpha = 0.1; // End alpha (transparency) value
vector startColor = <0,1,0>; // Start color of particles
vector endColor = <1,0,0>; // End color of particles (if interpColor == TRUE)
vector startSize = <1,1,1>; // Start size of particles
vector endSize = <1,0,1>; // End size of particles (if interpSize == TRUE)
vector push = <0,0,0>; // Force pushed on particles

// System paramaters
float rate = 1.0; // How fast (rate) to emit particles
float radius = 2; // Radius to emit particles for BURST pattern
integer count = 3; // How many particles to emit per BURST
float outerAngle = 1.54; // Outer angle for all ANGLE patterns
float innerAngle = 1.55; // Inner angle for all ANGLE patterns
vector omega = <0,0,0>; // Rotation of ANGLE patterns around the source
float life = 0; // Life in seconds for the system to make particles

// Script variables
integer pre = 2; //Adjust the precision of the generated list.

integer flags;
list sys;
integer type;
vector tempVector;
rotation tempRot;
string tempString;
integer i;

string float2String(float in)
{
return llGetSubString((string)in,0,pre - 7);
}

updateParticles()
{
flags = 0;
if (target == "owner") target = llGetOwner();
if (target == "self") target = llGetKey();
if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
if (wind) flags = flags | PSYS_PART_WIND_MASK;
if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;
sys = [ PSYS_PART_MAX_AGE,age,
PSYS_PART_FLAGS,flags,
PSYS_PART_START_COLOR, startColor,
PSYS_PART_END_COLOR, endColor,
PSYS_PART_START_SCALE,startSize,
PSYS_PART_END_SCALE,endSize,
PSYS_SRC_PATTERN, pattern,
PSYS_SRC_BURST_RATE,rate,
PSYS_SRC_ACCEL, push,
PSYS_SRC_BURST_PART_COUNT,count,
PSYS_SRC_BURST_RADIUS,radius,
PSYS_SRC_BURST_SPEED_MIN,minSpeed,
PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
PSYS_SRC_TARGET_KEY,target,
PSYS_SRC_ANGLE_BEGIN,innerAngle,
PSYS_SRC_ANGLE_END,outerAngle,
PSYS_SRC_OMEGA, omega,
PSYS_SRC_MAX_AGE, life,
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_ALPHA, startAlpha,
PSYS_PART_END_ALPHA, endAlpha
];

llParticleSystem(sys);
}

default
{
state_entry()
{
updateParticles();
}

touch_start(integer num)
{
llWhisper(0,"...Generating List...");
for (i=1;i<42;i+=2) { type = llGetListEntryType(sys,i); if(type == TYPE_FLOAT) { tempString = float2String(llList2Float(sys,i)); sys = llDeleteSubList(sys,i,i); sys = llListInsertList(sys,[tempString],i); } else if (type == TYPE_VECTOR) { tempVector = llList2Vector(sys,i); tempString = "<" + float2String(tempVector.x) + "," + float2String(tempVector.y) + "," + float2String(tempVector.z) + ">";
sys = llDeleteSubList(sys,i,i);
sys = llListInsertList(sys,[tempString],i);
}
else if (type == TYPE_ROTATION)
{
tempRot = llList2Rot(sys,i);
tempString = "<" + float2String(tempRot.x) + "," + float2String(tempRot.y) + "," + float2String(tempRot.z) + "," + float2String(tempRot.s) + ">";
sys = llDeleteSubList(sys,i,i);
sys = llListInsertList(sys,[tempString],i);
}
else if (type == TYPE_STRING || type == TYPE_KEY)
{
tempString = "\"" + llList2String(sys,i) + "\"";
sys = llDeleteSubList(sys,i,i);
sys = llListInsertList(sys,[tempString],i);
}
}
sys = llListSort(sys,2,TRUE);
if (target == "") sys = llDeleteSubList(sys,38,39);
else if (target == llGetKey() )
sys = llListInsertList(llDeleteSubList(sys,39,39),["llGetKey()"],39);
else if (target == llGetOwner() )
sys = llListInsertList(llDeleteSubList(sys,39,39),["llGetOwner()"],39);
if (texture == "") sys = llDeleteSubList(sys,24,25);
if (!interpSize) sys = llDeleteSubList(sys,12,13);
if (!interpColor) sys = llDeleteSubList(sys,6,7);

llWhisper(0,"[" + llList2CSV(llList2List(sys,0,21)) + ",");
llWhisper(0,llList2CSV(llList2List(sys,22,-1)) + "]");
}
}


-------- rotating--------



// This script was auto-generated by Ann Enigma's script autogenerator
// available at http://www.3greeneggs.com/autoscript/
//Note: To make your object rotate around one edge, try editing it and using these settings on the object tab:
// Size (adjust as necessary): X=.2, Y=3, Z=2.5, and Path Cut Begin = 0.38, Path Cut End = 0.87

integer open = FALSE;


default
{

state_entry() {
llSetTimerEvent(0.8);
}
timer() {

if (open == FALSE) {
open = TRUE;
llSetRot(llEuler2Rot(<0, 0, PI_BY_TWO>) * llGetRot());
} else {
open = FALSE;
llSetRot(llEuler2Rot(<0, 0, -PI_BY_TWO>) * llGetRot());
}

}

}



Fear to Shrug Gesture

So I made a gesture that quickly goes from horror to a shrug. Yeah, sarcasm.

The Color Toggle Post




Touch it and it turns a color. After a few seconds it returns to the original color. 2 scripts.

Torch Flame and Smoke



Pei-Hsuan and Jason figured out how to make a Mega Torch. We boosted the flame and smoke output.

// Jopsy's Particle System Template v4 - Jan 18 2004
// -- inspired/derived from Ama Omega's 3-6-2004
//
// DEFAULT settings are commented at the end of each line, eg:
// varibletype SETTINGNAME = Sample-Setting; // default-setting
//
// For more on particles, visit the Particle Labratory in Teal!

mySetParticles() {
// Part-1 - APPEARANCE - Settings for how each particle LOOKS
vector START_SCALE = < 1.2, 1.2, 1.2 >; // < 1.0, 1.0, 0.0 >
vector END_SCALE = < 0.1, 0.1, 0.1 >; // < 1.0, 1.0, 0.0 >
vector START_COLOR = < 1.0, 1.0, 0.0 >; // < 1.0, 1.0, 1.0 >
vector END_COLOR = < 1, 0.2, 0.0 >; // < 1.0, 1.0, 1.0 >
float START_ALPHA = 0.7; // 1.00
float END_ALPHA = 0.0; // 1.00
integer INTERP_COLOR = TRUE; // FALSE
integer INTERP_SCALE = TRUE; // FALSE
integer EMISSIVE = TRUE; // FALSE
string TEXTURE = ""; // ""
// START/END: refers to the lifespan of each particle.
// SCALE: particle height/width, from 0.04 to 10.0. (no depth)
// ALPHA: sets transparency, from invis = 0.0 to opaque = 1.0
// START_ALPHA is ignored if it is less than END_ALPHA
// COLOR: vectors , each 0.00 to 1.00
// INTERP_COLOR: enables/disables END_COLOR and END_ALPHA
// INTERP_SCALE: enables/disables END_SCALE
// EMISSIVE: enables/diables particle 'glow'
// TEXTURE: name of a texture in the emitter-prim's inventory
// or the asset id key of any texture

// Part-2 - FLOW - These settings affect how Many, how Quickly,
// and for how Long particles are present
float AGE = 0.6; // 10.00
float RATE = 0.0; // 0.10
integer COUNT = 5; // 1
float LIFE = 0.0; // 0.0
// AGE: How many seconds each particle lives, 0.1 to 60
// RATE: Seconds between particle bursts, 0.0 to 60
// COUNT: Number of particles per burst, 1 to 4096
// LIFE Number of seconds to wait before shutting off 0.1 to 60
// 0.0 never stops

// Part-3 - 3 PLACEMENT -- Where are new particles created, and what
// direction are they facing?
integer PATTERN = PSYS_SRC_PATTERN_ANGLE; // PSYS_SRC_PATTERN_DROP
float RADIUS = 0.00; // 0.00
float ANGLE_BEGIN = 0.10; // 0.00
float ANGLE_END = 0.10; // 0.00
vector OMEGA = < 0.00, 0.01, 1.00 >; // < 0.00, 0.00, 0.00 >
//float INNERANGLE = 0.00; // 0.00
//float OUTERANGLE = 0.00; // 0.00
// PATTERN: must be set to one of the following:
// PSYS_SRC_PATTERN_EXPLODE sends particles in all directions
// PSYS_SRC_PATTERN_DROP ignores minSpeed and maxSpeed.
// PSYS_SRC_PATTERN_ANGLE_CONE use ANGLE settings to make rings/cones
// PSYS_SRC_PATTERN_ANGLE use innerangle/outerangle to make flat
// wedges
// RADIUS: distance between emitter and each new particle, 0.0 to 64?
// ANGLE_BEGIN: for both ANGLE patterns, 0 to PI(3.14159)
// ANGLE_END: for both for ANGLE patterns, 0 to PI.
// OMEGA: How much to rotate the emitter around the axises
// after each burst. Set OMEGA to all 0's to reset/disable it.
// INNER/OUTER ANGLE: Depreciated. Old versions of ANGLE_BEGIN/_END.
// Can still be used to make lop-sided angle displays though.

// Part-4 - MOVEMENT - How do the particles move once they're created?
integer FOLLOW_SRC = FALSE; // FALSE
integer FOLLOW_VELOCITY = TRUE; // FALSE
integer WIND = TRUE; // FALSE
integer BOUNCE = TRUE; // FALSE
float SPEED_MIN = 0.3; // 1.00
float SPEED_MAX = 0.9; // 1.00
vector ACCEL = < 0.00, 0.00, 0.00 >; // < 0.00, 0.00, 0.00 >
integer TARGET_POS = FALSE; // FALSE
key TARGET = llGetKey(); // llGetKey();
// FOLLOW_SRC: moves particles when emitter moves. It will disable RADIUS!
// FOLLOW_VELOCITY: Particles rotate towards their heading
// WIND: Sim's Wind will push particles
// BOUNCE: Make particles bounce above the Z altitude of emitter
// SPEED_MIN: 0.01 to ?, slowest speed of new particles, 1.0(*)
// SPEED_MAX: 0.01 to ?, fastest speed of new particle, 1.0(*)
// SPEED_ is ignored for the DROP pattern.
// ACCEL: a continuous force pushed on particles,
// use SMALL settings for long lived particles
// TARGET_POS: If FALSE(*), TARGET value is ignored.
// TARGET: Select a target for particles to arrive at when they die
// key TARGET = llGetKey(); // particles return to the emitter
// key TARGET = llGetOwner(); // particles home in on owner
// You can have another object llSay(999,llGetKey);
// and grab the key with this object by using the listen()
// event handler.

list particle_parameters = [
PSYS_PART_FLAGS,(
( EMISSIVE * PSYS_PART_EMISSIVE_MASK ) |
( BOUNCE * PSYS_PART_BOUNCE_MASK ) |
( INTERP_COLOR * PSYS_PART_INTERP_COLOR_MASK ) |
( INTERP_SCALE * PSYS_PART_INTERP_SCALE_MASK ) |
( WIND * PSYS_PART_WIND_MASK ) |
( FOLLOW_SRC * PSYS_PART_FOLLOW_SRC_MASK ) |
( FOLLOW_VELOCITY * PSYS_PART_FOLLOW_VELOCITY_MASK ) |
( TARGET_POS * PSYS_PART_TARGET_POS_MASK ) ),
PSYS_PART_START_COLOR, START_COLOR,
PSYS_PART_END_COLOR, END_COLOR,
PSYS_PART_START_ALPHA, START_ALPHA,
PSYS_PART_END_ALPHA, END_ALPHA,
PSYS_PART_START_SCALE, START_SCALE,
PSYS_PART_END_SCALE, END_SCALE,
PSYS_SRC_PATTERN, PATTERN,
PSYS_SRC_BURST_PART_COUNT, COUNT,
PSYS_SRC_BURST_RATE, RATE,
PSYS_PART_MAX_AGE, AGE,
PSYS_SRC_ACCEL, ACCEL,
PSYS_SRC_BURST_RADIUS, RADIUS,
PSYS_SRC_BURST_SPEED_MIN, SPEED_MIN,
PSYS_SRC_BURST_SPEED_MAX, SPEED_MAX,
PSYS_SRC_TARGET_KEY, TARGET,
PSYS_SRC_ANGLE_BEGIN, ANGLE_BEGIN,
PSYS_SRC_ANGLE_END, ANGLE_END,
PSYS_SRC_OMEGA, OMEGA,
PSYS_SRC_MAX_AGE, LIFE,
PSYS_SRC_TEXTURE, TEXTURE
];

llParticleSystem( particle_parameters ); // Turns on the particle hose!


}

default
{
state_entry() {
mySetParticles();
// llSetTimerEvent(60); // uncomment to set auto-off for 60 seconds
}



touch(integer i) {
mySetParticles(); // touch to reset/turn on the particles
// llSetTimerEvent(60); // reset the alarm clock
}
}

The Color Changing Particle System






Essentially it's a box that when you get close to it, the particle system changes colors and textures.

10/24

I asked the programming wizard for guidance and he helped me to edit this code so that the colors would change, that led to the entire system changing.

so without further ado, here is the code:
// Particle System 1.0

StartSteam()
{ // MASK FLAGS: set to "TRUE" to enable
integer glow = TRUE; // Makes the particles glow
integer bounce = FALSE; // Make particles bounce on Z plane of objects
integer interpColor = TRUE; // Color - from start value to end value
integer interpSize = TRUE; // Size - from start value to end value
integer wind = FALSE; // Particles effected by wind
integer followSource = FALSE; // Particles follow the source
integer followVel = TRUE; // Particles turn to velocity direction

// Choose a pattern from the following:
// PSYS_SRC_PATTERN_EXPLODE
// PSYS_SRC_PATTERN_DROP
// PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
// PSYS_SRC_PATTERN_ANGLE_CONE
// PSYS_SRC_PATTERN_ANGLE
// PSYS_SRC_PATTERN_EXPLODE;
integer pattern = PSYS_SRC_PATTERN_ANGLE;

// Select a target for particles to go towards
// "" for no target, "owner" will follow object owner
// and "self" will target this object
// or put the key of an object for particles to go to
key target = "";

// PARTICLE PARAMETERS
float age = 4.4; // Life of each particle
float maxSpeed = 0.5; // Max speed each particle is spit out at
float minSpeed = 0.2; // Min speed each particle is spit out at
string texture = "Water Particle 4"; // Texture used for particles, default used if blank
float startAlpha = 0.8; // Start alpha (transparency) value
float endAlpha = 0; // End alpha (transparency) value
vector startColor = <1,0,0>; // Start color of particles
vector endColor = <1,1,1>; // End color of particles (if interpColor == TRUE)
vector startSize = <1.0,1.0,1.0>;// Start size of particles
vector endSize = <2,10,2>; // End size of particles (if interpSize == TRUE)
vector push = <0.5,0.0,0.0>; // Force pushed on particles

// SYSTEM PARAMETERS
float rate = 0.1; // How fast (rate) to emit particles
float radius = 0.75; // Radius to emit particles for BURST pattern
integer count = 20; // How many particles to emit per BURST
float outerAngle = 3*PI; // Outer angle for all ANGLE patterns PI/4
float innerAngle = 0.5; // Inner angle for all ANGLE patterns
vector omega = <.5,1,0>; // Rotation of ANGLE patterns around the source
float life = 0; // Life in seconds for the system to make particles

// SCRIPT VARIABLES
integer flags = 0;
if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
if (wind) flags = flags | PSYS_PART_WIND_MASK;
if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

llParticleSystem([ PSYS_PART_MAX_AGE,age,
PSYS_PART_FLAGS,flags,
PSYS_PART_START_COLOR, startColor,
PSYS_PART_END_COLOR, endColor,
PSYS_PART_START_SCALE,startSize,
PSYS_PART_END_SCALE,endSize,
PSYS_SRC_PATTERN, pattern,
PSYS_SRC_BURST_RATE,rate,
PSYS_SRC_ACCEL, push,
PSYS_SRC_BURST_PART_COUNT,count,
PSYS_SRC_BURST_RADIUS,radius,
PSYS_SRC_BURST_SPEED_MIN,minSpeed,
PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
PSYS_SRC_TARGET_KEY,target,
PSYS_SRC_INNERANGLE,innerAngle,
PSYS_SRC_OUTERANGLE,outerAngle,
PSYS_SRC_OMEGA, omega,
PSYS_SRC_MAX_AGE, life,
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_ALPHA, startAlpha,
PSYS_PART_END_ALPHA, endAlpha
]);
}

StopSteam()
{
llParticleSystem([]);
}

changeColor()
{ // MASK FLAGS: set to "TRUE" to enable
integer glow = TRUE; // Makes the particles glow
integer bounce = FALSE; // Make particles bounce on Z plane of objects
integer interpColor = TRUE; // Color - from start value to end value
integer interpSize = TRUE; // Size - from start value to end value
integer wind = FALSE; // Particles effected by wind
integer followSource = FALSE; // Particles follow the source
integer followVel = TRUE; // Particles turn to velocity direction

// Choose a pattern from the following:
// PSYS_SRC_PATTERN_EXPLODE
// PSYS_SRC_PATTERN_DROP
// PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
// PSYS_SRC_PATTERN_ANGLE_CONE
// PSYS_SRC_PATTERN_ANGLE
// PSYS_SRC_PATTERN_EXPLODE;
integer pattern = PSYS_SRC_PATTERN_ANGLE;

// Select a target for particles to go towards
// "" for no target, "owner" will follow object owner
// and "self" will target this object
// or put the key of an object for particles to go to
key target = "";

// PARTICLE PARAMETERS
float age = 4.4; // Life of each particle
float maxSpeed = 0.5; // Max speed each particle is spit out at
float minSpeed = 0; // Min speed each particle is spit out at
string texture = "Water Particle 2"; // Texture used for particles, default used if blank
float startAlpha = 1; // Start alpha (transparency) value
float endAlpha = 0; // End alpha (transparency) value
vector startColor = <0.1,0.9,1>; // Start color of particles
vector endColor = <1,1,1>; // End color of particles (if interpColor == TRUE)
vector startSize = <0.25,0.25,0.25>;// Start size of particles
vector endSize = <2,2,2>; // End size of particles (if interpSize == TRUE)
vector push = <0.5,0.0,0.0>; // Force pushed on particles

// SYSTEM PARAMETERS
float rate = .01; // How fast (rate) to emit particles
float radius = 1.0; // Radius to emit particles for BURST pattern
integer count = 10; // How many particles to emit per BURST
float outerAngle = 3*PI; // Outer angle for all ANGLE patterns PI/4
float innerAngle = 0.5; // Inner angle for all ANGLE patterns
vector omega = <1,1,0>; // Rotation of ANGLE patterns around the source
float life = 0; // Life in seconds for the system to make particles

// SCRIPT VARIABLES
integer flags = 0;
if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
if (wind) flags = flags | PSYS_PART_WIND_MASK;
if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

llParticleSystem([ PSYS_PART_MAX_AGE,age,
PSYS_PART_FLAGS,flags,
PSYS_PART_START_COLOR, startColor,
PSYS_PART_END_COLOR, endColor,
PSYS_PART_START_SCALE,startSize,
PSYS_PART_END_SCALE,endSize,
PSYS_SRC_PATTERN, pattern,
PSYS_SRC_BURST_RATE,rate,
PSYS_SRC_ACCEL, push,
PSYS_SRC_BURST_PART_COUNT,count,
PSYS_SRC_BURST_RADIUS,radius,
PSYS_SRC_BURST_SPEED_MIN,minSpeed,
PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
PSYS_SRC_TARGET_KEY,target,
PSYS_SRC_INNERANGLE,innerAngle,
PSYS_SRC_OUTERANGLE,outerAngle,
PSYS_SRC_OMEGA, omega,
PSYS_SRC_MAX_AGE, life,
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_ALPHA, startAlpha,
PSYS_PART_END_ALPHA, endAlpha
]);
}

default
{
state_entry()
{
StartSteam();
llListen(0, "", llGetOwner(), "");
llSensorRepeat("", NULL_KEY, AGENT, 2, PI, 0.5); // meters, direction (PI = all), ?
}

listen(integer channel, string name, key id, string message)
{

if (0 == llSubStringIndex(message, "spray on"))
{
StartSteam();

}
else if (0 == llSubStringIndex(message, "spray off"))
{
//state color;
StopSteam();
}
}



sensor(integer total_number) {
// llOwnerSay("Saw agent");
changeColor();
//llParticleSystem([ PSYS_PART_START_COLOR, <1., 0., 0.>]);
//state default;
}

no_sensor()
{
StartSteam();
// llOwnerSay("No one here");
}

}

1) Photo 1 of avatar (Pei)


Progeny: Vampire Castle and Grounds Grave Designs (171,65,24)

Pants by diablo exhall, boots by Renee Harvy, Hoodie by Patrick Bloch

10/24/'11

It had nothing to do with the fact that this place is called "Vampire Castle"; I just like the atmosphere of this place that it gives me a feeling that it's about to rain. My avatar would like to sit beside the bed for a while and feel the quietness and stillness of the moment.

The Evil Giant Zombie Worm Massacre


Title: The Evil Giant Zombie Worm Massacre
Location: Escapades
Clothing Credits: Kenny Rogers doesn't wear clothes
Date: 10/24/11

For this Halloween season be sure to visit Escapades and play 'The Evil Giant Zombie Worm Massacre'. For just 200L you'll get a cool game HUD, instructions, and a rusty old chainsaw! Find the 5 musical keys on the island and slay the Evil Giant Zombie Worms protecting each key. After you murder all the Evil Giant Zombie Worms and their families you can free the puppy who, even as you read this, hangs over a roiling lava-filled volcano.
Icy Wonder.
Eutheria Commons, Eutheria (32, 60, 29)

After exploring the island of Metatheria, Twinkle takes a moment to ponder the sorrows of life. Wearing her Mermaid Betta Wings, and a thoughtful siting pose of wonder, what's an avatar to do? 

The Burning Monk Interactive object




R3DMA Land, Katia Isle(199.109,220.724,24.035)

10/24

I managed to create a place to not only display my photo of the Burning monk, but I also made it actually spit a note card at you when you touch the block so my description is embedded in the object itself.

The Storm
Realtime 3d land, Katia Isle (220,191,1515)
Wearing Lalu Bonetto's Bow Top and Pants, Kuranosuke Kamachi's "anne" black Trench Coat, and Enktan Gully's Cigarette on mouth
Taken in my skybox I created something to engulf my avatar, her calm as the storm surrounds her, making all else indistinguishable as surroundings.

In repsonse to the tyrrany of size

I always thought that "the one best way", would immediately be accepted if it was the one best way... Which obviously mesh is not. I guess reconciling the fact that many people may not see what is there probably is hard, because it's suddenly some elitist thing where you're the one of few who can use these things now, and everyone else is left to semi-outdated technology, until they join those of us with a computer strong enough to handle meshes.
Well hell, I'm not going to stop using keynote because your computer only has power point, nor will I cease to use iMessage on the iPad just because I can't text everyone I want. Nay! I will keep using the tools available to me because they have their advantages to the alternative, maybe even in conjunction with the alternative. If making art on Second Life must be realized fully in screen captures of what I do, then I guess so be it, because it doesn't make sense to limit oneself to something just because not everyone can view it, they can see it later.
What I'm saying is that Mesh now has a place in second life, sure people believe that it will hurt their business because what they're selling is still prim based but well... people stopped buying lead paint because it wasn't seen as good anymore... but I'm sure it's used somewhere.

On the note of things being non customizable in mesh, that's a lie, here's a challenge: Download your free version of google sketch up and learn how to make it yourself.

-Please Stand By

response to homework article

I'm also a pro mesh if I have to make a decision. Although there are already a lot of things that can be done with prim; mesh indeed is a more convenient tool in the aspect of modeling and making.
However, as what is mentioned in the articles, mesh causes a number of problems and there is this debate about whether to or not to use mesh.
In my opinion, it should be taken into consideration that technology is something constantly developing. This means that we had already been searching for solutions continually. We shouldn't be limited to what is currently working and refuse to try something new but problematic. Everything has the potential to become better.

I agree a lot about the fact that one of the most exciting thing about SL is that everything could be customized. In today's world, we can see that customization plays a big part in every market. Under such situation, something that can't be altered and modified is very frustrating and unappealing.

To give a clearer definition to what I'm trying to say, I think meshes create an new possibility in SL; and although it is not perfect at this point, it could be the base of some new invention that would solve the current problems.
Updates needs times but are always exciting. Nothing stays the same, so does Second Life.

Saturday, October 22, 2011

Here Comes Mesh

In September 2011 Avril Korman reported on the recent progress of Mesh integration into Second Life. The article appeared in the website Search Engine Watch and is called Mesh & the Tyranny of Size: How Mesh Might Change Second Life Culture.

Mesh technology is a big update for Second Life. It means a much better graphics quality, graphics speeds, and far more graphics options for Mesh developers. Mesh is a 3D graphics technology that uses point to point connections, faces, and edges to form objects. In the past you could only use a certain amount of Prims to create an object and you could only create from a few basic shapes. This sometimes meant that in order to make a rather simple object many details would be needed and thus greater load times. With Mesh those objects can be made more easily without having to resort to a series of programmer tricks and those objects can process more easily on the user end.

Since Mesh is new to the SL world, there are many major incompatibilities and bugs that will need to be sorted out. The major concern for SL enthusiasts in particular is user-friendly object creation and customization. Until now SL users have been used to great measures of editing possibilities in SL with nonMesh objects and the interface for those adjustments have been rather simple to use. In many ways customizing is a kind of thesis in Second Life, what allows users the levels of creativity that makes this 3D world unique. Mesh will require SL users to develop on complex tools like Maya or 3DSM. Another issue is copyright issues. The amount of Mesh objects online is huge and SL developers are concerned with copyright issues from importing objects freely from the web. It will take years before SL can be fully updated and the rules for user friendly object creation sorted out.

Monday, October 17, 2011

For 10/24/11 homework

Since we've had a bit more luck with structured activities, let's all write a response to the following article by Avril Korman for next week 10/24/11: Mesh and the Tyranny of Size  Writing your blog post will get you ready to discuss this culture and technology article in class.

Howard Rheingold @ National Extension Virtual Conference

We watched/listened to noted author Howard Rheingold give a live presentation on social media and learning inworld. The conference continues Tuesday and Wednesday.

 Here are some of the pix and a link.

http://about.extension.org/2011/10/05/nevc2011-outstanding-professional-development-free-avoid-travel-hassles/

some halloween experiences

It’s close to Halloween so I went to some Halloween towns just to see what people have there, and it’s quite interesting. I found this place that there are a bunch of transparent ghosts rising from fog and disappear into the sky. I thought it was 3D but they were actually flat images. That made me a little disappointed but it is still a great scene to watch. I got closer to it and I saw the sign saying that the maker had given people the chance to copy and put down these ghosts as many as wanted. I then found that this whole place is like a Halloween museum full of interactive stuffs.

There is a well that would show the image of a longhair female ghost dressing in white when an avatar gets close. The ghost image stays exactly the same when I rotate my view, but I couldn’t see it rotating, so I guess there was some special scripting working with it.

I thought it was funny that I later ran into a theater in this place that was playing a Japanese horror movie. I noticed it because suddenly I heard people speaking Japanese. It was weird to hear that in such a Western-style place as a castle. I followed the sound and I found there was a movie playing. This was the first time that I watch a movie in Second Life and the experience was very interesting. When I am using Second Life I, in fact, never found it as “immersive” as it seems to be. However, the virtual world (movie) inside another virtual world creates this illusion that I am really in some places watching this movie.

Sunday, October 9, 2011

The Latest

Let's see, what have we been up to on Second Life? We checked out work by Bryn Oh, a 3D artist and poet/writer. Ms. Oh put together a very fun video called Anna's Many Murders. It actually is a 3D 'book' because it has a story and 3D pictures. The story is about a little girl who likes to kill in amusing ways. The 3D actually looks like it was done in Maya rather than Second Life but it was a good example of setting up a complete static scene.
We talked about creating an animation of some kind in Second Life and viewed a film about jules etienne marey without sound in order to get a quick look into how things are animated.
We briefly checked out Scott Killdall who likes to make Second Life versions of popular fine art pieces.
We watched Jon Rafman's 'KoolAid Man in SecondLife' video. This is a good summary of what is possible in Second Life. The author expends thoughts on what is all means to him. The format of the video is a succession of scenes that demonstrate the various areas of Second Life with narration.
The class has spent some time checking out scripts and understanding how basic ones are created. We also checked out some virtual art galleries in preparation of making some animated scripts or art in Second Life.

Monday, October 3, 2011

Second Life and some thoughts

I'd spent time exploring some random places. Since it is a virtual world, there is no doubt that people would create places like wonderland. There were also those places that mimics the existing places in the real world, and what I found interesting about them was the descriptions.

For example I found this place call "Better Earth", and the creators' intention was to "improve human relationship with nature". The environment make references to "the lands along the Bay of Biscay on the northern coast of the Iberian peninusla", as the description says; and all the animals and plants in the virtual world refer to the real animals and plants living in the place.

To be honest, when I came to the introduction of the place I immediately consider it ridiculous. Why do people prefer staying in front of the computer and watch this fake replica of the nature world over walking into the real nature? How do you "improve" human-nature relationship with this world that only exists in the computer?

However, after I thought about it a little bit longer, I started seeing it in a different way. As mentioned in class, there are a lot of users use Second Life as a way of escape. Maybe this is just a way to get in touch with these people, just like other environmental groups get in touch with different kinds of people in other ways.

After having this thought I kind of came back to my first impression that, even if people are getting the reminder, would they do anything about it? This then leads to the cliche debate about human and nature, and I stop thinking about it.

I also found this places that replicated the Chinese Qing and Ming style imperial palace. The description of the places emphasizes that everything is built accurately according to the period.
When people have the freedom to build anything they want, there are always some of them who choose to bring something they are familiar with into the free world. This can also be seen in the last example about the plants and animals. I found this pretty interesting.

Besides these, there are truly a lot of amazing things to look at.

Sunday, October 2, 2011

Boundaries




Most boundaries are mostly customary or suggestions. Lines of property only enforced by fences, if even that. In Second Life the walls take a greater multitude of forms. People protect their lots and islands with warning systems, invisible walls, teleporters or abrasive house music. There are abandoned structures in a sea of islands, a few with a handful of people straggling behind and most with nothing on them at all, but some had castles of users who likely hadn't logged on in months, even years. Where once these buildings were the houses and stores second souls, protected and respected, largely untouched by curious sightseers, now they lie unprotected in their watery expanse. Walking through these personal digital vaults is a strange experience, as many people wear their personalities far prouder on anonymous sleeves. There is nothing quite like exploring someones personally tailored sex pad, furnished with hunting trophies.



Wednesday, September 28, 2011

A word from Twinkle


          Growing up in the middle of nowhere Midwest, I spent countless hours of my early schooling on AOL chat rooms. Pretending to be different characters, out of boredom and curiosity, and giving myself the questionable name of ‘Cindy’, I would join chat rooms and lie through my teeth as a way to escape reality and meet people that live all around the world. Eventually this led me on a journey into interacting with virtual worlds that carried more than just text. Avatars take Internet anonymously to the next level, while you can still pretend to be whomever your mind can create, now the option of turning your creation into a walking, living being is presented! Hallelujah! Though eventually my obsession with the Internet has calmed, an interest in characters remains and followed its way into animating (my focus) and brought me into this class.
             My experience so far with Second Life has been spectacular, flying through fields of digitally sculpted flowers, riding roller coasters, and now beginning to create my own objects for others to interact with.  Second Life allows the user to do literally anything imaginable. Illegal fantasies can be lived out without consequence, one can run through the streets naked, ride a giant tampon among the planets, and even mimic their current life through this incredible medium of digital technology.  

             Learning how to animate using second life has its advantages as well. The moment you create something it is up for view, giving the creator feedback and inspiration to model more objects. Looking around at different creations, what others have no doubt spent much time on, whether they are ‘an artist’ or not begins to fade. Judgment is lost and what lies before you is accepted as a reality. The only thing that matters is this second world, waiting for you at the ends of your fingertips.  

Monday, September 26, 2011

Scenes from Class 3




Started Second Life 3D Virtual World

Started using Second Life and created a character per the assignment. Edited some of the physical characteristics, took the little tutorial in the beginning, discovered an interesting Tron-like glow effect, did a little roaming around and learned the key controls, got familiar with the program basics, navigation and interaction, the avatars from the class combined to take 'group photos’, checked out some of the shops in the area, and spent time exploring.

Enough of that.

Something I’m thinking about is if you could have an avatar, why do most people choose to be a hot young girl in double D fishnet bra and hang out in some virtual streetcorner? Does the game drive one down a path to eventually desire that kind of fantasy, or does it attract a certain player? I’m no stranger to deep roleplaying games; is that the smell of escapism?

Whether this is a ‘game’ or a ‘virtual world’ or a tool like photoshop is an interesting question. There are some games that have similar characteristics as Second Life out there, Grand Theft Auto, Minecraft, Far Cry, Oblivion, Fallout, and WOW come to mind, just to name a few. In these games you also can run around freely, modify your character, play free from goals or objectives, and program new functionality. Meh, every game is different. I think one needs to ask the 'what's and 'why's a person plays the game to really know what to call it. If one believes that it depends on how you use the application, then why can’t it be a game to one person and a tool for social discourse to another? If not, then how does SL stand apart from so many other free roaming games on the market?

So what makes SL stand alone? It’s a little early to fully answer how SL could be in a special category all its own but I can offer the question and fill it in as I go.

Is it the game economy?
The lack of objectives?
The immersive social platform?
The variety of things you can do in the world?
Is it the open source user development?
Mere complexity?

More later.

Sunday, September 18, 2011

Second life- a cold desolate lonely place to create.

In my first couple of hours playing second life I have gone from being a scantily clad male, or rather an unclad male who made lots of quick friends on some of the weirder locations to an entirely socially rejected young child who was booted off almost every server she...he joined. Never have I been so quickly rejected by my peers, it's sad to say that the same hair cut on a young girl, with essentially the same face, all the sudden turns her into a social reject. How can those people be so quick to judge? I thought role playing meant you could be anyone? So why am I not allowed to be a young girl, but they're allowed to wear stupid fedoras and clothing trends better fit for a "90's party" at a frat house?

-please stand by