Le paradigme-objet étant dans une impasse évolutive (aucune publication, aucun
nouvel horizon
) il était évident pour moi que la programmation fonctionnelle avait un bel avenir devant elle.
Même si c'était difficilement crédible il y a ou 3 ans, quand il n' avait pas de bindings
OCaml
ou
Haskell
pour des choses aussi élémentaires que SQL ou la SDL. Aujourd'hui la situation a bien changé, il y a abondance de bindings pour tout (SDL, SFML, Allegro) et n'importe quoi (4 bindings OCaml-SQL qui se concurrencent).
Seulement voilà, les bindings ne suffisent pas, il faut une
killer-app
.
Bien entendu changer de paradigme ne produit pas de bons jeux comme par magie.
Les premiers jeux
OCaml
et
Haskell
étaient écrits par des personnes plus proches de l'académie de mathématiques que du milieu du jeu vidéo. Pendant ce temps les développeurs amateurs se jetaient sur des frameworks comme
PyGames
ou des
BASIC
s privilégiant la créativité sur l'abstraction.
La lutte étant inégale, les jeux produits à l'aide de langages fonctionnels passaient pour des démonstrations technologiques et l'idée qu'on en était qu'aux balbutiements ne pouvait que faire sourire tellement le retard à combler paraissait insurmontable.
Hé bien ce temps est révolu car j'ai le privilège de vous présenter
Raincat
, un jeu pour Windows et Linux, entièrement écrit en Haskell, qui met en scène un petit chaton particulièrement craintif.
Le jeu consiste à déposer les accessoires (dans la colonne de droite) sur le parcours du chaton afin que celui-ci atteigne la sortie du niveau malgré la pluie et diverses projections d'eau. Car le Raincat est réellement hydrophobe, la moindre goutte sur son pelage délicat et vous devrez recommencer le niveau.
À vrai dire ce petit puzzle ne m'a pas rendu accroc. Maintenir un chaton propre et toujours au sec m'apparaît difficilement comme un enjeu ludique motivant
Ce qui est peut être plus remarquable que le jeu en lui-même c'est que le système de castes s'effrite de jour en jour, il n'y a plus de langages intouchables qui ne seraient pas dignes d'être employés pour un jeu vidéo.