Final Tankasy (Gameboy Homebrew)
About
Je vous présente Final Tankasy, Projet réalisé pour la Game jam GameCodeur #19
Dans ce jeu Gameboy, vous contrôlez un tank qui débarque sur une plage et doit éliminer les ennemis niveau après niveau.
Projet réalisé en langage assembleur pour Gameboy. J’étais en train d’apprendre la programmation Gameboy quand la jam a été lancée, j’ai alors décidé de faire mon projet sur ce support.
Le code est de moi et les spirites ont été récupérés de Zelda et Advance War.
Cela a été extrêmement enrichissant d’apprendre l’assembleur et de l’appliquer à la Gameboy. Chaque étape du projet a été particulièrement éprouvant, tellement la documentation sur la GB se fait rare. Chaque fonctionnalité rajoutée était un défi en soi, j’ai appliqué la plupart dès les fondamentaux appris pendant les ateliers GameCodeur. Je connais maintenant assez bien ce support et sa programmation, n’hésitez pas si vous voulez des conseils !
Je suis élève GameCodeur depuis 1 an.
Temps passé : 100h, apprentissage de l’assembleur et développement du jeu.
Lancement : Pour lancer le jeu, il suffit d’ouvrir la rom Final Tankasy v1.0.gb avec l’émulateur bgb que je fournis.
Contrôles : Flèche directionnelle pour le déplacement, espace pour tirer, maj gauche pour le boost et entrée pour lancer la partie.
Post mortem :
Au-delà de l’apprentissage de l’assembleur et de son application à la Gameboy une des plus grosses difficultés était d’afficher le background, ainsi que plus de 10 Sprite. Cela demande d’utiliser une méthode spéciale appelée DMA(direct memory acces) qui n’était pas expliquée dans le tuto que j’ai suivi.
Cela peut paraître futile d’apprendre l’assembleur en 2019 et, pourtant, je le conseille fortement ! Cela m’a permis d’apprendre beaucoup de fondamentaux sur la programmation et je me sens beaucoup plus fort pour me mettre au C++.
Tutos utilisés :
Open classroom : https://openclassrooms.com/fr/courses/2288321-apprenez-a-programmer-en-assembleur-x86/2289526-electronique-la-memoire
https://openclassrooms.com/fr/courses/1464031-en-profondeur-avec-lassembleur/1465425-un-minimum-de-code
Furrtek: http://furrtek.free.fr/?a=gbasm
Tuto sur le DMA: https://exez.in/gameboy-dma (indispensable pour afficher plus de 10 sprites)