Galaga CPC

Salut,
j’ai utilisé mes derniers crédits sur Claude pour faire une version de Galaga pour CPC, et je travaille dessus pour rendre le jeu jouable.
Comme d’habitude avec tous mes projets Claude, je veux qu’il s’agisse d’un projet cpcteleraNext complet et fonctionnel, pour que je puisse comprendre et, surtout, apporter des modifications.

Voici les progrès, c’est un peu lent pour l’instant.

15 « J'aime »

Un petit aperçu en attendant la fin d’un rebuild pleinement optimisé.

Juste pour info, pour réaliser cette version, j’ai utilisé tous mes crédits Cloud avec le test gratuit de 100 $ (promotion pour tester le Cloud).


9 « J'aime »

Amusez-vous bien avec, Galaga est un vraiment bon jeu.

Le jeu fonctionne avec 64 Ko sur un CPC classique et sans aucun chargement par la suite.
La quasi-totalité du code est en C et utilise la bibliothèque cpcteleraNext, mais pour des raisons de vitesse et de taille mémoire, certaines fonctions spécifiques ont été écrites en assembleur.

Bref, c’est une très bonne démonstration de ce qu’il est possible de faire avec cpcteleraNext (et Claude.IA).

Le jeu est légèrement simplifié, mais la plupart des fonctionnalités du jeu original sont présentes.
Mon objectif principal était qu’il soit jouable.

Galaga_cpctelera.dsk (199.8 KB)

13 « J'aime »

C’est donc peut-être ça que j’ai senti dans ton message ? Ça et la structure (les sections en markdown) lui donnaient vraiment l’air d’un copier-coller de réponse d’IA. Et en toute honnêteté, après avoir survolé le message et ressenti ce côté IA, je ne l’ai pas vraiment lu en entier, donc j’ai râté le … j’ai demandé à Claude de … Ma faute.

Mais ne me comprends pas mal, hein. Je ne suis pas contre l’utilisation de l’IA pour la recherche (je le fais beaucoup), mais à mon avis, ça devrait être clairement indiqué comme tel (et pas caché au milieu d’un message) lorsqu’on partage les résultats en ligne.

1 « J'aime »

Waouh, c’est vraiment super et très apprécié — mais c’est visiblement assez lent. Si la vitesse pouvait être améliorée, ce serait formidable !

Je viens de le charger sur du vrai matériel — un autre problème que j’ai rencontré est l’absence de rayon tracteur de la part des Boss Galaga dans les niveaux 1 et 2. Je les laisse volontairement pour pouvoir doubler mon vaisseau pour le « Challenging Stage », mais il n’y avait pas de rayon. S’il reste plusieurs Boss Galaga, au moins l’un d’entre eux est censé en avoir un. C’est un élément essentiel du jeu.

Ça peut clairement être plus rapide — les formations et le « Challenging Stage » — en fait, dès qu’il ne reste plus que quelques ennemis à l’écran, ça devient même trop rapide.

1 « J'aime »

C’est carrément hallucinant ! On dirait bien que Cloud a fait de la rétro-ingénierie sur le jeu d’arcade d’origine ?

Ça m’intéresserait de lire toute la conversation, juste pour étancher ma curiosité…

1 « J'aime »

Oui, j’ai fourni à Claude.AI la ROM MAME du jeu, le dépôt cpcteleraNext et des exemples de mes jeux.

1 « J'aime »

Franchement, ce jeu est très impressionnant pour une version créée par une IA — c’est un peu lent, mais c’est jouable et le rendu est sympa.

Cela dit, je peux me permettre un petit coup de gueule ? J’ai l’impression que ce genre d’initiative risque de décourager les développeurs humains d’en créer une version plus performante. Un peu comme avec les traductions IA de rétro-gaming (qui font le job, mais perdent toute l’âme du texte original) : on leur reproche de couper l’herbe sous le pied des vrais traducteurs humains, parce que certains se disent que ça ne sert plus à rien puisqu’il existe déjà une traduction exacte, même si elle manque de charme.

Je serais incroyablement intéressé de jeter un œil au code source !

1 « J'aime »

Cette nouvelle version a certes des points à corriger (j’aimerais vraiment qu’elle ne joue pas la musique de début au lancement de chaque niveau), mais elle a réussi pas mal de choses. Un peu trop lente évidemment, mais le rendu est vraiment sympa. Le simple dégradé de couleur du jaune au blanc fonctionne super bien. C’est une bonne preuve de concept. Je me demande à quel point on pourrait accélérer tout ça.

