Mhhh je pense qu’ils font référence à ça. En gros utiliser le GPU pour faire des choses en général destinées au CPU, comme le son, la physique ou même le gameplay. Donc je veux pas dire de bêtise, mais cette démo peut très bien être 100% exécutée sur une carte graphique.
[Temps Réel] Le topic de la demoscene & des explosions de cpu/rétines
D’une part, oui, autant de choses que possible sont procédurales.
Ensuite, le grand truc de la compression est que l’algorithme de compression lui-même n’a pas besoin d’être très compliqué tant que tu lui files des données qui compressent bien. Genre en RLE (on compresse les répétitions) 1 2 3 4 5 6 7 8 9 est incompressible mais 1 +1 +1 +1 +1 +1 +1 +1 +1 +1 va être réduit au dixième, donc tu vas changer la formulation et l’ordre des choses pour créer les répétitions. C’est vrai pour les données mais c’est vrai pour le code aussi! Enfin, à cette taille-là ça devient vraiment intéressant de quantiser, c’est à dire par exemple d’encoder un truc sur 4 bits au lieu de 16 parce que tu sais qu’il n’est jamais plus grand, etc.
Il y a une présentation meshrebelle de farbrausch sur le sujet (attenton, c’est un tantinet technique): http://www.farbrausch.de/~fg/seminars/workcompression.html
Dix ans après c’est toujours autant d’actualité.
OK je pige même pas comment c’est possible. Y a vraiment pas une seule texture, là, même avec la maison ?
Je pense que toutes les textures sont générées en code, ce qui explique la taille du programme.
Demo neogeo cd, vraiment pas mal compte tenu des limitations de la machine pour ce genre d’effets:
Foutez-moi ça dans un casque VR et je vous l’achète. Car c’est Thumper en plus relax, au fond. Par contre, je n’ai pas compris si la coordination entre les blocs et la musique était manuelle (façon Star Guitar / Gondry) ou si son bidule fonctionne comme un visualisateur qui s’adapte à n’importe quel morceau (auquel cas c’est dingo).
La synchro est manuelle. Le bout important pour ça est celui-là:
Donc il a enregistré une première vidéo avec le terrain brut et un truc à l’écran qui indiquait les coordonnées, et ensuite il n’y a “plus qu’à” poser les objets aux coordonnées pertinentes pour la musique.
Explication de ce qu’il se passe : https://codingwithballs.wordpress.com/2017/02/19/makt/
Bon les gars, je ne vous cache pas que je suis extrêmement frustré, j’ai envie, j’ai besoin, de coder, mais je veux le faire sur un système limité pour diverses raisons. Déjà parce que ça m’amuse, mais aussi parce que je n’ai pas envie de jongler avec des millions de librairies, et que les systèmes limités ont l’avantage d’avoir un périmètre réduit et “quantifiable”, ce qui n’est plus le cas sur PC aujourd’hui. Et puis j’aime simultanément la simplicité du basic et les défis intellectuels de l’assembleur. Les langages intermédiaires m’emmerdent.
Il y a maintenant 2 ans, je pensais projeter cette pulsion sur Smile Basic 3DS qui semblait être parfait pour canaliser cette lubie, mais ces connards de SmileBoom ne l’ont toujours pas sorti en europe (si un jour je les croise c’est mawashi gyoza DIRECT !!!).
J’avais donc décidé de me mettre à l’assembleur sur C64, et c’était bien parti mais j’ai été très vite arrêté dans mon élan à cause de l’émulateur qui ne gère pas les claviers AZERTY, sans parler des touches spéciales du C64. Je passais plus de temps à chercher les bonnes touches qu’à réfléchir au code du coup j’ai laissé tomber.
Je m’étais aussi pas mal investi dans Pico 8 mais il est un poil trop “roots”, je m’y mettrais à fond lorsqu’ils sortiront (je l’espère) Pico 16.
Je me demande maintenant si je ne vais pas tout simplement revenir à mes propres sources et apprendre l’assembleur sur Amiga, j’imagine que ça pose moins de problème dans l’émulateur.
Ca c’est pour la plateforme, pour le reste, j’ai envie de faire un pèlerinage et d’apprendre la théorie et la pratique des effets démos qui m’ont toujours fait rêver : raster, scrolling texte etc… si vous avez des ressources éducatives là dessus je prends.
Pour les bases de l’assembleur 68000 en termes de logique et syntaxe, et à garder sous le coude ensuite, je te conseille : http://www.mrjester.hapisan.com/04_MC68/
Après l’assembleur n’est qu’un langage pour faire interagir des composants spécifiques à chaque machine.
De ce fait il est minimaliste car il ne porte aucune logique ou structure de données fonctionnelle, spécifiques à la plateforme.
Il te faudra donc apprendre et comprendre chaque composant de la machine niveau entrées, sorties, et logique interne au composant.