desenvolvimento de um jogo interativo utilizando webcam · pdf fileexemplificando a...

12
Desenvolvimento de um Jogo Interativo Utilizando WebCam Rodrigo Lyra, Gabriel Armando Delgado, Rudimar Luís Scaranto Dazzi Grupo de Inteligência Aplicada Centro de Ciências Tecnológicas da Terra e do Mar Universidade do Vale do Itajaí (UNIVALI) Rua Uruguai, 458 - 88302-202 ItajaíSC Brasil [email protected], [email protected], [email protected] Abstract. A category that is currently being explored is known as webcam games, which as the name suggests the means of interaction with the game it's only a webcam that captures the movements of the body and converts into commands. This project aimed to research the technology for detection of movements used in webcam games and create a game to show its operation. The motivation for this project was the possibility of using this resource to develop educational games and also games dedicated to physical rehabilitation of patients in a dynamic form. Thus it was necessary to develop research on existing technologies for detection of movements used in current games. The development platform chosen was "Flash" using AS3 (Action Script 3). As a result of the project, the game Coleta Seletiva (Selective Collection) was created, to identify clearly, its features and future applications of this technology. Resumo. Uma categoria de jogos que está sendo explorada atualmente é conhecida por webcam games, que como o próprio nome sugere utiliza como meio de interação com o jogo somente uma webcam que capta os movimentos do corpo e os transforma em comandos. Este projeto teve como objetivo pesquisar a tecnologia de detecção de movimentos utilizada nos webcam games e criar um jogo exemplificando o seu funcionamento. A motivação para este projeto foi a possibilidade de utilizar esse recurso para desenvolver jogos educativos e também jogos voltados a reabilitação física de pacientes de forma dinâmica e divertida. Desta forma foi necessário desenvolver pesquisas sobre as tecnologias existentes para detecção de movimentos utilizada nos jogos atuais. Escolheu-se a plataforma de desenvolvimento “Flash” utilizando AS3(Action Script 3). Como resultado do projeto, foi criado o jogo Coleta Seletiva que permite identificar de forma clara, o seu funcionamento e futuras aplicações desta tecnologia.

Upload: duongkhanh

Post on 07-Feb-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Desenvolvimento de um Jogo Interativo Utilizando

WebCam

Rodrigo Lyra, Gabriel Armando Delgado, Rudimar Luís Scaranto Dazzi

Grupo de Inteligência Aplicada – Centro de Ciências Tecnológicas da Terra e do Mar –

Universidade do Vale do Itajaí (UNIVALI)

Rua Uruguai, 458 - 88302-202 – Itajaí– SC – Brasil

[email protected], [email protected], [email protected]

Abstract. A category that is currently being explored is known as webcam

games, which as the name suggests the means of interaction with the game it's

only a webcam that captures the movements of the body and converts into

commands. This project aimed to research the technology for detection of

movements used in webcam games and create a game to show its operation.

The motivation for this project was the possibility of using this resource to

develop educational games and also games dedicated to physical

rehabilitation of patients in a dynamic form. Thus it was necessary to develop

research on existing technologies for detection of movements used in current

games. The development platform chosen was "Flash" using AS3 (Action

Script 3). As a result of the project, the game Coleta Seletiva (Selective

Collection) was created, to identify clearly, its features and future

applications of this technology.

Resumo. Uma categoria de jogos que está sendo explorada atualmente é

conhecida por webcam games, que como o próprio nome sugere utiliza como

meio de interação com o jogo somente uma webcam que capta os movimentos

do corpo e os transforma em comandos. Este projeto teve como objetivo

pesquisar a tecnologia de detecção de movimentos utilizada nos webcam

games e criar um jogo exemplificando o seu funcionamento. A motivação para

este projeto foi a possibilidade de utilizar esse recurso para desenvolver jogos

educativos e também jogos voltados a reabilitação física de pacientes de

forma dinâmica e divertida. Desta forma foi necessário desenvolver pesquisas

sobre as tecnologias existentes para detecção de movimentos utilizada nos

jogos atuais. Escolheu-se a plataforma de desenvolvimento “Flash” utilizando

AS3(Action Script 3). Como resultado do projeto, foi criado o jogo Coleta

Seletiva que permite identificar de forma clara, o seu funcionamento e futuras

aplicações desta tecnologia.

1. Introdução

O mundo dos jogos eletrônicos evolui continuamente, e as alternativas e o

realismo dos jogos impressionam até os mais incautos. A muito pouco tempo o único

dispositivo utilizado para os jogos eletrônicos era o velho companheiro dos jogadores, o

joystick, que permitia todo o controle do jogo. Em seguida com a popularização dos

computadores pessoais, vieram os jogos que utilizavam além do joystick, teclado e

mouse, que permitiam aos jogadores controlarem seus jogos com os recursos básicos de

um computador pessoal.

Porém estes recursos além de serem pouco ergonômicos, e por conseqüência

desconfortáveis, podem causar lesões por esforço repetitivo.

Atualmente encontra-se consoles com tecnologia como o Wii da NINTENDO

que é composto de um console e de um joystick chamado de Wii remote, ele é capta os

movimentos que o jogador faz ao movê-lo, funcionando como uma espécie de "mouse

aéreo". (WIKIPÉDIA, 2008).

Seguindo essa tendência evolutiva, uma das alternativas encontradas pelos

desenvolvedores de jogos para torná-los mais interativos, mesmo com poucos

periféricos especializados, é a detecção de movimentos por meio de uma webcam.

Os jogos que utilizam essa tecnologia estão surgindo atualmente no mercado e

permitem que o jogador controle o jogo se movimentando fisicamente de acordo com as

necessidades do jogo. Dois exemplos que facilitam o entendimento desse processo são

os jogos arkanoid (POINT DO GAME, 2008) e basquete (PORTALCAB.COM, 2008).

No primeiro o jogador controla a barra para rebater a bola com movimentos da mão, e a

barra segue o movimento feito pelo jogador. No segundo a imagem do jogador é

apresentada no centro da tela, imersa no jogo, e o jogador efetivamente faz parte do

jogo, rebatendo ou arremessando a bola em direção a cesta de basquete

Pesquisou-se sobre essa tecnologia de detecção de movimentos utilizando

webcam, tecnologia que ainda não havia sido pesquisada nos cursos de computação da

UNIVALI. O objetivo foi desenvolver a plataforma, gerando como exemplos, jogos

utilizando esse recurso. Inicialmente o foco principal era o domínio dessa técnica e a

disponibilização de material para futuros projetos. Para tal, foi desenvolvida uma

plataforma denominada Barbara para tratamento de movimento a partir de uma imagem

gerada por uma webcam.

Exemplificando a eficácia da mesma, desenvolveu-se o jogo Coleta Seletiva,

com caráter educativo voltado a crianças na faixa etária de 4 a 6 anos.

2. Trabalhos relacionados

Um trabalho pioneiro sobre interação em tempo real com imagens de câmeras é

o Artificial Reality de Myron W. Krueger, de 1969. Neste trabalho (KRUEGER, 1991)

são descritos e apresentados estudos e desenvolvimentos sobre meios inovadores para

interação com computadores através do uso dos próprios movimentos humanos, sem a

necessidade de qualquer hardware acoplado à pessoa. Tais movimentos eram capturados

por uma câmera de vídeo e utilizados como entrada para o sistema.

Em Videoplace (KRUEGER, 2006), Krueger demonstrou um sistema para

permitir que uma pessoa interagisse com objetos virtuais apresentados através de

gráficos gerados por um computador.

Krueger conseguiu demonstrar o potencial de mais de 50 modos diferentes de

interação através de seus testes, por meio da construção de protótipos em que a pessoa

interagia com objetos virtuais de alguma forma, como por exemplo, desenhar imagens

com a ponta dos dedos, brincar em um ambiente virtual com uma bolha, tentar dançar

seguindo movimentos mostrados em um monitor ou interagir com balões virtuais que

flutuam livremente.

No célebre Kids Room (BOBICK, 2000), realizado no MIT, foi desenvolvida

uma sala com o intuito de atrair a atenção de crianças e fazê-las interagir em um

ambiente fechado. Trata-se de um quarto que conta histórias infantis por meio de

imagens projetadas nas paredes, sons e luzes ambientes para aumentar a imersão das

crianças na história. Neste trabalho se utilizava visão computacional para promover a

interação com objetos virtuais e para controlar a intensidade necessária de esforço físico

exercido pelas crianças que estão no quarto, dependendo de quão ativas elas estejam.

Essa nova forma de interação possibilitou o desenvolvimento de uma nova

categoria de jogos para computadores intitulada webcam games (ou jogos de webcam)

em adição ao modelo convencional de interação formado por joystick, teclado e mouse.

Segundo Paula, Bonini Neto e Miranda (2008), essa modalidade convencional de

interação favorece má postura sedentária, em que pouca atividade física é realizada

durante o jogo além de poderem provocar lesões por esforços repetitivos, ou

simplesmente, como citado por (Abraham e Nath, 2004), tornar desconfortável o uso

por um período de tempo extenso. Sendo assim, o uso natural de movimentos da mão ou

corpo para controlar as ações em um jogo provoca uma maneira mais confortável e fácil

de jogar (Abraham e Nath, 2004).

Essas e outras evoluções tecnológicas e científicas viabilizaram o conceito de

Realidade Aumentada (RA) que trazem os jogos virtuais do computador para o espaço

do jogador.

RA é a sobreposição de objetos virtuais gerados por computador em um

ambiente real, utilizando para isso algum dispositivo tecnológico (Kirner e Tori 2004

apud Zorzal ET al). Essa definição de RA faz parte de um contexto mais amplo

denominado Realidade Misturada, ou também chamada Realidade Mista (RM).

O conceito de RM diz respeito à coexistência de elementos reais, pertencentes

ao mundo em que os usuários vivem, e sintéticos, criados por computador, num mesmo

meio. Dependendo da maneira com que tal combinação ocorre, em especial o grau de

realidade e virtualidade presentes, as aplicações são classificadas em diferentes

subáreas, entre elas Realidade Virtual (RV) (também chamada de Virtualidade

Aumentada) e RA. Enquanto que em RV existe uma dominância por objetos virtuais,

onde todo um mundo é modelado em computador, em RA o que se tem é o próprio

mundo real mesclado com alguns artefatos sintéticos, adicionados em tempo real, de

forma que os mesmos pareçam fazer parte do meio ao qual são introduzidos [Milgram e

Kishino, 1994 apud LIMA, 2007].

Em outras palavras, RM é a combinação do ambiente real com o ambiente

virtual gerado por computador, podendo receber duas denominações: Realidade

Aumentada quando o ambiente principal é o real e, Virtualidade Aumentada, onde o

ambiente principal é o ambiente virtual. Sendo assim, a RA é uma particularização da

Realidade Misturada (ZORZAL ET al).

Atualmente, RA é usada em diversos campos de aplicação, tais como

entretenimento, medicina, manutenção e educação (LIMA, 2007). Além de permitir que

objetos virtuais possam ser introduzidos em ambientes reais, a RA também permite que

o usuário interaja com os elementos virtuais utilizando as mãos, eliminando dessa forma

dispositivos tecnológicos complexos e tornando a interação com o ambiente misturado

muito mais agradável, atrativa e motivadora [Santin et. al. 2004 Zorzal ET al].

Diversas linguagens de programação já foram utilizadas para criação de

protótipos com a linguagem Java (Abraham e Nath, 2004) e a linguagem C (Paula,

Bonini Neto e Miranda, 2008) e (Zorzal ET al). Mas em todas as implementações se

mantêm a necessidade de uma webcam para capturar os movimentos do jogador. Estas

imagens são analisadas por um computador, processadas e exibidas em um monitor.

Existe a possibilidade de projetar a imagem gerada em uma parede, facilitando assim

para os jogadores, a visualização dos elementos com os quais pode-se interagir.

Alguns games on-line que podem ser acessados e jogados facilmente são:

Arkanoid, onde o objetivo deste jogo é acabar com todos os ladrilhos,

localizados na parte central da tela, sem deixar a bolinha das extremidades

verticais da tela. O jogador faz uso de seu corpo para controlar duas barras

verticais para rebater a bolinha, como pode ser visto na Figura 2.1;

Playdojam: onde seu objetivo é, como num jogo de basquete, fazer com a bola

entre em uma das cestas, usando o corpo (principalmente as mãos) para fazer

com que a bola quique e seja arremessada. O jogo é ilustrado na Figura 2.2;

Flights Over Sahara: onde seu objetivo é derrubar o oponente com tiro do seu

avião, sendo que o avião do jogador é controlado com o uso de sua mão,

conforme ilustrado na Figura 2.3;

Figura 2.1. Eyekanoid.

Fonte: http://cam.playdo.com/play_eye.htm

Figura 2.2. Playdojam.

Fonte: http://www.playdojam.com/

Figura 2.3. Playdojam.

Fonte: http://www.playdojam.com/

Segundo PERUCIA (2005), para se desenvolver um jogo deve-se criar um bom

projeto, no qual se descreve cada detalhe de como funcionará a jogabilidade.

Na construção de um projeto de jogo têm-se as seguintes etapas:

• Idéia: onde são compostos de brainstorms (tempestade de idéias) dos quais

são apresentados varias idéias;

• Rascunho de jogo: determina na criação de desenhos das telas do jogo;

• Detalhamento do jogo: nesta etapa ocorre o detalhamento do jogo como, por

exemplo, objetivo, inimigos, armas, trilha sonora, etc.

• Game Design Document: é a junção de todas as informações adquiridas nas

etapas anteriores, ainda nesta etapa se tem uma noção de como é o produto

final, bem como o cronograma e a construção do “jogo demo”;

Neste projeto serão abordados os seguintes itens:

• Conceito: nome do jogo, apresentação resumida do jogo, seu público alvo,

estilo do jogo e as principais regras do jogo;

• Especificações técnicas: Hardware, sistema operacional, e requerimento de

software;

• Especificações do jogo: número de fases, níveis de dificuldade, vidas, sistema

de pontuação, opções de configuração, número de jogadores, itens de jogo e

tabela de mensagens;

• Dispositivos de entrada: definição de teclas e botões;

3. Desenvolvimento

No jogo Coleta Seletiva a criança/jogador tem por objetivo não deixar o lixo

cair. O intuito do jogo com a observação das crianças nessa faixa etária, é que ela saiba

interagir com a ferramenta, recolhendo com um lixeiro, de forma coordenada, todos os

objetos que caem.

Este é um jogo lúdico que busca apenas a identificação dos elementos

característicos do lixo. A movimentação necessária é pequena e apenas horizontal, para

facilitar a jogabilidade, uma vez que a faixa etária em questão ainda não possui o

desenvolvimento total da coordenação motora.

O jogo desenvolvido seguiu a idéia dos jogos como basquete ou arkanoid, mas

no “corpo” de um jogo infantil voltado a educação. Sendo assim contextualizado no

processo de coleta de lixo, fazendo com que a criança ao jogar identifique o que é lixo e

o recolha.

A Figura 3.1 apresenta uma tela do jogo, onde pode se observar os elementos caindo e a

lixeira onde eles devem ser recolhidos. A movimentação da lata de lixo é feita pela

movimentação de um objeto (qualquer) amarelo que o jogador segura na mão (ou uma

luva). A lata de lixo irá seguir o objeto amarelo capturado pela webcam, mesmo que

esse objeto seja a camisa do jogador (nesse caso o jogador precisaria se deslocar de um

lado par ao outro para movimentar a lata de lixo).

Figura 3.1: Tela do jogo coleta de lixo.

“O desenvolvimento de um jogo é um processo ricamente multidisciplinar cuja

eficiente construção passa pela compreensão de diversas técnicas e teorias”.

(PERUCIA, 2005, p.50).

Neste contexto, foi desenvolvida uma pesquisa sobre a tecnologia necessária

para desenvolver jogos interativos utilizando webcam e foi exemplificado isso com o

desenvolvimento do jogo Coleta Seletiva que utiliza a captura de movimentos por meio

de uma webcam.

Após pesquisas, a plataforma Bárbara foi escolhida por permitir a detecção de

movimentos e objetos de cor de forma mais simples. Na Figura 3.2 podem ser

observados alguns ensaios feitos para testar a detecção de movimentos por ponto fixo.

Figura 3.2.Detecção de movimentos por ponto fixo

Outra forma de detecção de movimento por cor que funciona da seguinte forma:

• O programa obtém uma imagem atual da webcam.

• É feita uma varredura pela imagem, procurando por pontos que

correspondam a tal cor estabelecida pelo usuário.

• Ao encontrar pontos, forma-se um retângulo a partir das extremidades do

