[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Avatar de l’utilisateur
dandyboh
Maître de l’Univers
Messages : 9862
Inscription : 04 mars 2021 16:23
Localisation : Nord-Isère

[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Message par dandyboh »

Pour éviter de pourrir le topic Mega Drive, je poursuis ici.

Pour le contexte : j'ai décidé de tenter de créer un jeu Mega Drive from scratch, assisté par Claude. Il s'agit d'un tactical-RPG, fortement inspiré par Shining Force II.

Quand je dis assisté, en fait je lui délègue tout. Il écrit le code, les tests, il les fait tourner, les valide, prend des screenshots pour me faire valider un rendu, pour le moment c'est lui qui génère les sprites et les textes (à terme, évidemment, ce sera moi qui cadrera tout ça), l'idée est d'avoir une base solide pour créer ensuite un jeu complet. Je le cadre sur le gameplay, les touches, les règles à appliquer, par exemple les dégâts infligés en fonction des stats / armes / terrain. Je lui donne toutes mes idées de gameplay, comment fonctionne les magies, que se passe-t-il en cas de Game Over, quels comportements appliquer aux ennemies, etc.

J'utilise le SGDK (https://github.com/Stephane-D/sgdk), le code source est en C (C99 précisément : https://fr.wikipedia.org/wiki/C_(langage)#Normalisation), les tests tournent directement sur PC.
La ROM se compile dans l'image Docker officielle de SGDK sous Ubuntu, l'image est figée via un Makefile.
Les tests compilent avec le gcc du PC.

J'ai plusieurs commandes Make qui m'aident :
make test pour lancer les tests
make sim pour lancer une simulation d'équilibrage, qui simule des milliers de combats IA contre IA (IA logicielle : pas Claude) pour mesurer le taux de victoire.
make shot joue un script de touches via Genesis Plus GX et génère des captures d'écran en PNG. Ca permet de vérifier des rendus sans réellement lancer le jeu.
make budget lit la ROM produite et donne la RAM, la ROM et les tuiles VRAM utilisées, pour le moment j'utilise :
21 606 / 65 536 octets de RAM statique.
211 Ko sur 4 Mo de ROM
536 / 1004 tuiles de fond
156 max / 420 tuiles de sprites

Ca me permet de voir si je m'approche des limites techniques de la Mega Drive.

Python sert d'outillage : il m'aide à générer les graphismes et la police et j'ai un outil qui m'aide à convertir les séquences de dialogues en données C.

Tout est versionné dans Git selon le Gitflow, avec les branches develop et main (repo privé), avec une nomenclature maison pour les messages de commit.

Le code est découpé en deux couches :
src/core/ contient les règles : cartes, pathfinding, dégâts, ordre des tours, IA, XP, classes, etc.
src/gfx/ dessine
src/scenes/ enchaîne les écrans (titre, dialogue, combat)

Les réglages sont dans src/core/config.h (seuils, division de chances, durée en image) et les stats des unités dans src/core/units.c

Le texte des scènes est écrit dans des fichiers txt, que l'outil Python transforme en code C, avec des commandes simples : place, move, camera, aria, battle).

Limitation de la MD : tout est en entiers et en tableaux de taille fixe. Les valeurs décimales sont stockées en dixième ou en centième.
Une image dure enrion 16ms, et aucun état ne doit bloquer l'affichage plus d'une ou deux images.

La carte est plus grande que l'écran : j'utilise donc deux plans qui sont alimentés en streaming.
Le texte utilise une police proportionnelle dessinée en logiciel : le CPU écrit les glyphes dans un tampon de tuiles puis les copie en VRAM.
Il y a 4 palettes de 16 couleurs : une pour le terrain, une pour les héros et le HUD, une pour les ennemis, et une pour les effets.
La graine aléatoire vient du nombre d'images écoulées avant l'appui sur START à l'écran titre.
Image

En ligne
Avatar de l’utilisateur
BeyondOasis
Expendable
Messages : 21360
Inscription : 03 nov. 2020 09:48
Localisation : 93

[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Message par BeyondOasis »

C'est déjà fou de pouvoir faire ça en si peu de temps. Et joli glow up entre tes 2 versions

Avatar de l’utilisateur
dandyboh
Maître de l’Univers
Messages : 9862
Inscription : 04 mars 2021 16:23
Localisation : Nord-Isère

[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Message par dandyboh »

Voici la v0.2 de mon jeu, vous verrez pas mal d'améliorations par rapport à la version précédente.

Pour rappel, la v0.1 créée en 2 heures :
► Afficher le texte
La v0.2 sur laquelle j'ai passé beaucoup plus de temps à affiner et définir le gameplay :
Image

Avatar de l’utilisateur
Killvan
Maître de l’Univers
Messages : 10763
Inscription : 15 nov. 2020 11:35

[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Message par Killvan »

Comment tu l'appelleras ? Shining Force GT ? ^^
► Afficher le texte

Avatar de l’utilisateur
dandyboh
Maître de l’Univers
Messages : 9862
Inscription : 04 mars 2021 16:23
Localisation : Nord-Isère

[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Message par dandyboh »

BeyondOasis a écrit : ↑
06 nov. 2026 09:59
C'est déjà fou de pouvoir faire ça en si peu de temps. Et joli glow up entre tes 2 versions
Ouais clairement. D'autant plus que je travaille à côté, donc je fais ça le soir, dans le train le matin et pendant les pauses de midi. Pour arriver au même résultat sans IA, je pense qu'il aurait fallu que je code H24 et que j'ai déjà une connaissance très solide des langages utilisés, en plus de connaître déjà les astuces permettant de contourner les limitations de la machine, ce qui n'est pas le cas.

L'avantage que j'ai, c'est que je connais bien la programmation, les méthodologies de travail pour écrire du code, et aussi les méthodologies de travail pour écrire du code via IA. Même si je n'avais jamais fait de C, je ne me sens pas du tout perdu ni dépassé, je comprends ce qu'il se cache sous le capot, d'autant plus que Claude m'explique beaucoup de ces choix, je ne veux pas que mon jeu soit une boîte noire. Le code lui même est une boîte noire, je n'en ai pas lu une seule ligne : ce qu'il fait et comment il est organisé non.
Killvan a écrit : ↑
06 nov. 2026 10:13
Comment tu l'appelleras ? Shining Force GT ? ^^
J'ai pensé à un truc du genre "Fining Horse" ^^' mais je ne sais pas trop encore.

Je n'ai pas encore, du tout, réfléchi au scénario, aux personnages et à la trame scénaristique. Pour le moment je cadre le gameplay, les règles du jeu, l'UI/UX.

La prochaine vidéo que je vous montrerai, probablement en fin de week-end, sera un glow up encore plus gros ^^
Image

Avatar de l’utilisateur
Kek-de-Mars
Conquérant de la lumière
Messages : 1049
Inscription : 21 janv. 2026 09:09
Localisation : Béziers

[Homebrew] Créer un jeu vidéo Mega Drive assisté par IA

Message par Kek-de-Mars »

Y a pas à dire, faut débrancher Skynet... :pan1: :pan2: :pan3:

Répondre

Revenir à « Megadrive / Mega CD / 32X »