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.