53
Mundos Virtuais e Interatividade Através da Web Trabalho de Conclusão de Curso apresentado à UTFPR como requisito parcial para obtenção do título de Tecnólogo em Informática. Curitiba 2008

Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Mundos Virtuais e Interatividade Através da Web

Trabalho de Conclusão de Curso apresentado à

UTFPR como requisito parcial para obtenção do

título de Tecnólogo em Informática.

Curitiba 2008

Page 2: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Márcio Dalle Lucca Freire de Carvalho

Mundos Virtuais e Interatividade Através da Web

Trabalho de Conclusão de Curso apresentado à

UTFPR como requisito parcial para obtenção do

título de Tecnólogo em Informática.

Orientadora:

Professora Ana Cristina Barreiras Kochem Vendramin, MSc.

Curitiba 2008

Page 3: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

“Most of the trouble in this world has been

caused by folks who can't mind their own

business, because they have no business

of their own to mind, any more than a

smallpox virus has.”

William Burroughs

Page 4: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Dedico este trabalho à Azusa Watanabe.

Page 5: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Agradecimentos

Aos meus pais Márcio e Jussara, por tudo que fizeram por mim até

hoje.

À Professora Ana Cristina, pelo apoio e paciência na orientação do

trabalho.

Aos amigos que, acreditaram, ouviram e opinaram.

Page 6: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

SUMÁRIO

RESUMO ..................................................................................................... 11

1. INTRODUÇÃO......................................................................................... 12

1.1 Apresentação ..................................................................................... 12

1.2 Justificativa da Escolha do Tema....................................................... 12

1.3 Objetivos do Trabalho ........................................................................ 13

1.4 Conteúdo do Trabalho........................................................................ 13

2. LEVANTAMENTO BILIOGRÁFICO E ESTADO DA ARTE...................... 14

2.1 Mundos Virtuais.................................................................................. 14

2.1.1 Comunicação .................................................................................. 14

2.1.2 Simulação........................................................................................ 15

2.1.3 Identidade .................................................................................... 15

2.2 Imersão Virtual ................................................................................... 16

2.2.1 Imersão Perceptiva ......................................................................... 16

2.2.2 Imersão Receptiva ou Sensorial .................................................. 17

2.2.3 Imersão e os Mundos Virtuais ..................................................... 17

2.3 Interface Web ..................................................................................... 18

2.4 Análise de Mundos Virtuais e Suas Propriedades.............................. 18

2.4.1 Achaea - Dreams of Divine Lands ............................................... 18

2.4.1.1 Interface ................................................................................ 20

2.4.1.2 Comunicação ........................................................................ 21

2.4.1.3 Simulação ............................................................................. 22

2.4.1.4 Identidade ............................................................................. 22

2.4.1.5 Imersão ................................................................................. 23

2.4.2 Second Life .................................................................................. 23

2.4.2.1 Interface ................................................................................ 23

2.4.2.2 Comunicação ........................................................................ 25

2.4.2.3 Simulação ............................................................................. 25

2.4.2.4 Identidade ............................................................................. 26

2.4.2.5 Imersão ................................................................................. 27

Page 7: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

3. METODOLOGIA ...................................................................................... 28

3.1 Levantamento de Requisitos .............................................................. 28

3.2 Escolha das Ferramentas................................................................... 28

3.2.1 Plataforma Java ........................................................................... 28

3.2.2 Tecnologias de Interface Web ..................................................... 29

3.2.3 Ferramentas Adicionais ............................................................... 30

3.2.4 Recursos Empregados ................................................................ 30

3.3 Processo de Desenvolvimento ........................................................... 31

3.3.1 Elaboração da Camada de Persistência e Concorrência de Dados

.............................................................................................................. 31

3.3.1.1 Concorrência......................................................................... 32

3.3.2 Aplicação da Técnica AJAX......................................................... 32

3.3.2.1 Requisições Assíncronas para Comunicação Síncrona........ 32

4. RESULTADOS......................................................................................... 34

4.1 Descrição da Arquitetura.................................................................... 34

4.1.1 Nível de Centralização e Escalabilidade...................................... 34

4.1.2 Topologia ..................................................................................... 34

4.2 Requisitos Funcionais e não Funcionais ............................................ 34

4.3 Modelagem......................................................................................... 35

4.3.1 Casos de Uso .............................................................................. 35

4.3.1.1 Conversar.............................................................................. 36

4.3.1.2 Mover .................................................................................... 36

4.3.1.3 Criar Item .............................................................................. 37

4.3.1.4 Iniciar Troca de Item.............................................................. 37

4.3.1.5 Aceitar Troca de Item ............................................................ 37

4.3.1.6 Rejeitar Troca de Item........................................................... 37

4.3.2 Diagrama de Classes................................................................... 38

4.3.3 Diagramas de Seqüência............................................................. 39

4.3.4 Diagrama Entidade-Relacionamento (DER) ................................ 40

4.3.5 Fluxograma.................................................................................. 41

4.4 Interface ............................................................................................. 42

4.5 Testes................................................................................................. 45

Page 8: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

5. DISCUSSÃO............................................................................................ 46

5.1 Comparação Entre os Sistemas......................................................... 46

6. CONCLUSÕES........................................................................................ 49

6.1 Contribuições ..................................................................................... 49

6.2 Trabalhos Futuros .............................................................................. 49

6.2.1 Implementações Futuras ............................................................. 50

7. REFERÊNCIAS ....................................................................................... 51

Page 9: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

LISTA DE FIGURAS

Figura 1. Cidade de Cyrene, em Achaea (ACHAEA, 2008). ....................... 20

Figura 2. Interface de Achaea. .................................................................... 21

Figura 3. Interface com menu de ações do Second Life. ............................ 24

Figura 4. Edição da aparência do avatar no Second Life............................ 26

Figura 5. Diagrama geral de casos de uso. ................................................ 36

Figura 6. Diagrama de classes.................................................................... 38

Figura 7. Diagrama de seqüência 1. ........................................................... 39

Figura 8. Diagrama de seqüência 2. ........................................................... 40

Figura 9. Diagrama de seqüência 3. ........................................................... 40

Figura 10. DER. .......................................................................................... 41

Figura 11. Fluxograma de páginas do sistema. .......................................... 42

Figura 12. Visualização da página Index. ................................................... 42

Figura 13. Visualização da página Home.................................................... 43

Page 10: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

LISTA DE SIGLAS

AJAX: Asynchronous Javascript And XML.

API: Application Programming Interface.

CMC: Comunicação Mediada por Computador.

CMC-S: Comunicação Mediada por Computador Síncrona.

CSS: Cascading Style Sheets.

DER: Diagrama Entidade-Relacionamento.

HTML: HiperText Markup Language.

HTTP: HiperText Transfer Protocol.

IDE: Integrated Development Environment.

JDBC: Java Database Conectivity.

JEE: Java Enterprise Edition.

JPA: Java Persistence API.

JSP: JavaServer Pages.

JSTL: JSP Standard Tag Library.

MUD: Multi-User Dungeons.

MVC: Model-View-Controler.

W3C: World Wide Web Consortium.

XHTML: eXtensible HiperText Markup Language.

Page 11: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

RESUMO

Este projeto tem o objetivo de criar um novo padrão para a aplicação

de tecnologias de sistemas web no desenvolvimento de mundos virtuais.

Levantando os paradigmas que compõem tais ambientes e analisando

mundos virtuais existentes, é mostrado como é possível associar a

acessibilidade de uma interface web aos conceitos que tornam um sistema

um mundo virtual. Por fim, o projeto aplica as técnicas necessárias na

criação do modelo de um ambiente virtual interativo, multiusuários e que

pode ser acessado por um navegador web, ou seja, um protótipo de um

mundo virtual web.

Palavras-chave: Mundo virtual, Web, Interatividade, Acessibilidade,

Imersão.

Page 12: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 1 – Introdução 12

