Création de sprites
15 sujets de 1 à 15 (sur un total de 24)
- 1
- 2
-
Bonjour,
Je profite de ce message pour souhaiter de bonnes fêtes à tous.
Quelqu’un sait comment créer des feuilles de sprites (spritesheets) pour les jeux 2D sur les Amiga NG ? Que ce soit pour PC, Mac, Android ou iOS, il existe maintenant des outils comme TexturePacker ou Spine Texture qui permettent de générer ces spritesheets en supportant de nombreux moteurs de jeux.
A priori, je ne trouve rien de compatible sur AmigaOS 4.1 ou MorphOS. Comment font les développeurs ?
Le truc, c’est qu’en 2016 (bientôt 2017) les sprites sont sensiblement plus évolués et plus complexes que ceux qu’on produisait à la main dans les années 80 – 90 (intégration d’effets 3D, cinématique inverse, déformations, etc)
Par avance, merci pour vos éventuels retours,
Pierre
En fait, j’ai crée plusieurs jeux sur iOS avec SpriteKit et Swift, et appréciant particulièrement les Amiga (NG), que ce soit sous AmigaOS 4.1 ou MorphOS (j’ai les deux), je me posais la question du portage éventuel et donc de récupérer mes feuilles de sprites crées pour iOS – SpriteKit. Spine, Spriter ou TexturePacker ne proposent aucune solution en sortie pour les Amiga NG…
Pour les Amiga Classic, malheureusement, la question ne se pose pas car il n’est pas possible d’avoir un rendu 2D actuel qu’on trouve sur tablette ou smartphone mais sur Amiga NG, ce serait tout à fait possible.
@ Alain, les feuilles de sprites sont au format natif « brut » PVR et donc inutilisables sur Amiga NG. A ma connaissance, l’utilisation du format PNG est fortement déconseillé pour les spritesheets modernes « mobiles » en raison de l’importante surcharge CPU et mémoire qu’il faut pour décompresser et traiter les données (quoiqu’une machine de bureau est quand même très différent d’un smartphone et que ça doit surement moins poser de problème)
Sur Amiga NG, il faut un format natif compatible avec la famille de GPU utilisée dans les machines, probablement de l’AMD.
Merci pour l’info game maker, je vais regarder ça !
Pierre
Apparemment TexturePacker sait convertir PVR en PNG
http://gamedev.stackexchange.com/questions/69519/how-can-i-batch-convert-texturepacker-pvr-ccz-files-to-pngDe toute façon je doute que les AmigaNG ait le support des textures PVR à néanmoins vérifier dans la doc Warp3D V5 ou Warp3dNova car je sais que Crisot utilisait de la compression de texture…
(Mais meme si les AmigaNG ont un format « toto » de texture compressées il sera toujours temps de reconvertir les PNG en « toto » )
Edit: En l’occurence Crisot utilisait .dds/.dxt comme compressionAprès afficher un jeu avec des spritesheets en PNG c’est exactement ce que fait aminet/gmap ou aminet/CompositePoc
Alain
Sur mes petites demos Amiga ou Megadrive je me sers d’ImageMagick côté Windows pour concatener une séquence de PNG en une seule image.
Ça produit un gros fichier rectangulaire, mais en scriptant un peu tu peux faire tenir ça dans une texture plus proche d’un carré (si besoin).Intéressant comme idée, et tu arrives à exploiter des grands fichiers PNG puis à en extraire les sprites dans une Megadrive ou un Amiga Classic ?
On lit régulièrement que ce format de fichier, pour la gestion des sprites, fait baisser drastiquement les performances des smartphones Android et iOS, je suis surpris que ça puisse passer sur des machines qui ont plus de 25 ans !
J’aurais cru qu’il fallait convertir en format brut auparavant…
Intéressant comme idée, et tu arrives à exploiter des grands fichiers PNG puis à en extraire les sprites dans une Megadrive ou un Amiga Classic ?
Ah, oui, pardon, ma réponse n’était pas complète.
Je n’utilise Imagemagick que pour faire une seule image à partir d’une séquence, sans avoir à le faire à la main.Sur Amiga, je passe généralement par du bon vieux ILBM non compressé, ou par un compresseur ZLIB. Le ZLIB est assez proche de du ratio de compression du PNG, et effectivement c’est un peu limite sur un 68000. Impossible d’afficher des gros bitmaps en temps réel, la décompression prends facilement plusieurs frames.
Sur Megadrive, j’utilise la toolchain complete du SGDK qui prends des PNG et les encode au format le plus adapté pour la console :]
Pour les pb de perfs du PNG sur iOS ou Android, je ne sais pas 🙂
Concernant le PNG par rapport au PVR sur iOS, la différence de performance (CPU, Mémoire) se situe autour de 33% donc pas du tout négligeable et on parle de processeurs actuels. Sur un Amiga Classic, par rapport à de l’ILBM non compressé, j’ose même pas imaginer !
Merci pour les infos en tout cas.
A ce propos, quelqu’un sait ou trouver un exemple de code source en C pour Amiga Classic afin d’animer un sprite depuis une planche ? Je n’avais pas prévu de tester sur une machine 68k mais Astrofra m’a donné une idée pour tenter de convertir mes planches en ILBM et voir ce que ça donne.
Merci par avance,
Pierre
Sprite hardware ou blitter objects ?
La graphics.library possède tout un ensemble de fonctions pour afficher des sprites ou des Bobs. Ils appellent ça des « Gels », pour Graphics ELementS.
J’avais testé un peu, c’était assez complet en termes d’API mais relativement lent, surtout sur un A500.http://amigadev.elowar.com/read/ADCD_2.1/Libraries_Manual_guide/node0370.html
J’ai un Amiga 1200, je vais tenter d’utiliser les API qui gèrent le mode AGA pour voir ce que ça donne… Le but, c’est surtout de faire un test, donc, je vais voir la solution la plus simple en terme de codage car je ne connais pas vraiment les API de l’Amiga Classic.
Petite précision, quelle est la taille maxi des spritesheets sur Amiga Classic et le format carré power of 2 est il obligatoire ?
Je viens aussi de vérifier les logiciels disponibles capables de convertir du PNG en ILBM 256 couleurs, eh bien, il ne semble plus rester que Personnal Paint. ImageFX a disparu de la circulation…
Merci pour l’info !
15 sujets de 1 à 15 (sur un total de 24)
- 1
- 2
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Création de sprites