Ludum Dare 47 post-codem

Comme annoncé dans mon précédent article, j’ai participé au Ludum Dare. Vous pouvez jouer à ma contribution directement par ici.

La tradition dans les game jams est d’écrire un « post-mortem », c’est un petit (grand) texte que l’on écrit à tête reposée après avoir bossé comme un oufzor pendant tout un week-end à créer un jeu.

Je trouve l’expression « post-mortem » étrange. Je ne suis pas mort, même si ça a été assez intense et que j’en suis sorti fatigué. Donc : « post-codem ».

Fonctionnement du jeu

Les premiers retours m’indiquent que c’est difficile à prendre en main au départ. J’ai donc fait une petite vidéo de démo explicatoire. J’y parle anglais, c’est une catastrophe. Vous avez le droit de mettre en mute.

L’aire de jeu est une piscine qui se recouvre entièrement de boue et de lierre (les petits traits verts). Vous sélectionnez une première case, en appuyant sur le bouton « 1 », puis vous en sélectionnez une deuxième, et elles s’échangent. Le but est de construire, par échanges successifs, des boucles fermées de lierre, ce qui déclenche la suppression de la boue qui est à l’intérieur.

Il faut commencer par créer une boucle à côté de la fontaine d’eau en haut à gauche. L’eau avance lorsqu’elle est en contact avec une zone sans boue. Vous devez la propager petit à petit jusqu’à l’arrivée en bas à droite.

Vous ne pouvez pas échanger une case si elle n’est pas unie, c’est à dire ayant un mix de boue et d’eau. C’est gênant lorsque vous avez deux boucles proches : vous ne pouvez pas créer de mini-boucle entre les deux pour les fusionner. J’ai donc ajouté un pouvoir spécial, lorsque vous activez le bouton « 2 » sur une case comportant de la boue, un trait vert se rajoute, qui peut vous permettre de finaliser une boucle.

Par le pouvoir du lierre !!

Post-codem au sujet du jeu

Le thème était : « Stuck in a Loop », c’est à dire : « Coincé dans une boucle ».

Il y a deux modes de participation au Ludum Dare :

  • Jam : vous avez 3 jours pour créer un jeu vidéo, en équipe ou en solo. Vous pouvez réutiliser des images, des sons et des codes existants (en respectant les licences et autres fucking copyright, évidemment).
  • Compo : c’est le « hard mode ». Vous n’avez que 2 jours, en solo. Tous les éléments de votre jeu doivent être originaux et doivent avoir été créés durant ces 2 jours. Obligation de partager le code source. Mais vous pouvez utiliser des outils de création privatifs (Unreal Engine, par exemple).

J’ai choisi compo. C’est pas que je veuille me la péter en démarrant directement en hard mode. C’est juste que j’avais mon week-end de dispo, mais pas le lundi après. Et les autres contraintes de la compo me convenaient.

Bien entendu, je n’ai pas eu le temps de réaliser toutes les idées que j’avais. Ça arrive à chaque projet (artistique ou non). Comme c’est systématique, on sait à l’avance qu’on ne pourra pas tout faire, on peut donc diminuer ses prétentions dès le départ. Mais même ainsi, les prétentions restent trop grandes, et on finit toujours par finir à l’arrache.

Ouais, à la

Comme dirait Helmut : voilà un jeu de mot franco-allemand qui Kohl très bien à l’article.

Échec de la continuous delivery

J’ai tellement galéré à coder (j’explique pourquoi dans le dernier chapitre de cet article), que ce n’est que le dimanche à 12h que j’ai eu une version pre-pre-alpha, comportant uniquement la fonction d’échange et la détection des boucles.

Note pour les prochains Ludum Dare : se réserver des petites plages de temps pour tester et faire tester son jeu par des gens quelconques. Ça permet d’ajuster la difficulté et éventuellement de glaner de nouvelles idées.

Ce que j’avais imaginé au début : coder un petit bout de truc, le montrer aux gens qui vivent avec moi, même si ça ne constitue pas un vrai jeu, montrer le bout de truc suivant, et ainsi de suite. On aurait avancé tous ensemble durant le week-end, ces mini-démonstrations régulières auraient permis de me faire pardonner le fait que je me serait comporté en geek pendant 48 heures.

Au lieu de ça, j’ai passé les trois premiers quarts du week-end à grogner devant mon ordinateur. Lorsque quelqu’un venait me voir, je lui grognais que rien ne marchait. Pas très interactif.

Groumpf ! A marche pô !

Échec de l’explication du mécanisme du jeu

J’avais prévu de faire un petit tutoriel, qui s’est terminé en un pseudo-manuel écrit en 20 minutes, sous forme de docstring au début du code python. J’ai ensuite pseudo-copié-collé ce manuel pour le mettre dans la description Ludum Darienne.

Ça n’aide pas trop à comprendre le fonctionnement du jeu quand on le découvre. D’où la petite vidéo que j’ai faite après. Qui est elle-même créé à l’arrache, mais ça c’est parce que j’ai très peu d’expérience dans ce domaine. Je cause très mal anglais alors que d’habitude en vrai conversation je m’en sors potablement. De plus, on m’entend prendre de grandes inspirations avant chaque phrase. C’est malaisant.

Même la longueur de la vidéo est une erreur. J’explique tous les mécanismes du jeu durant les 4 premières minutes, puis je passe 6 minutes à terminer ma partie. Lorsque les ordispectateurtrices-joueureuses arrivent sur ma page Ludum Darienne, ces personnes voient une vidéo ayant une durée de 10 minutes. Elles ne la regardent pas forcément, parce que c’est trop long. Si la durée affichée avaient été plus courte, il y aurait eu plus de chances qu’elles cliquassent sur « play », parce que gâcher 4 minutes de sa vie dans notre monde actuel est quelque chose d’encore à peu près acceptable. Ce serait d’ailleurs intéressant de connaître la probabilité de clic sur un bouton « play » en fonction de la durée d’une vidéo, mais ce n’est pas le sujet.

Les graphismes sont manifestement beurkys. Les explications du jeu utilisent le terme « vines » (du lierre), il faut comprendre que ça correspond aux traits verts. Ces traits sont une représentation métaphysique aristotélicienne du lierre quand on n’a pas eu le temps de le dessiner correctement.

Possible échec de la promotion de Squarity

Cette participation au Ludum Dare, et les futures participations à d’autres game jams, n’ont pas pour but de créer un jeu génial qui sera premier au classement et restera dans la mémoire de l’humanité (même si ça me plairait bien). Le but est de promouvoir Squarity.fr, ma plate-forme de création et partage de jeux.

Je veux provoquer chez les Ludum Daristes une réaction de type :

