À 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.