Est-ce que les sprites sont pré-décalés, et est-ce qu’ils sont compilés ? Si l’écran faisait du 32x32, les routines de sprites pourraient être un peu boostées. Il y aurait environ 40 sprites à l’écran tout au plus, mais plus généralement autour de 20. Ils pourraient tous être affichés sans masque et effacer leurs propres traces plutôt que d’être entièrement nettoyés à chaque image.

2 « J'aime »

Autre problème… Galaga possède en fait un nombre impressionnant de sprites. Environ 80, à vue de nez. Mais si l’on compte les déclinaisons de palettes, on est plutôt autour de 150. De plus, ils doivent être inversés horizontalement, verticalement et les deux à la fois, ce qui monte à 600. On dirait que chaque vaisseau du jeu possède 32 images de rotation. Et si vous les pré-décalez pour le CPC, cela ferait 2 400 sprites. Argh.

Ils ne sont pas tous utilisés en même temps, cela dit. Je n’en ai jamais vu certains, donc je ne sais pas s’ils sont vraiment dans le jeu ou juste sur la planche de sprites (sprite sheet). On pourrait peut-être faire un truc astucieux avec du code auto-modifiable pour créer des tampons de sprites (sprite stamps).

Je pense qu’on pourrait réduire ça à 12 vaisseaux x 32 rotations, et oublier la plupart des déclinaisons de palettes, pour arriver à « seulement » 384. Si vous renoncez aux sprites compilés, vous pouvez les inverser verticalement assez facilement, donc on divise par deux. S’ils ne se déplacent horizontalement que par pas de 2 pixels, on divise à nouveau par deux le nombre de pré-décalages… et on revient à 384. Ils font tous 16x16, soit 16x4 octets = 64 octets chacun. Donc OK, 24 Ko de données de sprites pour les vaisseaux… ?

Peut-être qu’il serait aussi possible de réduire le nombre de rotations à 16.

4 « J'aime »

Je pense que c’est bon maintenant, il faut que ça tourne un peu plus vite.

Héééééy bienvenue mec !! Ça fait plaisir de te revoir :slight_smile:

La vraie citation devrait être « L’IA fait du meilleur travail qu’une vraie personne qui ne sait pas ce qu’elle fait ».

Cette version de Galaga ressemble bien plus à ça — assez bonne pour mériter sa propre version, mais elle a aussi du mérite ici.

1 « J'aime »

Je travaille sur la version CPC+ (avec cpcteleraNext), j’ai trouvé un écran et des couleurs sympas.


13 « J'aime »

THREAD (LÉGÈREMENT) NETTOYÉ.

Merci de rester dans le sujet.

Vous pouvez poursuivre les discussions sur l’IA ici :

PS : si vous pensez que d’autres commentaires devraient être déplacés, n’hésitez pas à le dire

2 « J'aime »

Voici une version en cours de développement de GalagaPlus pour CPC+ 128k (une version pour 64k est également en préparation).

Il y a quelques bugs, mais ça rend vraiment bien. Prochaine version la semaine prochaine, quand mon crédit Claude.AI sera réinitialisé.

Nous étions en train de discuter de la façon d’optimiser l’utilisation du matériel de sprites et des astuces de raster.

GalagaPlus.dsk (199.8 KB)

3 « J'aime »

Visuellement, c’est vraiment très réussi, mais les ennemis semblent se diriger vers ton vaisseau de manière beaucoup trop agressive — leur seul mode d’attaque est « viser le vaisseau du joueur », ce qui nuit énormément à la jouabilité.

Et bien qu’il y ait des ralentissements lorsque les extraterrestres apparaissent à l’écran au début, ils sont incroyablement rapides une fois qu’ils fondent sur toi !

Le son et la musique sont sympas :slight_smile:

Oui, ce n’est pas vraiment jouable. Je garde tes remarques dans un coin de ma tête.

Salut tout le monde,

voici trois versions de Galaga : une pour CPC classique, une pour CPC+ 64 Ko (pour la GX4000) et la dernière pour CPC+ 128 Ko.

Dans cette version, le comportement des ennemis devrait être plus fidèle à l’original et le jeu devrait tourner plus vite.

La version 128 Ko inclut presque tous les sons et sprites du jeu original.

Je ne suis pas un expert du jeu, donc je ne peux pas affirmer avec certitude que c’est totalement fidèle.

J’espère que ça vous plaira !

Galaga.dsk (199.8 KB)

GalagaPlus.dsk (199.8 KB)

GalagaPlus128k.dsk (199.8 KB)

8 « J'aime »

Je ne sais pas si c’est fidèle, mais au moins, ça essaie de bien faire les choses.

1 « J'aime »