1. INTRODUÇÃO

1.1 Apresentação

É notável a popularização da Internet como meio de comunicação.

Com a capacidade de transmissão e de armazenamento de dados

aumentando a cada dia, a comunicação passa a ter maior dinamismo e mais

informação é compartilhada. Junto com seu surgimento, como causa e

conseqüência da comunicação gerada pela rede, foram criados os mundos

virtuais (BARTLE, 2003). Hoje, tais sistemas se diferenciam por proporcionar

aos seus usuários um alto grau de imersão, sendo palco para novos

conceitos, como o da “vida virtual”.

A partir da análise das principais características dos mundos virtuais,

o trabalho faz um estudo das tecnologias que tornam possível reproduzir os

paradigmas de tais sistemas em interfaces web1, estas que são mais

acessíveis, porém com recursos de interface limitados.

É também realizado um estudo sobre a imersão, fator crítico presente

nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes

virtuais. Com os conceitos levantados por McCloud (1994) sobre a forma da

informação, são construídas as definições de Imersão Receptiva e Imersão

Perceptiva, sendo ambas posteriormente associadas à Interatividade e à

comunicação através da interface web.

Por fim, a partir do estudo realizado e da análise de sistemas notáveis

do ponto de vista teórico em questão, é desenvolvido um protótipo de um

mundo virtual web, mostrando como é possível aplicar o novo conceito de

sistema interativo.

1.2 Justificativa da Escolha do Tema

Historicamente, os mundos virtuais foram desenvolvidos com variadas

interfaces. Desde puro texto até três dimensões, sua essência imersiva se

manteve, mas com um fator pouco explorado, o da ampla acessibilidade.

1 No presente trabalho, uma interface web é aquela composta pelas linguagens e padrões determinados pela W3C (World Wide Web Consortium) (W3C, 2008).

Page 13: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 1 – Introdução 13

Através de uma interface web é possível alcançar grande parte dos sistemas

conectados à Internet e, com os recursos e técnicas disponíveis, reproduzir

a imersão proporcionada pelos mundos virtuais.

A interface web evolui, mas ainda pode ser melhor explorada em suas

definições atuais, assim como podem ser explorados novos caminhos para a

construção de mundos virtuais.

1.3 Objetivos do Trabalho

Este projeto tem como objetivo utilizar as tecnologias web para criar

uma nova possibilidade no desenvolvimento de mundos virtuais. Analisando

e implementando elementos que caracterizam um mundo virtual, o projeto

visa aplicar o equilíbrio entre Imersão Virtual e interface web, mostrando que

os recursos atuais disponíveis para criação de páginas web podem ser

usados de maneira inovadora, garantindo que um sistema interativo,

persistente e imersivo seja acessível de um navegador web padrão.

1.4 Conteúdo do Trabalho

O presente trabalho é dividido em 6 capítulos. O primeiro capítulo é a

introdução, que inclui a apresentação do tema, sua justificativa e os objetivos

do trabalho. O segundo capítulo traz as definições dos conceitos que

formam um mundo virtual, a análise de dois sistemas existentes que aplicam

tais conceitos e uma tabela comparativa entre os sistemas analisados e o

novo sistema desenvolvido. Os capítulos 3 e 4 abrangem respectivamente o

processo de desenvolvimento e os resultados atingidos. Por fim, os capítulos

5 e 6 trazem as conclusões do projeto com as devidas recomendações para

trabalhos futuros.

Page 14: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 14

2. LEVANTAMENTO BILIOGRÁFICO E ESTADO DA ARTE

2.1 Mundos Virtuais

Mundos virtuais são sistemas multiusuários implementados em

computador e que simulam um ambiente (BARTLE, 2003). Cada usuário

interage com o ambiente e com outros usuários através de avatares, isto é,

através da incorporação visual2 de um usuário em um ambiente virtual

(VILHJÁLMSSON, 1996). Considerando que toda sala de bate-papo, página

de um website ou ambiente do ciberespaço é um local psicológico para o

usuário (SULER, 2008), mundos virtuais tendem a ser locais complexos,

pois simulam um ambiente ao mesmo tempo em que permitem a troca de

informações entre seus participantes.

Partindo destes conceitos, três paradigmas podem ser levantados

como requisitos para que um sistema seja considerado um mundo virtual:

comunicação, simulação e, como conseqüência das anteriores, identidade.

2.1.1 Comunicação

Por se tratar de um sistema multiusuário, um mundo virtual permite a

comunicação humano-humano mediada pelo próprio sistema. Como a

interatividade proporcionada por um aplicativo de simulação tende a ser

dinâmica, a comunicação é em tempo real. Esta característica é definida

pela Comunicação Mediada por Computador Síncrona (CMC-S), que está

sempre presente em mundos virtuais e é definida pela:

“(...) presença simultânea dos interlocutores para que a troca de mensagens ocorra em tempo real, isto é, sejam recebidas e respondidas numa seqüência contínua, durante uma mesma sessão.” (OEIRAS & ROCHA, 2000).

2 No presente trabalho, a incorporação visual de um usuário é considerada desde um apelido ou perfil em modo texto até um modelo gráfico em três dimensões.

Page 15: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 15

2.1.2 Simulação

A simulação em mundos virtuais não é a mesma almejada pelos

sistemas de realidade virtual, pois não são desenvolvidos equipamentos de

hardware específicos e nem sempre é visada a simulação de elementos,

situações ou ambientes do mundo real. Nos mundos virtuais, a simulação

consiste basicamente em armazenar estados de objetos que podem ser

afetados pelos usuários. Tanto para um único usuário, quanto para usuários

distintos, os objetos de simulação preservam seu estado de forma

consistente, mesmo quando o sistema não está sendo acessado. Estes

elementos icônicos respondem de maneira semelhante às ações

semelhantes dos usuários. Assim é criada a credibilidade de um ambiente.

Um fator importante a ser ressaltado é o da aleatoriedade. Em muitos

casos ela também faz parte da simulação. Uma resposta aleatória pode ser

um tipo de resposta esperada e consistente, mesmo gerando resultados

diversos para ações semelhantes.

Portanto, a importância da simulação está na consistência do sistema

dentro do objetivo proposto, acontecendo muitas vezes de forma abstrata

por não estar diretamente associada a elementos do mundo real. Também

por este e outros motivos mostrados a seguir, os mundos virtuais trabalham

com dados persistentes.

2.1.3 Identidade

A identidade de um usuário dentro de um mundo virtual é dada por

diversos fatores. O primeiro deles é o das escolhas que o usuário faz quanto

à personalização de seu avatar, podendo ser apenas a escolha de um

apelido em texto ou a escolha das roupas de um avatar humanóide em três

dimensões. Existem também as escolhas que se referem às regras de

interação e simulação, onde modelos de avatares possuem atributos

específicos perante o sistema.

Outro fator é o das ações que o usuário executa através de seu

avatar. No decorrer do uso de um mundo virtual, o usuário pode fazer

amizades e inimizades, afetar o ambiente, evoluir seu avatar, tomar posse

Page 16: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 16

de objetos, participar de comunidades, entre outras atividades. Isso afeta a

maneira de como os outros usuários identificam o usuário em questão,

influenciando diretamente em sua identidade. Suler (2008) afirma em relação

ao ciberespaço em geral, o que pode ser aplicado aos mundos virtuais:

“O nome de usuário que você escolhe, os detalhes que você indica ou não sobre você mesmo, a informação presente na sua página web, a persona3 ou avatar que você assume em uma comunidade online – todos são aspectos importantes de como as pessoas gerenciam suas identidades no ciberespaço”.

Esta também é mais uma característica que implica no

armazenamento de dados persistentes em mundos virtuais.

2.2 Imersão Virtual

A imersão consiste no grau de concentração que um indivíduo aplica

na realização de uma determinada tarefa (SULER, 2008). Assim, a imersão

virtual se refere à realização de atividades virtuais, ou seja, no contexto da

Informática, atividades mediadas por hardware e software, como a CMC.

A forma da informação transmitida na CMC, assim como em qualquer

tipo de comunicação, pode ser classificada como Perceptiva ou Receptiva

(MCCLOUD, 1994). Com foco na imersão virtual, é possível agregar tal

classificação ao conceito de imersão.

2.2.1 Imersão Perceptiva

A Imersão Perceptiva é a imersão experimentada através de

estímulos de linguagem. A partir de ícones que compõem uma mensagem, o

receptor interpreta tais elementos e, com base no conhecimento individual,

compreende a informação transmitida.

3 Persona é um termo utilizado em áreas como a da Psicologia para expressar as atitudes do indivíduo para com o mundo exterior (WIKIPEDIA, 2008).

Page 17: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 17

A principal qualidade da Imersão Perceptiva se deve ao fato de que

quando o receptor utiliza o raciocínio e a imaginação para interpretar os

elementos transmitidos na mensagem, ele o faz com referência a uma

biblioteca própria, construída por experiências individuais.

Consequentemente, tudo se torna mais familiar e particular, facilitando a

imersão. Em contrapartida, é exigido do receptor o “(...) conhecimento

especializado para decodificar os símbolos abstratos da linguagem.”

(MCCLOUD, 1994).

O maior exemplo onde se utiliza a linguagem como forma de

comunicação, o que, como conseqüência, ocasiona a Imersão Perceptiva,

se encontra na literatura. Nela, a linguagem verbal é explorada e, mesmo

esta podendo ser rica e detalhada, será interpretada de maneira diferente

por cada indivíduo.

2.2.2 Imersão Receptiva ou Sensorial

A Imersão Sensorial é a imersão experimentada através de estímulos

sensoriais. Nela, a representação da mensagem atua diretamente nos

sentidos do receptor de maneira realista e convincente, imitando a realidade

nos aspectos da visão, audição, tato, olfato e paladar. O cinema é o principal

exemplo de utilização da Imersão Sensorial, geralmente tornando as

informações de imagem e som extremamente receptivas.

A Imersão Sensorial tem a dificuldade técnica como fator principal na

sua aplicação, pois para que a imersão seja maior, a construção dos

estímulos exige recursos muitas vezes não disponíveis. A característica

positiva da Imersão Sensorial é a de proporcionar maior receptividade para a

imersão, exigindo que o receptor trabalhe menos a imaginação e o raciocínio

na interpretação da forma das mensagens.

2.2.3 Imersão e os Mundos Virtuais

A análise anterior considerou os extremos da forma de comunicação

adotada por cada tipo de imersão. Na prática, é observado que as duas

imersões podem trabalhar juntas, numa espécie de equilíbrio imersivo.

Page 18: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 18

A CMC-S tem sido tema de estudos que, em sua maioria, visam

torná-la tão receptiva quanto à comunicação face-a-face (VILHJÁLMSSON,

2003). O que acontece é que o grau de informações receptivas aumenta ou

diminui de acordo com os recursos utilizados e a imersão em si independe

da forma que a informação é apresentada. Nos mundos virtuais, a imersão é

acentuada devido à natureza das propriedades destes sistemas. Os três

paradigmas comunicação, simulação e identidade, formam uma combinação

altamente imersiva. Nela, os usuários têm experiências convincentes, onde o

fator humano, agregado pela comunicação, aumenta o dinamismo da

simulação projetada e exige constante manutenção da identidade

estabelecida (SULER, 2008).

2.3 Interface Web

Com a popularização da Internet, os navegadores web se

consolidaram como aplicativo indispensável em todos os sistemas

conectados à rede. Dos mais simples aos mais avançados, todos são

capazes de interpretar HTML (HyperText Markup Language), CSS

(Cascading Style Sheets), e a grande maioria, Javascript. Com as novas

técnicas de desenvolvimento, como o AJAX (Asynchronous Javascript And

XML), e a aplicação das tecnologias conhecidas para persistência de dados,

uma interface web tem a disposição recursos que permitem associar

interatividade e complexidade à acessibilidade.

2.4 Análise de Mundos Virtuais e Suas Propriedades

A seguir, são avaliados dois mundos virtuais, os quais diferem entre si

principalmente por suas interfaces e acessibilidade. A análise é feita com

referência aos paradigmas levantados anteriormente e com destaque ao

ponto crítico da interface e sua respectiva acessibilidade.

2.4.1 Achaea - Dreams of Divine Lands

Achaea é um mundo virtual inteiramente em modo texto publicado em

1997 pela produtora Iron Realms Entertainment (IRON REALMS

Page 19: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 19

ENTERTAINMENT, 2008). É acessado através de conexão telnet e sua

estrutura é herdada dos primeiros mundos virtuais, os MUDs (Multi-User

Dungeons ou Masmorras Multiusuários). O primeiro MUD foi criado e escrito

por Roy Trubshaw e Richard Bartle na Universidade Essex, Inglaterra, em

1978, se tornando o primeiro mundo virtual público (BARTLE, 2003)

(KOSTER, 2008). A relevância de Achaea para análise se dá devido ao fato

deste ainda estar ativo e ser baseado nas principais características dos

primeiros mundos virtuais existentes.

O objetivo de Achaea é simular um mundo de fantasia medieval. Cada

usuário tem o papel de um personagem e pode ser uma espécie de cidadão

na nova realidade. Sua arquitetura interna é simplificada por três tipos de

elementos: jogador (usuário), sala e objeto. Jogadores e objetos estão

sempre contidos em salas, estas por sua vez são interligadas formando um

mapa persistente. Através de comandos como north, south, east, west,

northeast, northwest, southeast, southwest, up, down, in e out, os jogadores

podem se deslocar pelas salas navegando pela direção indicada no

comando. Com isso, é possível notar que a topologia do mundo é formada a

partir de um mapa lógico, conforme é observado na Figura 1, que mostra

uma das cidades, ou conjunto de salas, do sistema.

Page 20: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 20

Figura 1. Cidade de Cyrene, em Achaea (ACHAEA, 2008).

Cada quadrado representa uma sala e cada linha mostra como, ou

em qual direção, uma sala se liga às suas próximas. Esta estrutura básica

do sistema e suas regras de interação possibilitam a simulação de um

ambiente consistente.

2.4.1.1 Interface

A interface para acesso ao sistema de Achaea é composta

unicamente de caracteres ASCII coloridos transmitidos através da conexão

telnet. Portanto, é possível se conectar a ele a partir de qualquer cliente

telnet, e toda a interação que o usuário tem com o sistema é feita através da

entrada de texto. Assim são dados, por exemplo, os comandos de

movimentação pelas salas, exemplificados anteriormente. Existe uma vasta

gama de comandos possíveis, todos intuitivos imitando a língua inglesa.

Para dizer ‘oi’ em uma sala, o comando é: say oi. Assim, o sistema

prontamente exibe para todos os presentes na sala uma mensagem como:

Page 21: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 21

Fulano says “oi”. A Figura 2 mostra a interface do sistema acessado pelo

cliente PuTTY.

Figura 2. Interface de Achaea.

2.4.1.2 Comunicação

A comunicação em Achaea acontece de duas formas principais. A

primeira delas é a comunicação presencial, onde é possível se comunicar

com quem está presente na mesma sala. A segunda é a comunicação à

distância, fantasiada pelo sistema como uma comunicação telepática entre

os personagens, tornando possível se comunicar por canais ou diretamente

com outros jogadores em salas distintas. Um jogador novato logo é induzido

a utilizar o canal newbie onde somente novatos e guias (usuários

administradores no papel de personagens tutores) terão acesso, para tirar

dúvidas ou responder perguntas pertinentes ao sistema.

Por simular um ambiente de fantasia, incentiva-se que os jogadores

sempre se comuniquem interpretando seus personagens. Por isso, qualquer

