La Place des Développeurs les "sprites" par copy en screen 8
ericb59
Membre non connecté
Conseiller Municipal
Vaut mieux remplacer par set Page 1,1
Sinon on ne comprend pas trop ce qui se passe !
oui je vois comment il a fait... Tout ses éléments de fond sont sur sa page 1.
Toute fois, la zone utilisable pour déplacer son sprite en page 0 est limitée à sa capacité de stockage d'un décors fixe en page 1.
Sinon on ne comprend pas trop ce qui se passe !
oui je vois comment il a fait... Tout ses éléments de fond sont sur sa page 1.
Toute fois, la zone utilisable pour déplacer son sprite en page 0 est limitée à sa capacité de stockage d'un décors fixe en page 1.
avec des vrais sprites la taille est de 32x32 max et il en faut 3 pour avoir plusieurs couleurs
donc si on se limite a des copy de 32x32 on a directement 256 couleurs et c'est rapide
256/32=8 emplacements de sprites sur une largeur de l'écran pour y animer 8 sprites
reste 160 pixels de haut 160 / 32 = 5 , 5 x 8 = 40 cases pour les animations des persos ou vaisseaux
donc si on se limite a des copy de 32x32 on a directement 256 couleurs et c'est rapide
256/32=8 emplacements de sprites sur une largeur de l'écran pour y animer 8 sprites
reste 160 pixels de haut 160 / 32 = 5 , 5 x 8 = 40 cases pour les animations des persos ou vaisseaux
ericb59
Membre non connecté
Conseiller Municipal
Jipe :
256/32=8 emplacements de sprites sur une largeur de l'écran pour y animer 8 sprites
reste 160 pixels de haut 160 / 32 = 5 , 5 x 8 = 40 cases pour les animations des persos ou vaisseaux
256/32=8 emplacements de sprites sur une largeur de l'écran pour y animer 8 sprites
reste 160 pixels de haut 160 / 32 = 5 , 5 x 8 = 40 cases pour les animations des persos ou vaisseaux
Oui, si on suppose que ton Sprite n'évolue que sur une bande horizontale de 32 pixels de haut Edité par ericb59 Le 13/01/2016 à 18h13
igal
Membre non connecté
Conseiller Municipal
J'avais pas mal réfléchi à la solution des Faux Sprites mais ça oblige à descendre en SCREEN5 sans quoi, y a pas assez de pages pour:
Page Visible 0 => Décors originaux ET [Faux sprites résultants de la page 3]
Page invisible 1=> Décors originaux [Alimente la page 3 en Décors non altérés]
Page invisible 2=> Faux Sprites [Alimente la page 3 en Faux Sprites]
Page invisible 3 => Décors de la page 1 et faux sprites de la page 2 s'empilent et clignotent sur cette page]
2 problèmes se posent:
1) Trop d'opérations COPY sont nécessaires pour permettre d'exploiter cette solution (testé avec Caveman Ninja)
2) Cette méthode OBLIGE à travailler en SCREEN5
La meilleur solution serait d'alimenter la zone de sprites avec de nouveaux vrais sprites renouvelés autant que nécessaire selon les besoins du jeu.
@Eric: Tu as dit expérimenté une solution par BSAVE/COPY des zones de Sprites une fois "préchargées" par des DATAS.
Un outils qui systématiserait la création des Sprites avec ta méthode devrait être une bonne solution Edité par igal Le 13/01/2016 à 18h35
Page Visible 0 => Décors originaux ET [Faux sprites résultants de la page 3]
Page invisible 1=> Décors originaux [Alimente la page 3 en Décors non altérés]
Page invisible 2=> Faux Sprites [Alimente la page 3 en Faux Sprites]
Page invisible 3 => Décors de la page 1 et faux sprites de la page 2 s'empilent et clignotent sur cette page]
2 problèmes se posent:
1) Trop d'opérations COPY sont nécessaires pour permettre d'exploiter cette solution (testé avec Caveman Ninja)
2) Cette méthode OBLIGE à travailler en SCREEN5
La meilleur solution serait d'alimenter la zone de sprites avec de nouveaux vrais sprites renouvelés autant que nécessaire selon les besoins du jeu.
@Eric: Tu as dit expérimenté une solution par BSAVE/COPY des zones de Sprites une fois "préchargées" par des DATAS.
Un outils qui systématiserait la création des Sprites avec ta méthode devrait être une bonne solution Edité par igal Le 13/01/2016 à 18h35
ericb59
Membre non connecté
Conseiller Municipal
Avec l'utilisation de NestorBasic, on peut stocker en RAM des pages graphiques de 16K (soit 64 lignes en screen8).
On peut transférer ces graphismes de la RAM vers la VRAM en page 1, par exemple rapidement (beaucoup plus rapide qu'un copy) et ainsi avoir une multitude de fond accessibles...
On peut transférer ces graphismes de la RAM vers la VRAM en page 1, par exemple rapidement (beaucoup plus rapide qu'un copy) et ainsi avoir une multitude de fond accessibles...
Jipe :
avec des vrais sprites la taille est de 32x32 max et il en faut 3 pour avoir plusieurs couleurs
Ce n'est pas tout à fait vrai.
D'abord chaque ligne de sprite peut avoir sa propre couleur, donc c'est déjà 16 couleurs par sprites, mais je suppose que tu voulais parler du nombre de couleurs par ligne. Il suffit de 2 sprites superposés pour avoir 3 couleurs différentes par ligne (celle du sprite 1, celle du sprite 2, et la couleur obtenue par combinaison).
igal :
J'avais pas mal réfléchi à la solution des Faux Sprites mais ça oblige à descendre en SCREEN5
Ce n'est pas pour rien que la majorité des jeux sur MSX2 sont en SCREEN5. Ce mode graphique est un très bon compromis entre les contraintes de tailles et les possibilités du VDP. Et effectivement, il laisse 4 pages de disponible pour stocker tout ce qui est nécessaire.
Personnellement, je trouve que c'est un excellent mode graphique, les autres étant soit trop limités (SCREEN6) ou trop volumineux (SCREEN7 et 8).
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
igal :
La meilleur solution serait d'alimenter la zone de sprites avec de nouveaux vrais sprites renouvelés autant que nécessaire selon les besoins du jeu.
@Eric: Tu as dit expérimenté une solution par BSAVE/COPY des zones de Sprites une fois "préchargées" par des DATAS.
Un outils qui systématiserait la création des Sprites avec ta méthode devrait être une bonne solution
@Eric: Tu as dit expérimenté une solution par BSAVE/COPY des zones de Sprites une fois "préchargées" par des DATAS.
Un outils qui systématiserait la création des Sprites avec ta méthode devrait être une bonne solution
Espionez ce qui se passe dans M-Kid et vous aurez un exemple du fonctionnement préconisé par l'ami Igal.
Je dois admettre être plutôt fier de cette routine d'animation
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
igal :
@Eric: Tu as dit expérimenté une solution par BSAVE/COPY des zones de Sprites une fois "préchargées" par des DATAS.
C'est pas très compliqué.
Il suffit de charger normalement les sprites, et puis de faire un BSAVE,S de la zone complète des sprites.
Ensuite, quand on en a besoin, un BLOAD,S va venir recharger toute la zone.
C'est tout.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
igal
Membre non connecté
Conseiller Municipal
@Z80: Si je fais un VDP(24)=VDP(24)+44 et que je lance M-KID par (Run"Autoexec.bas) ou encore (POKE &hf346,1:CAL SYSTEM) on devrait voir la "métamorphose" de tes Sprites en temps réel?
J'essaierai ça dès demain et si ca le fait, je posterai une tite vidéo
J'essaierai ça dès demain et si ca le fait, je posterai une tite vidéo
pour aider igal car M-KID se lance sous DOS
il faut utiliser BlueMSX
arrivé sur l'écran jeu de M-KID faire PAUSE || dans BlueMSX
aller dans Outils /Debogeur
ensuite aller dans le Debugger et ouvrir la fenêtre Peripheral Registers si elle n'est pas a l'écran ( pour cela cliquer Window )
dans cette fenêtre afficher 5 : VDP V9958 - registers
chercher le R23 qui est le registre 24 en Basic
si on est en pause || en cliquant sur la valeur 00 on peut la modifier , mettre 30
revenir dans la fenêtre BlueMSX et lancer le Jeu par le triangle play >
observer
il faut utiliser BlueMSX
arrivé sur l'écran jeu de M-KID faire PAUSE || dans BlueMSX
aller dans Outils /Debogeur
ensuite aller dans le Debugger et ouvrir la fenêtre Peripheral Registers si elle n'est pas a l'écran ( pour cela cliquer Window )
dans cette fenêtre afficher 5 : VDP V9958 - registers
chercher le R23 qui est le registre 24 en Basic
si on est en pause || en cliquant sur la valeur 00 on peut la modifier , mettre 30
revenir dans la fenêtre BlueMSX et lancer le Jeu par le triangle play >
observer
igal
Membre non connecté
Conseiller Municipal
Merci Jipe.
Ta technique fonctionne très bien.
Effectivement, on y voit la modification de 3 ligne qui semblent bien être le Héro ainsi qu'un clignotement rapide de quelques pixels lorsque le héro n'est pas statique.
L'idée de coller des bribes "préenregistrées" correspondant à l'état graphique du héro peut etre très interessant mais ca demande une méthode et quelques outils pour préparer ça en amont.
@Z80: les décors sont très net pour du SCREEN10/11/12. t'a utilisé un logiciel de dessin sur MSX pour créer les décors sans bavures?
Par exemple, le bords des pyramides jaune tranche très bien avec le ciel bleu sans déborder l'un sur l'autre
Ta technique fonctionne très bien.
Effectivement, on y voit la modification de 3 ligne qui semblent bien être le Héro ainsi qu'un clignotement rapide de quelques pixels lorsque le héro n'est pas statique.
L'idée de coller des bribes "préenregistrées" correspondant à l'état graphique du héro peut etre très interessant mais ca demande une méthode et quelques outils pour préparer ça en amont.
@Z80: les décors sont très net pour du SCREEN10/11/12. t'a utilisé un logiciel de dessin sur MSX pour créer les décors sans bavures?
Par exemple, le bords des pyramides jaune tranche très bien avec le ciel bleu sans déborder l'un sur l'autre
Pour répondre à Igal. Oui comme l'a dit Jipe, j'ai développé SCREEN11 DESIGNER pour que les graphiste du jeux et tous ceux qui désiraient utiliser le mode SCREEN11 /10.
Pour les sprites ils étaient dessinés en SCREEN 5. et un simple programme en BASIC, créait un fichier texte avec des datas pour le code assembleur.
Je pourrais essayer de retrouver le code assembleur si vous voulez
Pour les sprites ils étaient dessinés en SCREEN 5. et un simple programme en BASIC, créait un fichier texte avec des datas pour le code assembleur.
Je pourrais essayer de retrouver le code assembleur si vous voulez
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
igal
Membre non connecté
Conseiller Municipal
z80 :
Pour répondre à Igal. Oui comme l'a dit Jipe, j'ai développé SCREEN11 DESIGNER pour que les graphiste du jeux et tous ceux qui désiraient utiliser le mode SCREEN11 /10.
Pour les sprites ils étaient dessinés en SCREEN 5. et un simple programme en BASIC, créait un fichier texte avec des datas pour le code assembleur.
Je pourrais essayer de retrouver le code assembleur si vous voulez
Pour les sprites ils étaient dessinés en SCREEN 5. et un simple programme en BASIC, créait un fichier texte avec des datas pour le code assembleur.
Je pourrais essayer de retrouver le code assembleur si vous voulez
Ah Voui
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie