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 Windows1.
Esse era? é o caso da aicore,
biblioteca que acompanha o livro Artificial Intelligence for Games2 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.
Alguns dos assuntos abordados no livro são3:
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.