« Voyons voir ce jeu… Moui bof. Pas génial.

Oh, mais quelle est donc ce site web étrange… Squarity ? Mais que vois-je dans la partie droite ? Une fenêtre de texte avec du code python dedans, et d’autres informations qui semblent définir le jeu auquel je suis en train de jouer !

Que va-t-il se passer si je change des trucs et que je clique sur le bouton de validation en-dessous ? Oh bon sang ! Le jeu se modifie instantanément ! Ce site est génial ! Je vais de ce pas m’en servir pour créer tous mes prochains jeux. Je participe au Ludum Dare, c’est bien que je veux créer des jeux pour le restant de ma vie !

Mon avenir sera squaritien ou ne sera pas ! »

Pour provoquer une telle réaction, il faut bien entendu que Squarity soit amélioré (ce qui se fera progressivement), mais la moindre des choses aurait été que je commente mon code python, afin d’aider le monde à comprendre son fonctionnement, et par là même le fonctionnement de Squarity.

J’ai échoué sur ce point, mon code est cradingue et très peu documenté. J’essayerais d’arranger ça dans les jours à venir. Et puis je voulais aussi créer un mini-jeu tutoriel de Squarity. Tant de choses à faire, comme d’habitude…

Les carrés sont l'avenir du monde

Succès de la fontaine !

J’avais prévu d’afficher la quantité de mana sous forme d’une jauge dans un coin de l’aire de jeu. Mais en me levant le dimanche matin, j’ai eu une idée géniale : Squarity ne permet que d’afficher des images, mais la transparence est gérée. Lorsque le mana est bas, je peux noircir la fontaine en superposant plus ou moins de pixels noirs transparent dessus !

Pas besoin de perdre de temps à dessiner une jauge de mana et à coder des choses compliquées pour l’afficher. Avec 4 lignes de code dégueux et un seul sprite supplémentaire (créé rapidement à partir du sprite de la fontaine, en mettant tous ses pixels en noirs-transparents), j’avais un indicateur de mana bien mieux intégré dans le jeu.

Pour fignoler le tout, j’ajoutais un petit log indiquant la quantité exacte de mana lorsqu’on sélectionne la fontaine.

À droite de la fontaine se trouve l’image correspondant à son « ombre ».
if self.pool_mana < 100:
    nb_fountain_darking = (100 - self.pool_mana) // 5
    for _ in range(nb_fountain_darking):
        gamobjs.append("darkfountain")

Je vois aussi cette fontaine comme un très très lointain clin d’œil à l’un de mes jeux préférés intemporels et intraspatial : Might and Magic – World of Xeen.

Alamar, you misguided mechanism ! You’ll destroy us all !

N’ayant pas peur de faire de la surenchère, je rajoutais un autre lointain clin d’œil à World of Xeen : dans le pseudo-scénario de mon jeu, le personnage de la « Countess du Swagging » est une référence au mot de passe secret « Count Du Money ».

Cette fontaine est un auto-clin d’œil, puisque c’est le logo de New World Computing

Si jamais je continuais le dev de ce jeu

Je note ici toutes les idées que je pourrais rajouter dans une hypothétique version post-ludum.

Faciliter le début en pré-plaçant du lierre

Si on n’a pas de bol, on commence comme ça :

Peu de lierre partent de la zone d’eau. Pour y coller des boucles, on risque d’être obligé d’utiliser le pouvoir d’ajout de lierre. Or c’est un pouvoir qui coûte assez cher en mana, car on ne devrait normalement l’utiliser qu’en dernier recours.

J’aurais dû ajouter automatiquement quelques connexions partant de la zone d’eau. Quelque chose comme ça :

C’est beaucoup plus facile de tracer un chemin depuis le trait vertical qui est sous la zone jusqu’au trait diagonal, ou bien depuis le trait horizontal à droite jusqu’au trait diagonal, et ainsi créer une première boucle sans s’arracher les cheveux.

Une « learning curve » moins violente

Il faudrait ajouter des niveaux. Les premiers seraient rendus plus facile par :

  • un tutoriel,
  • des maps plus petites,
  • des délimitation de cases plus marquées,
  • l’absence de traits diagonales.

J’ai eu beaucoup de remarques au sujet des délimitation de cases. Les gens analysent la map, repèrent une case qui leur convient, et s’aperçoivent ensuite que ce n’en est pas une mais que c’est 4 coins de 4 cases différentes. J’avais fait exprès de brouiller les limites entre les cases parce que je trouvais ça cool et j’aime créer des choses difficiles pour ensuite prendre un air condescendant auprès des gens qui n’y arrivent pas. Mais peut-être que j’ai overkillé.

Alors que les grands comédiens gomment les coupures entre vers lorsqu’ils déclament des alexandrins, je gomme les coupures entre cases lorsque je crée des jeux grid-2D.

J’embroche vos rimes, mon épée vous tru-Cid.

Un monde ouvert

Il y aurait une aire de jeu plus grande que ce que peut afficher l’écran. On ne pourrait pas scroller partout. On aurait un personnage et le scroll serait limité autour de lui. On pourrait déplacer ce personnage uniquement vers une case recouverte d’eau. Pour progresser dans le monde, il faudrait donc faire des boucles et propager l’eau petit à petit.

Par contre, ça gâcherait un peu si on permet de faire des boucles géantes, et surtout il y aurait le risque que le temps de calcul de vérifs des boucles soit trop long. Donc il faudrait limiter les tailles de boucle. Ce qui pourrait être sujet à des bonus : au début on ne peut faire que des boucles ayant une longueur de 5, puis 6, puis 7, etc.

Bien entendu, ce grand monde ouvert serait truffé de bonus, de mana, de sorts et de pouvoirs à gagner. Pour récupérer quelque chose, il faudrait amener son personnage dessus, donc l’entourer avec une boucle.

Et puis des passages secrets et des zones super compliquées à atteindre. Par exemple un grand couloir de 3 cases de large avec un super bonus au bout.

Je voulais aussi faire une super blague, avec un genre de quête annexe. Une map où l’objectif serait à côté du point de départ, mais il y aurait un grand mur entre les deux. Il faudrait faire tout un détour pour l’atteindre. À la fin, le personnage aurait dit : « j’ai du créer toutes ces boucles de lierre juste pour parcourir une grande boucle qui me ramène à mon point de départ ! WTF ? ». Haha, lolilol potentiel.

D’autres idées en vrac

L’échange entre une case de boue et une case d’eau ne coûterait pas de mana, mais ne ferait que déplacer les lierres de l’eau sur la case de boue. On perdrait les lierres de boue. Ça nettoie la piscine et ça encourage à étendre l’eau le plus possible, pour conquérir des lierres qu’on pourra ensuite placer gratuitement.

