sábado, 12 de julho de 2008

TankCoders 2, focando em agentes...

Olá pessoas,

Como já apresentado em tópicos anteriores, o meu projeto de TCC foi desenvolver um simulador de batalhas de tanques de guerra em 3D onde pudessem ser desenvolvidos e testados agentes AgentSpeak(L) do interpretador Jason. Porém, além de prover um ambiente onde os agentes pudessem atuar, propus também que o simulador pudesse ser usado por usuários remotos. Essa feature, por mais interessante que possa ser, nada tem a contribuir para o estudo de Programação Orientada a Agentes (POA). Sendo assim, essa feature será retirada do projeto TankCoders 2.

TankCoders 2
A primeira questão a ser tratada nesse novo projeto é o paradigma de programação a ser usado. Exceço de orientação a objetos em aplicações gráficas de tempo-real já pude perceber que não é o melhor caminho. Sendo assim, de início estarei fazendo uma pesquisa de como desenvolver aplicações "orientadas a performance", focando em uma elevada taxa de FPS.

Para essa segunda versão do TankCoders, outra mudança é em relação à versão da engine JME que estarei utilizando. Será usada a versão 1.0 juntamente com a versão 2.1 da JME Physics, que segundo os respectivos release-notes, muitas melhorias foram proporcionadas.

Nesse versão também serão trocados os modelos de tanques utilizados. Pretendo tentar entrar em contato com pessoas especializadas em ferramentas de modelagens 3D, vendo a possibilidade de estar criando dois modelos com uma quantidade mínima de faces. Essa questão também irá melhorar a performance do cenário pelo menos 60% em relação a versão atual.

Para um melhor aproveitamento dos estudantes de POA, nessa nova versão estarei provendo um cenário um pouco mais controlado, ou seja, sem tantas "realidades do mundo real". Na atual versão tudo é controlado pela física e percebi que se torna extremamente complexo para uma pessoa estar desenvolvendo agentes AgentSpeak(L) realmente eficientes. O simples fato de fazer o tanque virar 90º para a direita, por exemplo, já se torna complexo, pois pode que o tanque esteja subindo uma montanha e atrapalhe a realização da ação. Tudo isso ainda precisa ser especificado de forma mais detalhada.

Conforme vou tendo mais novidades em relação ao desenvolvimento da versão 2 estarei publicando neste espaço.

Obrigado pela atenção.

Um comentário:

Israel disse...

Realmente padrões de projetos de engenharia de software convencional não se aplicam ao desenvolvimento de jogos que requer muita memória e processamento. Mas se for pra fazer uma coisa "expansível" para outros programadores é claro que se seguir um padrão de senvolvimento é muito vantajoso... mas gostei bastante das tuas idéias, realmente vai melhorar muito o projeto. Taca-lhe o pau hehehe. Tenho que ainda fazer uma publicação no meu blog sobre o meu tcc tbm! :D
abraços brother