Mise à jour invisible pour Lightbot

Dans la ligné "narF aime ça travailler pour rien", je pense que je viens de battre un record. Je viens de sortir un update pour Lightbot sur lequel je travaille depuis genre 8 mois. Et la beauté de cet update, c'est qu'il est entièrement invisible pour les joueurs. Mais derrière le rideau, à peu prêt tout le code a été réécrit.

Une mise à jour complètement invisible pour un jeu complètement sans gameplay!

Un exemple d'image créé par Lightbot.

Grosso modo, ce que j'ai fait, c'est que j'ai changé de librairie. Avant j'utilisais discord.io, où il fallait tout faire à la main, et maintenant j'utilise discord.js, qui est beaucoup plus stable. Ça vient aussi avec commando pour la gestion des commandes. Genre ça permet de faire des trucs plus complexe avec les commandes.

Un exemple d'image créé par Lightbot.

On s'entend, c'est surtout un changement pour le futur. Et quand je dis "futur", je veux probablement dire "peut-être... ou peut-être jamais". I guess que c'était surtout un exercice d'apprentissage. Le code est quand même plus modulaire maintenant. J'aimerais transformer le jeu en bot pour Mastodon (et peut-être twitter? Ou Slack?)

Il y a une certaine beauté à travailler sur quelque chose de futile de manière compulsive. Comme les gens qui font des châteaux de sable. D'ailleurs, cette semaine, je pense aller à un mini gamejam où le "thème" c'est qu'on doit tout effacer ce qu'on a créé à la fin du jam. J'y vois une belle occasion d'apprendre un nouvel outil. Les objets créés disparaissent, mais les apprentissages restent!

Ça ressemble pas mal à 8 mois de travail invisible ça, non?

Oh well. Au moins ça me garde occupé. Ça me fait du bien.

Mise à jour invisible pour Lightbot

Dans la ligné "narF aime ça travailler pour rien", je pense que je viens de battre un record. Je viens de sortir un update pour Lightbot sur lequel je travaille depuis genre 8 mois. Et la beauté de cet update, c'est qu'il est entièrement invisible pour les joueurs. Mais derrière le rideau, à peu prêt tout le code a été réécrit.

Une mise à jour complètement invisible pour un jeu complètement sans gameplay!

Grosso modo, ce que j'ai fait, c'est que j'ai changé de librairie. Avant j'utilisais discord.io, où il fallait tout faire à la main, et maintenant j'utilise discord.js, qui est beaucoup plus stable. Ça vient aussi avec la librairie commando pour la gestion des commandes. Genre ça permet de faire des trucs plus complexe avec les commandes sans que j'aie besoin d'écrire plein de code pour faire ça.

On s'entend, c'est surtout un changement pour le futur. Et quand je dis "futur", je veux dire "peut-être... ou peut-être jamais". I guess que c'était surtout un exercice d'apprentissage. Le code est quand même plus modulaire maintenant. J'aimerais transformer le jeu en bot pour Mastodon (et peut-être twitter? Ou Slack?) et les changements que j'ai fait sont un pas dans cette direction.

Il y a aussi une certaine beauté à travailler sur quelque chose de futile de manière compulsive. Comme les gens qui font des châteaux de sable. D'ailleurs, cette semaine, je pense aller à un mini gamejam où le "thème" c'est qu'on doit tout effacer ce qu'on a créé à la fin du jam. J'y vois une belle occasion d'apprendre un nouvel outil. Les objets créés disparaissent, mais les apprentissages restent!

Ça ressemble pas mal à 8 mois de travail invisible ça, non?

Oh well. Au moins ça me garde occupé. Ça me fait du bien.

Si ça vous intrigue, le projet est open source. Vous pouvez héberger le bot vous-même. Code Source sur git. Ou vous pouvez aller sur Discord pour l'essayer.

Light game et Lightbot

À Noël passé, comme je fais souvent durant mes vacances, j'ai fait un petit jeu. D'habitude c'est un jeu que j'offre en cadeau, mais cette année, j'ai fait un jeu que y'a juste moi qui trouvait intéressant.

Light game

Light game est une décoration de bureau que vous pouvez laisser ouvert. À chaque 5 minutes, il génère une nouvelle image. Parfois, rarement, l'écran s'illumine et vous pouvez cliquer pour faire évoluer votre image.

Si vous trouvez que ça a l'air plate, c'est normal. Personne d'autre que moi a trouvé ça intéressant jusqu'à maintenant!

Si ça vous semble intéressant (dites-le moi, je vais être content!), vous pouvez le jouer online ici: https://narf.itch.io/light-game. Il y a aussi des version téléchargeables pour windows, mac et linux.

Pour ceux qui se demandent, le jeu a été fait avec Construct 2, un engin pour faire des jeux qui est très facile à apprendre et quand même très puissant.

Lightbot

Dans les dernier mois, j'ai travaillé sur une version alternative. Lightbot est un bot Discord qui permet de jouer à Light game. Pour ceux qui ignore, Discord est une application de chatt et de chatrooms. En entrant une commande !light, le bot génère votre image et l'envoie dans la chatroom.

Le bot amène donc un aspect social: tous les lecteurs de la chatroom peuvent voir votre image. Et le système de niveaux fait que les gens se font la course pour se rendre le plus haut. Ce que je trouve le plus cool, c'est quand les gens essayent de voir des choses dans les pixels carrés aléatoires du bot. Les gens ont certainement beaucoup d'imagination!

Si vous voulez jouer avec lightbot, vous avez 2 options. La première option est de joindre soit le serveur Lightbot ou le serveur de On a juste une vie. L'autre option, si vous avez un serveur discord, est d'inviter Lightbot sur votre serveur avec ce lien d'invitation (Note: il faut être admin du serveur. Si ce n'est pas le cas, donnez le lien à vos admins!)

Détail amusant, le bot roule sur un Raspberry Pi, un ordinateur tout petit et peu cher (~30-50$) qui roule Linux Debian et qu'on peut hacker et gosser avec. Mon Pi repose dans une bibliothèque avec seulement un cable d'alimentation et un cable internet. Le bot lui-même est codé en javascript et roule dans Node.js, surveillé par un daemon PM2 pour le relancer quand il crash.

Apprendre le javascript et à travailler avec linux a certainement été un défi pour moi. J'ai fait peu de javascript dans ma vie et j'ai presque pas utilisé linux avant. Alors j'ai définitivement appris plein de trucs avec ce projet! C'est cool.

Le futur

Dans le futur, j'aimerais continuer à améliorer Lightbot, en particulier pour rendre le code plus modulaire. Éventuellement, ça me permettrait de le porter sur d'autres platformes (ex: Twitter, Mastodon, Slack, etc). J'aimerais aussi aider les gens qui veulent héberger leur propre instance du bot. Et bien sûr, faire d'autres bots cools! J'ai certainement plein d'idées pour ça!