2. 1.300.000 miembros.
Media de 40.000 jugadores conectados.
Crecimiento poblacional del 36%.
Crecimiento económico del 32%.
3.000 servidores.
Más de 10 etnias diferentes.
1.300 millones de L$ se mueven
mensualmente.
Cotización de 300 L$ ≈ $1.
Fuente: revista Wired.
4. Adaptarse al medio.
Inspeccionar las posibilidades del mundo:
Manejo del software.
Chat.
Compras.
Personalización del avatar.
Interacción con el medio físico.
5. Espaciolimitado por zonas.
Mundo poco fluido:
Potencia del ordenador.
Ancho de banda de la conexión.
Fallos
de límites en los que el personaje
entra en zonas no permitidas.
7. Second Life permite construirse a sí mismo:
Aporta dinamismo al mundo virtual.
Permite personalizar hasta límites insospechados.
Crea una sociedad:
Venta de objetos. Economía.
Constructores vs. Clientes.
Propiedad privada.
Para construir objetos “vivos” hay que
dotarlos de comportamiento.
LSL (Linden Script Language) permite realizar
esta tarea.
8. Editar el objeto al que vamos a “dar vida”:
Acceder al modo construcción (tecla B).
Combinar objetos primitivos.
Aplicar el aspecto.
Crear un script para este objeto.
Desde el contenido del objeto.
Desde nuestro inventario.
Primeros objetos:
Pelotas.
Bancos.
Pantallas informativas…
9. LSL es un lenguaje de script.
Tiene una sintaxis muy similar a Java Script.
Se compila a byte-code.
Se basa en una máquina de estados.
Hay cientos de funciones proporcionadas por
Linden Labs. y cientos de ejemplos.
10. Todos los scripts se basan en definir el
comportamiento según el estado.
El estado por defecto es default.
Podemos definir los estados:
state MiEstado {
...
}
Podemos cambiar de estado:
state MiEstado;
Todoslos estados tienen un punto de entrada
y otro de salida.
11. Existen numerosos tipos de datos:
integer
float
key
vector
rotation
list
LSLusa diferentes eventos para interactuar
con los objetos. Para dar respuesta a estos
eventos debemos implementar determinadas
funciones.
12. El uso de estados permite responder a los
eventos de múltiples formas según la
interacción anterior con el objeto.
Aunque pueden omitirse, lo más aconsejable
es usar el modelo de estados al máximo.
Por ejemplo, la lámpara que se enciende con la
voz. Puede realizarse con una variable global y
con dos estados que cambian la emisión de luz.
Generalmente será necesario responder a los
mismos eventos en todos los estados.
13. integer esta_tocado = FALSE;
default {
state_entry() {
llSay(0, “Bienvenido a Second Life.”);
}
touch_start(integer total_number) {
state Tocando;
}
}
state Tocando {
state_entry() {
esta_tocado = !esta_tocado;
if (esta_tocado) {
llSay(0, “Estoy tocado.”);
} else {
llSay(0, “Ahora ya no.”);
}
state default;
}
}
14. Todos los objetos tienen un conjunto de
datos que definen sus propiedades y estado:
los primitive params.
Muchos de ellos se definen al construir el
objeto, pero pueden ser cambiados
dinámicamente.
timer() {
//Generamos un nuevo color.
color =
<llFrand(1.0),llFrand(1.0),llFrand(1.0)>;
llSetPrimitiveParams([PRIM_POINT_LIGHT,TRUE,
color, 15, 100, 10.0]);
}
15. Cartela la entrada del edificio.
Bola de discoteca que emite luz.
Lámpara que se enciende con la voz.
Objeto para ver la guía de LSL.
16. Se pueden programar objetos simples o llegar
hasta hacer avatares automáticos (bots) e
incluso vehículos.
Se pueden hacer objetos que recojan L$.
Usando temporizadores es posible establecer
conductas cíclicas.
La librería de funciones de Linden permite
hacer miles de cosas con este simple
lenguaje.
17. Creación de objetos que recauden dinero:
Máquinas tragaperras.
Predictores del futuro.
Máquinas de tarot…
Elementos que modifiquen el entorno:
Reproductores de música.
Lámparas…
Creación de avatares automatizados (bots).
Creación de vehículos.
18.
19. LSL Portal de Linden Labs.
http://wiki.secondlife.com/wiki/LSL_Portal
Miniguía de LSL.
http://156.35.94.1/~i3507529/imv/intro_lsl.pdf
Ayuda de Second Life.