Also, ich bin hier bei der Versammlung 2011 und es wurde diese Demo gespielt: http://www.youtube.com/watch?v=69Xjc7eklxE&feature=player_embedded
Es ist nur eine einzige Datei, das steht in den Regeln. Also wiederhole ich, wie haben sie das gemacht, damit es in eine so kleine Datei passt?
Antworten:
Es basiert auf Prozeduren . Der Inhalt ist nicht in der exe enthalten, nur die Regeln für das Zeichnen. Beim Start zeichnet das Programm, was es zur Laufzeit benötigt, es wird nicht vorgerendert oder in irgendeiner Form vorgespeichert.
Dies ist die gleiche Methode, die Elite verwendet , um ein riesiges Universum von Sternensystemen usw. zu erschaffen.
Es ist ziemlich erstaunlich, was heutzutage mit prozeduraler Generierung möglich ist. Ich denke, dass Spiele in Zukunft mehr davon bieten werden.
quelle
Wie @Gary Willoughby sagt, ist es weitgehend prozedural.
Es ist auch eine erhebliche
asm
Handcodierung erforderlich, zusammen mit einem umfassenden Wissen darüber, wie viele der Fenster / Plattformen der Wahlsysteme intern funktionieren.Es gibt auch eine 4K-Demo-Kategorie, wenn Sie noch extremere Beispiele für kompakten Code sehen möchten.
Einige der DemoScene-Gruppen veröffentlichen ihre Demos online, wo Sie sie herunterladen und abspielen können, wenn Sie möchten.
Verschwörung
farb-rausch
Siehe auch Wikipedia zur Geschichte der DemoScene
Hinweis - Viele der Demos führen dazu, dass Ihr Virenschutz nicht mehr funktioniert . Grundsätzlich scheinen so ziemlich alle Demos gepackte .exe-Dateien zu verwenden, und die meisten Demo-Gruppen rollen ihre eigenen Packer. Da viele AV-Unternehmen lahm sind, behaupten sie im Allgemeinen, dass jede komprimierte ausführbare Binärdatei ein Virus ist.
quelle
Wie jeder sagt, verlassen sie sich weitgehend auf prozedural erzeugten Code, aber es gibt noch mehr über diese Demo, insbesondere wenn Sie innehalten und sich einige Details ansehen, sehen Sie sich zum Beispiel diese Wände an: Schauen Sie, wie Ziegelsteine aussehen und wie Licht auf sie reflektiert. Sie sehen natürlich aus.
Das liegt daran, dass sie viele Vertex-Shader und Fragment-Shader verwenden, um den generierten Inhalt zum Leben zu erwecken.
Ich habe einige Zeit damit verbracht , zu verstehen, wie sie solche Dinge herstellen, und war erstaunt über jeden Code, den ich aus diesen Demos hole.
Übrigens, wenn sie diese Demos machen, verwenden sie auch Komprimierungswerkzeuge, um noch mehr zu komprimieren. Überprüfen Sie diesen Kompilierungsprozess:
quelle
In einer PowerPoint-Präsentation wird gezeigt, wie das Rendern in dieser speziellen Demo durchgeführt wurde. Dies allein erklärt nicht, wie alles in 64 Kilobyte passt, sondern ist der Schlüssel dafür, wie die Geometrie auf so kleinem Raum erstellt wurde.
In seinem Blog ist auch viel Interessantes über seine anderen Demoszenenproduktionen zu lesen .
quelle
Wie andere bereits ausgeführt haben, hängt ein Großteil davon ab, wie verfahrenstechnisch Vermögenswerte generiert werden.
Es gibt noch ein anderes Element, nämlich die Komprimierung. 4k- und 64k-Demos verwenden hochspezialisierte ausführbare Kompressoren. Die bekanntesten davon sind kkrunchy von farbrausch (für 64k) und crinkler von TBC & Loonies (für 4k). Darüber hinaus verwenden moderne Demos Shader, die nur aus Text bestehen und daher nach der Komprimierung erheblich kleiner werden.
Was die Integration in Videospiele betrifft, ist das Hauptproblem, dass all dies Zeit in Anspruch nimmt. Das Generieren von prozeduralen Inhalten nimmt Zeit in Anspruch, und das Extrahieren der ausführbaren Datei nimmt sehr viel Zeit in Anspruch. Und die Leute haben im Allgemeinen mehr Speicherplatz auf ihrer Festplatte als Zeit, um auf das Laden des Spiels zu warten. Ich glaube daher, dass wir in Kürze nicht mehr viel davon in allgemein verfügbaren Spielen sehen werden.
quelle