Des statistiques :

  • longueur & surface de la plus grande boucle réalisée,
  • nombre de boucle créées en une seule action,
  • maximum de mana atteint,
  • rentabilité (mana gagné / mana dépensé),
  • nombre de case d’eau créées,
  • etc.

Et bien sûr, des achievements et des bonus liés à ces stats.

Des robots

Quand on fait une boucle, ça ne supprime pas immédiatement la boue. Il faut poser des petits robots nettoyeurs qui enlèvent la boue autour d’eux. Ils fonctionnent pendant un temps limité. Donc si on les pose sur une boucle trop grande, ils ne nettoieront pas tout et la boue se repropagera dans la boucle. Si on les pose sur une boucle plus petite, ils nettoient tout, la boue ne se propage pas car elle ne peut pas traverser les lierres. On peut alors déclencher la propagation de l’eau vers la boucle nettoyée.

C’est une idée qui reste à finaliser. Parce qu’actuellement, l’eau peut passer à travers le lierre. Donc si on commence à nettoyer une boucle avec des robots, l’eau peut alors se propager tout de suite dans une boucle dont le nettoyage n’a pas été terminé, et ça peut donner n’importe quoi.

Ou alors on dit que l’eau ne passe pas le lierre. Et on doit enlever manuellement le lierre qui sépare l’eau de la boucle nettoyée. À réfléchir si on a envie.

Je laisse cette idée là où elle est, j’ai peur d’avoir embrouillé tout le monde en la décrivant.

Robot nettoyant la boue (à moins que ce soit l’inverse)

Post-codem concernant Squarity

Voici maintenant mes retours en tant que simple utilisateur/créateur de cette plate-forme de jeu.

Les messages d’erreur, rogntudjuu !

Comme l’a si bien dit 10kbis en commentaire de mon précédent article, il faut les messages d’erreur et les tracebacks !

Quand le code du jeu plante à l’initialisation, le message s’affiche comme il faut dans la console du navigateur. Mais quand ça plante pendant l’exécution d’une callback, on a que d’alle. On ne sait pas où ça a planté, ni pourquoi. Je n’ai pas encore pris le temps de régler ce problème.

Je pensais être capable de coder du python sans visibilité sur les messages d’erreur. Je m’étais dit : « je suis super fort, et au pire, je pourrais toujours débuguer à coups de print ».

Débuguer à l’aveugle, c’est ce que j’ai fait pendant tout le week-end. C’est la raison pour laquelle je n’ai eu une version pre-pre-alpha que très tard. Ça m’a aussi mis de sérieux doutes sur ma capacité à sortir quelque chose de jouable avant la fin.

J’avais prévu, après le Ludum Dare, de me poser un peu concernant le dev, faire un semblant de road-map, nettoyer et documenter un peu mon code. Mais là, nope. Avant de faire tout ça, il faut que je règle cette non-gestion des erreurs.

Bien. Il me reste 12h pour faire tout le reste et j’ai pas encore mangé.

Ajouter les événements de clics de souris

Je m’étais promis que pendant le Ludum Dare, je m’occuperais uniquement du jeu, sans mettre à jour le site Squarity. Je voulais prouver que la présente version est suffisamment aboutie pour créer un jeu, même très simple, même avec beaucoup de galère.

Puis j’ai réalisé que Loops in Pool serait beaucoup plus pratique si on pouvait directement cliquer sur les cases. Alors j’ai décidé que je ferais une entorse à ma promesse et que je rajouterais à la va-vite la gestion des clics dans Squarity.

Finalement, je n’ai pas du tout eu le temps de faire ça. Je suis donc parvenu à être suffisamment à l’arrache pour tenir ma promesse. Youpi !

Ayez l’amabilité de bien vouloir gérer ce mulot, mon brave.

Ça peut être très lent

Exécuter du python dans un navigateur web, c’est lent. Je m’en doutais un peu, mais je ne pensais pas que ça se révélerait dès maintenant.

Lorsqu’on échange deux tiles, il faut attendre une ou deux secondes avant de pouvoir faire autre chose. C’est le temps pour vérifier si l’échange a créé une boucle ou pas. On exécute pour cela un algo pourri de Dijkstra sur 2240 pauvres petits nodes. Ça devrait se faire instantanément, or ce n’est pas le cas.

C’est pour ça que la boue se remplit progressivement au début. Si je calculais toute la propagation dès le départ, ça prendrait vachement de temps et on pourrait croire que le jeu ne marche pas.

Heureusement, quand on fait des jeux simples nécessitant peu de traitement, il n’y a aucun problème, le jeu du magicien et H2O en sont des preuves. Mais il ne faut pas trop abuser.

Je n’ai pas de solution miracle pour ce problème, juste des pistes :

  • Faire des tests de performances, en déduire des manières de coder plus rapide que d’autres et les documenter dans des bonnes pratiques. Je suppose que le python dans un navigateur se code et s’optimise différemment par rapport au python normal.
  • Essayer de faire des traitements parallèles ou asynchrones. Je ne sais même pas si on peut faire ça proprement dans un navigateur web, que ce soit en javascript ou en python.
  • Mesurer en live les performances du code, pour repérer les parties de code les plus ralentisseuses.
  • Optimiser l’affichage. Au lieu de redessiner toutes les tiles à chaque fois, on en marque certaines comme « dirty ». Seules celles-là seront redessinées. Mais, je ne suis pas sûr que ça améliore grandement la vitesse.

D’autre part, j’ai fait une modif qui me semble cool : j’ai redirigé les print. Normalement, ils vont dans la console du navigateur. Moi je les affiche dans la zone de texte en bas à gauche. Figurez-vous que ça aussi, ça ralentit tout. Faites une dizaine de print à chaque appui de bouton : ça devient horrible, même dans un jeu simple.

Je ne sais pas pourquoi. Est-ce que le navigateur doit recalculer tout le DOM à chaque fois qu’on écrit dans un élément <textarea> ? Ce serait embarrassant. En attendant, l’effet de bord est très amusant : le seul moyen actuel de débuguer est de faire des prints, mais les prints ralentissent tout. Bon courage !!!

Je ne parviendrais peut-être pas à régler ce gros défaut de lenteur, ce qui risque de bloquer des créateurtrices potentieleulleux dans la réalisation de leurs jeux.

Ça ne me fera pas abandonner ce projet, ni déroger de mon idée principale : créer et partager des jeux 2D en python dans un navigateur web. C’est ce que je veux faire, et plus que ça, c’est aussi ce que j’ai envie d’avoir. Je veux utiliser mon propre outil pour créer une foisonnance de jeux bizarres/amusants/pulpesque/dérangeants/moches/etc. Bref, des jeux que je veux voir exister.

