Ma première game jam ! (Ludum Dare 43)
Il y a quelques mois je prenais part à la Ludum Dare 43, c’était ma première participation à une Game Jam, l’occasion pour moi de revenir sur cette expérience.
La préparation
Comme chaque première fois, c’est un peu difficile de se lancer. On a envie, on hésite, on se tate, on se renseigne, on observe puis on se dit que ce n’est pas pour cette fois, mais la prochaîne on participera, c’est sûr ! C’est normal d’avoir peur de l’échec, puis au final on se dit qu’au pire on aura juste perdu un week-end, alors c’est décidé, je participerai à la prochaine Ludum Dare ! Mais bon, je n’ai pas envie de me planter, faut pas déconner quand même, alors je me prépare à affronter cette épreuve…
Les retours d’expérience
Comme vous le savez certainement déjà, on apprend de ces erreurs, mais saviez vous que l’on peut également apprendre de celles des autre ? Hé oui, quelle meilleure façon d’appréhender cet évènement qu’en lisant les retours d’expérience de ceux qui l’ont déjà fait !
Les post-mortems sont légions sur les blogs de développeurs (vous êtes même en train d’en lire un) et vous prodigueront de précieux conseils. Certains peuvent sembler absurdes, comme quand on vous conseille de manger et dormir, mais prennent tout leur sens quand on réalise que l’on n’a qu’une poignée d’heures pour réaliser un jeu de A à Z.
L’un des conseils qui revient souvent est “think small, iterate”, et je trouve que c’est un excellent conseil. Commencez petit, ne voyez pas votre jeu comme un tout sinon vous obtiendrez assurément un rien. Réalisez rapidement quelque chose qui marche, même s’il s’agit uniquement de déplacer un personnage matérialisé par un simple rectangle, puis ajoutez petit à petit les différents éléments de votre jeu. Cela vous libère déjà de la pression du temps, même si c’est moche, court et buggé, vous avez déjà quelque chose de jouable en l’état qui peut être publié. Cela est aussi bien meilleur pour le moral, vous voyez les améliorations que vous apportez à chaque itération ce qui est encourageant pour la suite.
Pourquoi la Ludum Dare ?
Des game jams il y en a des dizaines chaque semaine, certaines ont lieu en ligne, d’autres prennent place IRL, certaines sont orientées sur un thème spécifique, ou un moteur de jeu, d’autres sont plus généralistes, toutes de différentes durée et avec des règles différentes. L’important est de trouver celle qui vous correspond et avec laquelle vous serez le plus à l’aise.
En ce qui me concerne mon choix s’est porté sur la Ludum Dare (dans la catégorie compo) pour les raisons suivantes :
- Ça ne dure que 48 heures, je n’ai pas énormément de temps à y consacrer, donc la limite me permet de ne pas être pénalisé par rapport aux personnes qui auraient plus de temps libre en semaine.
- Ça se fait en solo, premièrement je ne connais personne avec qui j’aurais pu faire équipe, et je n’étais pas assez confiant dans mes capacités pour être sûr de ne pas pénaliser mon équipe.
- Il faut tout créer pendant la jam (code, graphismes, audio). Pas forcément un avantage pour moi mais ça m’oblige à toucher un peu à toutes les parties du développement d’un jeu ce qui permet d’apprendre énormément.
- C’est une game jam prestigieuse : loin de moi l’idée de minimiser l’importance des autres game jams, mais la Ludum Dare c’est la jam qui a vu naître des jeux comme Titan Souls, Mini Metro, Gods Will Be Watching ou encore Evoland. Bref ça fait réver et ça donne envie de participer.
Le choix des armes
Vous savez comme il peut être difficile d’apprendre comment utiliser un nouveau logiciel ou un langage de programmation ! Ce n’est certainement pas une très bonne idée d’attendre le début de la jam pour apprendre sur le tas. C’est quand même beaucoup plus confortable quand on est un minimum à l’aise avec les logiciels que l’on va utiliser, en particulier si on en utilise plusieurs différents pour créer la musique et les graphismes en plus moteur de jeu. Pas la peine de passer des jours dessus, mais faire un ou deux tutos basiques pour comprendre un peu comment ça marche est déjà un énorme plus.
Pour ma part, même si j’ai plus l’habitude d’utiliser le combo Aseprite ou Inkscape + Godot Engine, dans le cadre d’une Game Jam j’ai préféré utiliser Pico-8 pour diverses raisons.
Pico-8 c’est une console virtuelle, c’est à dire une console qui n’a jamais existé mais avec des limitations techniques bien spécifiques, inspirées des consoles 8 bits de l’époque.
Pico-8 c’est également un logiciel qui intègre tous les outils nécessaires à la création d’un jeu : code, graphismes, tilemap, musique et bruitages.
Et ce sont justement ces deux points qui m’ont poussé à choisir Pico-8 pour créer mon jeu de jam :
- Le fait que tout se fasse dans un seul et même logiciel évite de perdre du temps à exporter les images/sons depuis d’autres logiciels pour les importer dans le moteur de jeu.
- Les limitations techniques évitent de trop se disperser et de se concentrer sur le jeu lui même :
- l’écran est limité à 128x128 pixels, ce qui simplifie tous les calculs que l’on devra faire dans le code, et permet de s’assurer que tous les joueurs auront la même expérience de jeu, quelle que soit leur résolution d’écran
- seulement 16 couleurs disponibles, pas de temps perdu à savoir quelle nuance de bleu utiliser pour le ciel vu qu’il n’y a qu’un bleu !
- idem pour les bruitages, on se limite aux bip blops des jeux de notre enfance et c’est très bien comme ça ! (à condition d’aimer le style rétro bien sûr)
Pico-8 à quand même un gros désavantage quand on débute : il faut tout coder soi même ! Alors que la plupart des moteurs de jeux permettent de créer des jeux par simple glisser déposer avec quelques lignes de scripts, ici il faut tout gérer à la main : l’affichage, l’animation, le moteur physique, etc.
La game jam
Ça y est, c’est parti, le thème a été donné, la game jam a commencé, c’est le moment de paniquer !
Le type de jeu
Le thème de la Ludum Dare 43 était “Sacrifices must be made”, j’ai rapidement eu l’idée d’un jeu de plateforme où l’on devrait sacrifier une vie de son personnage afin d’utiliser son cadavre comme plateforme pour avancer. Je commence à faire des croquis des mécaniques que je trouve intéressantes, puis je me lance dans le développement.

