Versão 0.1

Esta versão representa a primeira versão do código fonte do projeto, que pode ser baixado desta página. O código atual apresenta uma versã em wireframe do jogo, ainda sem iluminação, que será introduzida na próxima entrega.

Dentre as funcionalidades já implementadas nesta versão, destacam-se a utilização de modelos complexos todos carregados de arquivos no formato VTK (inclusive o terreno), o loader de arquivos VTK calcula as normais segundo o modelo de Gouraud (que será necessário para a próxima versão), engine física funcional e quase completa (falta apenas inserir o cálculo da resistência do ar e melhorar a detecção de colisões), etc.

Por se tratar de uma primeira liberação, muitas coisas ainda não totalmente terminadas ou bem polidas. Mais especificamente, a interação com o usuário ainda é primitiva e todo o feedback do jogo é fornecido por meio do console (um HUD - Heads-Up Display - gráfico ainda será inserido nas próximas versões), e a contagem do placar ainda não está implementada.

Download

Para baixar o código fonte da versão mais recente do projeto, visite a página de downloads utilizando o menu de navegação.

Interação com o usuário

O usuário interage com o sistema por meio do teclado e do mouse. As teclas para movimentação do tanque são as seguintes:

Teclas W e S

Movimentam o tanque para a frente e para trás, respectivamente.

Teclas A e D

Fazem o tanque rotacionar em torno do próprio eixo nos sentidos anti-horário e horário, respectivamente.

Segurar tecla CTRL mais movimento do mouse

Com a tecla CTRL segurada, o mouse passa a controlar o movimento das partes articuladas do tanque. Movimentos laterais do mouse fazem a cabine sobre a base do tanque rotacionar sobre seu eixo, e movimentos verticais do mouse fazem o canhão do tanque ter seu ângulo aumentado ou diminuído.

Tecla F

Ativa/desativa o farol do tanque.

Teclas P e -

Aumenta e diminui a força do disparo, respectivamente.

Teclas 1, 2 e 3

Utilizadas para escolher o tipo de projétil que se deseja lançar.

Clique do botão esquerdo do mouse

Dispara o projétil com os parâmetros selecionados.

Problemas conhecidos desta versão

Esta versão do projeto apresenta ainda algums bugs que não puderam ser solucionados a tempo da liberação, dentre os quais destacam-se:

  • Em algumas situações o projétil lançado sofre algumas rotações inesperadas, fazendo com que não se movimentem de uma forma natural;
  • Em algumas situações o projétil é lançado de uma posição abaixo do canhão;
  • Os modelos dos alvos ainda são provisórios e serão trocados por modelos no formato Wavefront/OBJ nas próximas verões;
  • Ainda não é tratada a situação em que o tanque sai dos limites do terreno;
  • O tanque ainda não acompanha corretamente as ondulações do terreno.

Screenshots desta versão

Seguem mais algumas imagens capturadas do projeto em execução em seu estado atual:

Modelo de tanque a ser utilizado

Exemplo de modelo de projetil a ser utilizado

Na página de screenshots podem ser encontradas várias outras imagens desta fase do desenvolvimento do projeto.

Diagramas UML

São apresentados a seguir alguns diagramas UML de como os componentes do projeto foram desenvolvidos e como se inter-relacionam:

Diagrama de classe do pacote core

Diagrama de sequencia do pacote factory

Diagrama de classe do pacote engine

Diagrama de classe do componente loader

Diagrama de sequencia do componente render