fala deve ser condizente com os conhecimentos do personagem (não do

jogador) e sua relação com os ouvintes, utilizando corretamente a língua

Page 22: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 22

inglesa, seus pronomes de tratamento e os termos do mundo virtual. Neste

sistema, os jogadores aderem naturalmente à interpretação sabendo que

esta dará mais credibilidade à fantasia proposta.

2.4.1.3 Simulação

A simulação deste ambiente de fantasia medieval é dada pela

estrutura de jogadores, salas e objetos e suas regras de interação. Em

primeira instância, um personagem não pode estar presente, ou seja,

interagir de forma consistente, em mais de uma sala ao mesmo tempo.

Algumas salas são consideradas apenas passagem de ligação para simular

longas distâncias, já outras podem reunir vários usuários, como em uma

taverna ou templo religioso. Objetos como armas, roupas e outros itens

também são persistentes. É possível vender e comprar, o que faz com que

exista uma economia interna própria baseada numa moeda padrão, as

peças de ouro. Existe ainda um sistema de passagem do tempo. Dia e noite,

semanas, meses e anos passam em uma escala menor e com calendário

próprio. Assim é possível simular eventos importantes, que afetam a alguns

ou a todos os jogadores. Também o clima, como sol, chuva e nuvens, é

alterado em tempo real e descrito em detalhes.

2.4.1.4 Identidade

A formação de identidade em Achaea é iniciada pelas escolhas do

jogador ao criar seu personagem. Nome, raça e classe são as três principais

escolhas, que darão forma ao avatar do jogador. A partir de então, o jogador

pode executar ações diversas e livres, assim como é imaginado um cidadão

de um mundo de fantasia medieval. O jogador poderá buscar riquezas, ser

forte ou apenas se relacionar ou ter influência no ambiente. A identidade

será formada pela descrição do personagem, pelas roupas e itens que

carrega e por sua posição na sociedade simulada, que será de acordo com

suas atividades e relacionamentos dentro do sistema.

Page 23: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 23

2.4.1.5 Imersão

Por ser um mundo virtual, Achaea aplica todos os paradigmas a favor

da imersão. A comunicação é feita em tempo real, a simulação do ambiente

é consistente e cada usuário possui uma identidade rica, detalhada e única.

Devido à sua interface, é explorada somente a Imersão Perceptiva

exclusivamente através da linguagem verbal. Com isso, e devido à origem

do sistema, todo o conteúdo do ambiente é descrito pela língua inglesa.

Salas, personagens e eventos são detalhados minuciosamente, estimulando

com precisão a imaginação de seus usuários.

2.4.2 Second Life

Second Life é um mundo virtual em três dimensões inteiramente

imaginado e criado por seus residentes (usuários). Foi aberto ao público em

2003 e hoje é habitado por milhões de residentes do mundo todo (SECOND

LIFE, 2007). Nele, cada usuário pode manufaturar objetos digitais e deter os

direitos de propriedade intelectual sobre suas criações. Além disso, os

residentes contam com uma linguagem de script para personalizar o

comportamento de objetos e avatares.

No Second Life, o usuário pode comprar terrenos para criar

construções, como uma casa para seu avatar, ou abrir o próprio negócio,

pois a moeda de simulação econômica interna chamada dólar Linden tem

valor monetário real, sendo intercambiável com dólares americanos. Assim,

o usuário é incentivado a comercializar diversos serviços que envolvem o

trabalho manual de criação de objetos e locação de construções ou locais

para eventos, além de desfrutar de outras oportunidades de negócio, como a

publicidade.

2.4.2.1 Interface

O Second Life possui a interface que simula objetos e ambientes em

três dimensões. Para acesso ao sistema é necessária a instalação do

software cliente em um computador pessoal, o qual renderiza a interface e

Page 24: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 24

faz o gerenciamento do cache4 local de arquivos. O cache tem a função de

armazenar informações de objetos e texturas visualizadas recentemente ou

próximas ao avatar, para que não sejam retransmitidos e estejam prontos

para a próxima renderização.

As ações do usuário são executadas pelo conjunto teclado e mouse,

por menus diretos na interface e pelo “menu de ações”. O menu de ações é

acessível através do clique do botão direito do mouse e, dependendo de

onde o mouse aponta, ele demonstra as possíveis ações. Cada objeto pode

estar associado a um ou mais scripts que determinarão ações tanto para o

avatar quanto para o sistema ou o próprio objeto. Como exemplo, para

comprar um objeto disponível, geralmente é usado um script no qual faz com

que o objeto, ao ser tocado, mostre a opção de compra.

A Figura 3 mostra a interface e o menu de ações referente a um

objeto (uma almofada) onde é possível executar a ação “sentar-se”.

Figura 3. Interface com menu de ações do Second Life.

4 Cache consiste em evitar o acesso a um dispositivo ou servidor armazenando dados temporariamente em meios de acesso mais rápidos.

Page 25: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 25

2.4.2.2 Comunicação

A comunicação no Second Life acontece de maneira semelhante aos

aplicativos de mensagem instantânea. Existe um chat público em cada

localidade, mas é possível falar em particular com cada usuário e manter

uma lista de amigos, útil para a troca de mensagens à distância, ou seja,

quando os avatares se encontram em localidades diferentes do sistema.

Existe ainda a possibilidade de utilizar o Voice Chat, um sistema de

transmissão de som que faz com que a voz do avatar seja a mesma do

usuário ao falar em um microfone conectado ao computador cliente. O som é

transmitido e reproduzido a partir da coordenada do avatar no campo 3D,

fazendo com que somente avatares próximos ao do locutor ouçam sua voz.

2.4.2.3 Simulação

O Second Life simula apenas um ambiente virtual compartilhado em

três dimensões, mas através do sistema de criação de objetos e scripts, os

usuários geram no sistema diversos elementos figurativos do mundo real.

Não existe um objetivo pressuposto para simulação, pois são os

residentes que criam as simulações desejadas utilizando os recursos do

sistema. Como exemplos, existem simulações de casamento entre avatares,

festas, palestras, apresentações musicais e outros eventos, além da

simulação de localidades como o Jardim Botânico de Curitiba ou a Estátua

da Liberdade. Tudo é feito conforme a vontade e dedicação dos usuários,

que desfrutam das ferramentas de criação de objetos e scripts e dos tutoriais

muitas vezes disponíveis no próprio ambiente.

Dentro do conceito de propriedades intelectuais e dos possíveis

modelos de negócio, é gerada uma economia própria. Embora internamente

possa ser considerada uma economia simulada, ela deixa de ser uma

simulação a partir do momento que entra em contato com a economia real.

Isso acontece através do LindeX Exchange, o sistema que permite troca de

dólares Linden por dólares americanos e vice-versa.

Além de ser um ambiente em três dimensões, o Second Life conta

com simulações simples de física mecânica e de passagem do tempo, tendo

Page 26: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 26

o ciclo de dias e noites e um fuso-horário próprio. Estes são alguns fatores

que dão maior credibilidade ao ambiente.

2.4.2.4 Identidade

A identidade de um usuário no Second Life é formada principalmente

pelos recursos visuais que o sistema dispõe. As mesmas ferramentas que

permitem a criação de objetos 3D são utilizadas para determinar a aparência

do avatar. Assim, cada usuário pode customizar a aparência de seu avatar

de maneira única e praticamente infinita, com peças de vestimenta como

roupas e máscaras, forma do corpo e rosto humanóides, cabelo e cores e

texturas para cada um destes elementos. A Figura 4 mostra o menu de

edição de aparência do avatar.

Figura 4. Edição da aparência do avatar no Second Life.

Além da aparência do avatar e de um perfil de usuário, a identidade é

influenciada pelo posicionamento que o usuário assume nas diversas

Page 27: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 2 - Levantamento Bibliográfico e Estado da Arte 27

simulações. Em muitos casos, o usuário cumpre um papel semelhante ao

que tem na sociedade real. Em um evento como um congresso com

palestras, os avatares dos palestrantes são controlados por indivíduos

capacitados que já exerceram a mesma função no mundo real. Com isso,

suas identidades são muito próximas às do mundo real.

2.4.2.5 Imersão

O Second Life aplica os paradigmas de comunicação, simulação e

identidade dos mundos virtuais na composição da experiência imersiva. É

ainda somada à experiência a Imersão Receptiva para imagem e som,

proporcionada por sua interface 3D e simulação de propagação sonora.

Apesar de contar com recursos gráficos e sonoros, a imersão

costuma ser fragmentada, pois ficam a cargo dos usuários a objetividade na

utilização do sistema e a criação das simulações dentro do ambiente.

Também a topologia do ambiente como um todo não é consistente,

obrigando que avatares se desloquem pelo espaço virtual através de tele

transporte quando mudam de cenário, a fim de favorecer a manutenção e

estrutura dos servidores.

Este mundo virtual oferece as ferramentas e recursos para que seus

usuários criem as experiências imersivas customizando e manufaturando

elementos, mas não é capaz de proporcionar alta imersão por si só.

Page 28: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 3 - Metodologia 28

3. METODOLOGIA

3.1 Levantamento de Requisitos

O levantamento de requisitos foi efetuado a partir da definição dos

paradigmas que formam os mundos virtuais e dos pré-requisitos que

envolvem os objetivos deste trabalho.

3.2 Escolha das Ferramentas

As ferramentas selecionadas para o desenvolvimento do protótipo

abrangem os recursos aplicados em sistemas web baseados na plataforma

Java.

3.2.1 Plataforma Java

A plataforma Java é um conjunto de recursos para desenvolvimento

de aplicações. Os recursos envolvem uma linguagem de programação

padrão chamada Java, uma máquina virtual capaz de abstrair o Sistema

Operacional em que rodam seus aplicativos e uma série de API’s

(Application Programming Interface ou Interface de Programação de

Aplicativos) (SUN, 2008).

A escolha da plataforma Java como base para desenvolvimento

ocorre devido aos recursos e formas de integração com as interfaces web

que esta disponibiliza, além de não gerar custos com licenciamento e ter

flexibilidade quanto à exigência de um Sistema Operacional específico.

Os elementos da plataforma utilizados no projeto são:

• Java Enterprise Edition (JEE): O JEE é uma plataforma

componente da plataforma Java e consiste em especificações e

bibliotecas para implementação de recursos corporativos como

JSP (JavaServer Pages), Java Servlets, JPA (Java Persistence

API) e JDBC (Java Database Conectivity);

• Java Servlet: É uma tecnologia cujo conceito é inserir novos

recursos a um servidor web. Através de sua API, é possível gerar

Page 29: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 3 - Metodologia 29

uma interface web dinâmica utilizando todos os recursos da

plataforma Java;

• JavaServer Pages: O JSP é uma API construída com base na

tecnologia das Servlets. Dispondo de todos os seus recursos, ela

agrega a capacidade de ser implementada como um código de

interface através do uso da JSTL (JSP Standard Tag Library), o

que agiliza o desenvolvimento e a manutenção de interfaces web

dinâmicas;

• Java Database Conectivity: O JDBC é uma API que visa tornar

transparente o acesso ao banco de dados em uma aplicação

Java.

• Java Persistence API: É a especificação de como deve ser

implementada uma API de persistência em aplicações JEE. Como

exemplos de implementação da JPA existem o Hibernate

(HIBERNATE, 2008) e o Toplink (ORACLE, 2008).

3.2.2 Tecnologias de Interface Web

Seguindo a premissa de que o novo sistema deve ser acessado por

navegadores web, este deve contar com uma interface construída nas

linguagens HTML e CSS. Tais tecnologias devem ser aplicadas de acordo

com as recomendações da W3C5, garantindo a compatibilidade da interface

com a maior quantidade de navegadores possível. É também utilizada a

linguagem Javascript na aplicação da técnica AJAX (OLSON, 2007), essa

que foi capaz de suprir os requisitos da comunicação full-duplex, geralmente

presentes em aplicações de CMC-S, na estrutura de requisições HTTP

(HyperText Transfer Protocol).

As tecnologias de interface web utilizadas no projeto são:

• XHTML (eXtensible HyperText Markup Language) 1.0: É a

mais recente recomendação da W3C para construção de

5 World Wide Web Consortium é um consórcio internacional onde organizações e o público trabalham juntos para desenvolver os padrões web (W3C, 2008).

Page 30: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 3 - Metodologia 30

documentos estruturados cuja apresentação é controlada por

CSS (W3C, 2008);

• CSS 2: É a linguagem utilizada para adicionar estilos, como tipos

de fonte e cores, a documentos estruturados, como o XHTML

(W3C, 2008);

• Javascript: É uma linguagem de script que pode ser interpretada

por navegadores web, adicionando diversas funcionalidades a

estes aplicativos.

• AJAX: Técnica de utilização da linguagem Javascript para efetuar

requisições assíncronas, ou seja, independentes de ações do

software cliente, a um servidor web. Permite assim que o

conteúdo dinâmico seja atualizado e informações sobre o cliente

sejam enviadas transparentemente do ponto de vista do usuário.

3.2.3 Ferramentas Adicionais

• Netbeans 6.0: O Netbeans é um IDE (Integrated Development

Environment, ou Ambiente de Desenvolvimento Integrado)

multiplataforma com todos os recursos necessários para

modelagem, desenvolvimento e testes na plataforma Java. O seu

pacote de ferramentas inclui o Tomcat, servidor de aplicações

Java para web (NETBEANS, 2008);

• PostgreSQL 8.2: É um sistema gerenciador de banco de dados

relacional, gratuito e multiplataforma, utilizado para persistência

de dados em conjunto com a API JDBC (POSTGRESQL, 2008).

3.2.4 Recursos Empregados

Os recursos empregados no desenvolvimento do sistema envolvem

ferramentas de software de licença gratuita, um computador e um

programador capaz de utilizar tais tecnologias. Foi necessária ainda, para a

fase final de testes, uma conexão de banda larga com a Internet, para que

fossem feitos acessos simultâneos ao servidor sem a interferência do

desempenho de banda.

Page 31: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 3 - Metodologia 31

Os equipamentos e serviços empregados são descritos a seguir:

• Um computador com arquitetura x86 e configurações mínimas de:

o Processador: 2 Gigahertz;

o RAM (Random Access Memory): 1 Gigabyte;

o Disco rígido: 10 Gigabytes;

o Interface de rede: Ethernet.

• Serviço de conexão com Internet banda larga.

3.3 Processo de Desenvolvimento

Duas etapas do desenvolvimento foram críticas para atender aos

requisitos do sistema. Estas etapas abrangem a elaboração de uma camada

para persistência e concorrência de dados e a aplicação da técnica AJAX.

As demais etapas são comuns no desenvolvimento de sistemas web

utilizando a plataforma Java.

3.3.1 Elaboração da Camada de Persistência e Concor rência de Dados

Em sua maioria, os requisitos do sistema implicam na persistência e

concorrência de dados. Para a elaboração dessa camada da aplicação

foram analisadas as tecnologias referentes à plataforma Java,

especificamente a JPA. A partir do estudo das definições da API JPA e suas

implementações, foi necessário elaborar uma camada própria de

persistência e concorrência, pois a complexidade das implementações da

JPA não se mostrou facilmente adaptável às exigências do protótipo.

Ao analisar a alta troca de informações que ocorre em mundos

virtuais, foi observado que os dados, classificados como persistentes6 ou

transientes7, possuem alta concorrência. Também foi observada a questão

do desempenho no acesso aos dados, sendo necessária uma estratégia

6 Dados persistentes são todas as informações que necessitam persistir na base de dados. Apesar de serem persistentes, para diminuir o acesso simultâneo a base de dados, essas informações devem ser capazes de residir temporariamente na RAM do servidor. 7 Dados transientes são as informações que nunca precisam ser persistidas, por isso sempre residem em memória e quando deixam de ser relevantes são apagadas.

Page 32: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 3 - Metodologia 32

onde os dados são mantidos em memória conforme a necessidade,

minimizando consultas simultâneas à base.

3.3.1.1 Concorrência

Para controlar o acesso concorrente aos dados foi utilizada a

instrução synchronized da linguagem Java. Essa instrução permite que

blocos de código sejam executados somente quando possuem a chave de

execução. Assim são colocadas chaves de maneira que determinadas

operações de leitura e escrita de dados não sejam executadas ao mesmo

tempo, impedindo que as informações se tornem inconsistentes. Este

recurso foi implementado em toda a camada de persistência e concorrência

de dados.

3.3.2 Aplicação da Técnica AJAX

A técnica AJAX foi a solução encontrada para a troca dinâmica de

informações que ocorre nos mundos virtuais. Com ela foi possível

desenvolver um método de verificação de estado8 do usuário, independente

do controle de sessão HTTP das Servlets. Foi possível também fazer com

que as informações transmitidas entre usuários fossem atualizadas com o

mínimo de atraso e transparentemente, o que possibilitou a comunicação em

tempo real através do sistema.

3.3.2.1 Requisições Assíncronas para Comunicação Sí ncrona

Dentro da arquitetura cliente-servidor do protocolo HTTP não é

possível fazer com que o servidor envie informações ao cliente, no caso um

navegador web, sem que este às tenha requisitado. É a técnica AJAX que,

através de requisições assíncronas, ou seja, requisições que não dependem

da ação do navegador, torna possível manter os clientes atualizados quanto

às informações do servidor. Com o AJAX podem ser feitas várias requisições

em espaços curtos de tempo e é desta maneira que os interlocutores de

8 Os estados do usuário implementados no protótipo são online e offline.

Page 33: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 3 - Metodologia 33

uma comunicação síncrona se mantêm atualizados através da arquitetura

cliente-servidor do HTTP.

Page 34: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 34

4. RESULTADOS

4.1 Descrição da Arquitetura

A arquitetura do sistema segue o modelo cliente-servidor. Além disso,

é aplicado o padrão de design de software MVC9 (Model-View-Controler ou

Modelo-Apresentação-Controle), onde a camada de persistência de dados é

o Modelo, as Servlets compõem o Controle e as JSP’s, empregadas com

XHTML e CSS, fazem a Apresentação.

4.1.1 Nível de Centralização e Escalabilidade

O sistema é totalmente centralizado, sendo que todas as operações

ocorrem através de um mesmo servidor web e com uma única base de

dados para a camada de persistência. Já sua escalabilidade não pode ser

medida com precisão no nível de implementação apresentado.

4.1.2 Topologia

O ambiente simulado apresenta salas entre as quais os usuários

podem se mover. Elas formam uma topologia semelhante ao mapa lógico de

Achaea. Cada sala é uma entidade na camada de persistência e está

relacionada ao mapa de salas por seus atributos de coordenada XY. Assim,

uma sala na posição x=50 e y=50 estará ao norte da sala de posição x=50 e

y=49, formando uma topologia consistente. Mais detalhes sobre as

entidades e seus atributos são mostrados nas seções a seguir.

4.2 Requisitos Funcionais e não Funcionais

Os requisitos levantados para o sistema são:

• Promover a comunicação em tempo real entre seus usuários

(CMC-S);

9 O padrão de design MVC foi descrito pela primeira vez pela Xerox no fim dos anos 80. Seu objetivo principal é separar a lógica de um sistema em três partes: regras de negócio, apresentação, ou interface, e processamento de requisições (no caso de uma aplicação cliente-servidor).

Page 35: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 35

• Apresentar simulações de ambiente consistentes;

• Dar condições para que os usuários criem identidade perante os

outros usuários do sistema;

• Contribuir para a imersão virtual a partir dos recursos de interface

disponíveis;

• Possuir interface acessível por navegadores web.

Tais requisitos implicam em características funcionais que tornam

cada usuário do sistema capaz de:

• Personalizar sua representação no sistema através da escolha do

seu apelido;

• Criar itens pessoais;

• Movimentar-se através do ambiente;

• Conversar com outros usuários presentes em uma mesma área

do ambiente;

• Propor uma troca de item para um usuário presente em uma

mesma área do ambiente;

• Aceitar ou rejeitar uma proposta de troca de item feita por um

usuário presente mesma área do ambiente.

4.3 Modelagem

A modelagem do sistema segue os requisitos da Análise Orientada a

Objetos. Nos tópicos a seguir são mostrados os diagramas gerados pela

análise seguidos de explicações sobre o funcionamento do sistema.

4.3.1 Casos de Uso

A partir dos requisitos funcionais foram determinados os casos de uso

do sistema. A Figura 5 representa todos os casos de uso, sendo cada caso

detalhado nos tópicos seguintes.

Page 36: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 36

Figura 5. Diagrama geral de casos de uso.

Para executar qualquer ação no sistema, o usuário deve estar

previamente cadastrado e logado no mesmo, sendo estas ações definidas

como Signup e Login.

4.3.1.1 Conversar

Descrição: Esta ação permite que os usuários se comuniquem entre

si.

Pré-condições: O usuário deve se localizar em uma parte

compartilhada do ambiente que esteja sendo acessada por outros usuários.

Pós-condições: O usuário poderá receber respostas imprevisíveis de

qualquer outro usuário presente.

4.3.1.2 Mover

Descrição: Está ação permite que os usuários se locomovam pela

estrutura lógica do ambiente.

Pré-condições: Não há pré-condição específica.

Page 37: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 37

Pós-condições: Ao se mover, o usuário mudará sua localização no

ambiente do sistema.

4.3.1.3 Criar Item

Descrição: Esta ação permite que os usuários criem itens

personalizados que se tornam posses pessoais.

Pré-condições: Se localizar na área pessoal não compartilhada do

sistema.

Pós-condições: Após criar itens, um usuário poderá trocá-los por itens

de outros usuários.

4.3.1.4 Iniciar Troca de Item

Descrição: Esta ação permite que cada usuário inicie um processo de

troca de item com outro usuário.

Pré-condições: Possuir item próprio (executando pelo menos uma vez

a ação Criar Item) e se localizar em uma parte compartilhada do ambiente

que esteja sendo acessada por pelo menos um usuário com itens

disponíveis.

Pós-condições: O usuário que recebe a proposta de troca poderá

aceitar ou rejeitar a troca dos itens.

4.3.1.5 Aceitar Troca de Item

Descrição: Esta ação permite que um usuário aceite uma proposta de

troca de item feita por outro usuário.

Pré-condições: É necessário que qualquer outro usuário tenha

iniciado uma troca de item com o usuário em questão.

Pós-condições: A proposta de troca de item é aceita e a troca é

efetuada.

4.3.1.6 Rejeitar Troca de Item

Descrição: Esta ação permite que um usuário rejeite uma proposta de

troca de item feita por outro usuário.

Page 38: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 38

Pré-condições: É necessário que qualquer outro usuário tenha

iniciado uma troca de item com o usuário em questão.

Pós-condições: A proposta de troca de item é rejeitada e a troca não é

efetuada.

4.3.2 Diagrama de Classes

A Figura 6 mostra o diagrama de classes do sistema. Para cada caso

de uso existe uma respectiva função, estas somadas às funções

processLogin(), processSignup() e processPing().

Figura 6. Diagrama de classes.

As classes UserActions e UserSession recebem requisições de ações

diretas da interface. Após serem processadas, as requisições são

executadas por uma instância, em escopo de aplicação, da classe

ApplicationControl, essa que, por sua vez, acessa a camada de persistência

de dados através das instâncias das classes EntityManagers. Cada

EntityManager fornece uma interface de controle para a persistência de

dados, podendo mapear sua respectiva classe de entidade (no caso, uma

JavaBean10) para uma tabela na base de dados, sendo ainda capaz de

controlar a transição dos dados da memória para a base e vice-versa.

10 JavaBeans são classes Java que seguem um padrão de estrutura e de acesso aos atributos, facilitando a modularização no armazenamento de informações em sistemas orientados à objetos.

Page 39: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 39

A classe UserSession inicia uma thread com loop assim que o usuário

loga no sistema. A thread verifica a freqüência de envio de pings, que são

pequenas requisições enviadas da interface por AJAX e que chamam o

método processPing() da classe. O usuário não enviará pings caso perca a

conexão com o servidor, o que será detectado pela thread, que poderá então

mudar o status do usuário para offline.

4.3.3 Diagramas de Seqüência

Cada conjunto de atividades no sistema pode ser resumido a um

único diagrama de seqüência.

A Figura 7 mostra o diagrama de seqüência para o conjunto de ações

Login e Signup.

Figura 7. Diagrama de seqüência 1.

A Figura 8 mostra o diagrama de seqüência para o conjunto de ações

Conversar, Mover, Criar Item, Iniciar Troca de Item, Aceitar Troca de Item e

Rejeitar Troca de Item.

Page 40: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 40

Figura 8. Diagrama de seqüência 2.

A Figura 9 mostra o diagrama de seqüência para a ação Ping.

Figura 9. Diagrama de seqüência 3.

A ação Ping não exige interferência do usuário e durante o seu

processo não é acessada a base de dados, pois as informações referentes à

ação, como a contagem de pings, são mantidas em memória até que o

usuário seja considerado offline, quando tais informações serão apagadas.

4.3.4 Diagrama Entidade-Relacionamento (DER)

A Figura 10 mostra o relacionamento entre as entidades do sistema.

Algumas dessas entidades e alguns atributos de entidades não possuem

valor correspondente na base de dados por apenas residirem

temporariamente em memória.

Page 41: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 41

Figura 10. DER.

As entidades Trade e RoomUser não são mapeadas na base de

dados, sendo que cada instância da entidade existirá temporariamente em

memória e não terá informações persistidas. O mesmo é válido para o

atributo chat da entidade Room, onde seu valor só é relevante enquanto a

sala correspondente está sendo acessada.

4.3.5 Fluxograma

Um sistema web exige uma estrutura de navegação através de suas

páginas, como é mostrado na Figura 11.

Page 42: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 42

Figura 11. Fluxograma de páginas do sistema.

A navegação do usuário consiste em se cadastrar e logar no sistema

para então ter acesso às páginas Home e Room. A partir da página Home, o

usuário é capaz de executar as ações Criar Items e Mover. Ao se Mover o

usuário acessará a página Room, gerada dinamicamente de acordo com a

posição do usuário do sistema. Na página Room é permitido ao usuário

executar as ações Conversar, Mover, Iniciar Troca de Item, Aceitar Troca de

Item e Rejeitar Troca de Item de acordo com seus respectivos pré-requisitos.

4.4 Interface

A interface do sistema foi escrita nas especificações do XHTML 1.0 e

CSS. Seu conteúdo dinâmico é gerado através da JSTL e atualizado com

funções Javascript que implementam a técnica AJAX.

A Figura 12 mostra a tela inicial do sistema.

Figura 12. Visualização da página Index.

Page 43: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 43

A Figura 13 mostra a página Home sendo acessada por um usuário

após ter efetuado o Login. Nessa página é possível Criar Items e visualizar a

lista completa dos itens pessoais. O acesso a essa parte do sistema não é

compartilhado. Cada usuário acessa uma Home própria sem interferência de

outros usuários.

Figura 13. Visualização da página Home.

A Figura 14 mostra a página Room sendo acessada pelo mesmo

usuário. Sua localização no sistema se dá na sala chamada City Square,

que está sendo acessada por mais um usuário no momento registrado. Na

página Room é possível se Mover, Conversar e efetuar as ações referentes

à troca de items. O menu de opções para efetuar a ação Mover é gerado de

acordo com a posição das salas no sistema. Os atributos x e y de uma

entidade Room definem sua posição num sistema de coordenadas XY. No

menu de movimento são mostradas somente as salas próximas a sala

acessada, ou seja, somente as salas com coordenada de x+1, x-1, y+1 ou y-

Page 44: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 44

1. O link para movimento com o nome da sala é mostrado ao lado da sua

respectiva direção de movimento: East, West, North ou South.

Figura 14. Visualização da página Room.

Na página Room são utilizadas quatro funções Javascript aplicando a

técnica AJAX. Uma função, também presente nas outras páginas, é a ping()

que, a cada meio segundo, envia para o servidor as informações do usuário,

o que o mantém com status online. Já as outras funções fazem requisições a

cada dois segundos: uma verifica se há mensagens novas no chat, outra

verifica os usuários presentes na sala e a última verifica se existem novas

propostas de troca de item para o usuário ativo. Este conjunto de requisições

assíncronas (não sincronizadas com as ações do cliente) mantém a interface

atualizada, mas ainda com um pequeno atraso.

Page 45: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 4 - Resultados 45

4.5 Testes

Pelo falo do sistema desenvolvido ser um protótipo, foram realizados

somente testes em pequena escala.

O teste realizado se constituiu no acesso simultâneo ao sistema por

cinco usuários. Sem instruções iniciais, todos foram capazes de realizar as

ações que desejavam com sucesso, experimentando o ambiente e

interagindo entre si de forma natural.

O sistema mostrou-se compatível com três dos navegadores web

mais populares: Internet Explorer 7 (MICROSOFT, 2008), Mozilla Firefox 2

(MOZILLA, 2008) e Opera 9 (OPERA SOFTWARE, 2008). Todos os

recursos funcionaram corretamente, salvo alguns pequenos detalhes de

renderização dos documentos XHTML, que não podem ser considerados

erros, mas sim peculiaridades de cada navegador.

Page 46: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 5 - Discussão 46

5. DISCUSSÃO

As características do novo sistema garantem que este seja

considerado um mundo virtual. Todos os requisitos foram implementados

permitindo que o mundo virtual seja acessado por uma interface web

compatível com os padrões e recomendações da W3C.

A comunicação em tempo real não é uma propriedade comum em

sistemas web, sendo o maior fator complicador na geração de uma

simulação. Ainda, por ser um protótipo, não há uma simulação específica

almejada, tendo destaque apenas para a simulação de localização espacial,

proporcionada pelo mapeamento lógico das salas do ambiente no sistema

de coordenadas XY.

A identidade do usuário é formada por seu apelido, pelos itens que

carrega e por suas atitudes nas conversas com outros usuários, mas devido

à falta de objetividade na simulação, esta também se tornou uma

característica genérica.

Os recursos de interface permitem utilização de imagens além do que

foi utilizado do protótipo. Tais recursos influenciam de maneira positiva na

imersão proporcionada pelo sistema.

5.1 Comparação Entre os Sistemas

A Tabela 1 mostra a comparação entre as propriedades dos sistemas

analisados e do novo sistema desenvolvido.

Page 47: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 5 - Discussão 47

Tabela 1. Comparação entre sistemas.

Achaea Second Life Mundo Virtual Web

Interface Interface simples e facilmente acessível. Por ser em modo texto, a interação é menos intuitiva. Exige utilização de aplicativo não comum a usuários leigos em informática.

Interface 3D complexa e de difícil acesso. Exige hardware de custo caro e o aplicativo cliente é limitado aos três sistemas operacionais mais conhecidos (Windows, Mac OS X e Linux). Permite interação dinâmica e intuitiva.

Interface de complexidade baixa e alta acessibilidade. É em grande parte composta por modo texto, mas através dos estilos de formatação e da estrutura HTML, se torna mais intuitiva. Permite a utilização de imagens estáticas e até pequenas animações e efeitos visuais através de Javascript.

