Aller au contenu
← Retour aux projets

Personnel – en cours

Ma première demo 4k

J'ai toujours été fasciné par la demoscene...

La demoscene me fascine.
Je me perds très souvent pendant des heures sur pouet.net ou sur les diffusions de la Revision.
Je me suis toujours demandé comment ces cracks arrivaient à tirer autant de performances de machines si limitées et anciennes.
Bon, au plus fort de la scène démo, ça n'était pas des machines anciennes, mais quand même, j'ai toujours été très admiratif devant leurs prouesses. Aujourd'hui, avec nos cartes graphiques surpuissantes, obtenir ces effets ne représente plus vraiment un défi, on ne peut plus vraiment parler d'exploit ou de génie technique comme c'était le cas autrefois.

Mais il existe des catégories de démos qui peuvent permettre de retrouver du challenge.
La catégorie 4k impose ainsi une limite de poids de 4096 octets à l'exécutable.
C'est très peu, un simple "hello, world!" en c++ vous générera probablement un executable autour de 15K, même en release...

J'ai donc décidé de me prêter à l'exercice, il fallait que je comprenne et perce les secrets de ces sorciers.
Il en résulte donc cette petite démo. J'ai décidé de ne pas utiliser le gpu et un seul cœur du cpu pour avoir un peu de défi dans la reproduction de certains effets classiques, tout en restant sous la barre des 4K. Ça a été un défi très intéressant, j'ai beaucoup appris sur les paramètres de compilation et de linking. Je me suis même amusé à faire une version pour Windows, Linux, web et gif. Avec ce que j'ai appris j'ai même pu configurer du hot reload aussi bien en natif qu'en web, finalement ça n'est pas si sorcier à partir du moment où on s'arrange pour ne pas modifier le layout mémoire entre deux "hot reload". Je pourrais aussi profiter des quelques octets qu'il me reste avant les 4k pour implémenter une musique, il faudrait que j'essaie à l'occasion. Bref, très content de cet exercice, j'ai vraiment appris pas mal de choses qui vont me servir sur d'autres projets bas niveau.

© 2026 Tomobodo

Flux RSS