2009-02-05 6 views
10

Je voudrais utiliser un moteur de règles pour mon jeu. Il sera utilisé pour NPC AI, et GM AI. Ce qui pourrait être un bon moteur de règles rapide à cet effet? Ce doit être Java et Open Source. Je voudrais entendre des gens qui ont utilisé des moteurs de règles Java pour l'intelligence artificielle au sujet de leur expérience.Java Rule Engine pour le jeu AI

Répondre

10

Il y a deux choix que j'ai vus: Jess et Drools. Jess, franchement, a des problèmes. Ce n'est pas open source, ni gratuit. Il a une syntaxe de type Lisp, qui est soit un plus ou un moins, selon votre point de vue.

Drools, d'autre part, est à la fois gratuit, open-source, et sous le parapluie JBoss, donc il est susceptible de rester autour pendant un moment. Les règles sont invoquées à l'aide de Java, mais sont écrites en utilisant un langage DSL qui est assez intuitif pour le non-programmeur. Le seul "gotcha" que j'ai vu avec Drools est que la compilation des règles peut être lente, donc vous voudrez exécuter votre compilation au démarrage ou dans un bloc statique, parfois quand l'utilisateur ne sera pas dérangé par l'attente autour d'un peu.

Bonne chance!

+0

-vous s'il vous plaît préciser quel genre de questions Jess a? –

+0

@hragheb J'ai précisé les problèmes dans le premier paragraphe. 1) Ce n'est pas open source, 2) ce n'est pas gratuit, 3) il a une syntaxe de type lisp (ce qui est un moins pour moi, bien que ce ne soit pas pour d'autres). Aucun d'entre eux n'est nécessairement un spectacle, sauf que chacun, à mon avis, désavantage concurrentiellement Drools. – rtperson

1

Nous essaierons de résoudre les problèmes de compilation plus tard cette année. Ce n'est tout simplement pas quelque chose que nous avons ciblé ou profilé pour l'instant, mais qui se concentre plutôt sur les performances d'exécution.

Je serais très intéressé par vos progrès. Je pense à faire un jeu Drools PacMan pour commencer à explorer la meilleure façon d'utiliser les moteurs de règles pour les jeux. Comme les Jeux traitent souvent d'événements et de la vérification des relations entre les objets, il semble qu'un moteur de règles correctement ajusté puisse offrir certains avantages. La dernière partie, le "réglage", deviendra importante car dans de nombreux cas, le moteur pourrait être beaucoup plus efficace dans ses allumettes partielles s'il connaît l'espace de problème à l'avant. Idéalement avec les jeux, c'est souvent le cas, nous pouvons donc donner des conseils au moteur pour l'adapter à certains cas d'utilisation.

Nous avons des recherches en cours pour ajouter des probabilités, ce qui devrait aussi être intéressant pour les jeux.

Quoi qu'il en soit s'il vous plaît ne pas me contacter si vous avez fait des progrès, mproctor à RedHat d0t com

Questions connexes