Biblioteca de Inteligência Artificial multiplataforma

Usuários de sistemas diferentes de Windows costumam sofrer com a dificuldade de encontrar bibliotecas ou programas que rodem em seus sistemas operacionais. Isso acontece mesmo com livros que ensinam como implementar determinadas técnicas: o código que os acompanha costuma funcionar apenas no Windows[1].

Artificial Intelligence for Games
Capa do Livro Artificial Intelligence for Games

Esse era? é o caso da aicore, biblioteca que acompanha o livro Artificial Intelligence for Games[2] em suas primeira e segunda edição. Apesar do Ian Millington, autor do livro, ter se “esforçado” para fazer o código amigável para outros sistemas, é fato que ele desenvolveu pensando no Windows (e, pior, no compilador do Visual Studio).

No fim de 2009, acabei precisando de uma biblioteca de IA para resolver um problema e decidi portar a aicore para sistemas Unix (para ser sincero, só testei no Mac OS X e no Linux). Conversei com o autor, mas apesar de ter demonstrado interesse, ele jamais aplicou meu patch à árvore principal. Ainda assim, o issue tracker do projeto possui o meu patch e não é difícil aplicá-lo ao código original[3].

Alguns dos assuntos abordados no livro são[4]:

  • Steering behaviors;
  • Pathfinding;
  • Decision Making;
  • State Machines;
  • Fuzzy Logic;
  • Waypoints;
  • Learning Behaviors;
  • Communication;
  • Teaching characters.

Conforme descrito na página, para aplicar o patch basta executar o comando:

patch -p0 < /caminho/para/aicore-unix-support.diff

Para compilação, o scons é necessário. Instalá-lo é moleza, supondo que você possui o python instalado (e a maioria das distribuições Linux já vêm com ele). Daí, para compilar a aicore e seus demos, basta executar:

cd /caminho/para/aicore
cd build
scons

E é isso. Os demos são instalados no diretório bin e a biblioteca vai parar no diretório lib.

Notas

  1. Considerando o Market Share do referido sistema, essa parece uma escolha razoável, mas continua a irritar. Frown
  2. O livro é bom, vale a pena lê-lo.
  3. Caso o patch não esteja mais disponível lá, existe uma cópia online.
  4. É importante notar que o foco do livro está mais nos algoritmos que em tópicos de pesquisa. Portanto, ele só vai até a profundidade "necessária" para compreensão do assunto.

Não há textos relacionados.


Sobre esta página