Un jeu « pulpe-zinesque » créé par Anna Anthropy, dont je vous parlerai à l’occasion

Autres trucs-en-vrac

Il faut des sons et de la musique. C’est prévu, mais les conseils que j’ai pu récolter à l’occasion du Ludum Dare me confirment que c’est très important pour se démarquer. Si j’avais pas un tas de choses déjà prioritaires, je prioriserai les sons.

Les images des objets ne peuvent pas déborder de leur tile. On peut faire sans, mais pour dessiner un trait qui rejoint deux tiles en diagonale, il faudrait pouvoir placer quelques pixels sur les tiles diago-adjacentes. Ça mériterait un petit dessin pour vous expliquer, mais là, pfouf, cet article est déjà bien assez long.

L’image de tileset devrait pouvoir être uploadée depuis le disque en local, dans le navigateur (en local aussi, du coup). Actuellement, il faut publier l’image sur un site d’hébergement, et ce à chaque changement. Même si on ne souhaite pas publier son jeu. C’est relou. En ce qui me concerne, je met l’image dans un repo github. Mais les push d’images dans github ne sont pas instantanément mis à jour dans leur site web.

Tôt ou tard, il me faudra un lieu d’échange et de création de contenus autour de Squarity (articles, documentation, tilesets, jeux, …). Je me permettrais de commencer par un tout petit truc. Mais il me le faut vraiment ce petit truc, car actuellement j’ai rien du tout, à part des comptes sur des rézosociaux « annexes », comme ce blog. Or, ces comptes n’ont pas pour utilité principale de décrire Squarity. Il va falloir que je me lance dans un mini-CMS Django, et/ou une instance Mastodon, ou autre chose de mieux si vous avez une idée.

Rappelons que l’utilité principale de ce blog est de vous faire découvrir des images de femmes rondes. Ceci ne va pas changer de sitôt. À ce sujet je vous présente llindaa23

À la prochaine, je me remet sur mon code et mes gestion d’erreurs.

Un jeu Puzzlescript : recherche de diamant

Bloub !

Il y a quelques temps, j’avais créé un petit escape game pour des gens personnels. J’y avais mis diverses énigmes plus ou moins rigolotes et compliquées, dont un jeu PuzzleScript.

Shaïne braïght laïke daïmondze.

Petit rappel : pour commencer à jouer, il faut appuyer sur la touche « X ». C’est pas forcément évident quand on découvre « l’environnement PuzzleScript », qui est un peu rustique il faut bien le dire.

Vous êtes équipé d’un détecteur de diamant ayant un nombre limité de charges. Chaque fois que vous l’utilisez, vous obtenez (ou pas) un indice sur la position finale du diam’s. Je ne vous donne pas plus de détails que ça. À vous de comprendre comment interpréter ces indices !

C’est inspiré du mini-jeu MindSweeper, inclus dans le jeu flash débile intitulé « Anti-Idle: The Game ». Il y a quelques années, je m’étais quelque peu fait chronophager par ce agglomérat bizarre et trollesque. Mais depuis, tout va bien, je me soigne.

Il est fort possible que ce soit le dernier jeu PuzzleScript que je code. Non pas que je boycotte ce site ou que je n’ai plus envie de coder des jeux. Bien au contraire. Mais je suis en train de préparer une chouette surprise, qui a vocation à proposer mieux que PuzzleScript.

Je n’en parle pas plus pour l’instant, car je n’ai pas grand-chose de prêt. J’essaye de vous donner plus de détail très bientôt, si possible avant le prochain Ludum Dare, c’est à dire début octobre.

En attendant, qui dit diamant dit bijoux, qui dit bijoux dit jewels, qui dit jewels dit Bianca Jewelz.

Un jeu de connexion en D3.js et du non-cis-genrisme

Au cours de mes diverses tâches dans le monde de Le Travail, j’ai dû utiliser à l’arrache la librairie graphique D3.js.

C’est plutôt rigolo, même si je n’ai pas tout compris. À un moment, je trashe puis reconstruis de zéro toute la structure de données définissant ce qui doit être représenté à l’écran. Sans sourciller, le D3 me fait une gentille petite animation de transition entre l’ancienne et la nouvelle structure. Très pratique, mais très étrange.

Notons cependant que ça reste du putain de javascript, c’est à dire un langage comportant 6 façons différentes de parcourir un tableau, pas forcément équivalentes entre elles.

(ici on pourrait mettre une image faisant un jeu de mot entre « D3 » et « Detroit », mais ne sommes-nous pas au-dessus de tout ça ?)

J’ai profité de ces connaissances joyeusement glanées pour créer un tout petit jeu.

Il s’agit d’un hommage à Eye Of The Beholder. Vous devez associer les armes, armures et objets aux différentes classes de personnages qui savent les utiliser. Attention, malgré le fait que j’ai regroupé certaines de ces classes, il y a des objets qui doivent être associés plusieurs fois. De plus, je ne peux totalement garantir que mes souvenirs soient restés exacts, s’il y a des oublis ou des erreurs, n’hésitez pas à me le hurler dessus.

Le jeu peut fonctionner en local, et il est configurable assez facilement. Les associations à trouver pourraient être entre des gens que vous connaissez et leurs hobbies, entre des fruits et leurs couleurs, entre des recettes de cuisine et leurs ingrédients, etc. Toutes les explications et les ressources sont dans le repository github prévu à cet effet.

Réflections à 2 centimes sur le cis-genrisme dans les jeux vidéos.

« Cis-genrisme » est un mot que j’ai plus ou moins inventé, sans trop savoir exactement ce qu’il pourrait signifier. Débrouillez-vous avec ça.

Et tant qu’à tout mélanger, j’ai aussi balargué de l’écriture inclusive dans le jeu. Il y a des gens qui n’en ont rien à foutre de l’écriture inclusive, donc ils ne l’utilisent pas. Mon but est de montrer que je n’en ai encore plus rien à foutre, à tel point que ça ne me dérange pas de l’utiliser.

Ouais bon bref.

