Un fantastique voyage dans l’espace codé en seulement 64ko

Comme taille de fichier 64ko c’est tout petit, par exemple la première image sur la page d’accueil de ce site est déjà 50% plus grosse.

Toute la vidéo au dessus, images et sons cumulés, a pourtant été codée pour tenir entièrement en 64ko.

Intitulée Fermi Paradox elle a été créée par le studio Mercury dans le cadre de la demoscene, une compétition qu’elle a remporté cette année et dans laquelle des groupes s’affrontent depuis des temps immémoriaux pour coder les séquences les plus impressionnantes, tant visuellement que techniquement, dans un espace limité à quelques milliers de caractères.

fermiparadox-demoscene

ps : oui une fois enregistrée en vidéo sur Youtube elle est plus grosse mais on verrait la même chose en lançant un fichier de 64ko sur son ordinateur qui calculerait le rendu.

10 thoughts on “Un fantastique voyage dans l’espace codé en seulement 64ko

    1. non c’est vraiment 64ko, l’idée c’est qu’il faut juste quelques chiffres pour décrire une sphère puis c’est réutilisable dans toutes les sphères de la vidéo par exemple.

    2. Une « démo » est un programme qui joue des animations et du son en temps réel, un peu comme dans un jeu; les images 3D ne sont pas précalculées, elle s’affichent en direct par programme. De façon très schématique, le programme « dessine » une sphère à l’écran, la « colorie » en lui appliquant une texture imitant une surface rocheuse et anime ensuite ladite sphère en lui faisant effectuer rotations, changements de taille, déplacements, etc. Tout ceci tient en quelques lignes de code, soit quelques dizaines ou centaines d’octets selon la complexité de l’animation (64 Ko = 65 536 octets). Le son est lui aussi lu comme sur une partition musicale, puis les sons sont modulés et joués en direct.

      1. Je ne vois pas de détails dans ces liens. Dans le règlement de la Revision 2016 (où a été primée cette démo), rien ne semble restreindre l’usage d’OpenGL (tant qu’une bibliothèque tierce autre que celles fournies n’est pas requise). Donc ça semble possible par des accès hardware ou DirectX… https://2016.revision-party.net/compos/pc

        C’est une belle démo malgré tout, mais 64K de nos jours ne veulent plus dire grand chose si on peut accéder à plusieurs méga de code ou implémentations matérielles via OpenGL, en dehors de ces 64K… De mon « bon vieux temps », on codait même les routines pour tracer des lignes, mapper les textures, etc. Le risque maintenant, c’est que l’évolution de ces démos suive celle des cartes graphiques, un peu dommage.

        Je serais ravi que quelqu’un infirme…!

        1. Oui ça utilise les cartes vidéos (probablement direct X) mais exactement comme à « l’époque » où on utilisait toutes les ressources matérielle d’un amiga ou d’un atari (carte son et son synthé inclus). Le matériel a juste évolué (voir explosé).

          1. oui, quelques coprocesseurs genre blitter/copper, mais dans la limite d’une configuration par défaut volontairement restreinte et dans l’espace bitmap (il existait aussi à l’époque des extensions hardware qui aurait permis de faire plus à tous les niveaux, son, 3D, calcul flottant, etc).

            Là on est plus dans les mêmes dimensions ! Carte NVIDIA Titan Black : 2880 coeurs cuda, bus de données de 384 bit, 336 GB/s de bande passante, etc. Il suffit l’an prochain de remettre la même démo sur un ordi dont la carte sera sans doute plus puissante, et le résultat sera encore plus « bluffant ». La limite des 64k de code n’étant même pas pénalisante. Cette limite devrait s’appliquer au code de la carte graphique, puisque c’est elle qui fait presque tout le boulot !

            La beauté et l’ingéniosité du code réside juste dans l’implémentation de données 3D et d’effets OpenGL, le tout ressemblant tellement à une vidéo qu’on ne voit même plus tout ça… cf. certains commentaires plus bas.

            Mais tant mieux si ces coders se font plaisir avec du directx/opengl, c’est le but après tout. Mais en spectateur, ça ne me fait même plus vibrer… ni envie de coder d’ailleurs…

Les commentaires sont fermés.