Assez rapidement je me rends compte d’un petit détail, je n’ai jamais fait de jeu de plateforme auparavant ! C’est bête mais ça ne m’est même pas venu à l’esprit qu’il serait plus simple de rester sur un genre de jeu que je connais. Je décide tout de même de rester sur mon idée de base, voilà donc que je dois gérer les collisions, la gravité, le saut, etc. Rien d’insurmontable avec quelques recherches Google, après une poignée d’heures je parviens à obtenir quelque chose bourré de bug mais tout de même jouable. Je commence alors à créer les premiers niveaux du jeu avec l’éditeur de tilemap de Pico-8.

Les graphismes
Il faut l’avouer, je ne suis pas doué pour la création graphique et l’animation, je commence donc par créer rapidement les sprites du personnage, des plates-formes et des ennemis. Un fond bleu pour faire le ciel, un carré blanc pour représenter la sortie du niveau, et on verra plus tard pour les animations si j’ai le temps.

Le son
Il faut l’avouer, je ne suis pas doué pour la composition musicale, si j’arrive à peu près à aligner quelques pixels pour représenter quelque chose, composer une musique est une toute autre paire de manche. Je savais déjà avant la jam que mon jeu n’aurait pas de musique, seulement des bruitages.
Le sprint final
Nous sommes dimanche après midi, il reste quelques heures avant la fin de la jam, il est temps d’arrêter d’ajouter des mécaniques de jeu ou des niveaux pour peaufiner ce que l’on a afin de le soumettre à temps.
C’est tout d’abord l’occasion de corriger les bugs les plus gênants. S’il n’est pas indispensable qu’un jeu de jam soit totalement exempt de bugs, c’est tout de même appréciable que la plupart des joueurs puissent terminer le jeu sans que ce dernier crash sans arrêt ou que son personnage finisse bloqué dans un mur l’obligeant à recommencer.
S’il reste un peu de temps c’est également le moment pour améliorer ce qui peut l’être, affiner les graphismes, ajouter quelques animations, bruitages ou musique. Pour ma part, après avoir essayé en vain d’animer le personnage j’ai décidé d’animer plutôt le décor. Tout d’abord le rectangle de sortie de niveau, dont je fais varier la taille et la couleur pour lui donner un petit effet de warp zone. Ensuite j’ajoute des nuages dans le ciel du premier monde et des particules de laves dans le second afin de donner un peu plus de vie à tout ça.

Enfin vient le moment de soumettre notre jeu sur le site. On upload tout ça sur itch.io, on vérifie que tout fonctionne correctement, puis on envoie le lien sur le site de la Ludum Dare avec un image, dans mon cas ce sera un simple screenshot du jeu, et une petite description.
Voilà qui est fait, il est temps de dormir maintenant…
L’après Game Jam
La Ludum Dare c’est 48 heures pour créer un jeu, mais la Ludum Dare c’est aussi un mois pour tester et noter les jeux des autres participants, c’est à la fois intéressant de voir les idées qu’ont eu les autres sur le même thème, les retours des joueurs sur son propre jeu, mais c’est également utile quand on débute pour découvrir les logiciels utilisés par les uns les autres.
Mais comment font-ils ?
En jouant à certains jeux des autres participants je suis étonné de la qualité globale de ceux-ci, il y a certe des gens extrèmement talentueux, mais comment est-il possible pour une seule personne de faire jeu, graphisme et musique dans un laps de temps si court. Et puis il y à ce logiciel que je ne connais pas et qui revient souvent aussi, cgMusic…
Je me renseigne donc sur ce logiciel et découvre qu’il s’agit en fait d’un générateur de musique, et là c’est la révélation ! Si les règles de la Ludum Dare interdisent d’utiliser une musique libre de droit ou bien composée avant la jam, rien n’interdit d’utiliser un logiciel de génération de musique !
Si je conaissait déjà Bfxr pour créer des bruitages je découvre qu’il existe en fait des générateurs pour quasiment tout, cela va du générateur de noms de personnages ou de lieux aux générateurs de modèles 3D d’arbres ou de vaisseaux spatiaux ! Ce sera donc bientôt l’occasion de publier sur ce blog un ou plusieurs articles sur le monde merveilleux des générateurs de contenu.
Le classement final
Au bout de 30 jours les votes sont terminés, l’occasion de découvrir les jeux les plus appréciés par la communauté ainsi que son propre classement.
Plutôt que de copier le top 10 des votes qui se trouve sur le site de la Ludum Dare vous trouverez à la fin de cet article une sélection très subjective des jeux que j’ai apprécié.
En ce qui concerne mon classement personnel j’ai terminé 284ème pour un total de 764 participations au classement général, et étonnamment 64ème concernant le respect du thème et 242ème pour l’audio alors que mon jeu ne comporte aucune musique. Bilan plutôt satisfaisant considérant que c’est ma première participation et un manque flagrant d’expérience concernant le développement de jeux vidéo.

Une chose est sûre : je me suis bien amusé et ai beaucoup appris en participant à cette game jam, et j’ai plus que jamais envie de participer à la 44ème édition qui arrive en avril !
Bonus : ma sélection personnelle de jeux réalisés pour la Ludum Dare 43
- Total Party Kill par AdventIslands : le gagnant de la catégorie compo, et c’est amplement mérité
- Sacrifices Must Be Made par Daniel Mullins : derrière ce titre pas très original se cache un excellent jeu de carte
- Eternal Home Floristry par Deconstructeam : faut-il encore présenter les VN de la Deconstructeam ? Avec comme d’habitude d’excelentes musiques de fingerspit
- Omelettes par Steven Miller : un très bon puzzle game
- Do It for Their Sake par supergamersgames : un autre très bon puzzle game, d’autant plus impressionnant que c’est la premier participation du développeur
- Night’s End par Gabriel Leite : piou piou piou, pas très original dans son gameplay mais très beau et sympa à jouer
- Apollo par Sigton : un concept intéressant
- The shepherd and the fox god par BoyzAndGirlz : un très beau VN
- Traffic Jams and Hand Grenades par sophiakene & phi : a classic puzzle game with a twist
- Eradicator par Linky439 : comme le nom de l’auteur ne l’indique pas ce n’est pas une simulation de compteur EDF
- Ludum Dare: The Game par Rémi Fusade aka Maître Pantoufle : la dernière folie de Maître Pantoufle
- Burn-Out par Erwann Depaeuw, Florent Juchniewicz & Tom Kurcz : un VN déprimant
- FTD : Fixin’ to Die par plein de monde : C’était pas ma guerre ! (par contre c’était ma jambe)
- Rainbow Cats par Samuel Hocevar & Niarkou : un puzzle game fait avec Pico-8
- JLIM par egordorichev : un autre jeu fait avec Pico-8, d’une qualité impressionnante
- Alpaca’s Redemption par Oceanosaurus : un level design original
- Unnecessary Evil par Xenation, Voxelse, Suliac, Agriraldan & Eva Abollivier : un puzzle plateformer avec un excellent concept