J’ai récemment participé à la Juniper very serious game jam et sur les 3510 jeux, va savoir comment, je me suis retrouvé #1 dans la catégorie Enjoyment et #36 sur le classement général. J’ai aussi eu le plaisir de gagner le prix du Best Web Game attribué par CrazyGames qui était sponsor de la jam.
Le tout avec un jeu un peu bancal que je me suis bien amusé à développer: Rocky rocket
Rocky rocket, c’est un platformer 2D basé sur la physique, où on contrôle un petit personnage (un astronaute ou robot avec de l’imagination). Il est composé de deux parties distinctes, une tête (la boule blanche) qui glisse sans friction et un corps (le carré rouge, oui ben j’ai dit de l’imagination) qui, lui, accroche à tout.

Ca fait longtemps que je voulais développer ce qui est pour moi la suite spirituelle de Six Bit mais sans les armes à feu.

Dans plusieurs niveaux de Six Bit, j’aimais bien l’idée qu’on puisse se déplacer en glissant sur des flaques de pétrole. C’est ce qui m’a donné l’idée de ce double contrôleur (glissant/accrochant)
Pour les déplacements, j’ai remplacé le tir par deux nouvelles mécaniques:
- le plunge ou la possibilité de se rendre plus lourd, pour accélérer la chute et gagner de la vitesse.
- un jetpack, pour plus de mobilité.
J’avais une idée tellement claire du jeu quand j’ai commencé la game jam, que je me suis vite retrouvé avec deux/trois niveaux fonctionnels. Des niveaux simples, pour comprendre les mécaniques du jeu. J’ai exporté une version du prototype et je l’ai fait tester à mon entourage pour avoir un premier retour.

Entre les observations pendant le playtest, et les retours que j’ai eus. Le verdict était simple: « euh oui pourquoi pas, mais c’est surtout incompréhensible et difficile. »
C’est un peu la douche froide, les joueurs passent plus de temps bloqués dans un creux à essayer d’en sortir que de faire de belles runs bien fluides comme celles que j’attendais. Et du coup, ben, ça semble juste pas vraiment marrant de jouer.
Onboarding
Bon comme j’avais mis en place le prototype assez vite, j’avais encore beaucoup de temps pour rectifier le tir.
Et le premier souci que je devais régler, c’était de faire comprendre aux joueurs les possibilités de mouvements. En même temps, je ne les leur avais jamais enseignées. Dans ce premier playtest, personne n’utilisait ni la physique du contrôleur, ni la mécanique du plunge (s’alourdir). Les joueurs se focalisaient uniquement sur le jetpack, et comme il est limité dans son utilisation, ça rendait le jeu saccadé et pénible.
Donc j’ai fait des nouveaux niveaux en guise de tutoriel. Ultra simples pour ne pas brouiller les pistes et contrôler ce que je voulais apprendre au joueur. J’ai enlevé toutes les mécaniques avancées, pour qu’on puisse se familiariser avec les bases du jeu.


Dans le premier niveau par exemple, il n’y a rien d’autre à faire que glisser. Au pire, on va ralentir si on ne reste pas sur la tête et ce sera tant mieux, ça expliquera en avance ce qu’on attend de nous au niveau 2: Utiliser le corps du personnage pour se déplacer.
Par contre, un nouveau « problème » vient d’émerger. C’est plus fun sans le jetpack je crois.
Les 4 Fs
Les 4 Fs c’est pour Fail fast & follow the fun, pour comprendre un peu plus le concept si vous connaissez pas, Game Maker’s Toolkit en parle très bien dans une de ses vidéos : The games that designed themselves
Bon du coup, pour le fail, ça va, c’était effectivement assez fast. Reste plus qu’à follow the fun. Et là, vraiment sur ces premiers niveaux, le contrôleur prend tout son sens. Je me retrouve à passer bien trop longtemps à optimiser mon trajet, faire des sauts contrôlés, découvrir des stratégies marrantes auxquelles je n’avais pas songé une seconde.
Et donc je passe les 2 jours suivant à créer une dizaine de niveaux sans jetpack et souvent même sans plunge, qui en plus d’être funs, permettent vraiment de comprendre la logique du jeu et d’apprendre au fil des niveaux à mieux gérer le contrôleur.

Au final, l’onboarding n’est plus un simple tutoriel d’explication, mais une vraie partie de mon jeu, aussi fun que quand on se retrouve avec toutes les mécaniques.
Une fois terminé, j’exporte une nouvelle fois le jeu, je l’envoie à mes habitués. Et puis plus de réponses. Mais ! Après quelques heures, je regarde le leaderboard sur chaque niveau, je vois que je ne suis plus premier nulle part. 🥲 J’imagine qu’ils ont mieux compris le jeu.
Ces premiers niveaux « simples » qui n’avaient pas eu de succès, seront juste les plus durs dans la version finale du jeu. Je ne les ai même pas modifiés. C’est juste le contexte autour qui a changé et qui les a rendus intéressants. Ça m’a également permis d’éviter de tomber dans le piège classique de développer un jeu trop dur, pour des gens qui ont 5min à m’accorder, pendant qu’ils testent 50 autres jeux à la suite.
Dans la vidéo youtube de Juniper, quand elle présente mon jeu, elle parle d’ailleurs du jetpack comme d’un élément léger, ajouter dans les derniers niveaux pour amener un petit twist. C’est fou de se dire après coup que c’était le cœur du jeu au départ.
Si vous voulez tester le jeu c’est ici:
Rocky rocket by godDonutSpin, wiggle, plunge, jetpack your way through all the levels in this physics 2D platformerBonus :
Pour en savoir plus sur l’onboarding, je vous conseille de suivre globalement ce que fait WTF’UX. Elle est UX designeuse et en parle régulièrement, son contenu est super quali. Et si jamais vous voulez en savoir vraiment plus, genre tout de suite, ça tombe bien, elle a fait une conférence d’une heure sur le sujet : UX & Onboarding
Si vous voulez découvrir mes jeux préférés de cette game jam, je viens de faire un article également sur mes jeux préférés de la Juniper very serious game jam. Comme ça vous pourrez vous faire votre propre idée sur à quel point je devrais ou pas être premier en enjoyment.