Relatório 2
Leandro Bernsmüller

-----------------------------------------------------------
Índice:

Software para Desenvolvimento
Agentes Reativos
Interface

-----------------------------------------------------------
Software para Desenvolvimento

O projeto MCOE está sendo implementado sob ambiente Windows 95. O compilador adotado é o Visual C++ 4.0. Para a construção da interface do jogo, está sendo usado o pacote para desenvolvimento de software DirectX 5.0, em conjunto com o Visual C++.

-----------------------------------------------------------
Agentes Reativos

No MCOE, os agentes reativos são os elementos do cenário com capacidade de interrelação.

Os agentes que povoam o cenário são de tipos específicos pré-definidos pelo implementador. Alguns dos tipos que estão em implementação são: 3 espécies de peixes, algas marinhas e plancton.

O relacionamento entre o agente e o ambiente segue o princípio da ocorrência de estímulos externos que causam alguma reação por parte do agente. Cada instância de um agente pode ter uma reação diferente a um mesmo estímulo que os demais e, também, pode alterar suas reações ao longo da vida.

Um exemplo de reação ao ambiente é a colisão de um peixe com as bordas limitrofes do cenário. O agente recebe o estímulo da colisão e reage alterando a sua direção de natação.

A determinação de qual será a reação do agente para cada estímulo é feita, inicialmente, pelo implementador. Existe um elenco de ações que podem ser selecionadas e, então, concatenadas formando o padrão de comportamento - a personalidade - de cada agente.

Alguns possíveis estímulos que os agentes podem receber são: nascimento, morte, passar o tempo, colidir contra os limites do cenário. Para cada um desses estímulos podem ser selecionadas a reações: nascer, morrer, mover, mudar direção de natação. Por exemplo, é possivel escolher a ação de mudar direção de natação ou de morrer para o estímulo de colidir contra os limites do cenário.

As reações podem ser alteradas durante o tempo de vida do agente. Basta que a ação disparada por algum estímulo substitua alguma ação por outra. Esse é o caso da ação de mover usada na natação dos peixes. Após um período de tempo aleatório essa ação substitui a si própria pela ação de mudar a direção de natação, garantindo que o peixe não nade apenas em linha reta. Após, a ação de alterar a direção de natação se substitui pela ação de mover.

Os estímulos do ambiente são implementados como eventos que os agentes recebem. As ações são objetos contituídos, basicamente, por uma função que implementa a correspondente mudança no estado do agente. Os agentes são repositórios de ações e dados; mapeiam cada evento para o respectivo objeto-ação que foi instanciado para tratar aquele evento.

-----------------------------------------------------------
Interface

A janela principal do jogo é implementada com o DirectX. 
O cenário do jogo e seus elementos são implementados com o "Direct3D Retained Mode" - interface de programação de aplicações com recursos para criação, com alta performace, de cenas 3D. Os controles que o jogador pode selecionar durante o jogo são implementados como bitmaps gerenciados com o DirectDraw - interface de programação de aplicações com recursos para manipulação de bitmaps.

A ajuda está sendo implementada como o uma aplicação Windows comum que apenas utiliza os recursos da GDI (sem DirectX).

Quanto ao cenário, cada agente que possui uma representação física está relacionado a um frame. Esse frame é composto por uma malha de polígonos e vetores que indicam: posição, orientação e direção de deslocamento relativos ao frame do universo.

Os objetos foram modelos no 3D Studio MAX 1.0.
