Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Démos Graph 90—à vos pinceaux !
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

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


Précédente 1, 2, 3, 4
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

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 :/ :

Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 21/08/2024 20:22 | #


Lephenixnoir a écrit :
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
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

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.


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eragon Hors ligne Gardien des bots Points: 479 Défis: 0 Message

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
Précédente 1, 2, 3, 4

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 157 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