MSX Village forum

La Place des Développeurs moteur de jeu en basic création, optimisation

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 09/11/2010 à 23h04

Reprise du message précédent

TurboSEB :
Je pensse , car il reste de la place sur la page animation de winnie, que de placer un morceau de l'image de fond sur celui-ci , te permetrait de gagner un fichier et de resoudre ton probleme de couleur^^




Lut Turboseb.



Je m’étais fais la même réflexion que toi et j'avais donc intégré trois décors en 16 X 16 tout à droite de WINNIE sous les Carottes, fleurs etc...


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 778

Le 10/11/2010 à 09h34
En effet il faut créer le fond à partir des éléments créés sur l'image des sprites pour être tranquille, il y a une autre astuce avec BMP2MSX mais je parlerai de tout ça dans mon tuto...


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Walter Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 02/10/2009 à 19h33

Messages: 1883

Le 10/11/2010 à 13h12
C'est très bien d'utiliser des contantes (LH, HH ...) igal. :top



Tu peux aussi appliquer des variables dans ton instruction COPY, pour gagner en temps et en mémoire.

Exemple :
540 COPY(0,114)-(25,151),2TO(LH,HH),0

550 COPY(26,114)-(51,151),2TO(LH,HH),0

560 COPY(52,114)-(77,151),2TO(LH,HH),0

570 COPY(78,114)-(103,151),2TO(LH,HH),0

580 COPY(104,114)-(129,151),2TO(LH,HH),0

590 COPY(130,114)-(155,151),2TO(LH,HH),0

600 COPY(156,114)-(181,151),2TO(LH,HH),0

610 COPY(182,114)-(207,151),2TO(LH,HH),0


Ta première coordonnée comporte un pas de 26 points.

0+26=26

26+26=52

52+26=78 ... etc ...



Avec une boucle, tu peux incrémenter tes pas automatiquement :



10 X=0

20 FOR I = 1 T0 8 'Nombre de fois d'exécution de la boucle

30 COPY(X,114)-(181,151),2TO(LH,HH),0 'Exemple de ligne

40 X=X+26 'Incrémentation de la valeur X

50 NEXT I 'Boucle suivante

60 END 'Fin de programme



Méthode utilisable sur les autres variables bien sûr. ^^
RibbSayan Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 19/08/2010 à 22h47

Messages: 154

Le 10/11/2010 à 13h21
Encore mieux
10 FOR X = 0 T0 182 STEP +26
20 COPY(X,114)-(X+25,151),2TO(LH,HH),0 'Exemple de ligne
30 NEXT X 'Boucle suivante
40 END 'Fin de programme

Mais les boucles feront perdre de la performance car dans tous les cas, les 8 copies seront à faire.
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 10/11/2010 à 16h26
MSXosaure :
En effet il faut créer le fond à partir des éléments créés sur l'image des sprites pour être tranquille, il y a une autre astuce avec BMP2MSX mais je parlerai de tout ça dans mon tuto...




Salut Msxausaure.



Effectivement, il est plus simple et logique d'utiliser un bloc "DECOR" puis le répéter le nombre de fois nécessaire. Mais je n'étais pas certain de ce que tu attendais, donc dans le doute, j'avais construit une page de "FOND" spécifique". ^^

Mieux encore, j'imagine qu'il est très envisageable de lire une suite "DATAs" qui permettent la création d'un décor, avec la possibilité de varier l'ensemble en y incluant d'autres motifs de "DECORS", de sorte à varier le fond, voir même créer une illusion de défilement vertical (scrooling) de l'écran. Ca, ce serait super cool :top



Walter :
C'est très bien d'utiliser des contantes (LH, HH ...) igal.

Tu peux aussi appliquer des variables dans ton instruction COPY, pour gagner en temps et en mémoire.




En réalité, j'ai volontairement gardé les données Longitudes et Latitudes pour être Ultra Simple à décortiquer pour Msxosaure.

Néanmoins, rien ne m'empêche de placer ces données en REM ou ' (la shtite apostrophe :))



RibbSayan :
Encore mieux

10 FOR X = 0 T0 182 STEP +26

20 COPY(X,114)-(X+25,151),2TO(LH,HH),0 'Exemple de ligne

30 NEXT X 'Boucle suivante

40 END 'Fin de programme




Vos bouclettes son mignonnes les gars, et les tiennes ont de jolies reflets :D Vais appliquer tout ca dessuite :top




Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 778

Le 10/11/2010 à 18h08
Pour les décors j'ai ma petite astuce que je délivrerai lors de mon tuto, soyez patient car je veux être sur que ça marche avant de commencer :D


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5799

Le 10/11/2010 à 22h59
le mode SCREEN 5 ne peut afficher que 16 couleurs, donc si tu utilise la meme palette de couleur ,pour edité l'image de fond ,que la palette utilisé pour la page winnie, il n'y aura pas de probleme avec les couleurs:heink Sinon ce sera la derniere page chargé qui definira les couleurs .

Sur la page Winnie , il ne doit pas y avoir plus de 8 a 10 couleurs (donc il doit en resté au moins 6 disponibles pour uniquement le decors)

Pour avoir les codes de la palette couleur, j'utilisé sur mon 700, le programme Halo (je crois) et je pouvais redefinir les couleurs avec l'instruction COLOR



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2010 à 14h35
En fait voilà une des techniques que j'ai essayé avec BMP2MSX sans succés.

Je suis parti sur le principe que BMP2MSX transforme les couleurs contenues dans le .BMP en appliquant un principe (algorithme je suppose) de "moyenneur".
Donc si j'utilise les même couleurs sur Alpha.BMP que Beta.BMP, BMP2MSX ne devrait plus poser de problème quant à la qualification des couleurs!
Alpha ainsi que beta contenant les mêmes couleurs A, B et C, j'ai donc pensé résoudre le problème. A tort puisque l’attribution numérique des couleurs semble aléatoire!
Par exemple:
Alpha.BMP se verra attribué [BMP Couleur A=MSX Couleur 1], [BMP Couleur B=MSX Couleur 2], [BMP Couleur C=MSX Couleur 3]
Beta.BMP se verra attribué [BMP Couleur A=MSX Couleur 3], [BMP Couleur B=MSX Couleur 1], [BMP Couleur C=MSX Couleur 2]

J'ai donc essayé de réattribué manuellement l'ordre numérique des couleurs, mais je n'y suis pas arrivé par manque de maîtrise et de technique!
Vivement la solution de Msxosaure.


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10368

Le 11/11/2010 à 14h45
essaye de prendre ton perso avec sa palette et de dessiner le décor autour pour avoir une idée

bien sur si tu veux convertir l'image ça va être beaucoup plus d'avoir les mêmes palettes
en utilisant la palette de base tu peux changer les couleurs avec le pinceau ou un outil adapté


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2010 à 19h20
Jipe :
essaye de prendre ton perso avec sa palette et de dessiner le décor autour pour avoir une idée



bien sur si tu veux convertir l'image ça va être beaucoup plus d'avoir les mêmes palettes

en utilisant la palette de base tu peux changer les couleurs avec le pinceau ou un outil adapté




Alors justement, c'est ce que j'ai fais sur la page d'animation "WINNIE". J'ai greffé une bribe de décor en 16X16 en pensant que la dimension conviendrait au screen 5 et effectivement, cela à résolu le problème de transition de palette.

Néanmoins, à partir d'un certain nombre de couleurs, BMP2MSX à une fâcheuse tendance à transformer "DES" couleurs en créant un "canvas" de pointillés de plusieurs couleurs mélangées. C'est vraiment regrettable parce que cet outil est vraiment très pratique!

Encore une fois, j'espère une solution complète avec le tutoriel avenir de Msxosaure.


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2010 à 19h34
Encore du travail en cours..
Une animation de Winnie en grand format prévue pour la page d'accueil "START" :)

Les [vingt six lettres de l'Alphabet], les ponctuations [Point] et [Virgule] ainsi que les [10 chiffre] du System décimal et un [Espace] pour permettre la rédaction d'un éventuel scénario :)
Dans la limite ou Msxosaure ne sature pas :D , je peux continuer mes avancées au niveau graphique.
Si vous avez des suggestions, n'hésitez pas. :top


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Obelix Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 03/10/2009 à 08h06

Messages: 1702

Le 11/11/2010 à 19h47
:| super


MSX 8235 , MSX 8245 , MSX 8250 , MSX 8280

   
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 778

Le 11/11/2010 à 20h13
Bon j'ai fait un premier truc à l'arrache et par tâtonnement mais le rendu en est sympathique. Par contre, ça aurait été mieux d'aborder ça de façon méthodique pour un beau tuto, il va donc falloir attendre avant d'avoir accès aux sources (que je dois vérifier de façon méthodique) et pour le tuto.

En attendant voici le fichier 'corrigé' des sprite Winnie (le statique n'était pas stable) et modifié: j'ai passé les blocs de décor en dessous pour en avoir plus et les est un peu modifié. je lui ai appliqué ma méthode de mise en transparent par la suite.


Pour le fond j'ai opté pour une mise en place par le programme, ce qui permet de s'affranchir de la palette et permet de créer plusieurs niveaux (jusqu'à16 avec cette méthode, ici 2 seulement).Il suffit de charger cet écran en page principale.


Enfin voici le rendu avec juste une gestion des collisions avec les différents objets pour le moment, le nombre d'animation pour Winnie s'avère nécessaire, car il a un dandinement bien particulier.


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 778

Le 11/11/2010 à 23h01
J'ai fait évoluer le programme qui capture maintenant les éléments du décor! il ne reste plus qu'à faire disparaitre le Winnie dans les trous.

Je commence à douter de mon tuto à venir, car travailler sur des sprite de taille différente d'un multiple de 8 (8,16,24,32,etc...) n'est vraiment pas évident pour expliquer clairement les choses...

à ce sujet je rappelle l'existence d'un programme de Vampier fort bien fait pour la retouche d'image par 'tiles' de 16 x16:



Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2010 à 23h16
Salut Msxosaure.

Chapeau bas pour ton coup d'essais, c est un coup de maître :) Le résulta dépasse de loin mes espérances :top
Le Winnie "static" te posait un problème avec un bras qui restait affiché peut être? (si tu me détail le problème, je peux essayer d'arranger ca)
L'écran à charger qui procède à la mise en place du décor et des items est vraiment une super idée. J'imagine que chaque pixel de couleur à une fonction prédéterminée!

De mon coté, je termine la page d'introduction "Presser Star" que voici.
Avec gabarit

Sans gabarit

J'y ai ajouté une animation de "Winnie" dévorant un pot de miel au format 26 X 31 animées avec huit images. Je te laisse le soin de décider de son "incorporation" au reste de l'animtion Winnie.
Le personnage Winnie en grand format 54 X 64 animés avec deux fois quatre images.
Pour les curieux, les décors avec gabarit révisés par Msxosaure!


Voici donc les coordonnées de la page WINNIE START:

10 ' Facilite la lecture du texte basic en 80 colonnes.
20 WIDTH80
30 'Choix de la resolution et de la page a afficher.
40 SCREEN5,2
50 'Choix de la page de stockage de l'image
60 SET PAGE0,1
70 ' Chargement de l'imagede fond.
80 'BLOAD"fond.sc5",S
90 'COPY(0,0)-(255,192)TO(0,0),0
100 ' applique la palette de couleurs de l image.
110 'COLOR=RESTORE
120 ' Chargement de l'image winnie.
130 BLOAD"START.sc5",S
140 COPY(0,0)-(255,192)TO(0,0),2
150 ' applique la palette de couleurs de l image.
160 COLOR=RESTORE
170 'prendre une bribe image de la page 2 et afficher sur la page 0.
180 LM=100:'Largeur Mange le miel visible
190 HM=100:'Hauteur mange le miel visible
200 'Position d'attente en 8 images
210 COPY(0,0)-(25,37),2TO(LM,HM),0: 'l animation mesure 26 X 38 pixels comme sur la page WINNIE ANIMATION.
220 COPY(26,0)-(51,37),2TO(LM,HM),0
230 COPY(52,0)-(77,37),2TO(LM,HM),0
240 COPY(78,0)-(103,37),2TO(LM,HM),0
250 COPY(104,0)-(129,37),2TO(LM,HM),0
260 COPY(130,0)-(155,37),2TO(LM,HM),0
270 COPY(156,0)-(181,37),2TO(LM,HM),0
280 COPY(182,0)-(207,37),2TO(LM,HM),0
290 LST=150: 'Largeur winnie start visible
300 HST=100: 'Hauteur winnie start visible
310 'Deplacement vers la droite 4 images.
320 COPY(0,38)-(53,101),2TO(LST,HST),0: 'l animation mesure 54 X102 pixels.
330 COPY(54,38)-(107,101),2TO(LST,HST),0
340 COPY(108,38)-(161,101),2TO(LST,HST),0
350 COPY(162,38)-(215,101),2TO(LST,HST),0
360 COPY(0,102)-(53,165),2TO(LST,HST),0
370 COPY(54,102)-(107,165),2TO(LST,HST),0
380 COPY(108,102)-(161,165),2TO(LST,HST),0
390 COPY(162,102)-(215,165),2TO(LST,HST),0
400 'CHACUNE DES 26 LETTRES DE L ALPHABET EST CENTREE DANS UN RECTANGLE DE PIXELS DE "VIDES", OU ALORS, DECENTRE A DROITE.
410 ' LES PONCTUATIONS SONT DECENTREES A GAUCHE POUR COLLER AU CARACTERE PRECEDENT COMME LE VEUT L USAGE DACTYLOGRAPHYQUE.
420 'La dimension des lettre est de 9 X 13 pixels.
430 LA=20:'Largeur Alphabet visible.
440 HA=40:'Hauteur Alphabet visible.
450 COPY(0,166)-(8,178),2TO(LA,HA),0
460 COPY(9,166)-(17,178),2TO(LA,HA),0:'a
470 COPY(18,166)-(26,178),2TO(LA,HA),0:'b
480 COPY(27,166)-(35,178),0TO(LA,HA),0:'c
490 COPY(36,166)-(44,178),2TO(LA,HA),0:'d
500 COPY(45,166)-(53,178),2TO(LA,HA),0:'e
510 COPY(54,166)-(62,178),2TO(LA,HA),0:'f
520 COPY(63,166)-(71,178),2TO(LA,HA),0:'g
530 COPY(72,166)-(80,178),2TO(LA,HA),0:'h
540 COPY(81,166)-(89,178),2TO(LA,HA),0:'i
550 COPY(90,166)-(98,178),2TO(LA,HA),0:'j
560 COPY(99,166)-(107,178),2TO(LA,HA),0:'k
570 COPY(108,166)-(116,178),2TO(LA,HA),0:'l
580 COPY(117,166)-(125,178),2TO(LA,HA),0:'m
590 COPY(126,166)-(134,178),2TO(LA,HA),0:'n
600 COPY(135,166)-(143,178),2TO(LA,HA),0:'o
610 COPY(144,166)-(152,178),2TO(LA,HA),0:'q
620 COPY(153,166)-(161,178),2TO(LA,HA),0:'r
630 COPY(162,166)-(170,178),2TO(LA,HA),0:'s
640 COPY(171,166)-(179,178),2TO(LA,HA),0:'t
650 COPY(180,166)-(188,178),2TO(LA,HA),0:'u
660 COPY(189,166)-(197,178),2TO(LA,HA),0:'v
670 COPY(198,166)-(206,178),2TO(LA,HA),0:'w
680 COPY(207,166)-(215,178),2TO(LA,HA),0':'x
690 COPY(216,166)-(224,178),2TO(LA,HA),0:'y
700 COPY(225,166)-(233,178),2TO(LA,HA),0:'z
710 COPY(234,166)-(242,178),2TO(LA,HA),0:'POINT
720 COPY(243,166)-(251,178),2TO(LA,HA),0:'VIRGULE
730 'CHACUN ES DIX CHIFFRES EST CENTREE DANS UN RECTANGLE DE PIXELS DE "VIDES".
740 'La dimension des case de chiffres est de 9 X 13 pixels.
750 LC=40:'Largeur Alphabet visible.
760 HC=40:'Hauteru Alphabet visible.
770 COPY(0,179)-(8,191),2TO(LC,HC),0:'0
780 COPY(9,179)-(17,191),2TO(LC,HC),0:'1
790 'Deplacement vers la gauche de 4 images.
800 COPY(18,179)-(26,191),2TO(LC,HC),0:'2
810 COPY(27,179)-(35,191),2TO(LC,HC),0:'3
820 COPY(36,179)-(44,191),2TO(LC,HC),0:'4
830 COPY(45,179)-(53,191),2TO(LC,HC),0:'5
840 COPY(54,179)-(62,191),2TO(LC,HC),0:'6
850 COPY(63,179)-(71,191),2TO(LC,HC),0:'7
860 COPY(72,179)-(80,191),2TO(LC,HC),0:'8
870 COPY(81,179)-(89,191),2TO(LC,HC),0:'9
880 COPY(90,179)-(98,191),2TO(LC,HC),0:'VIERGE
881 GOTO 210
890 SAVE"autoexec.bas
 Edité par igal Le 12/11/2010 à 17h06


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 778

Le 12/11/2010 à 20h25
igal :
Salut Msxosaure.



Chapeau bas pour ton coup d'essais, c est un coup de maître :) Le résulta dépasse de loin mes espérances :top

Le Winnie "static" te posait un problème avec un bras qui restait affiché peut être? (si tu me détail le problème, je peux essayer d'arranger ca)

L'écran à charger qui procède à la mise en place du décor et des items est vraiment une super idée. J'imagine que chaque pixel de couleur à une fonction prédéterminée!





Merci!

Bien vu Igal, si tu regardes attentivement l'écran des "sprites" il y a un numéro sous chaque forme (bloc), celui ci correspond à un code couleur, par exemple la carotte correspond au rose (9). Je commencerai par ça dans mon tuto.



Par contre pour le winnie statique, c'est plus la position qui me gênait; les pieds n'étant pas calés au bon endroit et le Winnie glissait à droite et à gauche.



Une fois le tuto fait, tu pourras facilement créer un écran titre animé facilement par toi même :D


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie