lundi 11 février 2008

Une gem originale : Zyps

Se balader sur RubyForge est souvent assez rigolo... Comme j'ai un peu de temps en ce moment, et que je ne voudrais pas trop "rouiller" des doigts, je cherche des petits projets libres à "étudier" ou même auxquels participer à ma modeste mesure. Du coup, c'est plus ou moins par hasard que je suis tombé sur la gem Zyps.

Présentation :

Il s'agit d'une gem 100% Ruby qui se présente comme étant une petite lib permettant de créer des "jeux" avec des "créatures" agissant d'elles-mêmes. Le lexique employé ici est plus à relier au jeu de la vie de Conway qu'à WoW : il s'agit en fait de petites simulations plutôt que de jeu au sens ludique du terme. Je dis "petites" simulations car je ne pense pas qu'il s'agisse d'un "véritable" outil scientifique au sens applicatif du terme (ce n'est que mon avis !). Cependant, cela peut être utile pour tester de petits algos d'IA (déplacements, traque...), éventuellement réviser un peu sa mécanique du point (voir première image ci dessous) et surtout, obtenir de jolies petites animations, parfois assez... artistiques. Chacun ses goûts ^^

La partie intéressante, à mon humble avis, réside dans le comportement des créatures : attraction, répulsion, chasse, fuite, etc... La lib est faite de manière à rendre relativement simple l'implémentation d'un nouveau comportement.

Pour ceux qui veulent tester, une petite application est incluse pour un petit aperçu (pour rappel : "gem install zyps" ou "sudo gem install zyps" sous 'nix pour l'installation) : "ruby zyps-0.7.4/bin/zyps" pour lancer.

En images :

Les 3 créatures grises sont en orbite autour de la bleue (immobile).


Tandis que la créature violette est en rotation,
la jaune l'a prise en chasse, adaptant sa trajectoire à celle de sa proie.


D'un point de vue plus technique, la lib est très OO, se base, pour la GUI, sur WxRuby 2 et utilise également DRb.

A noter que le projet est actuellement à la recherche de développeurs, ne comptant pour l'instant que Jay McGraven dans ses rangs.

Liens :

0 commentaires: