Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » [C][Basic][Lua][Prizm][G75/85/95] Sprite Coder
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

[C][Basic][Lua][Prizm][G75/85/95] Sprite Coder

Posté le 23/05/2013 21:45

Ce que je trouve vraiment dommage avec le codeur de sprite sur le site cemetech.net, c'est qu'il n'est pas possible de coder plusieurs sprites en même temps, par exemple dans mon jeu Zelda il y aura 300 sprites et coder 300 sprites est beaucoup trop long à faire...

Du coup j'ai programmé hier un programme en PHP qui permet de coder plusieurs sprites en même temps, sans limitation de taille, pour les calculatrices G75/85/95 et pour la cg-10/20, j'essayerai de l'adapter plus tard en C/C++.

>>Vous pouvez accéder à la V3 ici<< .

Installation - Cliquer pour dérouler
Installation - Cliquer pour enrouler

Vous pouvez aussi l'installer sur votre ordinateur pour l'utilisation offline
Télécharger puis installer sur votre ordinateur easyPHP (ou wamp, mais perso je préfère easyPHP).
Télécharger le .zip dans le fichier joint.
Décompresser le .zip dans le dossier "www" qui se trouve dans le dossier "easyPHP" .
Dans un navigateur web (Chrome de préférence), taper dans la barre d'adresse 127.0.0.1, puis cliquer sur le dossier spriteCoder


Ce que ce programme est capable de faire
Ce que ce programme est capable de faire

Ce programme est capable de :
Coder tous les images .PNG .GIF et .JPEG
Coder les sprites pour les G75/85/95 et Cg-20
Générer un tableau de pointeur, contenant les adresses de tous les sprites.
Coder les sprites en 8-bits ou en 16-bits pour la cg-20
Coder plusieurs feuilles de sprites en même temps


Dans une future mise à jour
Dans une future mise à jour

Dans une future màj il sera possible
de coder les sprites en 2-bits et 1-bit
de coder des sprites avec des niveaux de gris


Voilà, si vous avez des idées d'améliorations faites m'en part

dernière mise à jour : 16-03-2014 à 17:33
dernière version : 2.0b


Fichier joint


Pages : Précédente1, 2, 3, 4, 5, 6, 7, ... 9Suivante
DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 25/05/2013 15:45 | #


et aussi pouvoir coder des feuilles de sprites, en mettant par exemple qu'un sprite est de 16*16 et puis tout mettre dans un tableau. ce sera plus pratique pour l'animation d'un personnage ou pour utiliser des sprites pris d'internet
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 25/05/2013 16:02 | #


Dodormeur a écrit :

et aussi pouvoir coder des feuilles de sprites, en mettant par exemple qu'un sprite est de 16*16 et puis tout mettre dans un tableau. ce sera plus pratique pour l'animation d'un personnage ou pour utiliser des sprites pris d'internet
Déjà fait, Il suffit de cocher "oui" dans "Voulez-vous générer un tableau de pointeur contenant tous les sprites?" et d'entrer le nom du tableau, après avoir cliqué sur "Valider" tu descends tout en bas de la page et tu trouves le tableau de pointeur généré
DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 25/05/2013 16:08 | # | Fichier joint


non, ce que je veux dire, c'est qu'a partir d'un fichier contenant 5 sprites par exemple, cela génère cinq sprites différents, et pas juste un sprite de la feuille.
je te met un exemple en fichier joint, et a partir de cette feuille, en définissant des sprites 32*32, on puisse générer les sprites sans devoir les mettre chacun dans un fichier separé
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 25/05/2013 16:15 | #


Ah oui je vois, ça va être un peu plus difficile à faire, mais je vais essayer

Ajouté le 25/05/2013 à 17:14 :
Mise à jour
Dodormeur a écrit :

peut être une idée d’amélioration (mais de l\'ordre du détail) :
quand on génère le code, cela serait bien de pouvoir choisir la taille max des lignes.
en effet, moi j\'aime bien avoir un sprite par ligne, je trouve cela plus condensé, mais je sais que d\'autres n\'aime pas trop.
il faudrait pouvoir laisser le choix entre :
une ligne par sprite, une ligne du sprite par ligne ,et un nombre max de caractere par ligne

exemple :

pouvoir genere ca :

unsigned char petit_orbe[] = {0x3C, 0x42,0xC1, 0xC1, 0xC1, 0xE1, 0x7E, 0x3C};//tout sur une ligne

unsigned char petit_orbe[] = {
0x3C,
0x42,
0xC1,
0xC1,
0xC1,
0xE1,
0x7E,
0x3C};//une ligne du sprite par ligne

unsigned char petit_orbe[] = {
0x3C, 0x42,
0xC1, 0xC1,
0xC1, 0xE1,
0x7E, 0x3C};//avec max 12 caractères par ligne

J\'ai rajouté ceci

J\'ai aussi rajouté du CSS pour plus de lisibilité
Dark stormHors ligneMembre d'honneurPoints: 10776 Défis: 174 Message

Citer : Posté le 25/05/2013 19:12 | #


C'est pas mal le coup du tableau de pointeurs pour les animations
Je pense que j'utiliserai la fonction. Petite question: il l'organise dans l'ordre de sélection des images ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 25/05/2013 19:29 | #


Non, c'est dans l'ordre alphabétique.
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 25/05/2013 20:48 | # | Fichier joint


@Dodormeur : J'ai un petit problème
Cliquez pour découvrir
Cliquez pour recouvrir

Si on a un sprite de taille 48x57px par exemple (sur le schéma c'est en gris) et on veut le découper en plusieurs sprites de taille 32*32, étant donné que 48 n'est pas un multiple de 32, il y aura donc une partie qu'on ne pourra pas coder (en jaune, c'est la partie qui dépasse), dans ce cas comment vais-je faire?
Je ne code pas le sprite (sur le schéma c'est le sprite numéro 2)
ou
Le sprite sera codé, mais la partie en jaune sera codé en blanc.

DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 25/05/2013 20:54 | #


je pense qu'il vaut mieux coder le sprite incomplet, car si l'utilisateur veut justement coder un sprite plus petit de par exemple 28*32, et que sans reflechir il fait une feuille de 40*64, et bien ça marchera quand meme
(ou alors tu laisse le choix, mais c'est plus de boulot)
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 25/05/2013 21:03 | #


Ok merci

Ajouté le 25/05/2013 à 22:45 :
Mise à jour
Je récapitule tout ce que ce programme est capable de faire :
Coder des sprites pour les G85 et Prizm, sans limitation de taille, avec la possibilité de pouvoir coder plusieurs sprites en même temps.
Coder des sprites en 8-bits ou en 16-bits pour la Prizm.
Générer un tableau de pointeur contenant tous les sprites, idéal pour faire des animations.
Coder des feuilles de sprites, il est aussi possible de coder plusieurs feuilles de sprites en même temps :D.
J\'ai aussi amélioré l\'interface.
Voilà si vous avez des idées d\'améliorations (au niveau du design, au niveau des outils ...) ou si vous avez trouvé des bugs, faites m\'en part

Al3xHors ligneMembrePoints: 77 Défis: 3 Message

Citer : Posté le 26/05/2013 14:19 | #


Bien jouer !
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 26/05/2013 15:36 | #


Merci
EiyeronHors ligneAncien modérateurPoints: 5513 Défis: 57 Message

Citer : Posté le 29/05/2013 19:16 | #


C'est vraiment une bonne idée Smashie, mais une table de sprites est bien plus pratique, car elle peut éviter bien de soucis de gestion de sprites, notamment sur CG-10/20 : sur BAM, pour le launcher de bulles, j'avais justge un gros sprite où j'avais toutes les frames d'animation. La perte due aux calculs d'offset est minime.
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 29/05/2013 19:54 | #


Eiyeron a écrit :
mais une table de sprites est bien plus pratique
Tu veux dire par exemple :

sprite[x][y]=
{
     {
          //sprite numero 1
     },
     {
          //sprite numero 2
     },
     {
          //sprite numero 3
     },
     ...
     ...
};


?
Dark stormHors ligneMembre d'honneurPoints: 10776 Défis: 174 Message

Citer : Posté le 29/05/2013 20:46 | #


nn, je pense qu'il utilise la même technique que sur iDevice: tu n'affiche qu'une partie du sprite, et donc tu en fait un grand avec les différentes animations dessus

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 31/05/2013 17:41 | #


D'accord, j'ai compris maintenant ;).
En ce moment je cherche un algorithme qui permet de coder des images en Basic, plus performant que photocasio :).
DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 31/05/2013 17:42 | #


tu as déjà regarder l'algo de crusher?
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 31/05/2013 23:50 | #


Il avait publié les sources?
TotoyoHors ligneMembre d'honneurPoints: 15908 Défis: 101 Message
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 01/06/2013 00:43 | #


Mince, je vois :/ .

TotoyoHors ligneMembre d'honneurPoints: 15908 Défis: 101 Message

Citer : Posté le 01/06/2013 00:46 | #


Je peux te donner son adresse mail, peut-être qu'il conserve encore les sources quelque part au fond de son disque dure.
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 01/06/2013 02:07 | #


Si ça ne te dérange pas, je veux bien
Pages : Précédente1, 2, 3, 4, 5, 6, 7, ... 9Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 22 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd