Galaxy Wars

Infos générales

Ce jeu est une adaptation de la version précédemment programmée pour le COMMODORE-16 et le ZX-SPECTRUM. Pour cela, j’ai copié, ligne par ligne, le code de la version C-16, en y apportant de petites modifications car elles ont le même nombre de lignes et peuvent toutes deux utiliser ELSE.

Galaxy Wars sur C-16, base du développement de la version Oric
Une des premières versions de Galaxy Wars, sur ZX

Pour la première fois, j’ai utilisé un émulateur pour développer le jeu : EUPHORIC sous MS-DOS. Le résultat est très satisfaisant puisque cet émulateur permet, en appuyant sur F3, d’avoir un clavier qui correspond à celui du PC, cela permet de taper un programme très rapidement et confortablement. Prendre un listing ou charger / enregistrer un programme est tout aussi simple.

Les graphismes originaux, basés sur des largeurs de 8 pixels de base

La seule complication lors du développement de cette version a été le besoin de coder à nouveau tous les graphiques, car l’ORIC utilise des caractères de 6 pixels de large et non de 8 comme le reste des ordinateurs. Ainsi, la conception du missile est légèrement plus étroite et les vaisseaux supérieurs occupent 3 caractères de large au lieu de 2. Quoi qu’il en soit, je l’ai fait et si vous touchez un navire du côté droit, vous ne le détruisez pas.

Des graphismes “handheld”

En ce qui concerne le son, j’ai repris les routines standards.

Et en ce qui concerne l’aspect, grâce au système particulier de mémoire d’écran de ce système, c’est la seule version dans laquelle j’ai vraiment été capable de reproduire l’effet «cellophane», en émulant les rayures colorées.

Ecarts à la version TAITO d’origine:

  • Cette version est un peu plus large et beaucoup moins haute puisque dans le jeu original l’écran est vertical.
  • Il y a moins de rangées d’astéroïdes, en raison de la taille verticale.
  • Pendant l’ascension du missile, nous pouvons le contrôler horizontalement, mais nous ne contrôlons pas la vitesse.
  • Les envahisseurs n’accélèrent pas lorsqu’il ne reste que quelques-uns d’entre eux.
  • Les astéroïdes ne descendent pas lorsqu’ils atteignent les extrêmes.
  • Les scores sont limités à 50, 100 et 150 points.
  • Il n’y a pas d’animations sur les ennemis.

Le contrôle des ennemis est très simple. Il y a 6 bandes avec les ennemis dans la position correspondante. Les lignes paires tournent à gauche et les lignes impaires à droite.

Le bloc principal du programme n’occupe que 18 lignes. À chaque passage, je déplace une rangée d’ennemis et contrôle un tir ennemi. Le compteur est commun dans les deux cas (A).

Pour gagner de la vitesse, je me suis débarrassé des animations des ennemis. J’ai choisi d’utiliser les graphiques des ennemis dispersés.

Lors de collisions, je vérifie seulement si la tête du missile touche quelque chose, mais pas la partie inférieure. En ce qui concerne les bombes ennemies, seul celui qui est actif vérifie s’il touche quelque chose. Cela rend le jeu plus rapide, mais il se peut que nous touchions quelque chose et que rien ne nous arrive. Comme le processus est rapide, il y a un risque … et il vaut mieux ne pas y jouer.

En ce qui concerne les performances, cette version fonctionne aussi bien (sinon autre chose) que les deux précédentes (C-16 et SPECTRUM).
La vérité est que, malgré ses bugs, ce BASIC tire plus que bien.

Eh bien, rien de plus, je ne peux qu’espérer que cela vous plaise.

Je vous invite à l’essayer.

Quelques éléments concernant le programme

Le programme principal est divisé en 10 blocs:

  • Déclaration de matrice. Appel aux routines principales.
  • Contrôle notre plateforme ou missile.
  • Contrôle des envahisseurs et des astéroïdes.
  • Contrôle des tirs ennemis.
  • Détection d’impact de missile. Touchez un astéroïde, un envahisseur ou un tir ennemi.
  • Perdre une vie.
  • écran de présentation.
  • Début du jeu.
  • Plusieurs routines.
  • Données avec les graphismes du jeu.

Comment le programme fonctionne-t’il, avec ses 88 lignes ?

  • 10 – Nous définissons les matrices du jeu.
  • 30 – Initialiser l’enregistrement (R) et aller à la routine qui redéfinit les graphiques.
  • 50 – Allons à la présentation du jeu.
  • 100 – Nous déplaçons la plate-forme ou le missile dans la direction indiquée.
  • 130 – Si le missile a été tiré (T = 2), il passe à 160.
  • 140 – Si la touche RETOUR est enfoncée, nous tirons le missile et supprimons la plate-forme.
  • 160 – Nous supprimons le missile et modifions la position verticale (Y).
  • 170 – Si la pointe du missile touche quelque chose, nous sautons à 400.
  • 180 – Nous mettons le missile dans la nouvelle position.
  • 200 – Nous déplaçons l’une des 6 rangées d’ennemis ou d’astéroïdes dans la direction correspondante. (B = 1: Droite, B = -1: Gauche).
  • 220 – Nous imprimons la ligne de l’ennemi.
  • 250 – Nous voyons si l’une des 6 bombes ennemies est active.
  • 260 – Si ce n’est pas le cas, nous voyons s’il y a un envahisseur en position sur l’écran pour activer le tir.
  • 270 – Si le tir touche la plate-forme ou si le missile passe à 500.
  • 400 – Si la position Y est supérieure à 5, c’est que nous avons frappé avec un astéroïde ou tiré et sauté à 500.
  • 410 – Nous calculons la position de l’envahisseur détruit.
  • 420 – On met l’explosion, un son retentit et on calcule les points (50, 100 ou 150).
  • 430 – Nous supprimons l’envahisseur de la ligne et soustrayons un envahisseur des autres (Q).
  • 450 – Nous montrons les points et faisons une pause (5500) et mettons à jour le marqueur.
  • 470 – En passant le niveau, nous augmentons sa valeur s’il est inférieur à 5.
  • 500 – Nous mettons une explosion à la position du missile et reproduisons un son.
  • 520 – Nous mettons à jour le marqueur de vie.
  • 550 – S’il n’y a plus de vies, le jeu se termine.
  • 2000 – Écran de présentation du jeu.
  • 2050 – Appuyez sur une touche pour effacer l’écran (5400) et faire clignoter le marqueur du lecteur 1.
  • 2500 – Nous avons monté les bandes des envahisseurs.
  • 2510 – Routine générant de manière aléatoire des bandes d’astéroïdes. Fuller dans les niveaux avancés.
  • 2570 – Initialisation des variables principales de l’item.
  • 5000 – Changer les couleurs, masquer le curseur et désactiver les majuscules.
  • 5002 – Instruction Écran pendant la lecture des graphiques.
  • 5010 – La routine commence pour redéfinir le jeu de caractères.
  • 5020 – Nous sauvegardons l’attribut color de chaque ligne de l’écran dans la matrice C $.
  • 5040 – Initialise la matrice de la hauteur des différents ennemis V ().
  • 5050 – Initialise la position des bombes ennemies.
  • 5100 – Affiche le marqueur de score ou l’enregistrement.
  • 5400 – Routine d’effacement de l’écran activant les couleurs correspondantes par ligne.
  • 5600 – Affiche les 6 rangées d’ennemis dans leur position et avec la couleur correspondante.
  • 9000 – Ligne de données avec graphiques du jeu.

Le jeu

Ce jeu vidéo d’arcade a été développé par Universal et fabriqué par Taito en 1979.

L’objectif du jeu est de détruire la flotte d’envahisseurs dans la partie supérieure de l’écran. Pour cela, nous contrôlons une plate-forme avec un missile. Lors du tir du missile, vous devez éviter les astéroïdes et les tirs ennemis et toucher un envahisseur.

Contrôles:
Appuyez sur Z ou X pour déplacer la plate-forme et le missile vers la gauche ou la droite. Appuyez sur la touche RETOUR pour tirer le missile.

Quelques autres versions

Comparaison de la version C-16 avec la version originale
Le C-16 en action !
Comparaison de la version ZX Spectrum avec la version d’arcade originale
le ZX Spectrum en action

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *