Hoje fiz um primeiro teste de movimentação com física e colisão para o meu mais novo projeto de jogo (logo mais passo detalhes sobre ele). Testei entre vários os tipos, aquele que a câmera segue de trás (Resident Evil 4 e 5, Uncharted, Tomb Raider…), com mouse para atacar e o teclado para andar (DeadNation, Alien Breed…), com o mouse para andar e atacar (Diablo, World of Warcraft…) e por fim teclado para andar e atacar (Resident Evil 1, 2 e 3).

A que eu mais me identifiquei foi a última, a qual você usa duas teclas para rotacionar o personagem e outras duas para andar para frente e para trás, assim como no clássico Resident Evil.


Após fazer alguns testes, segue o script da movimentação em LUA para Shiva 3D:

if ( nMX ~= 0 or nMY ~= 0 )
then       
   object.rotate ( hModelObj, 0, nMX, 0, object.kGlobalSpace )

   local dX, dY, dZ = object.getDirection ( hModelObj, object.kGlobalSpace )
   dynamics.addForce ( hDynObj, nMY * 300 * dX, 0, nMY * 300 * dZ, object.kGlobalSpace )

   dynamics.setLinearDamping ( hDynObj, 5 )
end
object.matchTranslation ( hModelObj, hDynObj, object.kGlobalSpace )

Observações:
– nMX e nMX variam entre -1, 0 e 1 conforme as teclas WASD estão apertadas;
– hModelObj é o modelo do personagem e kDynObj é o objeto de colisão.

Confesso que tenho uma inclinação a escolher a movimentação dos jogos que eu mais gostei, porém sei que não são as melhores e por isso quero a opinião de vocês.

Logo após a Microsoft lançar o SDK oficial para utilizar o Kinect no PC eu já comprei um. É muito interessante a ideia de desenvolver para um dispositivo que captura movimentos por tão pouco custo. Imagine as possibilidades? não só no desenvolvimento de jogos que usem o Kinect mas também como ferramenta para desenvolver outros jogos. Sim, pensei que ele pode ser usado como motion capture para animações de modelos 3D, mesmo que o Kinect não seja usado no próprio jogo. As possibilidades são muitas.

E para testar a SDK, que pode ser encontrada aqui: http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/ utilizei o Shiva 3D (engine a qual já tenho algum conhecimento). Tive que programar um plugin em C++, mas nada tão completo, a SDK é bem explicadinha e intuitiva.

Vejam uma demo:

Ainda estou finalizando algumas coisas no plugin, e gostaria de saber se vocês ficaram interessados nisso, se sim, posso abrir o fonte assim que terminar.

Fonte: https://github.com/luizpestana/shivakinect

Até logo!

Olá amigos desenvolvedores e curiosos, estou aqui escrevendo mais um tutorial para facilitar as vossas vidas e também aprender. Dessa vez estarei escrevendo sobre o Shiva 3D, uma engine de jogos que descobri na Campus Party e me interessou devido a sua portabilidade e facilidade de desenvolvimento.

Seria um produto similar ao Unity 3D e Unreal Engine, os quais eu já tinha um pouco de experiência, porém mais acessível, pois além de existir uma versão não comercial gratuita, sua licença custa desde R$400 em sua versão básica, até R$4000 com recursos mais avançados.

Se te interessou, leia o tutorial por completo na comunidade GameDev-BR clicando aqui.

E não esqueça de comentar. =)