Voilà, on y arrive. J’ai mis les mains dans le code pour réaliser un petit programme afin de comprendre comment fonctionne les logiques de contrôle de la manivelle, ainsi que les images (ou sprites). Dans le programme, j’ai également combiné le contrôle de la manivelle aux commandes de la croix directionnelle, à partir de l’exemple de base sur la documentation de la Playdate. Je vous partage tout cela dans la suite (désolé, cet article est assez long) 😊

Nova

Mon choix de départ se porte sur le language Lua pour coder (et non le C) avec le SDK. La documentation en ligne est assez bien faite, j’y ai trouvé beaucoup de chose pour démarrer, notamment l’exemple de base qui est très pratique. Mais avant de coder, j’ai dû comprendre comment gérer le dossier d’un jeu ainsi que la façon de lancer l’émulateur afin de tester le programme directement avec l’ordinateur (puis par la suite dans la console).

Mon environnement de travail : Nova et le simulateur de la Playdate.

Mon environnement de travail : Nova et le simulateur de la Playdate.

En suivant la documentation, j’ai compris qu’un éditeur de code du nom de Nova possédait une extension pour la Paydate qui permet deux choses très pratiques : l’auto-complétion de l’API de la Playdate (pour aider dans l’écriture du code), et la possibilité de lancer le simulateur directement via le logiciel (hyper simple, en cliquant sur le bouton play en vert en haut de la fenêtre). Tout ça est vraiment pratique, je vais donc poursuivre avec cette configuration pour le reste de mes expérimentations. Le logiciel propose 30 jours pour l’essayer, après il devient payant (99$), mais pour cet été l’offre gratuite devrait me suffire.

Une fois les éléments installés (Nova + l’extension), il faut créer un dossier et le structurer comme ceci :

“Nom du dossier” puis à l’intérieur faire un dossier “source”, puis dans ce dossier faire un dossier “images”. Dans le dossier “source” il doit obligatoirement y avoir un fichier intitulé main.lua (qui contiendra le code).

Voilà comment est configuré mon dossier pour ce premier programme :

Le dossier “SystemAssets” gère les images au lancement du jeu ainsi que la vignette du jeu visible dans la liste des jeux dans la Playdate (voir vidéo plus bas). Le fichier pdxinfo sert à configurer des informations sur son jeu comme le nom, l’auteur, une description, les liens vers les images de présentation du jeu… Pour plus d’info à ce sujet voir la doc en ligne.

Le dossier “SystemAssets” gère les images au lancement du jeu ainsi que la vignette du jeu visible dans la liste des jeux dans la Playdate (voir vidéo plus bas). Le fichier pdxinfo sert à configurer des informations sur son jeu comme le nom, l’auteur, une description, les liens vers les images de présentation du jeu… Pour plus d’info à ce sujet voir la doc en ligne.

La documentation de la Playdate l’explique, mais il faut configurer l’extension de la Playdate dans Nova pour le dossier que nous venons de créer. Pour cela, il faut cliquer sur le nom de son dossier dans l’onglet en haut à gauche, une fenêtre s’ouvre et là il faut l’ajouter à son projet en cliquant sur le + à côté de l’onglet Tâches.

La documentation de la Playdate l’explique, mais il faut configurer l’extension de la Playdate dans Nova pour le dossier que nous venons de créer. Pour cela, il faut cliquer sur le nom de son dossier dans l’onglet en haut à gauche, une fenêtre s’ouvre et là il faut l’ajouter à son projet en cliquant sur le + à côté de l’onglet Tâches.

Summer Playdate 01

On est prêt pour coder et lancer le programme dans le simulateur !

Capture d’écran 2022-07-22 à 22.45.48.png

La première chose que je vous conseille de faire, c’est de copier-coller le code de l’exemple de base de la documentation et de lancer le simulateur. Pour cela, il suffit de copier le code dans la page du site ici et de le coller dans votre fichier main.lua . Attention, il ne faut pas jouer le programme tout de suite, vous devez faire 2 images avant. Il s’agit de l’image du joueur et du fond. Pour la première, j’ai utilisé une image du pack de Kenney disponible gratuitement, je l’ai passé en négatif et j’ai changé la taille pour 32x32 pixels. Pour le fond, j’ai fait une image tramée aux dimensions 400x240 pixels.

L’image du fond à gauche et l’image du joueur à droite.

L’image du fond à gauche et l’image du joueur à droite.

Ces deux images doivent se situer dans votre dossier “images”. Dans le code de l’exemple de base, il faudra changer le nom des images avec les votres dans ces deux lignes (à noter que le nom de l’image doit être écrit dans le code sans l’extension, ici le format .png) :

local playerImage = gfx.image.new("images/avatar")