Relatório da Aula 1
Atividade 1: Contato com o Web-site da disciplina
Atividade 2: Uso e Gerenciamento da Página de Relatórios
Atividade 3: Download e Compilação do Código do WorldServer3D
- WorldServer3D (Java Web Start):
- [CONCLUÍDO]
Atividade 4: Geração de um Controlador Manual para o Ambiente Virtual
- WorldClient (Java Web Start):
- [CONCLUÍDO]
World Client - Agent Controller - Marionette Stage
O programa WorldClient é um controlador manual de criaturas virtuais no ambiente WorldServer3D.
Funcionalidades
- Conexão com o servidor WorldServer3D;
- Localização de criaturas no mundo virtual;
- Navegação via teclado;
- Controle do nível de combustível.
Operação
O programa executa automaticamente os seguintes passos durante a inicialização:
- Conexão com o WorldServer em execução no host local;
- Criação de uma criatura virtual para o controle manual;
- Recarga do nível de combustível.
A partir deste instante, se os passos acima foram executados com sucesso, é possível controlar a criatura a partir do teclado. Caso ocorram falhas durante a execução de qualquer um desses passos, são permitidas novas tentativas de execução por parte do usuário.
As teclas estão associadas às ações que deverão ser executadas pela criatura conforme descrito a seguir:
- Seta para cima: Traciona as rodas da criatura de modo a movimentá-la para frente;
- Seta para baixo: Traciona as rodas da criatura de modo a movimentá-la para trás;
- Seta para esquerda: Vira a criatura para a esquerda;
- Seta para direita: Vira a criatura para a direita.
A recarga de combustível é realizada automaticamente assim que o nível mímino for atingido (zero).
Estágio Marionete
O estágio Marionete é uma metáfora para representar o estágio atual do controle da criatura no mundo virtual. Nesta aula, foi implementado um mecanismo de controle baseado na intervenção direta de um operador externo. O conteúdo das aulas seguintes fornecerão subsídios para a criação de mecanismos mais sofisticados de controle de agentes baseados em arquiteturas cognitivas que serão exploradas no curso. Desta forma, novos estágios serão implementados futuramente evidenciando a evolução das criaturas. O objetivo é a autonomia de percepção e atuação sobre o mundo com um comportamento que possa ser considerado inteligente.
Figura 1 - Tela principal do WorldClient.
Código-Fonte
Download do código-fonte do WorldClient (Netbeans 7.3 / JDK 7)
Arquivos do código-fonte
WorldClient
└── worldclient
├── Main.java
├── app
│ ├── WorldClientApp.java
│ ├── WorldServerConnection.java
│ └── WorldServerProtocol.java
├── controller
│ └── WorldClientController.java
├── helper
│ └── WorldClientKeyDispatcher.java
├── model
│ ├── Creature.java
│ ├── WorldClientModel.java
│ ├── WorldClientState.java
│ └── WorldServer.java
├── observer
│ └── WorldServerObserver.java
├── util
│ ├── Constants.java
│ └── Resources.java
└── view
├── WorldClientView.form
└── WorldClientView.java