Déménager par étapes

GW-Basic, utilisé par PC-Basic

Programme avec Graphique et Texte

PC-BASIC

Shigeru Miyamoto a créé Mario Bros. en 1983. Bien que révolutionnaire et populaire, son œuvre la plus aboutie restait à venir deux ans plus tard.

Super Mario Bros diffère de son prédécesseur sur un point essentiel : les niveaux peuvent défiler.

Bien que Super Mario Bros ne soit pas le premier jeu à défilement latéral – Defender (1980) en a l'honneur –, il a démocratisé le défilement latéral et parallaxe, contribuant à la fois à propulser la Nintendo Entertainment System 8 bits vers des ventes fulgurantes et à créer des milliers d'imitateurs du défilement latéral, dont très peu (par exemple, la série Mega Man) étaient à la hauteur.

GW-BASIC ne dispose pas de fonctionnalité intégrée pour faire défiler les niveaux, mais il existe quelques solutions de contournement très limitées. (Les principaux problèmes sont la vitesse et le scintillement, alors soyez prudent.)

Examinons quelques programmes.

CAR.BAS, qui vous place à l'intérieur d'une voiture via un tableau de bord, projette les lignes blanches d'une route vers le spectateur pour tromper l'œil et lui faire croire que la voiture avance. Il ne s'agit pas d'un véritable défilement, mais simplement d'une astuce visuelle. Le programme n'est donc pas exactement Stunts, qui est probablement le jeu de course sur PC le plus innovant de tous les temps (et ce n'est même pas Ford Simulator).

STAGE1.BAS et STAGE2.BAS font défiler un arrière-plan filaire sous les fusées. Vous contrôlez la vitesse des vaisseaux en appuyant sur les touches + et -.

On se rapproche de Super Mario Bros, mais les vaisseaux n'interagissent pas avec les arrière-plans défilants, bien que dans STAGE2.BAS vous puissiez contrôler la position du vaisseau ainsi que sa vitesse. Dans le code, soyez attentif à l'utilisation du mouvement relatif et du mouvement absolu de DRAW.

Enfin, ROADER.BAS vous offre un avant-goût du défilement aérien à la Spy Hunter (1983).

Vous pouvez utiliser les touches + et - pour contrôler la vitesse des véhicules, mais vous ne pouvez pas les déplacer vers la gauche ou la droite.

Les quatre programmes de cette section souffrent du même problème : un scintillement gênant dû à des capacités de traitement limitées.

Le défi : en utilisant divers algorithmes d’optimisation de la vitesse, pouvez-vous créer un véritable jeu interactif à défilement latéral en GW-BASIC ?

Le basculement entre des écrans invisibles ou l’instruction PCOPY suffiraient-ils à résoudre ces problèmes ?

Seulement jusqu’à un certain point. Prenons par exemple le programme suivant.

SQURE.BAS

10 SCREEN 7:CLS:KEY OFF:COLOR 15,0:CLS
15 SCREEN 7:CLS:SCREEN 7
20 PSET(100,20):DRAW"M260,20 M260,170 M100,170 M100,20":PAINT(170,70), 12,15
25 PSET(30,60),6:DRAW"M160,60 M160,140 M30,140 M30,60":PAINT(100,80),14,6
30 PCOPY 0,1:FOR GH=1 TO 6000:NEXT GH:SCREEN 7:CLS
40 SCREEN 7
50 PSET(100,20),15:DRAW"M260,20 M260,170 M100,170 M100,20":PAINT(170,70),12,15
60 PSET(40,60),6:DRAW"M180,60 M180,140 M30,160 M40,60":PAINT(120,80),14,6
70 PCOPY 2,3:FOR GH=1 TO 6000:NEXT GH:GOTO 15

SQURE.BAS alterne entre deux images de polygones convexes. Bien que le scintillement soit inexistant lors du basculement des images, le scintillement et le ralentissement se font sentir dès l'exécution, dès le premier affichage à l'écran.

Les programmes GW-BASIC nécessitant des mouvements rapides, comme les jeux de course automobile, auront donc toujours beaucoup de mal à fonctionner à plein régime.