まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Enregistrer une partie de jeu d'arcade avec mame -2-

Suite de l'étude précédente :

J'ai terminé l'écriture du script Mame-inp2video4GnuLinux.sh pour générer automatiquement une vidéo depuis un fichier inp, sans avoir à se palucher les lignes de commandes.
Il est téléchargeable depuis l'annexe de ce billet.

Prérequis :

  • Pour fonctionner le script a besoin des logiciels suivant :

mame
advancecomp
mencoder
avidemux
ffmpeg2theora

sudo apt-get install mame advancecomp mencoder avidemux ffmpeg2theora
  • Télécharger le script et le placer dans le dossier de travail de son choix.
  • Rendre le script exécutable, s'il ne l'est pas déjà :
sudo chmod 775 Mame-inp2video4GnuLinux.sh


Pour enregistrer une partie :

Je rappelle la commande pour enregistrer une partie avec l'émulateur Mame, on va exécuter :

mame nom_de_la_rom -record ma_partie.inp

Et jouer…
L'enregistrement s'arrête lorsqu'on quitte le jeu.

Attention, durant l'enregistrement de la partie, il ne faut faire appel à aucun menu dans l'émulateur, sinon l'enregistrement s'arrêtera !



Pour générer une vidéo depuis la partie précédemment enregistrée :

  • Exécuter simplement le script et suivre les instructions ^__^ :
./Mame-inp2video4GnuLinux.sh


Bon amusement !

Attention, si comme moi vous sauvegardez vos inp dans un coin et qu'un beau jour vous décidez de les rejouer, n'oubliez pas de les recopier dans le dossier inp tel que définit dans mame.ini, car il ne faut pas espérer pouvoir donner le chemin vers le jeu, ni dans le script, ni dans la commande playback expliquée au billet précédent, ça ne fonctionne pas !

Commentaires

1. Le vendredi, 14 février 2014, 21:19 par Nikos

Excellent script, mais attention, si tes roms ne sont pas placées dans .mame/roms

C'est risqué. Il vaudrait mieux utiliser $PWD

2. Le samedi, 15 février 2014, 16:58 par MaKoTo

Merci !
En l'occurrence, la commande permettant de lancer un jeu ne fonctionne que si la rom se trouve bien dans le dossier spécifique contenant les roms, définit dans le fichier mame.ini.
Charge à chacun de configurer son émulateur correctement en créant le fichier ini s'il ne l'est pas déjà, avec la commande :

mame -createconfig

Attention, il arrive que le fichier ini pris en compte par l'émulateur ne soit pas celui qui vient de se créer, mais celui placé dans : /etc/mame/mame.ini
Pour une raison que j'ignore, c'est ce que j'ai constaté avec Debian Wheezy.

Indiquer comme suit, le chemin vers une rom ne fonctionne pas :

mame ~/chemin/nom_de_la_rom

C'est pourquoi j'ai écrit le script ainsi.
J'espère que ceci cadre bien avec ta remarque ^^;

3. Le dimanche, 16 février 2014, 14:08 par Nikos

Pas de soucis,

Je me suis aussi pris la tête pour comprendre d'où venait la configuration parce que j'utilisais un scanline.

Par contre, j'ai cherché dans la doc mais j'ai pas trouvé réponse à mes 2 questions :

Peut-être as-tu une idée ?

J'utilise un scanline pour faire du ... scanline :) logique tu me diras, par contre quand j'enregistre mes vidéos, le scanline n'est pas préservé du tout...

Autre point, la résolution de sortie des images correspond à celle du jeu, par contre il est impossible d'agrandir la résolution automatiquement de ces images (enfin je n'ai pas trouvé) as-tu un idée ?

Toujours intéressant de lire ton blog

Nikos

4. Le dimanche, 16 février 2014, 15:23 par MaKoTo

Je pense que le scanline est un des effets appliqué à la volée par dessus le jeux. Comme une sorte de calque par dessus l'image, il n'est donc pas enregistré dans le fichier mng.
Je n'ai vu aucune options pour -mngwrite, donc la vidéo ne peut-être que fidèle aux caractéristiques du jeu, il n'est pas possible d'inventer des pixels.
Une solution serait d'augmenter la résolution au montage vidéo, par un zoom d'extrapolation linéaire ou cubique…
De même qu'il existe sûrement un effet scanline dans un logiciel de montage vidéo.

Ça fait beaucoup de complications… Tous ça serait plus simple avec une capture depuis un autre ordi… Mais ça c'est une autre histoire.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet