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

En ligne
Avatar de l’utilisateur
dandyboh
Maître de l’Univers
Messages : 9860
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 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

Avatar de l’utilisateur
BeyondOasis
Expendable
Messages : 21351
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

En ligne
Avatar de l’utilisateur
dandyboh
Maître de l’Univers
Messages : 9860
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

En ligne
Avatar de l’utilisateur
Killvan
Maître de l’Univers
Messages : 10760
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

Répondre

Revenir à « Megadrive / Mega CD / 32X »