Démos Graph 90—à vos pinceaux !
Posté le 08/08/2024 23:55
Tout à l'heure sur la shout avec
Mb88 on repassait sur l'idée de faire des démos (voir
scène démo si vous ne connaissez pas). Essentiellement, c'est des programmes minuscules (aussi petits que possible) qui font des trucs graphiques stylés.
Sur Graph 90, on ne peut pas trop faire ça parce que de toute façon un add-in doit faire 28 ko rien que pour mettre l'en-tête du g3a avec les icônes... donc vous imaginez que les démos de 4 ko c'est pas la peine d'y penser. ^^"
Du coup j'ai écrit un petit programme, "Prizm Demos Loader" (PDL) qui permet essentiellement de charger des binaires purs de petite taille pour les exécuter :
Prizm Demos Loader
Comme le bare metal c'est quand même un peu chiant, le chargeur fournit à la démo :
- Un pointeur VRAM et un pointeur vers la fonction d'affichage (dupdate) ;
- Une variable qui compte automatiquement le temps écoulé en millisecondes.
Avec le loader il y a aussi une démo d'exemple toute bête qui fait une sorte de fondu de couleurs pendant 4 secondes . Quand on le compile ça donne un fichier
.pdl qui est juste un binaire pur (124 octets, plutôt optimisé !) et qu'on peut lancer dans l'add-in de chargement.
Voilà c'est très primitif encore mais c'est pour lancer un peu le mouvement. Si vous avez des commentaires ou pensez qu'on devrait s'y prendre différemment, allez-y. Je serais intéressé pour faire une mini-compétition de démos, genre 1 ko comme clin d’œil à la 1kBCJ, s'il y a des preneurs !
Télécharger pour tester :
PrizmDemos.g3a
exdemo.pdl
Copier les deux fichiers sur la calto, lancer l'add-in "PrizmDemos", sélectionner "example.pdl" (EXE)
Fichier joint
Citer : Posté le 20/08/2024 11:28 | #
Wow, j'ai l'impression que tu nous prépares un truc incroyable !
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 21/08/2024 20:15 | # | Fichier joint
Un petit truc drôle (https://git.planet-casio.com/mibi88/lol_effect/src/branch/master/main.c)
Je vous laisse lire ce commentaire :
/* loleffect - A demoscene effect I made by accident.
* by Mibi88 <mbcontact50@gmail.com>
*
* A cool demoscene effect I made by accident: I wanted to draw a rectangle to
* test a small piece of code which does double buffering with Xlib, but my code
* to draw the rectangle is not working correctly which creates some funny
* graphics.
*
* It runs very badly on the calculator because it's unoptimized, but when I
* tried to optimize it, I fixed the rectangle rendering :(, and I was too lazy
* to retry.
*
* You can freely reuse this code, feel free to put it in your demoscene :D.
*/
Une vidéo (de mauvaise qualité, je sais :/ :
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 21/08/2024 20:19 | #
Ces moments où les trucs aléatoires sont jolis aussi. :P C'est là le hack qui est drôle, parce que dans les jeux tu peux aussi parfois faire des trucs randoms rapides qui en fait sont cools.
Note: ces programmes s'appellent des démos, la demoscene c'est l'écosystème des gens qui font des démos.
Citer : Posté le 21/08/2024 20:22 | #
Note: ces programmes s'appellent des démos, la demoscene c'est l'écosystème des gens qui font des démos.
Ah, je ne savais pas qu'il y avait une différence
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 24/08/2024 00:20 | #
(Contexte : ce post https://www.planet-casio.com/Fr/forums/topic17829-3-demos-graph-90a-vos-pinceaux.html#197744)
J'ai pas fini, mais update. J'ai optimisé le truc pas mal (genre à donf') et là tout de suite pour le résultat ci-dessus il me faut 4 ms avec la version assembleur, soit ~5 fois plus rapide qu'au post précédent. J'ai besoin de cette vitesse parce que dans l'animation y'a 5 "piliers" de ce genre de différentes tailles plus des traces au sol, donc faut pas que ça traîne. Et encore j'exploite pas la symétrie dans l'immédiat, sinon ça divise presque encore en deux.
J'ai tellement pas fini que j'ai pas encore étudié la question de la taille du tout... là tout de suite le binaire fait 30 ko (en comptant gint, sans compter le header g3a) mais sans l'interface de debug y'a que genre 400 lignes de code ça devrait passer.
Citer : Posté le 24/08/2024 12:11 | # | Fichier joint
Voilà le délire, donc. Manque de l'interpolation, éviter des interférences entre les différents "piliers", des traces aux sol, des particules, etc. mais déjà y'a de quoi. Je pense que je ferai juste cet effet du coup, et ensuite j'essaierai de faire tenir ça sur 4k.
Citer : Posté le 03/09/2024 21:29 | # | Fichier joint
J'avais besoin de tester que j'ai pas fait de la merde en autorisant l'upload des pdl.
Alors voilà un petit pattern qui change.
Les sources sont sur la forge