C'était super. L'orga était sympa, le lieu fait pour coder (un espace de co-working), et les gens motivés. Beaucoup de jeunes et débutants en prog, il y a eu un 2 ou 3 projets vraiment bien, dont 1 exceptionnel.
Les gens nous ont regardé avec un air bizarre/étonné quand on leur a dit "Clojure", j'ai evangélisé un peu surtout que de tous les environnements que j'ai vu (Unity y compris) on était les seuls à avoir un environnement interactif. play-clj permet en effet d'injecter du code dans le jeu en live par simple évaluation des formes. Vive le REPL !
Pour nous : on a galéré à cause de Box2D parce qu'on ne savait pas s'en servir. Il faut bien lire la doc et des articles avancés sur Internet pour comprendre comment gérer les collisions. Ça nous a gâché le week end. Sinon on a pris beaucoup de plaisir à utiliser Clojure (c'est vraiment un langage mortel) et à participer en général.
Pour play-clj : il wrappe le framework Java LibGDX, l'essentiel est couvert mais pas tout. Du coup il ne faut pas hésiter à lire la doc de LibGDX et le source des 2 projets pour comprendre. Ce n'est pas spécialement gênant, d'autant que clojure avec les protocoles et son intérop avec Java permet de faire tout ce dont on avait besoin. Intégrer les assets visuels et sonores a été très rapide, il faut juste bien comprendre la notion de viewport et dimensions. De plus le maintainer de play-clj est très réactif sur Github.
Pour ce qui est de son API, il impose peu de chose sur l'organisation du code, si ce n'est de définir des "screen" (équivalent des calques sous Photoshop), et fonctionne avec les structures de données immutables de Clojure (+ 1 atom). Les objets Java sous jacents étant eux mutables il faut être à l'aise avec la gestion d'état dans Clojure pour jongler entre ces données. Ça nous a fait perdre un peu de temps, mais je dirais que c'est parce qu'on était pas super à l'aise en Clojure.
Pour toi : je ne sais pas quel est ton projet, mais d'après ce que j'ai compris LibGDX est très adapté aux jeux 2D et un peu moins aux jeux 3D, même s'il disposent d'API pour. Par contre, coder en Clojure en live avec le REPL est une feature inestimable ça permet d'itérer extrêmement vite.
Au final très content du week end de LibGDX et Clojure. On est en train de refactorer le code et de terminer le jeu petit à petit. Une fois terminé on sera ravi de partager le code et le jeu (pas avant, c'est pas fini, buggé et... pas le plus beau des codes).
Conseil à tous ceux qui veulent faire un hackaton : faites vos nuits, mangez bien et refactorer votre code en permanence sinon vous serez vite bloqué par le bazar que vous aurez écrit (bug-hunt hole comme on dit anglais).
Voilà !