Comunicação A comunicação ocorre em tempo real.

A comunicação ocorre em tempo real e, devido ao Voice Chat, faz parte da simulação do ambiente 3D.

A comunicação ocorre em tempo real.

Simulação Simula um ambiente de fantasia medieval com uma topologia consistente.

Simula um ambiente genérico em 3D, sem topologia na interligação dos ambientes e com consistência fragmentada.

Simula um ambiente genérico com topologia consistente.

Identidade Permite a criação de identidade detalhada desde que associada à simulação.

Permite a criação de identidade detalhada visualmente e sem restrições quanto a uma simulação específica, ou seja, cada usuário pode criar uma identidade diferente para cada evento dentro do ambiente.

Permite a criação de uma identidade simples.

Imersão Associa os fatores imersivos dos mundos virtuais à Imersão Perceptiva.

Associa os fatores imersivos dos mundos virtuais à Imersão Perceptiva e a muitos elementos da Imersão Receptiva.

Associa os fatores imersivos dos mundos virtuais à Imersão Perceptiva e a alguns elementos da Imersão Receptiva.

Comparando o Mundo Virtual Web com Achaea, pode-se perceber

que a reprodução de todas as características de um mundo virtual em modo

texto é viável em uma interface web. Já a análise do Second Life demonstra

que recursos de interface sacrificam a acessibilidade e nem sempre tornam

Page 48: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 5 - Discussão 48

o ambiente mais imersivo, o que confirma a vantagem do sistema

desenvolvido ter acesso por navegadores web.

Page 49: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 6 - Conclusões 49

6. CONCLUSÕES

A realização do projeto mostra que as tecnologias de

desenvolvimento de sistemas web podem ser utilizadas para o

desenvolvimento de mundos virtuais. Os recursos disponíveis em uma

interface web podem contribuir para a imersão virtual, tornando possível

acrescentar imagens e até mesmo pequenas animações à estrutura de um

mundo virtual em modo texto.

O Mundo Virtual Web é mais acessível que um mundo virtual de

interface 3D e mais interativo que os sistemas em modo texto. Com ele é

possível proporcionar alto grau de imersão aliado a um maior nível de

acessibilidade.

6.1 Contribuições

Este trabalho contribui para a ampliação do uso das tecnologias de

sistemas web, mostrando que tais recursos podem ser empregados de

maneira inédita. O trabalho ainda contribui para uma nova visão no

desenvolvimento de mundos virtuais, mostrando que é possível proporcionar

alto grau de imersão desde que os conceitos de composição dos mundos

virtuais, mostrados neste trabalho, sejam aplicados.

6.2 Trabalhos Futuros

Para a continuação das pesquisas e contribuições presentes neste

trabalho, é recomendado recorrer aos seguintes temas:

• Aplicação das recomendações da W3C e suas relações com a

acessibilidade através da web;

• Desenvolvimento de Sistemas Distribuídos, com foco no

desempenho da persistência e concorrência de dados em

sistemas web;

• Semiótica, na contribuição para os estudos de interface e

usabilidade em conjunto com os conceitos de imersão e

interatividade.

Page 50: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Capítulo 6 - Conclusões 50

6.2.1 Implementações Futuras

Como o sistema desenvolvido é um protótipo, todas as áreas de

implementação podem ser aprimoradas. Abaixo seguem as principais

sugestões para:

• Persistência de dados: Utilização de APIs de persistência como

o Hibernate, aumentando a maleabilidade, independência e

agilidade no desenvolvimento de entidades;

• Interface: Utilização de bibliotecas Javascript como a Prototype

(PROTOTYPE, 2008) para facilitar o gerenciamento e criação de

requisições AJAX e manipulação de dados no lado do cliente;

• Simulação: Aplicação de um tema/objetivo para a simulação, a

fim de verificar, ou até mesmo ampliar, os limites de

escalabilidade, concorrência e centralização que este tipo de

sistema possui. É possível tirar vantagem do ambiente de

desenvolvimento Java EE implementando suas outras APIs, como

a de gerenciamento de entidades EJB (Enterprise JavaBeans).

Page 51: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

7. REFERÊNCIAS

ACHAEA. Disponível em: <http://www.achaea.com/>. Acessado em 2 de abril de 2008. BARTLE, Richard A. Designing Virtual Worlds . Indianapolis: New Riders Publishing, 2003. 768 p. HIBERNATE. Disponível em: <http://www.hibernate.org/>. Acessado em 2 de abril de 2008. IROM REALMS ENTERTAINMENT. Disponível em: <http://www.ironrealms.com/>. Acessado em 2 de abril de 2008. KOSTER, Raph. Online World Timeline . Disponível em: <http://www.raphkoster.com/gaming/mudtimeline.shtml>. Acessado em 2 de abril de 2008. MCCLOUD, Scott. Understanding Comics . Estados Unidos da América: Harper Paperbacks, 1994. 224p. MICROSOFT. Internet Explorer: Home Page . Disponível em: <http://www.microsoft.com/brasil/windows/products/winfamily/ie/default.mspx>. Acessado em 2 de abril de 2008. MOZILLA. Firefox . Disponível em: <http://www.mozilla.com/>. Acessado em 2 de abril de 2008. NETBEANS. Disponível em: <http://www.netbeans.org/>. Acessado em 2 de abril de 2008. OEIRAS, Janne Yukiko Y.; ROCHA, Heloísa Vieira. Uma modalidade de comunicação mediada por computador e suas várias in terfaces . Campinas, SP: UNICAMP, 2000. OLSON, Steven Douglas. AJAX on Java . Estados Unidos da América: O’Reilly, 2007. 228p. OPERA SOFTWARE. Opera Browser: Home Page . Disponível em <http://www.opera.com/>. Acessado em 2 de abril de 2008. ORACLE. TopLink . Disponível em: <http://www.oracle.com/technology/products/ias/toplink/index.html>. Acessado em 2 de abril de 2008. POSTGRESQL. Disponível em: <http://www.postgresql.org/>. Acessado em 2 de abril de 2008.

Page 52: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

PROTOTYPE. Disponível em: <http://www.prototypejs.org/>. Acessado em 2 de abril de 2008. SECOND LIFE. Disponível em: <http://secondlife.com/>. Acessado em 2 de abril de 2008. SULER, John. The Psychology of Cyberspace . Disponível em: <http://www.rider.edu/~suler/psycyber/psycyber.html>. Acessado em 2 de abril de 2008. SUN. Java Technology . Disponível em: <http://www.sun.com/java/>. Acessado em 2 de abril de 2008. WIKIPEDIA. Persona . Disponível em: <http://en.wikipedia.org/wiki/Persona>. Acessado em 2 de abril de 2008. W3C. World Wide Web Consortium . Disponível em: <http://www.w3c.org>. Acessado em 2 de abril de 2008. VILHJÁLMSSON, Hannes Högni. Final Project - Avatar Interaction , 1996. Disponível em: <http://alumni.media.mit.edu/~hannes/project/>. Acessado em 2 de abril de 2008. VILHJÁLMSSON, Hannes Högni. Avatar Augmented Online Conversation . Estados Unidos da América: MIT, 2003.

Page 53: Mundos Virtuais e Interatividade Através da Webcristina/MundosVirtuais.pdf · nas diversas mídias e ao mesmo tempo atrativo fundamental em ambientes virtuais. Com os conceitos levantados

Autorização

Autorizo a reprodução e/ou divulgação total ou parcial da presente

obra, por qualquer meio convencional ou eletrônico, desde que citada a

fonte.

Nome do autor: Márcio Dalle Lucca Freire de Carvalho

Assinatura do autor: ____________________________

Instituição: Universidade Tecnológica Federal do Paraná

Local: Curitiba, Paraná.

Endereço: Avenida Sete de Setembro, 3165. Rebouças.

E-mail: [email protected]