« Chrome Horizon » pour le Commodore 64, jeu ou grosse démo technique ?

Pour commencer, un aveu : je ne suis pas à la base un amoureux des shmups. Il faut dire que j’ai été traumatisé par des jeux comme « 1942 » ou encore « Slap Fight » sur mon Amstrad CPC à la fin des années 1980.

C’est quand j’ai entendu parlé d’un shmup en développement et développé en langage C via l’outil Oscar64 que j’ai levé un sourcil de curiosité.

Le nom du jeu ? « Chrome Horizon ». Outre des ennemis plutôt massifs, et un scrolling parallaxe de toute beauté, c’est le genre de production que l’on s’attend à voir être codé en assembleur plutôt que dans un langage de plus haut niveau. Certains jeux pour C64 sont même développés en basic, comme certains jeux d’aventures textuels qui n’ont pas besoin non plus d’une vélocité extrême.

La version finale est sortie en cette fin juin 2026. J’ai profité de l’offre à prix réduit pour récupérer le jeu. Il est assez court, avec 4 niveaux, mais comme c’est le travail d’une personne seule, aussi bien pour le code, que pour les graphismes et la musique, on ne va pas faire la fine gueule.

C’est un jeu assez court, mais il reste néanmoins agréable à jouer. Si vous ne l’avez pas encore testé, alors ne regardez pas la vidéo d’une partie complète du jeu.

Évidemment, on est loin de titres plus monstrueux comme « R-Type », mais la prouesse mérite d’être souligné. Et au final, est-ce un jeu complet ou une grosse démo technique ? J’hésite vraiment entre les deux options.

Ah, l’auto-initiation au langage C ;)

J’ai toujours été curieux de comprendre les rudiments du langage C. Bien que le site du Zéro propose un cours intéressant, il n’est pas assez « linuxisé » pour moi. En faisant quelque recherches, je suis tombé sur ce site qui propose un cours pour débutant en C.

Voici donc un programme que j’ai rédigé en C avec gedit pour un truc basique : l’application du théorème de pythagore. Il est tout sauf prémuni contre les mauvaises saisies. Je débute en C, et cela doit faire 3 heures que je le pratique, bien qu’ayant quelques notions de programmation grâce à Python.

C’est du brut de décoffrage, z’êtes prévenu. Pour les pros du C, merci de ne pas m’envoyer des missives enflammées. Je voudrais avoir des rudiments de C, cela peut toujours servir 😉

/* Programme 12 du cours de C pour Linux.

Calcul de l’hypothénuse. Pythagore.

Il faudra insérer les fonctions maths de C => #include
et donc rajouter à la ligne de compilation -lm

D’après le chapitre 4 du cours de C pour linux :

http://lesouriciergris.free.fr/linux_cours_c.html

Bouh, que je suis nul en C 😉

*/

// On commence par les includes
// racine carrée => sqrt()
// Pythagore => racine carrée de a²+b²

# include <stdio.h>
# include <math.h> // prise de tête !!!! 🙂

int main () // Boucle principale
{
// Il faut deux valeurs entière, les deux cotés a & b
// et une valeur float nommée hypo qui sera sqrt(a²+b²)

// Valeurs entières a & b, initialisée par défaut à 0.
int a,b = 0; // les deux cotés

float hypo; // hypothénuse, float pour le calcul de la racine.

// On affiche le but du programme :

// Saisie du coté a puis du coté b, deux entiers.

printf (« Valeur de a : « );
scanf (« %d », &a); // scanf va prendre en compte la saisie du clavier
// %d => nombre entier, &a => variable a.
// et de même pour b.

printf (« Valeur de b : « );
scanf (« %d », &b);

// calcul de l’hypothénuse.

a = a*a; // a² please.
b = b*b; // b² please.
hypo = sqrt(a+b); // racine de la somme des deux cotés au carré.

printf (« L’hypothénuse a donc une valeur de %.3f :\n »,hypo);
// 3 chiffres après la virgule.

return(0); // On quitte proprement, voyons.
}

Je sais, ce code est moche, lourd, mal optimisé, mais je débute en C… Et j’avoue être content d’avoir réussi sans regarder la solution 😉

NB : les indentations n’ont pas été conservées.

Cela se compile sans problème avec mon gcc 4.2 sous Linux. Des retours de la compilation de ce code sous d’autres compilateurs ?