La Place des Développeurs Light gun Jouer à Lucky Luke sur MSX


J'ai fait une nouvelle version du programme de test avec un bouton pour démarrer/arrêter le mouvement du sprite.
https://github.com/aoineko-fr/MSXgl/raw/refs/heads/experimental_250228/projects/samples/emul/rom/s_lgun.rom
Ce que j'aimerai confirmer, c'est que j'ai l'impression que les light-guns MSX (le Terminator et le Gun-Stick) ne signal pas quand ils voient de la lumière, mais uniquement quand ils détectent un passage de noir vers la lumière.... Edité par aoineko Le 12/07/2025 à 19h38
https://github.com/aoineko-fr/MSXgl/raw/refs/heads/experimental_250228/projects/samples/emul/rom/s_lgun.rom
Ce que j'aimerai confirmer, c'est que j'ai l'impression que les light-guns MSX (le Terminator et le Gun-Stick) ne signal pas quand ils voient de la lumière, mais uniquement quand ils détectent un passage de noir vers la lumière.... Edité par aoineko Le 12/07/2025 à 19h38
On est toujours ignorant avant de savoir.
en fait les jeux affichent un écran noir avec des sprites blanc un bref moment
tu peux émuler les jeux avec blueMSX la détection ne marche pas mais on vois bien le système employé lors de l'appui sur la gachette
tu peux émuler les jeux avec blueMSX la détection ne marche pas mais on vois bien le système employé lors de l'appui sur la gachette

Oui, je connais comment fonctionne les jeux MSX; c'est le même principe que sur le Duck Hunt de la NES :
- 1 frame avec un écran noir total (frame antitriche)
- 1 frame avec un écran noir + un sprite blanc à la place du canard
Si le light gun détecte du noir la frame ou le joueur appuis sur la gâchette et du blanc à la frame suivante, le jeu sait que le joueur à bien visé.
Pour le moment, je n'en suis pas encore à essayer de faire un jeu ; je souhaite juste valider le fonctionnement des light guns sur MSX.
Pour la gâchette c'est simple, mais pour le capteur de lumière, je pensais qu'il utilisait un pin du port joystick pour signifier si le capteur voyait de la lumière ou non, mais d'après les tests il semble que le signal ne soit envoyé qu'une seule fois, même si le light gun voit la lumière pendant plusieurs frames.
Tu confirmes ?
- 1 frame avec un écran noir total (frame antitriche)
- 1 frame avec un écran noir + un sprite blanc à la place du canard
Si le light gun détecte du noir la frame ou le joueur appuis sur la gâchette et du blanc à la frame suivante, le jeu sait que le joueur à bien visé.
Pour le moment, je n'en suis pas encore à essayer de faire un jeu ; je souhaite juste valider le fonctionnement des light guns sur MSX.
Pour la gâchette c'est simple, mais pour le capteur de lumière, je pensais qu'il utilisait un pin du port joystick pour signifier si le capteur voyait de la lumière ou non, mais d'après les tests il semble que le signal ne soit envoyé qu'une seule fois, même si le light gun voit la lumière pendant plusieurs frames.
Tu confirmes ?
On est toujours ignorant avant de savoir.

A priori ce n'est pas le cas avec le Gun-Stick, qui semble renvoyer un signal aussi longtemps que la lumière est détecté.
C'est comme ça aussi que fonctionne le light gun de la NES.
L'anti-triche est fait avec l'alternance d'une frame entièrement noire, avant la frame noire + le sprite blanc.
Comme ça, le jeu sais que tu as touché ta cible si la frame où tu appuis sur la gâchette, il détecte du noire, et la suivante, du blanc.
Si tu essayes de tricher en visant une lumière, tu n'auras pas la frame noire et le jeu ne validera pas que tu as touché la cible.
C'est étonnant que le light gun de ASCII et Gun-Stick ne fonctionnent pas de la même façon.
C'est comme ça aussi que fonctionne le light gun de la NES.
L'anti-triche est fait avec l'alternance d'une frame entièrement noire, avant la frame noire + le sprite blanc.
Comme ça, le jeu sais que tu as touché ta cible si la frame où tu appuis sur la gâchette, il détecte du noire, et la suivante, du blanc.
Si tu essayes de tricher en visant une lumière, tu n'auras pas la frame noire et le jeu ne validera pas que tu as touché la cible.
C'est étonnant que le light gun de ASCII et Gun-Stick ne fonctionnent pas de la même façon.

On est toujours ignorant avant de savoir.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie