[C++/LUA]Comment réadapter les sprites ?

Démarré par MetalZelda, 21 Avril 2013 à 15:20

0 Membres et 1 Invité sur ce sujet

21 Avril 2013 à 15:20 Dernière édition: 22 Avril 2013 à 15:20 par MetalZelda
Chris ou la Zelda Solarus Team, j'ai une question :P

Sachant que tout ce qui est du Project Zelda Engine est 1,5x plus grand que les ressources de Zelda Solarus (Les sprites essentiellement), y'a t-il moyen de resizer le tout (si il faut modifier les scripts, faut m'indiquer lesquels  :mrgreen:)

Parce que dans la screen que j'ai poster, Link à juste été collé pour avoir un avant goût de ce que sera le moteur modifié ^_^

21 Avril 2013 à 16:09 #1 Dernière édition: 21 Avril 2013 à 16:14 par Christopho
Vaste question. C'est pour ça que ton Link m'étonnait beaucoup dans le screen :)
La plupart des entités (le héros, les personnages non joueurs, les coffres, les vases...) font 16x16 pixels et tout est basé là-dessus. D'après ton screen, link semble faire 32x32 (je parle de sa collision box, pas de son sprite qui lui est plus grand). De même, la résolution est de 640x480 au lieu de 320x240. Donc pour moi tout est 2 fois plus grand et pas 1,5 fois plus grand, si ?

Quoi qu'il en soit, il faudra redimensionner tous les sprites et tous les tilesets de ZSDX. Redimensionner les fichiers PNG c'est facile, ensuite il faudra mettre à jour les fichiers de sprites et de tilesets qui font référence à des coordonnées dans ces fichiers PNG. Actuellement, les tilesets peuvent être modifiés depuis l'éditeur donc c'est assez facile. Pour les sprites, ce sera plus chiant vu qu'il n'y a pas encore d'interface graphique dans l'éditeur pour les modifier, désolé. Il faudra donc modifier à la main les fichiers .dat des sprites.
Pour commencer, attaque-toi juste au tileset de la maison et aux principaux sprites de Link. Si ça fonctionne bien, je pourrai faire un script qui agrandit automatiquement tout d'un facteur 2 (ou 1.5, à voir), sinon ce sera beaucoup trop long à faire.

De mon côté, je vais réfléchir comment mettre à jour le moteur pour que l'on puisse changer la taille de base des entités de 16x16 à autre chose comme 24x24 ou 32x32. Car juste changer les graphismes ne suffit pas, il faut aussi qu'en interne, les collision box de toutes les entités (héros, vases, coffres, personnages, téléporteurs...) soient agrandies de la même façon.
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

21 Avril 2013 à 16:23 #2 Dernière édition: 21 Avril 2013 à 16:27 par MetalZelda
Citation de: Christopho le 21 Avril 2013 à 16:09
Vaste question. C'est pour ça que ton Link m'étonnait beaucoup dans le screen :)
La plupart des entités (le héros, les personnages non joueurs, les coffres, les vases...) font 16x16 pixels et tout est basé là-dessus. D'après ton screen, link semble faire 32x32 (je parle de sa collision box, pas de son sprite qui lui est plus grand). De même, la résolution est de 640x480 au lieu de 320x240. Donc pour moi tout est 2 fois plus grand et pas 1,5 fois plus grand, si ?

Quoi qu'il en soit, il faudra redimensionner tous les sprites et tous les tilesets de ZSDX. Redimensionner les fichiers PNG c'est facile, ensuite il faudra mettre à jour les fichiers de sprites et de tilesets qui font référence à des coordonnées dans ces fichiers PNG. Actuellement, les tilesets peuvent être modifiés depuis l'éditeur donc c'est assez facile. Pour les sprites, ce sera plus chiant vu qu'il n'y a pas encore d'interface graphique dans l'éditeur pour les modifier, désolé. Il faudra donc modifier à la main les fichiers .dat des sprites.
Pour commencer, attaque-toi juste au tileset de la maison et aux principaux sprites de Link. Si ça fonctionne bien, je pourrai faire un script qui agrandit automatiquement tout d'un facteur 2 (ou 1.5, à voir), sinon ce sera beaucoup trop long à faire.

De mon côté, je vais réfléchir comment mettre à jour le moteur pour que l'on puisse changer la taille de base des entités de 16x16 à autre chose comme 24x24 ou 32x32. Car juste changer les graphismes ne suffit pas, il faut aussi qu'en interne, les collision box de toutes les entités (héros, vases, coffres, personnages, téléporteurs...) soient agrandies de la même façon.


Oui, c'est bien du 2x plus grand :P

Au pire, j'ai une seconde idée, c'est de modifié/recoloriser les sprites de Link de Solarus, après, le mode vidéo lisse peut sans doute donner des résultats proches du PZE ^^ Sa va pas être très long, vu qu'un script du PZE peut modifier et recoloriser une palette de sprite entière :p

Je re-télécharge les données de Solarus et je teste sa en 320x240 (Les sprites de Link du PZE sont Link Enfant d'OOT custom donc sa devrait aller ^^), si sa me convient, je continuerais dans cette voie la :p (Parce que je me demande pourquoi on s'est embrouiller alors que Solarus à un mode 640x480 avec lissage xD) ... Puis la pluspars des sprites qu'on trouve sur The Spriters Ressource sont du 16x16 :3

Tout à fait. Ça me semble plus sage ^^. Je ne peux que te recommander de faire du 16x16, et avec le mode lissé c'est effectivement une bonne idée.
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Hmmm ... J'ai une autre idée, je pense que je vais reprendre tout les sprites de Parallel World  :mrgreen: ceux la me plaisent bien :p

Quelqu'un saurait ripper des tilesets/Sprites de jeux SNES ?

Pour les tilesets va sur vgmaps.com :)
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Citation de: Christopho le 21 Avril 2013 à 18:52
Pour les tilesets va sur vgmaps.com :)

Y'a pas pour Parallel World :s, m'enfin je vais trouver une solution, y'a forcement moyen d'acceder a la RAM de la ROM et de dumper les tileset/Sprites :p

M'enfin, merci quand même :)