next up previous contents
Next: O BCC e o Up: Considerações pessoais Previous: Considerações pessoais   Sumário

Desafios e frustrações

Obviamente, levar a cabo um projeto como esse não é tarefa trivial, principalmente dada a falta de experiência do grupo na área. Ao assumir o desenvolvimento da inteligência artificial do jogo, estava indo atrás de uma área que me interessa muito. No entanto, não vi de antemão que um sistema de inteligência artificial não seria muito útil em um jogo como o Patto2K2. Quando me dei conta desse fato, fiquei realmente desanimado.

À medida que o tempo passava, acompanhando o trabalho de limpeza do código, comecei a compreender que deveria visualizar o projeto não como um jogo, mas como um engine de jogos, que deveria permitir a implementação de um sistema de IA flexível, leve e simples.

Concentrando esforços nessa direção, criei alguns modelos que me pareceram inadequados e insatisfatórios. Um deles era um sistema que gerenciava a entrada dos inimigos na tela com base em quão próximo o herói estava do final da fase. Esse sistema não fazia sentido nenhum se estava sendo implementado um sistema de scripts.

Ao final, optei por fazer com que cada nave decidisse suas ações de acordo com um tipo de comportamento, o que se encaixava com a modularização implementada. Com isso, é possível implementar padrões de comportamento fixos, ou padrões de decisão mais complexos (como por exemplo flocking).

Outro problema enfrentado foi a dificuldade do grupo se reunir para discutir os rumos do projeto. Muitas vezes discutimos informalmente algum aspecto e depois cada um isoladamente avançava em algum ponto, mas reuniões periódicas poderiam ter ajudado nesse ponto. O ritmo frenético do IME por vezes parecia nos engolir, e parecia que experimentávamos um fenômeno de encolhimento do tempo.


next up previous contents
Next: O BCC e o Up: Considerações pessoais Previous: Considerações pessoais   Sumário
Alessandro Wilner 2002-12-04