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.

Compte rendu du GamerELLA 2018

En fin de semaine, j'étais au gamejam Gamerella organisé par TAG Lab et Milieux et tous les gens cools de l'Université Concordia.

Gamerella est un gamejam qui encourage les femmes, les personnes non-binaires et les minorités diverses à venir faire des jeux! C'est probablement le gamejam le plus cool et chill que je connaisse. Y'a pas de pression! Zééééro compétitif! On arrive là le samedi matin, y'a des muffins et des croissants et du thé. Y'a une cabane en couvertures avec des coussins et un faux-feu!

La présentation d'ouverture était donnée par une dame vétérante de l'industrie du jeux de Montréal que je ne connaissais pas: Ann Lemay. Elle a travaillé chez Ubi, chez Warner et partout. Sa présentation était très personnelle et touchante. Elle nous a dit que c'était la première fois qu'elle donnait une présentation en public comme ça, étant de nature gênée, mais ça ne paraissait pas. Elle parlait comme une pro! Sa présentation couvrait son parcours et son vécu. C'était intéressant de voir comment l'industrie du jeu vidéo a commencé à Montréal et comment ça a affecté ceux qui étaient là dès le début. Elle nous a fait part de ses belles expériences, de pourquoi elle fait des jeux, mais aussi de ses moments difficiles, notamment les 2 fois qu'elle a failli quitter le domaine des jeux vidéo parce que c'était trop demandant, trop de pression, trop de stress et trop d'overtime. Elle nous a rappelé à quel point c'est important de dormir 8h par nuit (faut que je fasse très attention à ça moi-même!). Bref c'était vraiment une belle présentation. (Le vidéo devrait être en ligne prochainement)

Ensuite c'était le temps de faire les équipes! Tous les gens qui n'avaient pas d'équipe déjà (la majorité!) se sont rassemblés pour se présenter et trouver des points communs. J'ai joins Jess (vétérant des gamejams!) et on a "adopté" Catherine, qui était là pour son premier gamejam et faire son premier jeu.

J'ai oublié de dire: J'étais inscrit au jam comme participant, mais aussi comme mentor et aide. J'ai pu utiliser mon expérience avec Construct 2 pour aider plusieurs équipes avec leurs petits problèmes. Je ne m'attendais pas à aimer ça autant! C'est vraiment valorisant d'aider les gens avec leurs problèmes et leurs bogues.

Une équipe en particulier avait un problème ardu: faire un jeu vocal où il faut parler aux plantes pour les faire pousser. Ils étaient à l'étape de se demander comment faire ça. Est-ce possible "d'écouter" le micro avec Construct? Et en fait, qu'est-ce que ça veut dire "écouter" le micro? Avec eux, j'ai étalé les possibilités: vous pouvez lire la valeur de décibel du micro à chaque frame, ou vous pouvez aussi utiliser la reconnaissance vocale. C'est l'approche qu'on a essayé: transformer une reconnaissance vocale en plantes qui poussent. Ça n'a pas été facile; le plugin de reconnaissance vocale de Construct ne fonctionne pas comme les plugins de base de Construct, donc ce n'est pas facile à comprendre pour des débutants et donc surtout pour cette équipe qui venait toujours de débuter avec Construct le matin même! Mais elles ont réussis! J'ai joué leur jeu à la fin et c'était très cool! La reconnaissance vocale fonctionnait très bien et on arrivait à faire pousser les 3 plantes. C'était probablement mon jeu préféré du jam!

De mon côté, entre les moments où j'aidais tout le monde, j'ai pu travailler sur notre jeu avec Jess et Catherine. C'est Jess qui codait, Cath qui écrivait et moi j'ai fait des animations, aidé un peu pour la logique, le balancing et ce genre de chose. Encore une fois, j'ai regretté de ne pas être arrivé au jam avec une installation git déjà faite. Faut vraiment que j'y pense pour le prochain! -_-

Our tamagotchi game where you take care of a little worker. #GAMERella pic.twitter.com/68APluQCW7

— narF (@narF_snw) 11 novembre 2018

Anyway, c'était vraiment cool comme jam. Gros merci aux organisatrice Gina et Liane et tous les bénévoles. Vous devriez venir l'année prochaine avec votre mère, vos soeurs, et vos amies!

Quelques liens:

2 semaines au Critical Hit Parallax 2018

Il y a un mois, Gina du TAG Lab de Concordia m'a contacté pour me demander si je voulais participer à Critical Hit Parallax: 2 semaines de game jam. Ça avait l'air très cool mais, soyons honnêtes: c'est sûr que ma job me laissera pas prendre 2 semaines de congés aussi proche d'une milestone importante...

5 minutes après avoir demandé mon congé dans le système de la compagnie, j'avais pas un mais bien 2 boss à mon bureau pour me parler.

Ouch! C'est sûr qu'ils vont me dire que je peux pas prendre congé ces semaines là…

«En passant, c'est correct pour ton congé.»

Niiice! J'ai donc dit à Gina que j'allais pouvoir participer!

Critical Hit, à chaque fois que je dois expliquer ce que c'est, j'ai ben de la misère. C'est un peu comme un camp d'été, mais au lieu de faire de la piscine ou des sports, on fait des jeux et on apprend à faire des jeux auprès de gens inspirants.

Cette année, l'événement était particulier parce que la plupart des participants étaient des étudiants universitaires chinois en voyage d'étude. Ce qui était cool c'est qu'ils venaient tous de domaines variés: programmation et design de jeux mais aussi architecture, design industriel, banques, ingénierie, design vestimentaire, sciences sociales, etc. Le point commun était qu'on avait tous un intérêt pour les jeux vidéo et apprendre comment en créer.

Oh et aussi, on avait tous en commun que l'anglais était une langue seconde! Il fallait donc tous être patients pour communiquer! Mais pour moi qui a un intérêt secret pour écouter des langues que je ne comprends pas, ou écouter les gens parler avec des accents cutes, c'était génial!

La première des 2 semaines du camp avait pour but de casser nos attentes sur c'est quoi un jeu. Quand on parle de jeux, les gens pensent toujours aux mêmes trucs: les jeux triples-A, les gros blockbusters, les jeux de plateformes, Mario, etc. Mais vous le savez, c'est tellement plus que ça! Alors on a joué à des jeux indies bizarres, des jeux multijoueurs-sofa, des expériences artistiques, des jeux physiques sans écrans où il faut bouger, etc. Je ne connaît pas de meilleurs endroits pour élargir nos horizons ludique qu'auprès des experts du Tag Lab!

Dès la première journée, on a eu pour mandat de créer un petit jeu extérieur. Le genre de jeux pour faire bouger les enfants dans les camps de jours. On a réussi à passer à travers de toutes les étapes de création d'un jeu: l'idée de départ, la vision générale, l'élaboration des règles, le playtesting, le raffinement et la version finale. Tout ça en moins de 2 heures! C'était une bonne manière de briser la glace et de commencer à penser en mode "game design".

Le vendredi, c'était un mini gamejam d'une journée. Genre 7 heures! On avait formé les équipes et brainstormé des idées la veille donc ça a commencé smooth. Notre équipe, on voulait faire un jeu d'allergies où les dizaines de mouchoirs utilisés pour se moucher peuvent être utilisées pour faire des plateformes ou boucher des trous. Au fil du brainstorm, l'idée est devenu un duel 2 joueurs pour se lancer des mouchoirs sales et faire des points. Quand est venu le temps de coder ça, on n'était pas trop sûr de comment faire, mais on a quand même rapidement codé les mécaniques de bases. On jouait à notre petit cossin presque-jeu tout brisé et on riait. La meilleure feature était un chat chaotique qui sautait partout et augmentait le pouvoir d'allergie des joueurs. Évidemment, tout ne va pas comme prévu dans un gamejam, surtout un aussi court. On a eu beaucoup de problèmes de merge et perdu presque 2 heures de travail. On a dû refaire plein de trucs à la dernier seconde. Bref c'était génial!

La semaine suivante, c'était le vrai challenge. Après un jam d'une journée, c'était un jam de 4 jours. Presque toute une semaine!! Qu'est-ce qu'on va faire avec autant de temps?! On pourrait faire 4 jeux! (Non, on n'a pas fait 4 jeux!?)

Notre équipe a décidé de faire un jeu qui recrée l'expérience d'apprendre à faire du vélo. On voulait que ce soit vraiment difficile de diriger le vélo et de maintenir l'équilibre en même temps. Mais au delà du jeu lui-même, on a décidé qu'on voulait sortir des nos zones de confort et apprendre des nouvelles habiletés. Les 2 filles voulaient voir si elles seraient capable de coder le jeu, de faire un personnage en 3D et de jouer avec les shaders. Les 2 autres gars voulait faire du level design et faire un contrôleur physique plutôt qu'utiliser une manette ou le clavier. Moi je voulait apprendre des nouvelles choses avec Unity.

Alors c'est ça qu'on a fait! On aurait pu choisir le chemin facile et faire des choses qu'on savait comment les faire. Mais on a choisi le chemin difficile et incertain. On savait qu'on allait pas avoir le meilleur jeu, mais on allait avoir appris en le faisant.

Au final, aucune de nos inquiétude ne s'est concrétisées. On avait un jeu génial, quoique peut être un peu trop difficile, avec des graphismes colorés et une ambiance cocasse. On a utilisé un tapis de DDR pour simuler les pédales du vélo et forcer le joueur à faire des mouvements ridicules. Tous les objectifs qu'on s'était fixés, on les a atteint. C'est quand même impressionnant! Et je suis fier de dire qu'on a réussi tout ça sans faire plein de temps supplémentaire ou de nuits blanches. Un bon petit gamejam relax comme je les aime.

