créer un jeu pour lecteur dvd (alias dvd tvgame)

Matérielles, logicielles , toutes les bidouilles !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

créer un jeu pour lecteur dvd (alias dvd tvgame)

Message par newcoleco » 25 avr. 2007 17:55

Comment créer un jeu pour votre lecteur DVD de maison.
Je vous le montre ici à travers un exemple tout simple.
Bien sûr, utilisez les outils avec lesquels vous êtes à l'aise, mais je vous conseille tout de même d'essayer ma façon de faire si jamais vous n'y arrivez par vous-même.

Logiciels (tous gratuits) utilisés JEU : SHELL GAME
Instructions : Jeu très connu où il faut deviner où est la balle sous une tasse ou tout autre contenant. Ici il y a 3 niveaux de difficultés et 3 tasses.

Préparation
Il vous faut générer 15 petites séquences vidéo, dont deux très simple qui se peut se faire directement avec le logiciel DVDAuthorGUI.
  • ECRAN TITRE (durée : max 5 secondes) : sera utilisé comme séquence d'intro.
  • BALLE CACHÉE À GAUCHE (durée : minimum 1 seconde)
  • BALLE CACHÉE AU CENTRE (durée : minimum 1 seconde)
  • BALLE CACHÉE À DROITE (durée : minimum 1 seconde)
  • CHANGE DE PLACE LES TASSES GAUCHE ET CENTRE (durée : tout juste 1 seconde)
  • CHANGE DE PLACE LES TASSES CENTRE ET DROITE (durée : tout juste 1 seconde)
  • CHANGE DE PLACE LES TASSES GAUCHE ET DROITE (durée : tout juste 1 seconde)
  • LEVER TASSE GAUCHE, MAIS PAS DE BALLE (durée : minimum 1 seconde)
  • LEVER TASSE CENTRE, MAIS PAS DE BALLE (durée : minimum 1 seconde)
  • LEVER TASSE DROITE, MAIS PAS DE BALLE (durée : minimum 1 seconde)
  • LEVER TASSE GAUCHE, DECOUVRE BALLE (durée : minimum 1 seconde)
  • LEVER TASSE CENTRE, DECOUVRE BALLE (durée : minimum 1 seconde)
  • LEVER TASSE DROITE, DECOUVRE BALLE (durée : minimum 1 seconde)
  • CHOIX 3 DIFFICULTÉS (1 image statique jpeg à convertir en m2v)
  • CHOIX 3 TASSES (1 image statique jpeg à convertir en m2v)
Instructions
Faites de votre mieux pour générer les séquences vidéo nécessaires. Personnelement, j'ai utilisé VirtualDUB pour convertir une séquence de fichiers BMP dont les noms de fichiers étaient : 1.bmp, 2.bmp, 3.bmp, etc. Simplement "drag and drop" des fichiers bmp dans VirtualDUB, puis aller dans menu "Video -> Frame rate" et spécifier "Change to 6 frames per second" et "convert to fps : 25" (30 pour ntsc); note : il vous faut, dans cet exemple-ci, au moins 6 images pour compléter la séquence de 1 seconde.

Dès que vous avez vos séquences en format mpg, demandez à Rejig, ou tout autre logiciel de ce genre tel que TMPEnc, de les diviser (demux) en deux fichiers : audio et vidéo. Convertissez en format ac3 les fichiers audio avec BeSweet. Surcompresser si vous le voulez vos fichier m2v avec Rejig.

Une fois vos séquences terminées, utiliser DVDAuthorGUI pour ajouter dans l'ordre un à un les séquences vidéo par le bouton "Add Title". Il vous demandera d'abord le fichier vidéo (m2v), puis le fichier audio (ac3) à chaque fois. Utiliser le menu "menus -> "create m2v still" pour créer une séquence d'au moins 1 frame des deux menus : choix difficultés, choix tasses. À ce point, vous devriez avoir 13 séquences dans la liste des "titles" et deux fichiers m2v que l'on va tout de suite convertir en menu.

