Programmation avec le 6502 : vers des jeux plus évolués

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines


Résumé

Nous savons à présent comment exploiter les capacités du 6502 et du PPU de la NES afin de faire des jeux, comme le Pac-Man présenté lors du dernier article. J'espère d'ailleurs que certains d'entre vous ont essayé, et sont parvenus à améliorer ce programme, disponible sur le GitHub du magazine. Aujourd'hui, nous allons voir que les cartouches de jeux elles-mêmes peuvent renfermer des trésors d'ingéniosité électronique, permettant d'augmenter les capacités de base de la console.


Si vous avez tenté d'afficher un score ou d'autres informations dans le programme Pac-Man présenté la dernière fois, vous avez dû vous confronter à un problème : où afficher ces informations pour qu'elles soient toujours visibles ? En effet, comme le décor défile (scrolle), ces informations risquent de défiler en même temps.

Pourtant, la plupart des jeux arrivent à afficher un score, un nombre de vies, un nombre d'objets collectés de manière fixe, alors que le reste du décor défile. C'est une technique que l'on retrouve même dans le premier jeu phare de la NES : Super Mario Bros. (voir figure 1).

figure-1 mario-s

Figure 1 : Super Mario Bros. à trois endroits du premier niveau.

On sait déjà que l'on peut facilement faire défiler l'intégralité du décor en écrivant dans le registre PPUSCROLL pendant la VBL (pendant que le balayage-écran est après la dernière ligne affichée et avant la première de l'écran suivant). Mais comment avoir une partie de...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Analyser un système avec SystemTap

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

SystemTap est un outil d’analyse et de débogage de Linux. En instrumentant des points précis du système d’exploitation, il permet d’afficher des traces, de faire des mesures, ou de modifier le comportement d’un système existant, sans le recompiler, et même sans le redémarrer.

Flutter : applications mobiles, web et desktop

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Flutter est un framework permettant de développer des applications natives pour Linux, Windows, macOS, Android, iOS et le Web à partir du même code source. Un moteur graphique OpenGL ultra performant et la compilation native en ARM, x86-64 ainsi que WebAssembly, associés à un cycle de développement agile et hyper intuitif, en font la solution ultime pour les créateurs d’applications. L’essayer, c’est l’adopter !

Un bot qui surveille le Web et envoie des alertes

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

De nos jours, lorsque l’on recherche une information, on se tourne immédiatement vers le Web. Ainsi, de très nombreuses informations sont mises à jour quotidiennement et il faut donc penser à visiter les sites les produisant, de manière à être au courant des dernières modifications. Et si nous codions un bot qui ferait cela pour nous ?

Principes de l’orienté objet en C++ : la généricité

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

La programmation orientée objet obéit à des principes. Les 4 principaux sont l’encapsulation, l’héritage, le polymorphisme et la généricité. Dans un premier article, nous avons évoqué l’encapsulation, puis l’héritage et le polymorphisme dans un deuxième. Ce troisième et dernier article traite de la généricité.

Les différents frameworks de web scraping

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Il ne viendrait à l’idée à personne de nos jours de se lancer dans la récupération de données sur le Web sans s’appuyer sur un framework simplifiant la tâche et évitant de réinventer la roue (carrée). Voyons donc quelques outils indispensables permettant de mener à bien cette tâche.