ponto da imagem onde foi encontrada tal cor.

A Figura 3.3 apresenta um exemplo de como se comporta esse tipo de detecção,

nos testes realizados ao longo do projeto.

Figura 3.3.Detecção de objetos por cor.

Foi desenvolvida uma biblioteca que deve ser utilizada com a linguagem de

programação ActionScript 3 e com a ferramenta Flash. Essa biblioteca irá facilitar o

desenvolvimento de novos jogos, pois toda a parte de tratamento de detecção de

imagens foi feita. Uma coleção de rotinas está disponível na biblioteca que já foi

utilizada no desenvolvimento do jogo coleta seletiva.

4. O jogo com a implementação pela plataforma Barbara.

O software do jogo tem como início uma tela com informações sobre o autor,

logotipos da UNIVALI e LIA, laboratório onde este foi desenvolvido. Em segundos,

aparece uma tela para ajustes que solicita ao usuário o posicionamento de um objeto

frente a webcam e através de algoritmos desenvolvidos na biblioteca Barbara, detectará

o objeto que será utilizado para controlar os movimentos.

Salienta-se que para a webcam, objetos em movimento, devido a luz e ambiente,

formam sombras que fazem com que o objeto tenha na mesma cor, vários tons. Para isto

foi preciso um cálculo que mesmo com a variação de tons o botão não se desvirtue do

objeto.

No design do jogo há um menu apresentando as palavras jogar, opções, sair, OK

e uma seta móvel que será controlada através do objeto que foi detectado na tela

anterior. Para iniciar o software, a seta deve ser levada ao “Jogar” e depois ao “OK”,

nestas palavras também foi utiliza a biblioteca com a funcionalidade de reconhecer que

passando o objeto, através da seta sobre a palavra, faz com que abra a tela de interação

com o jogo.

Aparecendo a nova tela, temos a barra de energia e ao fundo a imagem do

jogador que para melhor desempenho deve estar bem posicionado para aparecer o

objeto na câmera e ter escolhido uma cor de objeto que não contenha no ambiente.

Sobre o fundo, os “lixos” passam de forma aleatória, No mesmo instante é possível

movimentar o lixeiro horizontalmente, podendo assim coletar o lixo, é confirmado o

recolhimento do lixo quando os pontos são somados ou é diminuída porcentagem da

barra de energia. Sendo totalmente esvaziada, leva ao fim do jogo, mas que trabalha-se

em adaptar o jogo ao adequar a outra faixa etária, pois as crianças de 4 anos, testando o

jogo, demonstraram maior interesse em interagir com o software do que ganhar

pontuações.

5. Conclusões e Trabalhos Futuros

As crianças com faixa etária entre 4 a 5 anos acabam sendo excluídas de alguns

jogos, por falta de saberem ler, mas principalmente pelas interfaces gráficas utilizadas:

mouse, teclado e joystick. A falta de coordenação motora muitas vezes faz com que a

criança não consiga atingir o objetivo do jogo e em pouco tempo desmotiva-se, fora este

agravante, há sempre a preocupação em cuidar da ferramenta utilizada por ela, para que

não a deixe cair ou arremesse-a ao chão.

A visão computacional pode contribuir para a solução desse problema, fazendo a

inclusão dessas crianças que até a idade tem certas necessidades, especiais tanto no

mundo digital como no acesso a tecnologias de entretenimento eletrônico.

Existem diversas aplicações das interfaces guiadas por sinais visuais para serem

utilizadas em jogos: controle do mouse e reconhecimento de gestos e posturas. As

interfaces com essas características podem ser mais intuitivas que as atuais e ainda

favorecem o acesso a pessoas com necessidades especiais. Para esse fim, a biblioteca de

desenvolvimento apresentada mostrou-se bastante versátil e de fácil utilização para o

desenvolvimento dos aplicativos descritos anteriormente.

Além da biblioteca, o software desenvolvido e já testado pelas crianças do

Grupo Avião do CAU – Colégio de Aplicação UNIVALI, mostrou que poderá ser um

aliado ao desenvolvimento da “Coordenação Motora” das crianças na faixa de idade de

4 anos. A motivação das crianças com o jogo foi um ponto forte nos testes, mas alguns