Utiliser le bouton "Add menu" ou aller dans "menus -> add new titlesetmenu". Choisir le fichier du choix de difficulté, puis cliquer simplement sur Annuler lorsqu'il vous demandera le fichier son associé. Dans l'interface assez rudimentaire, cliquer d'abord sur "add button" puis sélectionner la zone du bouton avec les acsenseurs horizontal et vertical ainsi que sa grandeur (width, height) et sa couleur (highlight, select). Spécifier "jump title 2..." pour le niveau facile, "jump title 3..." pour le niveau moyen, "jump title 4..." pour le niveau difficile. Cliquer sur accept quand tous les boutons sont terminés. Créer un nouveau menu, mais cette fois pour le choix des tasses, même principe sauf que vous devez spécifier "jump title 8..." pour la tasse 1, "jump title 9..." pour la tasse 2, "jump title 10..." pour la tasse 3.

Cliquer sur le bouton "nav cmds" et spécifier les chemins (temporaires) suivants, en plus de définir "title 1" comme étant la séquence de départ "first play" :
  • title 1 (intro) -> call menu
  • title 2 -> jump title 5
  • title 3 -> jump title 6
  • title 4 -> jump title 7
  • title 5 -> jump title 6
  • title 6 -> jump title 7
  • title 7 -> call menu
  • title 8 -> jump title 11
  • title 9 -> jump title 12
  • title 10 -> jump title 13
  • title 11 -> call menu
  • title 12 -> call menu
  • title 13 -> call menu
Cocher "file -> edit xml before authoring" et cliquer sur le bouton author dvd. Modifier le XML pour qu'il ressemble le plus possible à ce qui suit. Seulement les zones en gras sont à modifier comme suit.
2007, (c) Daniel Bienvenu a écrit :<?xml version="1.0" encoding="UTF-8"?>
<dvdauthor dest="C:\cups and ball\video\vob">
<!-- DO NOT edit the 2 lines above -->
<vmgm>
<fpc> jump title 1; </fpc>
</vmgm>
<titleset>
<menus>
<pgc pause="inf">
<pre>if (g1 eq 2) jump menu 2; g2=1; g1=2;</pre>
<button>g2 = 5; jump title 2 chapter 1; </button>
<button>g2 = 10; jump title 3 chapter 1; </button>
<button>g2 = 20; jump title 4 chapter 1; </button>
<vob file="C:\cups and ball\video\vob\menusub1.mpg" />
</pgc>
<pgc pause="inf">
<button> if (g3 eq 1) jump title 11 chapter 1; jump title 8 chapter 1; </button>
<button> if (g3 eq 2) jump title 12 chapter 1; jump title 9 chapter 1; </button>
<button> if (g3 eq 3) jump title 13 chapter 1; jump title 10 chapter 1; </button>
<vob file="C:\cups and ball\video\vob\menusub2.mpg" />
</pgc>
</menus>
<titles>
<video format="ntsc" />
<pgc>
<vob file="C:\cups and ball\video\vob\title1.mpg" chapters="00:00:00.00" />
<post>call menu;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title2.mpg" chapters="00:00:00.00" />
<post>g3 = 1; jump title 5;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title3.mpg" chapters="00:00:00.00" />
<post>g3 = 2; jump title 6;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title4.mpg" chapters="00:00:00.00" />
<post>g3 = 3; jump title 7;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title5.mpg" chapters="00:00:00.00" />
<post>g4 = g3; if (g4 eq 1) g3 = 2; if (g4 eq 2) g3 = 1; g2 = g2 - 1; if (g2 eq 0) call menu; g5 = random(2); if (g5 eq 1) jump title 6; jump title 7;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title6.mpg" chapters="00:00:00.00" />
<post>g4 = g3; if (g4 eq 2) g3 = 3; if (g4 eq 3) g3 = 2; g2 = g2 - 1; if (g2 eq 0) call menu; g5 = random(2); if (g5 eq 1) jump title 5; jump title 7;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title7.mpg" chapters="00:00:00.00" />
<post>g4 = g3; if (g4 eq 1) g3 = 3; if (g4 eq 3) g3 = 1; g2 = g2 - 1; if (g2 eq 0) call menu; g5 = random(2); if (g5 eq 1) jump title 5; jump title 6;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title8.mpg" chapters="00:00:00.00" />
<post>if (g3 eq 1) jump title 11; if (g3 eq 2) jump title 12; jump title 13;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title9.mpg" chapters="00:00:00.00" />
<post>if (g3 eq 1) jump title 11; if (g3 eq 2) jump title 12; jump title 13;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title10.mpg" chapters="00:00:00.00" />
<post>if (g3 eq 1) jump title 11; if (g3 eq 2) jump title 12; jump title 13;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title11.mpg" chapters="00:00:00.00" />
<post>g1 = 1; call menu;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title12.mpg" chapters="00:00:00.00" />
<post>g1 = 1; call menu;</post>
</pgc>
<pgc>
<vob file="C:\cups and ball\video\vob\title13.mpg" chapters="00:00:00.00" />
<post>g1 = 1; call menu;</post>
</pgc>
</titles>
</titleset>
</dvdauthor>
Fermer la fenêtre d'édition du XML et accepter de sauvegarder les changement. Il se peut que le logiciel vous demande un nom de répertoire pour générer les dossiers AUDIO_TS et VIDEO_TS. Taper simplement un nom tel que "dvd" et cliquer sur le bouton pour continuer.

Si aucun message d'erreur n'est survenu pendant le processus, vous avez réussi à générer votre propre jeu "Shell Game" pour votre lecteur DVD maison, qui en passant devrait être lisible sur votre console XBOX et même PlayStation (2 ou 3). Mais avant de graver le jeu, si c'est vraiment ce que vous voulez, essayer de double-cliquer sur le fichier VIDEO_TS.IFO du répertoire VIDEO_TS. Si votre ordinateur est configuré comme le mien, PowerDVD est déjà associé à ce type de fichier et exécutera le jeu.

Chez moi, ça fonctionne très bien. J'en ai fait une version très rudimentaire avec des fichiers BMP édités à la main avec MS Paint. Je peux vous en envoyer une copie par email, c'est 258K en format 7zip.

Il existe déjà plusieurs jeux de ce genre, mais des "homebrew"? pas sûr... jamais vu.

Je vous invite à en savoir un peu plus sur DVDAuthorGUI en allant sur le site officiel, ainsi qu'imprimer les sections XML description et Language description du logiciel DVDAuthor qu'utilise DVDAuthorGUI.
http://dvdauthor.sourceforge.net/

Des jeux tel que Clue et Deal or No Deal existent déjà en ce format (chercher compagnie Imagination.com.au )

En espérant que cela vous a intéressé, expérimentez et partagez vos créations!
Avez-vous déjà joué à mes jeux ColecoVision?

Avatar de l’utilisateur
yvesffr
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2065
Inscription : 03 juin 2002 22:07
Localisation : 77
Contact :

Message par yvesffr » 25 avr. 2007 18:12

superbe article !

Il n'y a pas de temps d'arret durant les différents enchainements ?

Yves
"Je vous aime" (© Pocket 1969)
"et moi je suis la vierge marie" (© Stamba 2009)
"Resistance is futile (if < 1 Ohm)"
"Un velux est un linux portugais"
"j'en vois encore un bout, yves" (© 2010 SbM)
"In minitel we trust" - Silicium

Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

Message par newcoleco » 25 avr. 2007 18:14

Erreur : JPG is not 720x480...

Pour ceux qui ont des problèmes avec les images et les séquences vidéos, sachez d'abord que tout doit être en format 720x480, mais seule la zone centrale 640x480 sera visible sur un téléviseur normal (tube cathodique, même certains lcd et plasma).

Pour ma part, je spécifie d'abord à MS Paint une zone de 640x480 par "Image -> Attributs..." sur laquelle je travaille pour générer chacun des dessins nécessaires. Puis, je fais la chose suivante : "Image -> Attributs..." width = 660, "Image -> Retourner/Faire pivoter -> Retourner horizontalement", "Image -> Attributs..." width = 720, "Image -> Retourner/Faire pivoter -> Retourner horizontalement". Dans les autres éditeurs graphiques, c'est souvent "redéfinir la zone de travail" et on spécifie la nouvelle taille en pixels de 720x480 centrée après avoir bien sûr dessiné sur une zone de 640x480.

À vous de juger de la qualité vidéo acceptable, sinon faites réduire les fichiers m2v au minimum avec Rejig de cette façon : File mode, Add, choisir fichier m2v, ouvrir, done, 1 Pass, 25%, Re-Compress All.
Avez-vous déjà joué à mes jeux ColecoVision?

Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

Message par newcoleco » 25 avr. 2007 18:15

yvesffr a écrit :superbe article !

Il n'y a pas de temps d'arret durant les différents enchainements ?

Yves
Sur lecteur DVD, c'est plus lent que sur PowerDVD, mais ça fonctionne numéro 1.

Expérimentez! et rajoutez des jeux à vos DVD personnels!

Est-ce qu'il y a des pauses entre chaque déplacement?
Non depuis format fichier (VIDEO_TS.IFO), Oui depuis format disque (DVD+/-R).
Il se peut aussi que vos animations soient si courtes que vous ne les voyez pas avec PowerDVD. Dans un tel cas, il faut y aller par essais et erreurs, ou bien espérer que cela fonctionne tout de même bien sur votre lecteur DVD maison.
Avez-vous déjà joué à mes jeux ColecoVision?

Avatar de l’utilisateur
BubbleBobble
Modérateur
Modérateur
Messages : 2644
Inscription : 08 sept. 2004 22:24
Localisation : Ajaccio

Message par BubbleBobble » 25 avr. 2007 19:03

bon ben voilà, on a la recette pour faire au choix un nouveau Dragon's Lair ou un jeu de fesses interactif.

Plus sérieusement, merci pour ce chouette article.

Pierre
Le frottage de silex, c'est tout sauf une innovation : avant, on attendait simplement que la foudre tombe sur un arbre et qu'elle enflamme une branche, et ça fonctionnait très bien... ©SbM

Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

Message par newcoleco » 25 avr. 2007 19:12

BubbleBobble a écrit :bon ben voilà, on a la recette pour faire au choix un nouveau Dragon's Lair ou un jeu de fesses interactif.

Plus sérieusement, merci pour ce chouette article.

Pierre
Voilà pour Dragon's Lair, c'est disponible. il y a une version HD et même disponile en format Blu-ray.
http://www.youtube.com/digitalleisure

J'avais un plan pour Cluedo, mais Imagination.com.au en a déjà fait un.

Ce que je ne sais pas encore faire c'est utiliser les touches numériques, ainsi que les touches pendant l'action, dans le style Dragon's Lair justement.

Ce qui m'a incité à m'intéresser aux jeux sur DVD c'est la fausse console de jeux VideoNow XP qui permet de jouer des mini-cd interectifs dont voici les 3 titres que je connaisse : Scooby Doo, Batman et Teen Titan.
Avez-vous déjà joué à mes jeux ColecoVision?

Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

Message par newcoleco » 25 avr. 2007 20:19

Explication des variables pour Game Shell
  • g1 : l'aiguilleur, pour afficher le bon menu entre les niveaux de difficultés et les tasses.
  • g2 : compteur à rebourg, pour le nombre de permutations.
  • g3 : numéro de la tasse contenant la balle.
  • g4 : variable temporaire utilisée pour garder l'ancienne valeur de g3.
  • g5 : hasard, pour décider quelle séquence de permutation à jouer ensuite.
J'aurais pu rajouter la variable button afin de placer le curseur sur un bouton donné, 1024 pour le premier bouton, 2048 pour le deuxième bouton, comme spécifié dans la documentation de dvdauthor.
Avez-vous déjà joué à mes jeux ColecoVision?

Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

Message par newcoleco » 26 avr. 2007 22:40

Je viens d'échanger quelques messages avec l'auteur de DVDAuthorGUI. Il m'a donné quelques informations et aussi une version amélioré de mon propre jeu.

D'ici peu, Shell Game fera parti des exemples de codes pour ce logiciel.
Avez-vous déjà joué à mes jeux ColecoVision?

Avatar de l’utilisateur
jfb59
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 169
Inscription : 19 sept. 2006 23:01
Localisation : lille

Message par jfb59 » 26 avr. 2007 23:01

Enfin! magnifique, j'y avais pensé il y a longtemps, mais je n'avais pas eu le courage de le faire (paresse powwwwaaa).
Enfin quelqu'un qui s'est attelé à la tâche merci à lui!
j'avais pensé à un hugo delire!
Alea jacta est

Image

Avatar de l’utilisateur
Pocket
Administrateur
Administrateur
Messages : 5336
Inscription : 24 mai 2002 16:55
Localisation : Toulouse
Contact :

Message par Pocket » 27 avr. 2007 08:42

Salut,

J'ai déplacé le topic, pour pas qu'il se perde avec le temps.

PS : un Hugo délire sur DVD ça le ferait ! tu t'y colles jfb ?

A+
Pocket, voit tout, sait tout, lit l'avenir dans les entrailles d'une base phpBB ...
Image

seb971
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 48
Inscription : 08 mars 2007 13:24
Localisation : Bandol

Message par seb971 » 27 avr. 2007 17:47

Bravo!
Je m'y colle des que j'ai un peu de temps! :P
En Vacance.

rhod
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4723
Inscription : 01 juil. 2002 11:27
Localisation : Orléans
Contact :

Message par rhod » 27 avr. 2007 19:14

Pocket a écrit : PS : un Hugo délire sur DVD ça le ferait ! tu t'y colles jfb ?
Image

jeu développé sur AMIGA, ah quelle époque, avec Karen Cheryl

:lol: :lol:

Image
http://www.rhod.fr
Blog : http://rhodblog.wordpress.com/
Twitter : https://twitter.com/#!/rhodblog
Mes recherches ATARI 8 BIT
Temple of Apshai Trilogy CPC et C64 DISK version d3m, boite plastique carrée
ATARI PC-1 / Moniteur CBM 1084DS2 noir
JC

Avatar de l’utilisateur
jfb59
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 169
Inscription : 19 sept. 2006 23:01
Localisation : lille

Message par jfb59 » 27 avr. 2007 20:03

oui j'ai retenu que Karen Cheryl :p
Alea jacta est

Image

Avatar de l’utilisateur
newcoleco
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 67
Inscription : 21 nov. 2002 21:59
Localisation : Quebec
Contact :

Message par newcoleco » 27 avr. 2007 21:33

* limites des variables *

Il y a un total de 16 paramètres "général" pour tout usage (GPRM) dont 6 que j'ai utilisé dans Shell Game. [0,15]

Il y a aussi 24 paramètres systèmes (SPRM) dont button pour placer le curseur sur un bouton en particulier. [0,23]

* dvd homebrew game *

J'ai enfin trouvé un jeu dvd homebrew : Mars Attackers.

Un demo compressé au format RAR d'un peu moins de 6meg est disponible et très bien fait.
La méthode utilisée pour la création du jeu relève plus de l'assembleur que la méthode que je vous ai proposée ici.

URL : http://home.arcor.de/josef.braunstein/

Sur ce site, la personne explique un peu comment la machine virtuelle du lecteur dvd fonctionne.
Avez-vous déjà joué à mes jeux ColecoVision?

Répondre

Revenir vers « Bidouilles »