Le jeudi soir, c'était la soirée playtests et célébrations. On a sorti nos jeux dehors sur la terrasse au 11ème étage de l'université, avec vue sur le centre ville. TAG Lab avait invité plein de gens à venir essayer nos jeux. C'était la première fois que j'ai levé le nez de mon écran pour aller voir ce que les autres équipes avaient fait. Y'avait plein de jeux cools et variés. Ce fut une belle manière de conclure la semaine de jam.

En terminant, je veux revenir sur un truc qui s'est passé durant les 2 semaines du camp. C'est embarrassant à avouer, mais j'ai réalisé au début des activités que j'avais un certain nombre de préjugés négatifs envers les chinois, incrusté malgré moi par les médias nord américains qui les présentent comme un peuple robotique ou opprimé par les dirigeants dictatoriaux. Ce que j'ai réalisé au fil du camp, c'est que la réalité est évidemment complètement différente. Les étudiants étaient allumés, passionnés, motivés et créatifs. Si ce n'était de la barrière de la langue, on ne ferait pas de différence. Je suis gêné d'avouer que j'avais malgré moi ces préjugés négatifs inavoués. Je suis content que l'activité m'a fait voir mes propres préjugés et m'a aidé à m'en débarrasser! En fait, je sais même pas pourquoi ça me surprend: on est tous humains et on aimes tous les jeux! Même si on habitde de l'autre côté de la planète.

(Désolé pour la conclusion cheezy!) ?

Mime-o-vision: jeu co-op de mime!

Au Global Game Jam, en janvier, j'ai créé un jeu avec Kenny Backus et Geoffrey Cooper. Ça s'appelle Mime-O-Vision!

Il s'agit d'un jeu co-op pour 2 joueurs. Chaque joueur a un écran différent. Le premier joueur a les contrôles (clavier+souris) mais ne peut pas voir les obstacles. Le deuxième joueur n'a pas de contrôle mais voit les pièges. Les joueurs doivent donc communiquer pour progresser. La pogne? C'est interdit de parler! Il faut mimer!

Vous pouvez télécharger le jeu pour Mac, PC ou Linux.
Pour jouer, vous aurez besoin d'un deuxième joueur ainsi que d'un 2ème écran sur votre ordi. Les écrans doivent être placés dos à dos. Vous devez ensuite étirer la fenêtre du jeu pour couvrir les 2 écrans, de sorte à ce que le joueur 1 voit la partie gauche et le joueur 2 (le mime!) voit la partie droite.

Développement
Le développement durant le jam a vraiment bien été. C'était la première fois qu'on travaillait ensemble Kenny, Geoffrey et moi, et il n'y eu aucune complications. Kenny a été capable de rapidement produire un prototype et de coder les mécaniques importantes. Ça veut dire que le samedi matin, j'ai été en mesure de faire un petit level pour tester et amener des playtesteurs pour essayer ça. On a donc rapidement pu voir quelles mécaniques fonctionnaient bien et quelles ne fonctionnaient pas. Et c'était aussi vraiment drôle! Le fait qu'on oblige les gens à mimer rend chaque partie hilarante et unique, car chaque personne développe un "langage" de mime différent.

Ce jeu m'a aussi permis de récolter la plus grande collection de vidéos drôles!

Et pourtant, on n'utilise même pas la Kinect!

Au final, on a reçu la mention "Gold" de la part des juges. On a aussi été mentionné sur le site Free Indie Games!

Un Nez de Clown au TOJam

En fin de semaine passé, j'étais à un AUTRE gamejam, cette fois-ci le Toronto Gamejam (TOJam).

J'y allais avec plusieurs gens de la gang du MRGS. On a formé quelques équipes de gens de Montréal pour essayer d'impressionner les jammers indies de Toronto. L'objectif: faire un jeu en moins de 3 jours!

Est-ce que ça a marché? Pas vraiment… Du moins, pas dans mon cas. L'équipe dans laquelle j'étais a genre… explosé! On s'est donc séparés dans d'autres équipes. De mon côté, j'ai choisi de faire un jeu en solo, principalement dans l'optique d'apprendre comment fonctionne le CSS et les trucs de web. Sur ce point, succès!

Mais au lieu de vous raconter cette fabuleuse histoire moi-même, je vais plutôt vous la faire vivre. En effet, le jeu que j'ai créé sur place à Toronto parle de… nos aventures à Toronto!

Le jeu s'appelle Un Nez de Clown au TOJam. C'est niaiseux, remplis d'inside-jokes et ça se joue en 5 minutes. Oh et il y a même un jeu dans le jeu! 😛