Donc, je suis ici à l'assemblée 2011 et il y a eu cette démo: http://www.youtube.com/watch?v=69Xjc7eklxE&feature=player_embedded
C'est un seul fichier, c'est écrit dans les règles. Alors, je le répète, comment ont-ils fait en sorte que cela rentre dans un si petit fichier?
Réponses:
C'est basé sur la procédure . Le contenu n'est pas inclus dans l'exe, seulement les règles pour le dessiner. Une fois lancé, le programme dessine ce dont il a besoin au moment de l'exécution, il n'est ni pré-rendu ni pré-enregistré, sous aucune forme.
C'est la même méthode utilisée par Elite pour créer un vaste univers de systèmes stellaires, etc.
C'est assez incroyable ce qui est possible aujourd'hui en utilisant la génération procédurale, je pense que les jeux en présenteront davantage dans le futur.
la source
Comme @Gary Willoughby le dit, le processus est très développé.
En outre, le
asm
codage manuel est important , de même qu'une connaissance approfondie du nombre de systèmes de fenêtres / plates-formes de choix fonctionnant en interne.Il existe également une catégorie de démonstration 4K, si vous souhaitez voir des exemples encore plus extrêmes de code compact.
Certains des groupes DemoScene lancent leurs démos en ligne, où vous pouvez les télécharger et les lire si vous le souhaitez.
Complot
farb-rausch
Voir aussi Wikipedia sur l'histoire du DemoScene
Remarque: de nombreuses démos feront paniquer votre antivirus . En gros, il semble que pratiquement toutes les démos utilisent des fichiers .exe emballés, et la plupart des groupes de démos lancent leurs propres programmes de compression. Malheureusement, comme beaucoup de sociétés audiovisuelles sont boiteuses, elles prétendent généralement que tout fichier exécutable binaire emballé est un virus.
la source
Comme tout le monde le dit, ils font largement appel au code généré par les procédures, mais cette démo est encore plus intéressante, si vous observez quelques détails, regardez par exemple ces murs: regardez ces briques et comment la lumière les réfléchit. Ils ont l'air naturel.
En effet, ils utilisent beaucoup de vertex shaders et de fragment shaders pour donner vie au contenu généré.
J'ai passé un certain temps à essayer de comprendre comment ils réalisent de telles choses et je suis émerveillé par chaque morceau de code que je récupère dans ces démos.
En passant, lors de ces démos, ils utilisent également des outils de compression pour compresser encore plus. vérifier ce processus de compilation:
la source
Il existe une présentation PowerPoint de la manière dont le rendu a été effectué dans cette démo spécifique. Cela seul n'explique pas comment tout se situe dans 64 kilo-octets, mais constitue la clé de la création de la géométrie dans un espace aussi réduit.
Il y a aussi beaucoup de lectures intéressantes sur son blog à propos de ses autres productions de demoscene.
la source
Comme d'autres l'ont déjà indiqué, cela repose en grande partie sur des actifs générés de manière procédurale.
Il y a un autre élément, la compression. Les démos 4k et 64k utilisent des compresseurs exécutables hautement spécialisés. Les plus célèbres d'entre eux sont kkrunchy by farbrausch (pour 64ks) et crinkler par TBC & Loonies (pour 4ks). De plus, les démos modernes font un usage intensif des shaders, qui sont du texte brut et deviennent donc considérablement plus petits après compression.
Maintenant, en ce qui concerne l'intégration dans les jeux vidéo, le principal problème est que tout cela prend du temps. La génération de contenu procédural prend du temps et l'extraction de l'exécutable prend énormément de temps. Et les gens ont généralement plus d'espace sur leurs disques durs que d'attendre le chargement du jeu. Je ne pense donc pas que nous verrons cela bientôt dans des jeux largement disponibles.
la source