Sélectionner une page

Comment Déplacer un Sprite sur Game Boy avec GBDK.

Salut à tous !

Bienvenue sur Studio40A. Aujourd’hui, je suis très heureux de partager avec vous un nouveau tutoriel sur la programmation de la Game Boy avec GBDK.

Nous allons apprendre à déplacer un sprite à l’écran en utilisant le joypad de la Game Boy. Si vous avez suivi notre dernier tuto, vous vous souvenez sûrement que nous avons affiché un sprite à l’écran.

Aujourd’hui, nous allons le faire bouger !

Introduction à GBDK

Pour ceux qui ne le savent pas encore, GBDK (Game Boy Development Kit) est un ensemble d’outils pour développer des jeux sur Game Boy. Il permet de programmer en C, un langage de programmation très populaire et puissant. Dans ce tutoriel, nous allons utiliser Visual Studio Code pour écrire notre code.

Déclaration des Variables

Commençons par les bases de la programmation : les variables. Les variables sont des conteneurs qui stockent des valeurs que nous pouvons modifier. Voici comment déclarer des variables en GBDK :

Copier le code :
UINT8 position_X;
UINT8 position_Y;

Ici, UINT8 signifie "unsigned integer 8-bit", ce qui permet de stocker des valeurs de 0 à 255. Nous avons déclaré deux variables : position_x et position_y.
note : dans la dernière version de GBDK la déclaration se fait avec uint8_t mais ça ne change rien.

Initialisation des Variables

Ensuite, nous allons initialiser ces variables avec les positions initiales du sprite :

CopieR le code :
position_X = 80;
position_Y = 72;

Mise à Jour du Sprite

Pour mettre à jour la position du sprite, nous utilisons les variables position_x et position_y :

Remplacer la ligne move_sprite(0, 88, 78); par move_sprite(0, position_x, position_y);



note : dans la dernière version de GBDK la fonction vsync(); remplace la fonction wait_vbl_done(); devenue obsolète.

Boucle Principale du Jeu

La boucle principale du jeu va répéter continuellement les instructions qu’elle contient. Voici comment nous allons intégrer notre mise à jour de sprite dans cette boucle :

En dessous de while(1) {
ajouter les 3 lignes suivantes :
position_x++;
position_y++;
delay(100);

La ligne delay(100) permet de ralentir le programme, personnellement je ne m'en sers jamais dans mes jeux. Ici, c'est pour mieux voir le déplacement.

Voici le résultat :

Utilisation du Joypad

Pour permettre au joueur de contrôler le sprite avec le joypad, nous allons ajouter des instructions pour chaque direction :

Tout d’abord, effacez les 3 lignes que nous avons insérées précédemment.

A la place, copier :

if (joy & J_UP) {
position_Y--;
}
if (joy & J_DOWN) {
position_Y++;
}
if (joy & J_LEFT) {
position_X--;
}
if (joy & J_RIGHT) {
position_X++;
}

Compilation et Test

Pour compiler et tester notre code, nous allons utiliser l’outil de compilation de GBDK (voir cet article). Une fois le code compilé, nous pouvons le charger sur notre Game Boy ou sur un émulateur pour voir le sprite se déplacer en réponse aux commandes du joypad.

Conclusion

Félicitations ! Vous avez appris à animer un sprite sur Game Boy en utilisant GBDK. Ce tutoriel couvre les bases, mais il y a encore beaucoup à explorer. N’hésitez pas à expérimenter et à ajouter plus de fonctionnalités à votre jeu. Si vous avez des questions ou des suggestions, laissez un commentaire ci-dessous.

N’oubliez pas de vous abonner à ma newsletter pour plus de tutoriels sur le développement de jeux vidéo.

À bientôt pour un nouveau tutoriel !

YouTube
YouTube
Instagram