lsl workshop
TRANSCRIPT
Agenda
• Explorando Second Life na PUC-Rio– Time2Play– TREG– Novos avances
• Workshop de Linden Scripting Language (LSL)– LSL: Conceitos Básicos– Exercício
Explorando Second Life: Posibilidades educacionales com
juegos
Katia Fabiola Cánepa [email protected]
Avatar: Kfcito Capalini
Motivação
80% dos usuários ativos de Internet terão uma “segunda vida” em algum mundo virtual até 2011. [Gartner]
São mais de 100 as instituições educacionais em mais de 18 países com presença no Second Life. [Linden Labs]
• Mundo virtual criado por Linden Labs em 2003.• Os usuários (residentes) representados por avatares
interagem, criam conteúdo e fazem negócios. • O conteúdo é criado pelos residentes com editores de
terreno, objetos e scripts.
Second Life
http://www.youtube.com/watch?v=z3gHCupXSMs
Ambientes Imersivos
Visualização de información
Simulaçoes
Ferramientas de Construção
Interação social
Discuçoes / Palestras
Jogos em Second Life
Genome Island Play2Train
Simse
PUC-Rio no Second LifeSecond Life como um ambiente de experimentação.3 ilhas
Experiências:• Aulas de Second Life no Real Life• Simulação de uma aula nos MBA´s do IAG• Simulações medicas• Streaming SBSC 08• Gincanas• Jogos educacionais:
– Time2Play– TREG
Jogos Educacionais da PUC-Rio
Time2PlayJogo para storytellingAnalisis do modelo 3C
TREGJogo de treinamento em engenharia de requisitosExploraçao da criaçao do jogo
Time2Play - Storytelling
As histórias divertem, educam e dão identidade cultural aos aprendizes, criando assim o desejo de continuar aprendendo.
Storytelling como um jogo traz para o aprendiz a possibilidade de liberar sua capacidade de criar e de reinventar o mundo e de ter suas fantasias aceitas e exercitadas.
Comunicação
CoordenaçãoCooperação
gera compromissosgerenciados pela
organiza as tarefas para
demandaPercepção
Time2Play no Aprendizagem Colaborativa
Colaboração pode ser entendida a partir de suas 3 dimensões - comunicação, coordenação e cooperação.
Modelo 3C de Colaboração
Time2Play – Um Jogo no Second Life Time2Play é um jogo desenvolvido em Second Life,
que possibilita a criação e encenação de histórias colaborativamente.
TREG
“TTraining in RRequirements EEngineering GGame”• Interação com NPCs, Machinima• Interação com objetos 3D, tempo• Metáfora da cozinha
TREG. Second Life
• Criação de objetos com editores de construção e scripting:– 3 ambientes: recepção, cozinha, sala de simulação– NPCs: Miss Workshop, conversa com jogadores– Head-Up Display (HUD)– Painel de Simulação
Ingredientes da técnica de Workshopslivro de Gottesdiener “Requirements by Collaboration”
Right People
Pre-work
Shared Purpose
Shared Space
TREG.Iterações
Arnowitz, J., M. Arent and N. Berger, 2007. Effective Prototyping for Software Makers
From Idea to Quick Wireframe
From Quick Wireframe to Wireframe
From Wireframe to Low-coded Prototype
From Low-coded to High-coded Prototype
From High-coded prototype to Deployment.
Iteração 1
Iteração 2
Iteração 3
Iteração 4
Iteração 5
TREG Design
Branching Stories Escenarios Diagramas
Time2Play e TREG fueron desenvolvidos no Second Life usando suas características de construção e codificação.
Jogos com diferente audiencia e objetivos. Second Life facilita o proceso de prototipação, mostrando o
“look and feel” do jogo.
Concluçoes
Nuevos avances: Realego
0 x
Nuevos avances: Realego
Objetivo: Pesquisar tecnologias que posibilitem a interacaçao de ambientes virtuais e reais.
0 x
Publicações• VEGA, K.• TREG: Un juego de entrenamiento en Ingeniería de Requisitos. Tesis de Maestría,
Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), 26 de febrero del 2010.
• VEGA, K., ROBICHEZ, G. & FUKS, H.Training in Requirements by Collaboration:Branching Stories in Second Life . SBSC 2009, VI Simpósio Brasileiro de Sistemas Colaborativos, Fortaleza, outubro 2009. ISBN: 978-0-7695-3918-8, Ed. IEEE-CS, pp. 116-122.
• VEGA, K., PEREIRA, A., ROBICHEZ, G., RAPOSO, A. & FUKS, H.Prototyping games for training and education in Second Life: Time2Play and TREG. SBGames 2009, VIII Brazilian Symposium on Digital Games and Entertainment, pp. 167-175.
• PEREIRA, A., VEGA, K., DAVID, V., FILIPPO, D., RAPOSO, A. & FUKS, H.Storytelling Imersivo Colaborativo: Time2Play no Second Life. SBSC 2009, VI Simpósio Brasileiro de Sistemas Colaborativos, Fortaleza, outubro 2009. ISBN: 978-0-7695-3918-8, Ed. IEEE-CS, pp. 99-105.
• PEREIRA, A., VEGA, K., FILIPPO, D., DAVID, V., RAPOSO, A. & FUKS, H.Enacting Collaboration via Storytelling in Second Life. CRIWG 2009, 15th Collaboration Researchers’ International Workshop on Groupware, Portugal, September 2009. Lecture Notes on Computer Science LNCS 5784, Springer-Verlag, ISSN 0302-9743, pp. 319-327.
No Workshop...
LSL - Conceitos llCommandsComunicação entre objetos
Canal de comunicaçãoLinked objects
EstadosEventos
O que é LSL
Linden Scripting Lenguage (LSL) é uma linguagem de programação orientada a eventos e baseada em estados, utilizada no simulador Second Life.
Scripts controlam o comportamento dos objetos do mundo.
31
O qué é um script?
Activa os objetos no Second Life.
Scripts são compostos de funcões, eventos e constates.
Scripts podem definir posição, tamanho e rotação do objeto.
Tipos de VariáveisPodem ser locais ou globais
Float = floating point or real numberInteger = positive whole numberString = a text word or phraseVector = a set of three floatsrgb color, xyz pos, xyz vel, xyz accelKey = uuid - object identityRotation = x,y,z,s - hard!List = rough database
Hello World
Exercicio
Você receve um objeto (2 prims). Cada prim (paê e filho) tem um script que você tem que modificar.
Cada vez que um membro do seu time toca seu objeto, o prim child troca suas propiedades.
Touched
Exercício – Script inicial
Comunicação em objetos linkedFunção: llMessageLinked( integer linknum, integer num, string str, key id );Evento: link_message(integer sender_num, integer num, string msg, key id)
Exercicio - llCommands Adicione funções do SL em kf_child.Cada função é distinta e depende do avatar do time que fez clic. llSetPos(llGetLocalPos() + <0, 0, 1>); llSetLinkTexture(2, texture, ALL_SIDES); llSetLinkColor(2, <0.0, 1.0, 0.0>, ALL_SIDES); llSetLinkPrimitiveParams(2,[PRIM_FULLBRIGHT, ALL_SIDES,TRUE],[ PRIM_GLOW, ALL_SIDES ]); llSetLinkPrimitiveParams(2,[PRIM_TYPE, PRIM_TYPE_SPHERE, PRIM_HOLE_DEFAULT, <0.0, 1.0, 0.0>, 0.5,<0.0, 0.0, 0.0>,<0.0, 1.0, 0.0> ]);llSetLinkPrimitiveParams(2,[PRIM_FULLBRIGHT, ALL_SIDES,TRUE, PRIM_GLOW, ALL_SIDES ]);
http://wiki.secondlife.com/wiki/Category:LSL_Functions
Exercício - Estados
Os scripts definem o compartamento segundo estados.
O estado por defeito é: defaultPodem se definir estados: state MeuEstado { .... }
Podem cambiar para outro estado: state MeuEstado
Defina um estado diferente para cada membro do time.
Exercício - Estados
Exercicio - Eventos
Adicione o evento listen no local chat.Quando Kfcito Capalini fale: upo local prim subira 1 metro.
Use:Função: llListen( integer channel, string name, key
id, string msg ); Evento: listen( integer channel, string name, key
id, string message ) { ....}