Le Village Compétences MSXiennes En quoi t'es bon ou un peu ?
Bonjour tout le monde,
Je suis en train de développer un jeu de plateforme MSX1 en coopération (ce n'est pas la 1ère fois que je le dis ) et j'aurais aimé savoir si dans le village, il y avait des personnes ayant des connaissances en musique PSG et/ou en bruitage car c'est un peu là que "mon" bas blesse.
Pour montrer un peu où j'en suis, je vous met une petite ROM de démo.
AlternateEarthMegarom.zip
Les touches :
F1 : Switch de perso (PL1 = Samantha = partie haute, PL2 = Kimiko = partie basse)
F2 : Pause
Flêche de directions pour se déplacer, monter et descendre les échelles.
CRTL (sur le PC via Emulation) : Saut.
Samantha (rouge) a un double saut.
Kimiko (bleu) peut marcher un certain temps au dessus du vide (comme les persos d'USAS)
La montée de l'échelle sur l'écran de départ est pour tester sinon vous sortez de la map.
Pour finir, ce ne sont pas les sprites finaux et le moteur du jeu n'est pas encore place. Je n'ai codé que le moteur physique (et encore des mises aux points à faire)
Je suis en train de développer un jeu de plateforme MSX1 en coopération (ce n'est pas la 1ère fois que je le dis ) et j'aurais aimé savoir si dans le village, il y avait des personnes ayant des connaissances en musique PSG et/ou en bruitage car c'est un peu là que "mon" bas blesse.
Pour montrer un peu où j'en suis, je vous met une petite ROM de démo.
AlternateEarthMegarom.zip
Les touches :
F1 : Switch de perso (PL1 = Samantha = partie haute, PL2 = Kimiko = partie basse)
F2 : Pause
Flêche de directions pour se déplacer, monter et descendre les échelles.
CRTL (sur le PC via Emulation) : Saut.
Samantha (rouge) a un double saut.
Kimiko (bleu) peut marcher un certain temps au dessus du vide (comme les persos d'USAS)
La montée de l'échelle sur l'écran de départ est pour tester sinon vous sortez de la map.
Pour finir, ce ne sont pas les sprites finaux et le moteur du jeu n'est pas encore place. Je n'ai codé que le moteur physique (et encore des mises aux points à faire)
Très bon boulot RibbSayan
Cela présage d'un jeu en 1 contre 1 comme Spy VS Spy, ou en coopération ou en solo comme sur la démo, voire les 3 .
Tu travailles avec ASMSX ou autre chose?
Je viens de regarder mon code pour ufo et c'est un peu le foutoir je peux faire un tuto si tu veux .
Sans parler de tuto, car je débute en ASM je peux donner ce que je fais pour le tir pour l'appliquer au saut du personnage par exemple.
Cela présage d'un jeu en 1 contre 1 comme Spy VS Spy, ou en coopération ou en solo comme sur la démo, voire les 3 .
Tu travailles avec ASMSX ou autre chose?
Je viens de regarder mon code pour ufo et c'est un peu le foutoir je peux faire un tuto si tu veux .
Sans parler de tuto, car je débute en ASM je peux donner ce que je fais pour le tir pour l'appliquer au saut du personnage par exemple.
Le MSXien le plus à l'ouest ... ou presque
Et non, ce n'est pas un jeu 1 contre 1 mais un jeu de coopération. Soit en jouant seul et en "switchant" d'un personnage à un autre, soit en jouant à 2 joueurs en même temps.
D'ailleurs, même si je ne l'utilise pas pour l'instant, tout est déjà codé. Le jeu à 2, les barres de vies, les barres d'experience. Ainsi que toutes les touches du clavier et des manettes (Gestion du front montant de touche et les touches appuyés en cours)
Pour l'instant, je n'ai pas du tout prévu de faire un versus mais bon, c'est en dev !
Je travaille avec asMsx effectivement. Pour l'instant, je suis en train d'étudier les replayer de bruitages AY... et de musiques PT3... Mais bon, les tests c'est long.
Je cherchais surtout à savoir si quelqu'un connaissait un peu les registres de son pour MSX. Et d'autres bonnes volontés
D'ailleurs, même si je ne l'utilise pas pour l'instant, tout est déjà codé. Le jeu à 2, les barres de vies, les barres d'experience. Ainsi que toutes les touches du clavier et des manettes (Gestion du front montant de touche et les touches appuyés en cours)
Pour l'instant, je n'ai pas du tout prévu de faire un versus mais bon, c'est en dev !
Je travaille avec asMsx effectivement. Pour l'instant, je suis en train d'étudier les replayer de bruitages AY... et de musiques PT3... Mais bon, les tests c'est long.
Je cherchais surtout à savoir si quelqu'un connaissait un peu les registres de son pour MSX. Et d'autres bonnes volontés
MSXOsaure, j'aurais aimé savoir si tu connaissais un peu les routine bios pour la détections de sprites ?
Je suis en train de lire des posts sur MRC sur le sujet, mais ça reste encore assez obscure à comprendre.
Sinon par rapport à la rom que j'ai mis à disposition, je peux mettre aussi à dispo le code asMSX. Je suis pour le partage des infos
Je suis en train de lire des posts sur MRC sur le sujet, mais ça reste encore assez obscure à comprendre.
Sinon par rapport à la rom que j'ai mis à disposition, je peux mettre aussi à dispo le code asMSX. Je suis pour le partage des infos
Justement, je ne sais pas de quoi je parle. Je recherche pleins d'infos sur la collision de sprites.
J'essaie de tout comprendre pour finir mon jeu
Je n'ai pas eu le temps de tester les replayers (son AY... et musique PT3...) Je te le mets à disposition.
Je les ai récupéré sur MRC.
Replayer.zip
Je n'ai pas actuellement à disposition l'éditeur de bruitage (fonctionnant sur PC avec quelques banks à dispo comme des bruitages d'aleste, vampire killer et d'autres) mais il est trouvable sur MRC (ou chez moi quand j'y serai )
J'essaie de tout comprendre pour finir mon jeu
Je n'ai pas eu le temps de tester les replayers (son AY... et musique PT3...) Je te le mets à disposition.
Je les ai récupéré sur MRC.
Replayer.zip
Je n'ai pas actuellement à disposition l'éditeur de bruitage (fonctionnant sur PC avec quelques banks à dispo comme des bruitages d'aleste, vampire killer et d'autres) mais il est trouvable sur MRC (ou chez moi quand j'y serai )
RibbSayan :
Justement, je ne sais pas de quoi je parle. Je recherche pleins d'infos sur la collision de sprites.
J'essaie de tout comprendre pour finir mon jeu
Je n'ai pas eu le temps de tester les replayers (son AY... et musique PT3...) Je te le mets à disposition.
Je les ai récupéré sur MRC.
Replayer.zip
Je n'ai pas actuellement à disposition l'éditeur de bruitage (fonctionnant sur PC avec quelques banks à dispo comme des bruitages d'aleste, vampire killer et d'autres) mais il est trouvable sur MRC (ou chez moi quand j'y serai )
J'essaie de tout comprendre pour finir mon jeu
Je n'ai pas eu le temps de tester les replayers (son AY... et musique PT3...) Je te le mets à disposition.
Je les ai récupéré sur MRC.
Replayer.zip
Je n'ai pas actuellement à disposition l'éditeur de bruitage (fonctionnant sur PC avec quelques banks à dispo comme des bruitages d'aleste, vampire killer et d'autres) mais il est trouvable sur MRC (ou chez moi quand j'y serai )
Une chose à la fois, pour l'instant la musique!
Avec ce que tu m'as donné, facile de l'intégrer! il suffit de transformer la LOOP du programme example.asm en sous programme intégré à ton programme, sans oublier les différents éléments d'initialisation et d'appel aux programmes attenants!
Il faut aussi avoir les fichiers nécessaires à la lecture des PT3 et le fichier PT3 auquel on a retiré les 99 premiers octets (c'est dit dans le Readme.txt)
Au début de ton programme:
Code ASM :
; --- INITIALISATION --- PT3 !!!!!!!!!!! di ; Disable interrupts ld hl,MUSIC-99 ; hl <- initial address of module - 99 call PT3_INIT ; Inits PT3 player ei ; Enable interrupts halt ; Synchro halt ; Synchro
En fin de programme:
Code ASM :
; --- INCLUDE PT3-ROM.ASM in ROM code --- PT3 !!!!!!!!!!! REPLAYER: .INCLUDE "PT3-ROM.ASM" ; --- INCLUDE MUSIC in ROM code (don't forget to strip first 99 bytes of PT3 module --- MUSIC: .INCBIN "MUSIC.99"
Ton sous-programme:
Code ASM :
GST_MUSIQUE: PT3!!!!!!!!!!!!!!! di ; Disable interrupts call PT3_ROUT ; Write values on PSG registers call PT3_PLAY ; Calculates PSG values for next frame ; --- You can place here your favourite FX system and write the values to AYREGS label --- ;----------------------- LES BRUITAGES à Intégrer! --------------- ; --- so on next frame the FX will be played automatically when calling PT3_ROUT --- ei ; Enable interrupts ret
Sous programme que tu appelles par un call GST_MUSIQUE dans ta boucle principale.
Enfin les labels "mémoires" pour stocker les données en .page3
Code ASM :
.page 3 .INCLUDE "PT3-RAM.ASM"
Aplacer tout de suite après .page3 (avant les tiens), sinon ça foire!
Voici un exemple avec mon programme UFO et un PT3 récupéré sur le net.
ufopt3.zip
REste quelques problèmes:
- Une fois la musique finie, elle s'arrête et ne boucle pas
- Je ne vois pas comment intégrer les fichiers afx ou les bank d'afx? (j'ai l'éditeur et les sample), si tu as une piste.
- Merci pour le partage de tes explorations.
EDIT! : ça y est j'ai trouvé! enfin je crois, je dois faire des tests, je te tiens au jus.
Le MSXien le plus à l'ouest ... ou presque
Passons donc aux bruitages,
Là j'avoue que ça foire un peu avec la musique mais je pense tenir le fonctionnement qui est similaire à celui du player PT3
Au départ on charge le programme:
En fin de programme: (ufo.afb peut être remplacé par n'importe quelle autre banque de sons)
on intègre le player d'effets dans le player PT3 en remplaçant la ligne:
;----------------------- LES BRUITAGES à Intégrer!---------------
par:
Enfin, comme pour le PT3 il faut réserver sa place en RAM
Maintenant comment faire appel à un son bien précis de ma banque
Il suffit d'intégrer les ligne de codes suivantes au moment opportun.
Par exemple si la banque 1 contient le son "tir" ici il sera joué mais s'il y a le bruit d'une explosion au même moment et que ce dernier est prioritaire (C<4) alors ce sera l'explosion qui sera joué.
Le désavantage de ce player d'effets sonores c'est qu'il se contente d'un seul canal, par contre il s'intègre bien à la musique et une banque peut contenir 255 sons ce qui permet de voir venir!
J'ai encore des problèmes au niveau gestion du volume et du bruit sur les bruitages, il existe 2 versions du player, il reste à voir laquelle est la plus efficace!
Là j'avoue que ça foire un peu avec la musique mais je pense tenir le fonctionnement qui est similaire à celui du player PT3
Au départ on charge le programme:
Code ASM :
; --- INITIALISATION ---SFX !!!!!!!!!!! di; Disable interrupts ldhl,ayFX_BANK1; On sélectionne l'adresse des bank de sons dans hl callayFX_SETUP; Inits AYFX player ei; Enable interrupts
En fin de programme: (ufo.afb peut être remplacé par n'importe quelle autre banque de sons)
Code ASM :
; --- INCLUDE AyFX in ROM code ---SFX !!!!!!!!!!! ayFX:.INCLUDE"ayfx-ROM.ASM" ; -----include banque de sons------ ayFX_BANK1:.INCBIN"ufo.afb"
on intègre le player d'effets dans le player PT3 en remplaçant la ligne:
;----------------------- LES BRUITAGES à Intégrer!---------------
par:
Code ASM :
; --- You can place here your favourite FX system and write the values to AYREGS label --- call ayFX_PLAY ; --- so on next frame the FX will be played automatically when calling PT3_ROUT ---
Enfin, comme pour le PT3 il faut réserver sa place en RAM
Code ASM :
.page 3 .INCLUDE"PT3-RAM.ASM" .INCLUDE"ayFX-RAM.ASM"
Maintenant comment faire appel à un son bien précis de ma banque
Il suffit d'intégrer les ligne de codes suivantes au moment opportun.
Code ASM :
lda,1 ; je mets dans l'accumulateur (a) le N° du son que je veux jouer. (1à256) ldc,4 ; je mets dans C la priorité à laquelle le son doit être joué (0à15). call ayFX_INIT; j'initialise ret
Par exemple si la banque 1 contient le son "tir" ici il sera joué mais s'il y a le bruit d'une explosion au même moment et que ce dernier est prioritaire (C<4) alors ce sera l'explosion qui sera joué.
Le désavantage de ce player d'effets sonores c'est qu'il se contente d'un seul canal, par contre il s'intègre bien à la musique et une banque peut contenir 255 sons ce qui permet de voir venir!
J'ai encore des problèmes au niveau gestion du volume et du bruit sur les bruitages, il existe 2 versions du player, il reste à voir laquelle est la plus efficace!
Le MSXien le plus à l'ouest ... ou presque
Passons aux Sprites, ce petit extrait de Pratique du MSX2 devrait t'aider:
Un simple test bit 5 te dira s'il y a collision ou non, attention enable interrupt (ei)!
... puis batterie de test pour savoir quels sprites sont en collision car notre MSX ne sait pas le dire!
Code TEXT :
0013EH RDVDP ReaD VDP status register Nom : RDVDP Adresse : 0013EH/ROM Type : MSX1 - 1 - Rôle : lecture du registre d'état du VDP Entrée : rien Sortie : A - contenu du registre Modifie : rien Note : Voici le détail du contenu du registre d'état du processeur vidéo (voir le chapitre sur le processeur vidéo pour plus de précisions sur ce registre) b7 b6 b5 b4 b3 b2 b1 b0 ! ! ! ! ! ! ! ! ! ! ! +----+----+----+----+----- N° du 5ème sprite ! ! +------------------------------ 2 sprites en collision ! +----------------------------------- 5 sprites même ligne +---------------------------------------- flag d'interruption
Un simple test bit 5 te dira s'il y a collision ou non, attention enable interrupt (ei)!
Code ASM :
callRDVDP bit5,a retnz ; retour si pas de collision
... puis batterie de test pour savoir quels sprites sont en collision car notre MSX ne sait pas le dire!
Le MSXien le plus à l'ouest ... ou presque
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie