Rule Engine Java para Game AI
-
21-08-2019 - |
Pergunta
Gostaria de usar um mecanismo de regras para o meu jogo. Ele será usado para NPC AI e GM AI.
O que pode ser uma boa e Rule Engine rápido para esta finalidade? Deve ser Java e Open Source.
Eu gostaria de ouvir de pessoas que usaram motores Regra Java para a Inteligência Artificial sobre sua experiência.
Solução
Existem duas opções que eu vi: Jess e Drools . Jess, francamente, tem problemas. Não é open source, nem é livre. Ele tem uma Lisp-como sintaxe, que é tanto um mais ou menos, dependendo do seu ponto de vista.
Drools, por outro lado, é ao mesmo tempo, open-source livre, e sob o guarda-chuva JBoss, por isso é provável que fique em torno de um tempo. As regras são invocados usando reta Java, mas são escritas usando um DSL que é bastante intuitivo para o programador não.
A única "pegadinha" Eu vi com Drools é que compilar as regras pode ser lento, então você vai querer executar sua compilação na inicialização ou em um bloco estático, em algum momento quando o usuário não vai se importar esperando um pouco.
Boa sorte!
Outras dicas
Vamos tentar e compilação endereço perf ainda este ano. Não é apenas algo que temos focado em ou perfilada, no entanto, em vez enfocando o desempenho de tempo de execução.
Eu estaria muito interessado em ouvir sobre o seu progresso. Estou pensando em fazer um jogo Drools PacMan para começar a explorar sobre a melhor forma de usar os motores de regras para os jogos. Como os jogos são muitas vezes sobre os eventos e verificar as relações entre objetos, parece que uma adequada sintonia mecanismo de regras poderia fornecer alguns benefícios. A parte mais tarde, o "tuning", será importante como em muitos casos o motor poderia ser muito mais eficiente em sua resultados parciais se ele sabe sobre o espaço do problema na frente. Idealmente com jogos este é frequentemente o caso, para que possamos fornecer dicas para o motor de adequá-lo em lugares para os casos de uso.
Temos alguma pesquisa atual acontecendo para a adição de probabilidade, que também deve ser interessante para os jogos.
De qualquer forma, por favor contacte-me se você fez algum progresso, mproctor no redhat d0t com
Tente Drools .