Il ne vous aura pas échappé qu’il existe différents types de jeux vidéos :

  • Ceux qui sont tellement azimutés et vaporeux qu’ils ne peuvent être ni pour ni contre le cis-genrisme. Par exemple : Osmos, un jeu dans lequel vous êtes une bulle (https:// www. osmos-game.com/).
  • Ceux qui montrent explicitement qu’il existe d’autres manières de penser que le cis-genrisme. Par exemple Dys4ia, de Anna Anthropy (https ://fr. wikipedia.org/wiki/Dys4ia).
  • Ceux qui s’en foutent complètement.
  • Ceux qui sont explicitement cis-genre, voire explicitement sexiste, sans forcément l’assumer.

Eye of the Beholder irait plutôt dans la catégorie « qui s’en foutent ». Mais, sans le faire exprès, il a peut-être un tout petit peu contribué à faire évoluer les esprits.

Comme dans tout bon jeu de rôle qui se respecte, vous devez initialement créer vos personnages, définir leur métier, leurs attributs, leur genre et leur trombine. Le panel de choix est le suivant :

Certes, il y a moins de femmes que d’hommes, une partie d’entre elles montrent leurs nichons, et je vous laisse débattre sans moi concernant la présence d’un voile.

Pour autant, ces femmes que nous voyons ne sont pas toutes à sourire bêtement et ne sont pas toutes féminisées à outrance, certains visages sont mêmes suffisamment marqués pour laisser imaginer des personnalités spécifiques (une borgne, une toute verte, etc.). À l’heure des polémiques sur les princesses Disney qui ont toutes la même gueule, un jeu vidéo vieux de plus de 10 ans a essayé de diversifier les personnalités des femmes dans un espace délimité par un rectangle de 257×100 pixels (https ://every-flavored-bean.tumblr.com/post/112569173199/every-woman-in-every-disneypixar-movie-in-the).

C’est toujours ça de gagné.

Les têtes, les genres et les noms que vous choisissez pour vos personnages n’ont aucune incidence dans la suite du jeu, mais ça en a peut-être sur vous-même.

Si vous n’êtes pas trop débile, vous placerez systématiquement votre guerrière en première ligne et votre prêtre à l’arrière, vous confierez le livre de sorts à votre magicienne et les outils de crochetage à votre voleur. Ces choix sont contraints par le fonctionnement du jeu.

Mais qui attaque en premier ? Qui est placé derrière qui ? Comment organisez-vous les objets dans les inventaires ? Qui(s) stocke(nt) la nourriture ? et les potions ? et les bijoux ?

Comme ces choix sont mineurs et sans grandes conséquences, peut-être que vous les prendrez en vous laissant inconsciemment influencer par d’autres détails mineurs. Les noms et les visages de vos personnages ne changent pas le jeu, ils changent la manière dont vous allez vivre le jeu. Et puisque notre comportement global d’humain est déterminé par nos expériences passées (réelles ou virtuelles), ils changeront aussi votre vie, même infinitésimalement.

Mais ce n’est pas exactement de ça dont je voulais vous parler.

Re-regardez bien tous ces portraits, aussi bien les hommes que les femmes. Deux d’entre eux apparaissent dans les deux genres :

Dans Eye of the Beholder, vos personnages peuvent avoir un aspect physique ne permettant pas de déduire si c’est un homme ou une femme. Appelez-ça comme vous voudrez : hermaphrodite, neutre, asexué(e), non-cis-genrifié-e, inclusi(fve), inclusifive, inclusisix, inclusiseven, …

Il est probable que l’intention initiale n’était rien de plus qu’augmenter artificiellement le panel de choix, sans nécessiter plus de travail pour les graphistes. Mais c’est là. On peut s’amuser à penser que ça ait hypothétiquement aidé quelques personnes à entrevoir plusieurs possibilités d’être.

En ce qui me concerne, ça m’a rappelé que je n’ai jamais vraiment joué aux jeux Eye of the Beholder 2 et 3. Faudrait que je trouve le temps de m’y mettre, même s’il paraît que le 3 est pourri.

Youhou !

Je vous laisse avec MechaLilith, en une not-so-related-pic.

Un jeu en PuzzleScript : Jesus Respawns

Un jour, j’ai eu une conversation avec un gamin (ouais, il m’arrive des trucs bizarres des fois). Il m’a dit : « je suis trop triste pour Jésus, parce qu’il est mort ».

J’aurais pu répondre que suivant sa logique, il aurait également dû être triste pour tous les autres humains officiellement considérés comme « gens bien » et qui sont morts depuis les derniers millénaires, mais j’ai décidé de faire simple. J’ai dit : « c’est pas grave, après il ressuscite. Il est un peu comme Mario Bros. Quand on perd la partie, on peut recommencer tout de suite après ».

D’oeuf-il-en-est-grille, je me suis retrouvé à créer un mini-jeu vidéo mettant en scène Jésus. On y retrouve une bonne partie de ses super-pouvoirs.

Le scénario tient en une seule phrase, mais qui vaut la peine, puisqu’elle comporte un jeu de mot : Jésus doit retrouver ses madeleines.

Ha ha ha ! Les madeleines-gâteaux et Madeleine la copine de Jésus. Jeux de mot ! Jeux de mot !

Vous pouvez y jouer ici (version française) .

Et ici (version anglaise) .

Le jeu de mot n’est pas présent dans le texte en anglais. Not my fault.

Ne vous attendez pas à des énigmes pointues et intéressantes. J’ai créé ce jeu pour proposer au gamin mentionné initialement une approche différente de la religion chrétienne. Parce que, honnêtement, le mec cloué sur sa croix en train de saigner, je trouve ça d’assez mauvais goût. Après on s’étonne que les enfants aient des pensées violentes dans la tête, et on dit : « c’est la faute aux jeux vidéos ». Eh bien non, pas forcément.

Un autre jeu avec Jésus dedans.

J’ai mis le code source sur mon github :  https://github.com/darkrecher/PuzzleSalad .

Vous y trouverez également un petit script en python, permettant de convertir des images en tiles PuzzleScript. Tout à l’arrache, pas documenté, débrouillez-vous ou foutez-vous en.

Jésus et ses potesses

Je vous ais déjà dit que j’aimais bien PuzzleScript ? Oui, je crois. Je vais essayer de m’investir plus dedans, à l’avenir.

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

Blarg sur Github

C’est le jeu que j’avais fait il y a quelques années. Il est maintenant disponible ici : https://github.com/darkrecher/Blarg.

Même que j’avais lancé une campagne de crowdfunding sur Ulule et j’avais gagné la mirobolesque somme de 50 euros. J’avais ensuite gagné un peu plus grâce à des dons généreux et totalement inattendus provenant d’une personne étrange, mais c’est une autre histoire.

Le jeu en lui-même n’a pas changé, c’est le même code source. Par contre j’ai tout bien documenté et rassemblé les données qui s’étaient éparpillées : articles, annonces, procédure pour générer les exécutables à partir du code, etc.

Il y a une doc de conception, car j’essaye d’en rédiger une pour chacun de mes « gros » projets. Pour celui-ci, elle est séparée en deux :

  • la doc à propos du jeu en lui-même,
  • la doc à propos du système d’interface (boutons, menus, etc).

Eh oui, j’avais presque réussi à créer une librairie d’interface graphique, réutilisable pour d’autres jeux. Mériterait-elle d’être reprise, modernisée et améliorée ? Je ne sais pas et de toutes façons j’ai tellement d’autres idées que celle-ci va probablement rester à l’abandon.

On peut même configurer les touches.

On peut même configurer les touches.

Et ensuite ?

Je suis en train de mettre dans github tous mes vieux trucs qui périclitent sur mes disques (disques durs et disques compacts, c’est vous dire la portée temporelle de cette fouille archéologique).

D’autre part, j’ai l’honneur de vous annoncer que mon twitter expressionotron a dépassé les 30 followers. Comme promis, je vais donc libérer son code source (la libération des listes de mots viendra plus tard, si j’ai encore plus de followers). J’en profiterais pour démochifier ledit code.

Bref, ça va bouger sur mon github dans les semaines qui viennent.

mappear_brouillon_5

Allez hop, pour fêter ça, image de femme ronde déguisée en magicienne (plus précisément en Elvira-Mistress-of-the-dark).

C'est une sorcière, donc une magicienne, donc ça colle avec le sujet de l'article.

C’est une sorcière, donc une magicienne, donc ça colle avec le sujet de l’article.

 

 

 

Kawax : mon appel à devenir un martyr de Candy Crush.

Historique

Il y a quelques années, après avoir terminé Blarg, je m’étais lancé dans la réalisation de Kawax. Un jeu vidéo, non pas de type match-3, mais de type « match sum(x) ».

Puis j’ai abandonné son développement pour un faisceau de raisons : le fameux « quotidien » dont on nous rebat les oreilles, le fait de m’être fait jeté comme un malpropre de ma mission d’ouvrier-codeur, le fait d’avoir jeté comme une malpropre la boîte à viande d’informaticien qui m’employait à cette époque, le code du jeu qui commençait à devenir un peu bordélique, etc.

Disgression : je continue de penser que dans l’ensemble, je code pas trop comme une porcasse, mais parallèlement, j’apprends d’autres techniques, ce qui me permet de me rendre compte que ce que j’ai fait dans le passé n’est pas toujours génial.

Ce n’est pas le premier projet que j’abandonne, et sûrement pas le dernier. Mon disque dur est rempli de petits avortons que j’ai désiré, rêvé, chéri et élevé pendant un certain temps, pour ensuite les laisser se refroidir et se figer tel des petits enfants trisomiques malformés qui auraient atterris chez les Courjault.

Bbabord

Seulement voilà, Kawax, j’y avais passé un certain temps (6 ou 7 mois), et le principe du jeu est relativement original. Ça m’embêtait de voir tout ce Travail non rentabilisé et ne me procurant pas la récompense de flattage d’ego que j’espérais au départ.

Juste pour voir, j’ai ressorti ce petit avorton de création de son congélateur. Il était bien mal en point. Si je l’avais lâché en l’état dans la nature difficile et impitoyable des œuvres vidéoludiques indépendantes, il n’aurait pas tenu 10 secondes, et aurait probablement fini asphyxié entre deux poubelles suite à une insuffisance pulmonaire, des vautours lui dévorant joyeusement les joues et les cuisses.

Alors je l’ai repris en main, je lui ai consacré un peu de mon temps et de mon amour, j’ai vissé des petites roulettes à la place de ses pieds atrophiés, et j’ai scotché quelques bouts de métal pointus à ses gencives. Ainsi, il pourra ramper avec ces substituts de dents, se défendre contre les vautours et espérer rester vivant plus d’une minute dans le monde extérieur.

Photo de la boîte de jeu, même si c'est un objet qu'existe pas.

Photo de la boîte de jeu, même si elle n’existe pas.

Récupérer le jeu

Je l’ai enregistré sur le site IndieDb. Vous pouvez télécharger l’exécutable Windows ici : http://www.indiedb.com/games/kawax/downloads/kawax-v01-for-pc

Et l’exécutable Mac OSX ici : http://www.indiedb.com/games/kawax/downloads/kawax-v01-for-mac

L’installation est assez simple : télécharger, décompresser le fichier, double-cliquer sur l’exécutable.

Lorsque le menu principal du jeu s’ouvre, appuyez sur la touche « 1 » pour démarrer le tutoriel.

Screenshot du tutoriel. C'est beau hein ?

Screenshot du tutoriel. C’est beau n’est-ce pas ?

Il n’est pas possible de revenir au menu principal après qu’une partie soit commencée. Pour tester un autre mode, il faut arrêter et relancer le jeu. Veuillez nous excuser pour ce désagrément.

J’ai mis tout le code source, les ressources graphiques, les sons, etc. sur mon github : https://github.com/darkrecher/Kawax

Le repository comporte une grosse doc de conception, décrivant comment j’ai structuré le code. Car même s’il est un peu bordélique, au moins, tout est décrit.

Je vous ai également fait cadeau d’un brouillon, regroupant les idées que je voulais mettre dans le jeu. J’avais imaginé une bonne quantité de variantes, d’objets, de super-pouvoirs, … N’hésitez pas à vous servir.

screenshot_indiedb_02

Ce que vous pourriez faire pour être gentils

Comme vous le savez, je suis constamment en recherche de flattage d’ego, voire de dons en brouzoufs. Je serais donc très heureux que vous fassiez une ou plusieurs des gentilles actions suivantes :

  • De base : télécharger et essayer le jeu.
  • Mettre une étoile sur mon repository github
  • Donner une note au jeu sur IndieDb. Même une pourrie, ce sera déjà ça. Pour l’instant, il n’y a aucune note.
  • Flattrer :

Bouton Flattr pour mon jeu Kawax

  • Me filer des bitcoins, ou une autre crypto-monnaie :
    • Bitcoin (BTC) : 12wF4PWLeVAoaU1ozD1cnQprSiKr6dYW1G
    • Litecoin (LTC) : LQfceQahHPwXS9ByKF8NtdT4TJeQoDWTaF
    • Dogecoin (Ð) : DKQUVP7on5K6stnLffKp3mHJor3nzYTLnS
    • Next (NXT) : 12693681966999686910

 

Cette dame boit du café, donc elle joue à Kawax.

Cette dame boit du café, donc elle joue à Kawax.

Et le rapport avec Candy Crush ?

Vous avez inévitablement entendu parler du jeu vidéo « Candy Crush Saga ». Ce que vous savez peut-être moins, c’est que King, la société éditrice de ce jeu, passe régulièrement pour une salope géante du patent trolling. Ses dirigeants sont suffisamment blindés contre l’auto-dérision et la prise de recul pour être capables de jouer sur les deux tableaux de la lame à double-tranchant du patent trolling :

C’est d’autant plus amusant qu’ils abandonnent systématiquement leurs charges après force procès endiablés, qui doivent certainement coûter plusieurs myions de brouzoufs comme tout procès endiablé qui se respecte.

Le monde n’a pu s’empêcher de réagir à ces abracadabrantesques pantalonnades, avec, par exemple, le site CandyJam (http:// itch.io/jam/candyjam).

Le King aime l'argent

Le King aime l’argent

C’est là où je me dis que se faire attaquer par King est une chance incroyable. Ça vous coûte au final pas grand-chose, puisqu’ils abandonnent à la fin, et vous passez pour le gentil menacé injustement par le grand méchant (David et Goliath, tout ça). Bref, devenir un martyr de Candy Crush et de la société King, c’est un énorme coup de pub.

Kawax s’apparente à un jeu de match-3, comme Candy Crush. Mais l’idée maîtresse de mon jeu, le fameux « match sum(x) », me semble assez originale. À ma connaissance, aucun autre jeu ne l’a exploitée. Je suis donc le candidat idéal pour me faire plagier par King.

Mon jeu est placé sous deux licences différentes, au choix : Licence Art Libre ou Creative-Commons-By. Le plus simple, pour reprendre mes idées, est d’utiliser la CC-BY. Il faut donc me citer, ce que King ne daignera bien évidemment pas faire. C’est là où, une fois de plus, la rocambolesque bataille d’avocats aura lieu, et je deviendrais célèbre tout en ayant une image de gentil.

Donc, annonce publique bien forte pour que tout le monde entende :

Vas-y King, viens plagier mon jeu. J’ai besoin de ton martyrisage.

En contrepartie, King, je suis prêt à racheter quelques-unes de tes actions pour t’aider à te remettre à flots en Bourse. Par contre je paye qu’en crypto-monnaie. Désolé c’est tout ce que j’ai.

Lisa Canon. Secrétaire sexy BBW.

Cette femme est une working girl, donc elle joue à Kawax.

Absolument rien à voir, mais à signaler quand même.

« KAWAX ?

Tu peux nous rappeler la définition de Kawax, Liliane ?

Oui t’as de très belles lettres dans ton mot mais la deuxième condition du scrabble c’est que ça veut dire quelque chose. »

Pierre Palmade

Merci à Josmiley de chez pygame, pour son commentaire qui, il faut le reconnaître, est plutôt pertinent. (http:// pygame.org/project/2916/#comment-1549266824)

Zut, maintenant Pierre Palmade va vouloir m’attaquer en justice pour usurpation de marque. Devenir un martyr de Pierre Palmade, c’est bankable ou pas ?

Blarg pour tout le monde

Salut les étrusques.

Ça y est, mon jeu vidéo s’offre à la vue, aux oreilles, au nez et à la bite de tous !

Blarg !

blarg screenshot 2.1

Les versions Windows et Mac, ainsi que le code source, sont téléchargeables gratuitement et librement ici : http://indiedb.com/games/blarg/downloads.

J’ai commis de nombreux articles au sujet de jeu, sur le site Ulule :

  • Quelques menus détails expliquant comment l’installer.
  • Ce que je compte faire de la montagne de dons pécuniers qui m’a été généreusement octroyé.
  • Des métriques de code bien débiles : nombre de fichiers, de lignes de programme, de commentaires, …
  • D’autres choses, incluant un dessin approximé au premier degré du mouton du Petit Prince.

Cette prolifération de blabla est intégralement consultable ici (http:// fr.ulule.com/blarg/news).

Je viens donc officiellement de terminer une quête principale qui me tenait à cœur, depuis un an. À savoir : [Créer un espèce de jeu vidéo]. En mode solo !

Qu’a apporté cette quête à ma fiche de personnage ?

TCG geek disgruntled GM

  • La compétence [programmation python & pygame] niveau 1.
  • L’achievement [auto-satisfaction pour avoir mené un gros projet de création artistique jusqu’au bout]. Je l’avais déjà gagné deux fois : ici et ici.
  • L’achievement [gagner du poignon autrement que par un boulot-alimentaire, sans vendre d’armes ni de drogues]. En effet, j’ai reçu 55 euros de dons de la part de connaissances plus ou moins proches : 50 euros via Ulule et 5 en liquide sous le manteau. Un grand merci à ces généreux donateurs. J’ai écrit, pour chacun de vous, des compliments plus ou moins personnalisés (http:// fr.ulule.com/blarg/comments/).
  • Le haut fait [réaliser tous les bruitages d’un jeu vidéo avec la voix]. Je compte le re-obtenir lors de quêtes ultérieures.
  • Quelques pourcentages dans le skill [dessin avec des logiciels super-pros tels que Paint ou Pixia]. Mais je ne compte pas le développer plus que ça. Je sous-traiterais les crafts qui y sont liés, en les proposant sous forme de quêtes annexes.

Quelques foirages de Pygame

Lors de ma quête, j’ai eu l’occasion d’harvester quelques bugs présents dans cette librairie pythonienne. Il y eut d’abord cette sombre histoire de dirty sprite, dont j’ai déjà parlé ici.

Bel exemple de dirty rect

Bel exemple de dirty rect

J’ai également relevé un couillage géant lors de la mise en plein-écran de résolutions exotiques, par exemple 400×300. Ce couillage peut varier diversement : affichage tourné à 90 degrés, curseur de souris décalé, …

Et pour finir, il y a des « schmürtzes » dans la variable event.unicode, censée contenir le caractère correspondant à la touche appuyée, pour laquelle l’événement « event » a été généré. (J’aime bien cette phrase, elle est alambiquée à rallonge. Par contre, désolé pour le mot « schmürtz ». C’est ringard, c’est le tic de langage d’un collègue,et  j’avais envie de lui piquer, gratuitement).

Ouais donc, cet event.unicode est censé gérer toutes les subtilités du clavier : diacritique, dispositions qwerty/azerty/autres, majuscules-minuscules, touches muettes pour activer les accents bizarres, etc.

Sauf que ça va pas toujours bien.

Le tout premier texte en unicode

Le tout premier texte en unicode

  • Sur Mac, certaines touches censées ne rien écrire (flèches de direction, F1, F2, …) ont un caractère dans leur event.unicode. Caractère non-imprimable, certes, mais présent.
  • A l’inverse, sur PC, le slash du pavé numérique donne un event.unicode vide, alors qu’il devrait valoir « / ».
  • Le changement qwerty/azerty ne fonctionne pas forcément bien. (Je ne sais plus trop les détails).

Tout ce bordel fera peut-être l’objet d’articles plus poussés, ou de rapport de bugs sur le site pygame.org. Mais c’est pas garanti, car :

  • j’ai la flemme
  • ces problèmes ne sont pas critiques
  • j’aime bien râler dans mon coin sans rien régler.

Bref, à part ces quelques schmürtzes, tout a globe-allemand bien fonctionné, et je réitérerais le même mode de fabrication, de demande de dons et de distribution, pour des œuvres futures (jeux vidéos ou autres). Faut juste que je me bouge le cul et que je m’y mette.

Oui tiens au fait, que va-t-il se passer ensuite ?

Pour commencer, je vais reprendre ce blog en main afin de le sortir de sa jachérisation. Je vous propose d’ailleurs de commencer tout de suite, avec des nichons dans un maillot de bain poilu.

Mya Jane Busty hairy top

Voilà. Ne me remerciez pas, c’est naturel.

Je vais également rattraper mon retard concernant les articles récapitulatifs d’articles de 42. J’ai 2 numéros à annoncer, hop hop, au boulot, feignasse de cerveau.

Je suis d’ailleurs toujours dans la fringante équipe de rédaction de ce webzine polysomique. Faut que je m’y replonge. Je voudrais pas m’éloigner de cette excroissance multirécidiviste du web.

Et comme vous vous en doutiez, j’ai un autre projet de jeu vidéo en cours d’élaboration. Ça s’intitulera « Kawax », et se sous-intitulera « Le stagiaire et la machine à café ». Pour l’instant je n’en dis pas plus, c’est ultra-secret.

giant coffee

Et maintenant, en route vers de nouvelles aventures !!

Du nouveau concernant des trucs pas intéressants ?

Oui ! Plein ! Au niveau de le mon super Travail d’ouvrier-codeur, j’ai appris, du jour au lendemain, que ma mission à Merluchon Corp se terminait.

Nan j’exagère, c’était pas du jour au lendemain, c’était de la semaine à la semaine suivante. J’ai juste eu le temps de faire mon pot de départ au Riesling.

Donc là présentement, il y a quelques chances que me sois offert un peu d’inter-contrat de glanderie, à coder des macros Visual Basic pour des besoins internes. (« Besoins internes » ne signifiant absolument pas : « je sens dans mon corps qu’il faut que j’aille faire caca »). Après, je risque de me re-taper de la grosse merde niveau transport. Exactement comme ce que je racontais ici-même, y’a deux ans.

Dans tous les cas, j’espère que mes prochains environnements de le Travail m’offriront la possibilité de vous éjaculer plein d’articles corporate.

(Et maintenant, en route vers de nouvelles aventures)-bis !!

Rocket Ranger 08813guili2

Allez me lire ailleurs !

Dans le cadre de ma campagne « Donnez-moi du pognon, j’ai créé un jeu », ce blog est momentanément jachérisé.

Mais ! Rassurez-vous, j’écris toujours des bêtises, afin de vous fournir vos doses régulières de Moi. Elles sont juste un clic plus loin.

Sur le site Ulule, j’ai ajouté des news à mon projet Blarg. Je vous invite donc à découvrir :

À part ça, j’ai écrit diverses turpitudes dans le dernier magazine 42. Je les listerais ici, plus tard. Vous pouvez aussi les trouver par vous-même, et lire les articles des autres gens, qui sont des humains assez fonctionnels.

Cependant, « jachérisation » ne doit pas signifier « absence de plaisir des yeux ». Voici donc quelques photos de la mignonne Rachel Aldana, avec et sans sa copine Denise Milani. Des femmes pas hyper-rondes, mais avec des formes comme j’aime bien. Et puis, l’un de mes amis ingénieur philosophe joueur d’échec le disait si bien : « tout cul tendu mérite son dû ».

rachel aldana denise milani

rachel aldana

J’ai créé un jeu. Donnez-moi votre argent !

Mon jeu s’appelle Blarg, c’est un shoot’em up en 2D. Il faut dégommer des magiciens avec un fusil à pompe. Tous les bruitages ont été fait à la bouche.

En échange de quelques piécettes, vous pourrez le récupérer en avant-première, avec en exclusivité le mode invincible. Vous donnez ce que vous voulez. Même 1 euro, c’est suffisant.

Vous pouvez aussi donner plus, pour avoir divers goodies : votre nom dans le générique, une version dédicacée, la possibilité de participer au contenu artistique du jeu en beuglant dans un micro, etc.

Pour contribuer, rendez-vous sur le beau site de crowdfunding Ulule. J’y ai mis une vidéo du jeu, des images, et toutes les explications nécessaires. C’est ici : http://fr.ulule.com/blarg/

La description et les news du projet vous apprendront une pléthorée de choses intéressantes :

  • Comment ce jeu va sauver les cerveaux des informaticiens.
  • Pourquoi suis-je aussi cupide, et pourquoi vous demande-je de l’argent.
  • Pourquoi les programmeurs de jeu doivent-ils lécher leur créations.
  • Le titre de ma prochaine œuvre.

Pour les impatients, je met la vidéo directement ici :

Ça vous a plus ? Alors vous savez ce qu’il vous reste à faire. Je remets le lien ici, comme ça vous n’avez même pas besoin de re-croucrouler vers le haut avec votre molette de souris. http://fr.ulule.com/blarg/

Je sais que c’est pas le jeu du siècle, mais j’étais tout seul à le faire. J’y ai vraiment passé beaucoup de temps : presque une année, à travailler 1h30 par jour, dans le bus qui m’emmène au boulot.

Je vous le dis, là, sincèrement, sans blagues, sans digressions débiles comme je fais d’habitude : faire des jeux vidéos, c’est mon projet de vie personnel, j’y crois et je m’accroche à cet idéal. Et j’aimerais vraiment savoir si mes créations intéressent un minimum de gens, si je dois continuer à y consacrer du temps, ou si je ferais mieux de tout laisser tomber pour des choses plus simples.

Des tas d’idées fourmillent dans ma tête. Je veux créer plein d’autres jeux originaux, amusants, bizarres, dérangeants… Mais pour cela, il me faut un tout petit peu d’encouragement, s’il vous plaît.

Voilà. Faites ce que vous voulez.

blarg screenshot death

Edit 2013-08-11 : Voici des images de femmes rondes. Ça manquait à l’article.

Jade, avec un shotgun (même si c’est pas vraiment un shotgun)

Jade 125Q

Et comme c’est un peu violent, en voici une toute douce pour contrebalancer, avec des feuilles d’épinards géantes (même si c’est pas vraiment des feuilles d’épinards géantes).

bbw spinach leaf