Demake de Atomix fait avec PuzzleScript

Fans de mini-jeux de réflexion, bonjour.

atomix_water

Vous avez peut-être déjà découvert PuzzleScript (dans ce blog ou ailleurs). Voici ma première œuvre réalisée avec ce langage. Plus précisément, c’est la deuxième, mais la toute première était un cadeau pour une amie, et reste donc du domaine privé.

Concernant l’idée originale, je ne me suis pas foulé et j’ai repris le principe d’Atomix, un jeu où vous devez déplacer des atomes afin de reconstituer une molécule. La particularité, c’est que lorsqu’un atome est en mouvement, il continue jusqu’à être stoppé par un mur ou un autre atome. (Je suis sûr qu’en mécanique quantique, tout se passe exactement comme ça).

atomix-2

Concernant les niveaux du jeu, je ne me suis pas foulé non plus, et j’ai pompé ceux d’un certain draknek (http:// blog.draknek.org/post/93360531842/if-i-wanted-to-clone-atomix-this-is-where-id).

Ils sont intéressants et épurés de toute casse-couillerie inutile. Merci à lui.

Hyponitrous acid (mais vous le saviez sûrement déjà).

Hyponitrous acid (mais vous le saviez sûrement déjà).

Là où j’ai été obligé de me fouler, c’est pour implémenter le fonctionnement d’Atomix dans PuzzleScript. Le langage est assez souple et bien fichu, mais ne permet pas vraiment de décrire des comportements « globaux » prenant en considération une zone étendue de l’aire de jeu. J’ai donc eu recours à quelques bidouilles hasardeuses pour le processus vérifiant l’égalité entre la molécule-modèle et la disposition des atomes.

D’autres part, il n’y a pas de notion de variables. Pour tester « est-ce que l’atome dans le modèle est égal à l’atome dans l’aire de jeu ? », je n’ai pas trouvé de meilleure solution que de tout décrire verbeusement : « est-ce que l’atome du modèle est un hydrogène et celui de l’aire de jeu un hydrogène ? ou bien est-ce que l’atome du modèle est un carbone et celui de l’aire de jeu un carbone ? etc. ».

Il y a une petite documentation au début du script indiquant les contraintes à respecter pour créer les niveaux, ainsi que quelques commentaires ici et là. Ça mériterait d’être documenté plus en détail, ou pas.

puzlescript_code

Le sus-mentionné draknek a employé kp-atomix (https:// github.com/figlief/kp-atomix) pour publier les niveaux qu’il a créés, ce qui est une aubaine, car ils y sont décrits via un fichier json au format assez facile à comprendre.

Et quitte à me fouler pour coder, je me suis fendu d’un petit programme (en python, évidemment) convertissant les niveaux json de kp-atomix en niveaux de PuzzleScript. Ça aurait certainement pris moins de temps de les convertir à la main, mais ça aurait été tellement moins rigolo.

Ce programme a été honorablement documenté, car il est possible que certains de ses morceaux me resservent par la suite. Tout cela est évidemment dans un repository github, comme le veulent les conventions asociales à la mode en ce moment.

J’aime beaucoup PuzzleScript. Ça regroupe un grand nombre d’idées de mes rêves : des jeux de réflexion à foison, un moyen inhabituel de raconter des histoires, la création d’un langage dédié relativement souple et générique. Je vais voir si je peux faire quelque chose avec tout ça.

Comme vous le savez, les atomes sont liés ensemble par des liaisons de covalence. Voici donc une image de liaison, presque tout aussi idiosyncratique (même si je sais pas ce que ça veut dire).

double_dildo

Une réponse à “Demake de Atomix fait avec PuzzleScript

  1. Source des images

    Gif animé du premier niveau
    http://www.puzzlescript.net/play.html?p=e4301869b762605f976b8f1c86fc70d3

    Ben du coup la source c’est moi, comme toutes les autres images qui viennent de moi et qui sont sur ce blog. Ah oui. Et du coup bis (parce que ça fait déjà la deuxième fois que je dis « du coup ») (et du coup, là ça fait là troisième) (ah ben non, la quatrième), je viens de vous spoiler la solution du premier niveau. Ouais euh… en même temps ça va, c’est pas le niveau le plus intéressant au monde. Eh au fait, dans le lien vers kp-atomix, y’a un autre lien vers une sorte d’algorithme de résolution automatique de n’importe quel niveau d’Atomix. Mais le lien est mort. Zut.

    Screenshot du jeu original
    http://recher.pythonanywhere.com/urluth/?u=ia
    http ://www .abandonwaredos.com/abandonware-game.php?gid=83

    Je m’en souviens, j’y avais joué à l’époque. Mais j’étais pas très bon. En plus y’a cette cochonnerie de temps limité, c’est naze. Ça ne respecte pas l’une des règles des jeux à énigmes que j’ai moi-même établi. (Je sais plus quel numéro de règle c’est, même si c’est moi qui les ais établies et ordonnée). Mais sinon, ça m’a fait découvrir un truc : la DosBox javascript. Ça veut dire qu’on peut rejouer aux vieux jeux MS-DOS directement dans son navigateur. Nom de Dieu de putain de bordel de merde si j’ose dire. Cela dit, ça marche pas hyper bien, j’ai constaté des bugs graphiques. Je sais pas si ce projet est toujours en cours de développement où si ils ont arrêté. Faudra que je me renseigne.

    Screenshot du jeu kp-atomix
    http://recher.pythonanywhere.com/urluth/?u=ib
    http ://figlief.pythonanywhere.com/

    Bon, il faut avouer que c’est quand même beaucoup plus pratique de jouer à Atomix dans cette version là que avec PuzzleScript. On clique directement sur la direction dans laquelle on veut déplacer un atome. Et on peut déplacer l’image de la molécule-modèle pour vérifier où on doit placer tout le bazar. Mais voilà, c’est pas PuzzleScript. Et de toutes façons, je trouve ça beaucoup plus rigolo de formaliser un jeu dans le langage de PuzzleScript, que de jouer au jeu lui-même. Quoi que, j’ai passé une soirée à terminer Vacuum. J’ai été engoulfé dans un vide spatio-temporel de jouage à Vacuum. Ha ha ha. Ironie, ronie, ronie.

    Screenshot du code du jeu
    http://recher.pythonanywhere.com/urluth/?u=id
    http ://www .puzzlescript.net/editor.html?hack=e4301869b762605f976b8f1c86fc70d3

    Et donc, une fois de plus, ça vient de mon cerveau. Enfin pas tout à fait. La coloration syntaxique vient pas de moi. Mais sinon ouais. Ça me fait penser que je pourrais peut-être faire un petit plug-in Sublime Text qui fait une coloration syntaxique de PuzzleScript. Mais en fait non. C’est pas ça qui m’a le plus dérangé quand j’ai codé Atomix. Ce qui m’a le plus dérangé, c’est de devoir à chaque fois copier-coller tout le texte du script de Sublime Text vers la page web de PuzzleScript. Faudrait s’arranger autrement pour publier automatiquement le code, avec des requêtes ajax ou je sais pas quoi. Ouais, trop la classe. Je vais y réfléchir.

    Deux nanas qui se partagent un double-god
    http://recher.pythonanywhere.com/urluth/?u=ig
    https ://fr .xhamster.com/movies/4744032/bbw_cc_and_friend_deepthroat_dildos_3.html

    Et c’est chouette parce qu’elles ont des gros seins. Si vous en avez la possibilité, regardez la vidéo. Elles deep-throatent le double-god. Ça fait bizarre. Et je dois avouer que je ne parviens pas à m’empêcher d’être interpellé par une telle performance. Mais je suppose que c’est comme ça. Bon sinon, je vous présente pas le site xhamster. C’est vraiment quelque chose d’intéressant. Un des rares sites avec des vidéos accessibles là tout de suite, et gratoche. En plus, leur player est assez bien fichu. Il indique un petit pourcentage lorsque la vidéo freeze. Et on voit assez bien la mise en cache. Franchement, je le trouve même un peu mieux que Youtube. Surtout qu’on peut avoir la totalité de la vidéo en cache, ce que ce crétin de Youtube ne semble pas avoir envie de faire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s