Página Inicial > curiosidades > Camera Kombat: você dentro de Mortal Kombat

Camera Kombat: você dentro de Mortal Kombat

Já imaginou jogar um game de luta, no estilo Mortal Kombat, que ao invés de controlar um personagem, você mesmo “entra” no game? E sem usar espécie alguma de dispositivo como Joystick, teclado, mouse e semelhantes? Não, não estou falando do Kinect, me refiro ao Camera Kombat, um projeto criado por dois estudantes brasileiros em 2006, mesmo ano de lançamento do Nintendo Wii e muito antes de se falar em Projeto Natal (atual Kinect).

Camera Combat - Passagem Secreta

Camera Kombat é um projeto desenvolvido pelos estudantes de Ciência da Computação Luis R. Pereira de Paula e Renato Bonini Neto, orientados por Fábio R. de Miranda, como trabalho de conclusão de curso pelo Centro Universitário Senac. Ele baseia-se na criação de um game de luta em que uma câmera é utilizada para capturar a imagem dos jogadores, seus movimentos são então interpretados e convertidos em elementos de jogo. O projeto, que é open source, foi desenvolvido na plataforma Linux, em linguagem C, e utilizou a biblioteca OpenCV (Open Source Computer Vision) – que abrange uma série de algoritmos de visão computacional.

.

Funcionamento

O Camera Kombat, basicamente, funciona da seguinte maneira (imagem abaixo): uma webcam (A) captura a imagem dos jogadores em movimento (D), a qual é interpretada pela CPU (B) e projetada (C) já com os elementos do jogo (E), como magia e barra de energia.

.

O sistema reconhece os jogadores e, quando percebe que um deles estica o braço, um projétil (magia) é lançado de sua mão. O choque da mesma com o oponente acarreta em diminuição da barra de energia no alto da tela, como em qualquer game do gênero luta.

.

Subtração de Fundo

É um processo, realizado ao inicializar o sistema, no qual separa-se a imagem dos jogadores do fundo (cenário) . Nele, os pixels dos jogadores são convertidos para a cor branca e o cenário de fundo para a cor preta. Assim, qualquer outro fundo pode ser inserido artificialmente atrás dos jogadores/personagens – inclusive cenários da série Mortal Kombat.  =]

.

Detecção de Gestos

Logo em seguida a silhueta do jogador é reconhecida pelo sistema, mais especificamente as regiões: cabeça, mãos, pés e centro do corpo.

.

Reconhecidos os pontos, já é possível detectar movimentos, como por exemplo um golpe. Para detectar um soco, o sistema compara a distância da mão em relação à cabeça e o ângulo do braço em relação ao corpo. Nas imagem abaixo, apenas a inferior é interpretada como um soco.

.

Resultado

O resultado final do Camera Kombat é um game de luta com suas estruturas básicas, usando a imagem digitalizada dos jogadores em tempo real e cenários de fundo da série Mortal Kombat. Veja nas imagens:

.

Veja este vídeo demonstrativo do Camera Kombat em funcionamento:

.

0:01 – 0:41 – Teste de detecção de colisão.

0:42 – 1:43 – Demonstração, em modo Debug, de como o sistema reconhece os jogadores.

1:44 – 2:12 – A melhor parte:  jogando nos cenários de Mortal Kombat.

.

Conclusão

Camera Kombat é um projeto muito interessante e promissor tanto para gamers em geral (em especial, fãs de games de luta), como para quem tem interesse em game dev (desenvolvimento de games) ou ainda Cientistas da Computação com interesse em visão computacional. Uma ótima dica para estudantes da área que tenham interesse em prosseguir com o projeto.

Como vimos, já existe uma base implementada, faltando apenas fazer ajustes como tornar o jogo mais fluente, acrescentar aspectos de jogo (como rounds), melhorar a interface, acrescentar outros tipos de golpes (chute, por exemplo) e projéteis, deixar o cenário interativo (rolagem de tela, elementos mutáveis), etc., além de aspectos técnicos de programação.

Isso mostra que se houvesse maior incentivo, interesse e apoio no desenvolvimento de games no país, poderíamos estar próximos ou no mesmo patamar de países onde videogame é tratado com mais seriedade.

.

Links:

Site do Camera Kombat

Detalhes do projeto Camera Kombat (PDF)

Download e instalação da biblioteca OpenCV

Download e compilação do Camera Kombat

.

Referências:

Viva o Linux

Idealizador e criador do Passagem Secreta, vencedor do prêmio Top Blog, cientista da computação, pós-graduado em Educação, professor e, nas horas vagas, gamer.

Facebook Twitter Google+ YouTube Skype 

Related Posts Plugin for WordPress, Blogger...
Gostou do post? Então compartilhe!
Categories: curiosidades
  1. 00Agent
    10, setembro, 2010 em 07:34 | #1

    Esse projeto realmente é mais avançado do que parece… Porque não apenas recria os movimentos na tela, mas te coloca dentro do jogo. Lembro que algo assim foi feito com o acessório EyeToy, do PS2… Mas não para um jogo de luta e dessa forma!

  2. 10, setembro, 2010 em 10:12 | #2

    O Eye Toy inclusive é citado na documentação do projeto (link p/ o PDF no final da matéria).

    Tive a oportunidade, ano passado e este ano, de participar de algumas palestras na minha cidade em relação a jogos do tipo, com uso de webcam e sem controle, e a grande maioria são do tipo: estourar bolhas, rebater a bola, coisas do tipo.

    Se alguém desse continuidade a este projeto, ele poderia tranquilamente evoluir a ponto de, por exemplo, dar vários tipos de golpes e numa evolução muito avançada, controlar um personagem pré-criado com seus movimentos do corpo (como o Kinect). Daria pra vc controlar um Sub-Zero e soltar magias com movimentos específicos (ou usar sua imagem, mas soltar magias do jogo).

    Este projeto é apenas um TCC de Graduação. Já pensou se alguém tivesse patrocinado o desenvolvimento disso desde 2006 até hoje?

    • 00Agent
      10, setembro, 2010 em 10:58 | #3

      Um amigo meu, que viu a matéria, acabou me mandando isso. Parece que algo semelhante vai rolar para o PS3 em breve:

      Pessoalmente, queria ver muito alguma empresa nacional incentivando isso para algum propósito. Tipo, num remake daquele programa do Gugu, o PlayGame, rsrsrs

    • 10, setembro, 2010 em 11:32 | #4

      Sabe que eu tava pensando no Play Game mesmo. No programa, não sei se usavam algum tipo de truque televisivo ou software, como aqui.

      Tá vendo, é o mesmo princípio do CK (visão computacional, detecção de corpo e movimento) mas muito mais evoluído.

  3. CarbonCrashII
    6, dezembro, 2010 em 15:26 | #5

    Ficou meio ruim esse Camera Kombat >.<
    Mas com o passar do tempo melhora…

    • 6, dezembro, 2010 em 17:39 | #6

      Se olhar como produto comercial sim, é ruim. Mas não é um produto comercial, é uma pesquisa universitária! Ótima dica para estudantes que gostam muito de programação e querem desenvolver algo na área de games.

      Eu mesmo penso, ano que vem, usar este projeto numa escola. Não seria a primeira vez que trabalho com algo do gênero na área de games, mas isso é um assunto para um outro post. 😛

  1. Nenhum trackback ainda.

%d blogueiros gostam disto: