Objetivo
Criar um agente que controle o WorldServer 3D utilizando o framework LIDA. Este agente deve capturar as joias contidas em seu leaflet.
Relatório
Para utilizar o framework Lida foi preciso seguir alguns passos:
1) Implementar a classe Environment para representar o ambiente. Esta classe possui 3 metodos principais:
init: Onde será feita a conexão com o WorldServer e inicialização do mundo.
getState: Onde se obtém os objetos e os sensores da criatura.
processAction: Onde se processa os comandos a serem enviados para a criatura.
2) Implementar a classe SensoryMemory para representar a memória sensorial.
Criar os codelets de atenção para detectar comida, joia e objetos proximos:
FoodDetector: Detecta a comida mais proxima
JewelDetector: Detecta qualquer joia mais proxima
LeafletJewelDetector: Detecta a joia que exista no leaflet
NearObjectDetector: Detecta qualquer objeto que esteja proximo e possa ser capturado
3) Criar os nós: food,nearObject,leafletJewel,jewel
4) Toda a configuração dos módulos deve ser feita no arquivo Agent.xml
Funcionamento
Os objetos capturados pelo sensor da criatura são enviados para o LIDA, que os transforma em codelets de atenção.
Estes codelets são enviados ao workspace global e através de regras criadas na memoria procedural, o agente decidirá qual ação tomar dependendo do codelet de ateção que estiver ativo.
Como o número de joias capturadas ainda não está sendo computado, a simulação nunca irá finalizar e o agente irá capturar as joias das cores que estão em seu leaflet, independente de quantas sejam.
Programa
Devido à necessidade de carregar arquivos properties do sistema de arquivos, nao foi possivel disponibilizar a aplicação na forma de web-start.