Este documento fornece um resumo de um workshop sobre Second Life:
(1) O workshop incluiu uma exploração do Second Life na PUC-Rio e apresentações sobre jogos educacionais como Time2Play e TREG desenvolvidos na plataforma; (2) Os participantes realizaram um exercício prático de programação em LSL onde objetos interagiam de acordo com comandos; (3) O workshop também discutiu novas tecnologias como Realego que permitem a interação entre ambientes virtuais e reais.
4. 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]
5. Second Life
• 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.
http://www.youtube.com/watch?v=z3gHCupXSMs
14. PUC-Rio no Second Life
Second 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
15. Jogos Educacionais da PUC-Rio
TREG
Time2Play
Jogo de treinamento em
Jogo para storytelling
engenharia de requisitos
Analisis do modelo 3C
Exploraçao da criaçao do jogo
16. 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.
17. Time2Play no Aprendizagem Colaborativa
Colaboração pode ser entendida a partir de suas 3 dimensões -
comunicação, coordenação e cooperação.
Comunicação
gera compromissos
demanda
Percepção gerenciados pela
Cooperação Coordenação
organiza as tarefas para
Modelo 3C de Colaboração
18. 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.
19. TREG
“Training in Requirements Engineering Game”
• Interação com NPCs, Machinima
• Interação com objetos 3D, tempo
• Metáfora da cozinha
20. 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
21. Right People Shared Purpose
Ingredientes da técnica de Workshops
livro de Gottesdiener “Requirements by Collaboration”
Pre-work Shared Space
22. TREG.Iterações
From High-coded prototype
to Deployment.
Iteração 5
From Low-coded to High-
coded Prototype
Iteração 4
From Wireframe to Low-coded
Prototype
Iteração 3
From Quick Wireframe to Wireframe
Iteração 2
From Idea to Quick Wireframe
Iteração 1
Arnowitz, J., M. Arent and N. Berger, 2007. Effective Prototyping for Software Makers
24. Concluçoes
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.
26. Nuevos avances: Realego
0 x
Objetivo: Pesquisar tecnologias que posibilitem a
interacaçao de ambientes virtuais e reais.
27. 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.
29. No Workshop...
LSL - Conceitos
llCommands
Comunicação entre objetos
Canal de comunicação
Linked objects
Estados
Eventos
30. 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.
31
32. Tipos de Variáveis
Podem ser locais ou globais
Float = floating point or real number
Integer = positive whole number
String = a text word or phrase
Vector = a set of three floats
rgb color, xyz pos, xyz vel, xyz accel
Key = uuid - object identity
Rotation = x,y,z,s - hard!
List = rough database
34. 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
36. 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
37. Exercício - Estados
Os scripts definem o compartamento segundo
estados.
O estado por defeito é: default
Podem se definir estados: state MeuEstado
{ .... }
Podem cambiar para outro estado:
state MeuEstado
Defina um estado diferente para cada membro do
time.