ajustes na velocidade de movimento e no tamanho e forma dos objetos ainda precisam

ser melhorados para atender a essa faixa etária.

A explicação para isto vem do sentido da frase “coordenação motora geral

específica” que é o tipo de coordenação que permite a criança ou adulta dominar o

corpo no espaço, controlando os movimentos mais rudes. Ex: Andar, Pular, rastejar

(Gallahue; 2004). Está será bem desenvolvida através do jogo Coleta Seletiva, pois com

a distancia que determinamos para que as crianças fiquem bem posicionadas com o

objeto na webcam, faz com que elas precisem dar em média 4 passos laterais para

conseguir ir através da imagem de um lado a outro da tela.

Para trabalhos futuros foi possível filtrar através do teste, que a ferramenta

funciona como o proposto: Ela coleta os lixos, soma pontuação, nivela barra de energia,

o uso de um objeto amarelo na captura de imagem da webcam atingiu o objetivo de

movimentar o lixeiro e os lixos caiam aleatoriamente como planejado.

Para trabalhos futuros foi possível analisar, através do teste executado com as

crianças do CAU, que é preciso de adequações quanto a faixa etária que o jogo deve

atingir, exemplificando: A velocidade que os lixos caem deve ser diminuída, os sons

emitidos devem ser somente positivos e motivadores, a pontuação, pelo fato de não

saberem contar poderia ser visual com imagens ou até com som, as figuras de soma e

subtração que eram para melhorar barra de energia, não trouxeram resposta diferenciada

das demais, mostrando que a criança nessa idade tem pouco necessidade de ganhar, mas

o perder a desmotiva.

6. Referencias Bibliográficas

ABRAHAM, Ajay; NATH, Nitendra. Computer Vision For Computer Games. 2004.

Disponível em:

<http://www.ces.clemson.edu/~stb/ece847/fall2004/projects/proj19.doc>. Acesso

em: 08 mar 2008.

BOBICK, AARON F. INTILLE, STEPHEN S. DAVIS, JAMES W. BAIRD,

FREEDOM.

PINHANEZ, CLAUDIO S. CAMPBELL, LEE W. IVANOV, YURI A. SCHÜTTE,

ARJAN AND

WILSON ANDREW. The Kidsroom. Communications of the ACM. 2000. 43(3), 60-

61.

KRUEGER, MYRON W. Artificial Reality II. Addison-Wesley. 1991.

KRUEGER, MYRON W. Videoplace [online]. Disponível em:

http://www.jtnimoy.net/itp/newmediahistory/vi deoplace/. [acesso em: 10 dez.

2006].

LIMA, João Paulo Silva do Monte. Um framework de Realidade Aumentada Para o

Desenvolvimento de Aplicações Portátesi para Plataforma Pocket PC. Trabalho de

Graduação em Ciência da Computação - UFPE. 2007.

PAULA, Luis Roberto Pereira de; BONINI NETO, Renato; MIRANDA, Fábio R.

de.Câmera

kombat - interação livre para jogos. Disponível em:

<http://cin.ufpe.br/~sbgames/proceedings/files/camera%20kombat.pdf >. Acesso

em: 07 mar. 2008.

PERUCIA, Alexandre Souza et al. Desenvolvimento de jogos eletrônicos: teoria e

prática. São Paulo: Novatec, c2005. POINT DO GAME. Eyekanoid, Disponível

em: <http://pointdogame.blogspot.com/2007/11/web- cam-games-eyekanoid.html

>. Acesso em: 10 mar. 2008.

PORTALCAB.COM. Playdojam, Disponível em:

<http://www.portalcab.com/joguinhos/playdojam.php>. Acesso em: 10 mar. 2008.

UOL. Wii chega à liderança do mercado de videogames. Disponível em:

http://jogos.uol.com.br/wii/ultnot/2007/09/12/ult4097u955. jhtm >. Acesso em: 08

mar. 2008.

WIKIPEDIA. Nintendo Wii, Disponível em: < http://pt.wikipedia.org/wiki/Wii>.

Acesso em: 07 mar. 2008.

ZORZAL, Ezequiel Roberto; CARDOSO, Alexandre; KIRNER, Claudio;

LAMOUNIER JUNIOR,

Edgard. Realidade Aumentada Aplicada em Jogos Educacionais.