Je ressors le moteur du tiroir : un personnage qui bouge à 50 images par seconde
Premier jalon public de la reprise : je remets d'aplomb le vieux squelette moteur et j'obtiens enfin un personnage qui se déplace de façon parfaitement fluide sur Atari STe.
Si vous arrivez ici, lisez d'abord pourquoi je ressors ce vieux moteur. Ce carnet n'est pas un projet parti de zéro : c'est la dernière ligne droite d'un moteur STe/STf que je traîne depuis des années.
Le défi
Reprendre mon vieux squelette moteur et le remettre d'aplomb, pour faire enfin tourner un vrai jeu sur Atari 1040 STe et STf. L'objectif n'a pas changé depuis le premier jour : pousser la machine dans ses retranchements. Avant de penser ennemis, niveaux ou histoire, il me faut une base solide. Quelque chose qui bouge, et qui bouge bien.
Ce que j'ai remis en route
Je repars du socle que j'avais déjà écrit et réécrit au fil des ans : reprendre le contrôle complet de la machine et reposer les fondations.
La première brique, c'est d'éviter le déchirement d'image. Quand on dessine directement sur l'écran que le joueur regarde, il voit parfois la moitié d'une frame et la moitié de la suivante, ce qui donne une cassure horizontale très laide. La parade classique consiste à travailler sur une image cachée pendant que l'autre s'affiche, puis à échanger les deux au bon moment, pile entre deux balayages de l'écran. Le joueur ne voit jamais le dessin en cours, seulement des images finies.
La deuxième brique, c'est le rythme. Je cale tout le jeu sur le balayage de l'écran, cinquante fois par seconde, pour que chaque image soit calculée et affichée en cadence parfaite. Pas de saccade, pas d'à-coup.
Un personnage qui se déplace au pixel
Le héros n'est encore qu'un rectangle rouge, un simple placeholder. Mais il se déplace au pixel près dans les quatre directions, avec une vraie sensation de glisse. Le plus délicat, c'était de le faire avancer finement sans qu'il laisse de bavure quand il chevauche deux zones de l'écran : il fallait un dessin propre à chaque position intermédiaire.
La gravité et le saut fonctionnent aussi, avec une vitesse de chute plafonnée pour que les retombées restent lisibles et contrôlables plutôt que de devenir des plongeons incontrôlables. Rien de spectaculaire encore, mais c'est déjà une sensation de jeu, et c'est exactement ce que je voulais sentir avant d'aller plus loin.
Prochaine étape
Le décor et le scrolling horizontal. Le STe sait décaler son affichage finement, presque pour rien, et c'est cette capacité que je veux exploiter pour obtenir un défilement parfaitement lisse. Combinée avec un rechargement du décor au bord de l'écran, c'est la pièce maîtresse qui transformera ce prototype en vrai jeu de plateforme.
Résultat
Le personnage rouge se déplace de manière fluide sur un fond noir avec un sol gris, à cinquante images par seconde. C'est un placeholder graphique, mais le moteur est en place et le mouvement est déjà agréable. Le reste peut commencer.
Télécharger morteveille-001-moteur.prg (1.5 Ko) - Archive historique de cette étape. À lancer dans Hatari en mode STe, 1 Mo de RAM. Flèches pour bouger, haut pour sauter. Pour la version actuelle du jeu, voir la page d'accueil.
Laisser un commentaire