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

Puzzlescript et des audits de jeux

Plotrochk à vous, chers gens et gensses.

Ce mois-ci, petit article court. Mon cerveau doit se remettre des 3 énormes articles que j’ai récemment perpétré, concernant mon changeage de crémerie.

Puzzlescript

En partant du blog de randomnine (http: //wootfu.com/) et en passant par divers endroits que j’ai oublié, je suis tombé là-dessus (http: //www.puzzlescript.net/)

C’est absolument génial. C’est un langage de script relativement simple et bien foutu, permettant de créer des jeux à énigmes en 2D carroyée.

Je suis fortement fan de ce genre de jeux : Atomix, Adventures of Lolo, Tiny Skweeks, Pushover, Drod, … Haaaaaa ! Drod ! Tiens ça me rappelle cet article dans lequel je décrivais les principes régissant ces jeux : https://recher.wordpress.com/2009/03/12/regles-a-respecter-pour-les-jeux-a-enigmes/

Je vous laisse fouiner sur internet, il y a plein d’œuvres sympas réalisées avec PuzzleScript, ainsi que des tentatives de recréer des jeux existants, appelées « demakes ». C’est comme un remake, mais au lieu de refaire un jeu, on le défait dans le sens où on décortique son fonctionnement pour ensuite le reformuler en un script de PuzzleScript.

Il existe des demakes de Démineur, de Match-3, de Drod (assez éloigné de la version initiale), de Portal, etc. Je vous laisse les trouver par vous-même.

Le langage de script comporte quelques manques : pas de « variables » ni de gestion des diagonales par exemple. Mais il est plutôt souple et permet déjà plein de choses. Le site officiel est doté d’une documentation assez complète : tutoriels, référence du langage, exemples, etc. Ceux qui veulent le découvrir commenceront par un inévitable Soko-ban.

C’est tout en HTML5. Du coup : Windows, Mac, Linux, Smartphones, MonCulSurLaCommode, ça marche (à peu près) pareil partout.

Le seul souci, c’est que c’est très moche. Tous les éléments du jeu et toutes les cases sont des images de 5 * 5 pixels maximum. Rustique.

J’ai déjà fait un jeu pour une amie (un cadeau personnel que je ne mettrais donc pas ici). Si je suis motivé, j’essaye de demaker Atomix, et peut-être même 4 Elements.

Et maintenant parlons d’autre chose.

Audit de jeux vidéo amateur

Alors voilà. Vous avez créé un petit jeu dans votre coin, et vous avez envie de savoir s’il est cool/intéressant/bankable. Pour cela, vous pouvez faire appel à mes services : j’analyse votre jeu et vous rédige un rapport d’audit décrivant les axes d’améliorations, les points problématiques, la bankabilité, etc.

Nan j’déconne. J’emploie le mot « audit » juste pour faire classe. En vrai je le testerai pendant deux heures grand maximum et je vous dirai à l’arrache ce que j’en pense. Mais ce simple petit service peut déjà vous intéresser.

J’ai peu de légitimité en tant qu’auditeur de jeux. J’en ai créé à peine un et demi et des poussières. J’ai pas de console, pas de smartphone, pas de tablette, pas de compte Steam, pas de jeux AAA et je dois m’y reprendre à 3 fois avant de parvenir à sortir une boule de feu dans Street Fighter (le 2, les suivants je les ais jamais testés).

À défaut de boule de feu...

À défaut de boule de feu…

Mais en tant qu’auditeur amateur, j’ai toute la légitimité pour analyser vos jeux vidéo amateur. Les amateurs ne devraient pas éprouver de honte à se faire aider par d’autres amateurs.

C’est bien évidemment gratuit. La seule condition à respecter est que le résultat de mon analyse soit publié d’une manière ou d’une autre sur internet, avec un lien vers ce blog. Un commentaire ou un message de forum peut tout à fait convenir.

Voici quelques exemples d’audit déjà réalisés (auprès de personnes qui ne me l’ont pas spécialement demandé, mais on va pas s’arrêter sur ces détails) :

J’ai également rédigé quelques tests de jeux (Kingdom Rush, Lugaru, …), que vous arriverez à retrouver, si vous êtes courageux et désœuvré, dans ce blog ou dans les magazines 42. Mais ces tests ne contenaient pas de recommandations personnelles, puisque je ne m’attends pas à ce que les auteurs de ces jeux non-amateurs perdent leur temps à lire mes blablas.

Pour demander un audit, il vous suffit de claquer un commentaire à cet article.

official_audit_seal