Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Demos, wie kriegen die die soooooooo klein???? (https://www.delphipraxis.net/112017-demos-wie-kriegen-die-die-soooooooo-klein.html)

hedie 13. Apr 2008 13:22


Demos, wie kriegen die die soooooooo klein????
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

Ich habe beim Surfen im I-Net ein extrem gutes Demo gefunden.

Das hat bei gerademal 177 KB ca 10 Minuten kommplete 3D Visualisierungen
wie man sie aus Guten Games kennt.

Wie Kriegen die so viel code in so eine kleine EXE???


P.S. EXE bzw. Demo im anhang

Die Muhkuh 13. Apr 2008 13:24

Re: Demos, wie kriegen die die soooooooo klein????
 
Keine VCL. Hochoptimierter Code, teils wahrscheinlich noch in Assembler.

hedie 13. Apr 2008 13:26

Re: Demos, wie kriegen die die soooooooo klein????
 
Liste der Anhänge anzeigen (Anzahl: 1)
Und wie erklärst du dir das hier?

16 Bytes also 16 Zeichen für einen mehr oder weniger interessanten Effekt :D

Matze 13. Apr 2008 13:29

Re: Demos, wie kriegen die die soooooooo klein????
 
Hinzu kommt, dass das alles zur Laufzeit gerendert wird. Die CPU-Auslastung müsste daher entsprechend hoch sein.

Edit: Darfst du die Dateien hier überhaupt anhängen?

Dunkel 13. Apr 2008 13:34

Re: Demos, wie kriegen die die soooooooo klein????
 
...und hochkomprimierter Code (weshalb beim Starten der Ladebalken zuerst zig Sekunden zu sehen ist, das Programm wird zuerstmal in den RAM entpackt; guck Dir mal die Speicherauslastung an!).
Wollten die Macher dieser Demo nicht ein Demo-Tool veröffentlichen, mit dem man sowas auch selber recht schnell hinkriegt?

Namenloser 13. Apr 2008 13:35

Re: Demos, wie kriegen die die soooooooo klein????
 
Wie die das genau schaffen, ist mir auch ein Rätsel, zumal die ja auch noch die DirectX-Dlls irgendwie einbinden müssen. Soweit ich weiß benutzen die Assembler als Programmiersprache, und vor allem werden die ganzen Texturen und Models nicht abgespeichert sondern zur Laufzeit generiert. Dazu kommen wohl noch hocheffiziente EXE-Packer.
Irgendwie frustrierend, wenn die eigenen programme, selbst wenn sie leer sind, mehrere hundert Kilobytes groß sind :mrgreen:

[add]@Dunkel: das haben sie auch. Das Programm heißt "Werkkzeug" und kann auf der Webseite von Farbrausch heruntergeladen werden.[/add]

hedie 13. Apr 2008 13:39

Re: Demos, wie kriegen die die soooooooo klein????
 
Geil.... Danke

Dan werd ich mir das Programm mal holen.

Dan könnten wir als Delphi Programmierer doch auch solche EXE Packer verwenden oder?

Die Muhkuh 13. Apr 2008 13:44

Re: Demos, wie kriegen die die soooooooo klein????
 
Und was soll es bringen? Wen interessieren die paar hundert kb, die Du da einsparst?

hedie 13. Apr 2008 13:45

Re: Demos, wie kriegen die die soooooooo klein????
 
Hmmm....

Also ich hab mir mal das werkkzeug 3.1 gezogen

aber damit lassen sich nur Texturen erstellen

SirThornberry 13. Apr 2008 13:59

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von hedie
Geil.... Danke

Dan werd ich mir das Programm mal holen.

Dan könnten wir als Delphi Programmierer doch auch solche EXE Packer verwenden oder?

Dann ist die Exe kleiner aber die Ramauslastung größer.

Die Muhkuh 13. Apr 2008 14:02

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von hedie
Hmmm....

Also ich hab mir mal das werkkzeug 3.1 gezogen

aber damit lassen sich nur Texturen erstellen

Weil das auch nur für Texturen ist... Werkzeug 1 musste gucken.

Aber ich find, wenn man sowas mit Tools macht, ist es keine Kunst mehr.

MrKnogge 13. Apr 2008 14:02

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von hedie
Dan könnten wir als Delphi Programmierer doch auch solche EXE Packer verwenden oder?

Klar könnten wir, aber such mal hier im Forum nach UPX etc.. Was du an bei der größe des Exe einsparst, kloppst du an Ram- und CPU-Last wieder drauf.

idontwantaname 13. Apr 2008 14:04

Re: Demos, wie kriegen die die soooooooo klein????
 
Ich denke, es ist nur fair, hier auch auf die Macher zu verweisen:

.theprodukkt

turboPASCAL 13. Apr 2008 19:18

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von NamenLozer
Wie die das genau schaffen, ist mir auch ein Rätsel, zumal die ja auch noch die DirectX-Dlls irgendwie einbinden müssen.

Das ist das kleinste Problem. Die werden einfach importiert.

Zitat:

Zitat von NamenLozer
Soweit ich weiß benutzen die Assembler als Programmiersprache,

Nö. C++ ist ausreichend. Delphi geht zur Not auch. ;)

Zitat:

Zitat von NamenLozer
... und vor allem werden die ganzen Texturen und Models nicht abgespeichert sondern zur Laufzeit generiert.

Öh. Jain.
a) sehr kleine.
b) fraktale Texuren - lassen sich errechnen.

Zitat:

Zitat von NamenLozer
Dazu kommen wohl noch hocheffiziente EXE-Packer.

Ja aber inzwischen nicht mehr so oft.

Zitat:

Zitat von NamenLozer
Irgendwie frustrierend, wenn die eigenen programme, selbst wenn sie leer sind, mehrere hundert Kilobytes groß sind :mrgreen:

Nö. -> Hier im Forum suchennonVCL

Zitat:

Zitat von NamenLozer
[add]@Dunkel: das haben sie auch. Das Programm heißt "Werkkzeug" und kann auf der Webseite von Farbrausch heruntergeladen werden.[/add]

Jupp.

www.scene.org gibts more. ;)

Neuere Demos legen rapiede an grösse zu. Dem Betrachter verlangt es nach Details.

>>--> OpenGl-Demo ;)

Relicted 14. Apr 2008 06:51

Re: Demos, wie kriegen die die soooooooo klein????
 
die jungs von theprodukt bestreiten dass sie komprimierungsmethoden wie UPX einsetzen.

Nuclear-Ping 14. Apr 2008 08:18

Re: Demos, wie kriegen die die soooooooo klein????
 
Interessant. Hab mir vor 'n paar Jahren mal .kkrieger angeschaut und war schon ziemlich beeindruckt.
Grad mal .debris angeschaut. Ruckelt ziemlich bei mir ... :mrgreen:

Aber wenn man sich die .exe betrachtet, steht ziemlich am Anfang der String "kkrunchy". Wenn das kein .exe-Packer ist. ;)

MrKnogge 14. Apr 2008 08:54

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von Nuclear-Ping
Aber wenn man sich die .exe betrachtet, steht ziemlich am Anfang der String "kkrunchy". Wenn das kein .exe-Packer ist. ;)

Warum sollten sie auch nicht ihren eigenen Packer benutzen...

Nuclear-Ping 14. Apr 2008 10:39

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von MrKnogge
Zitat:

Zitat von Nuclear-Ping
Aber wenn man sich die .exe betrachtet, steht ziemlich am Anfang der String "kkrunchy". Wenn das kein .exe-Packer ist. ;)

Warum sollten sie auch nicht ihren eigenen Packer benutzen...

Zitat:

Zitat von Relicted
die jungs von theprodukt bestreiten dass sie komprimierungsmethoden wie UPX einsetzen.

Zitat:

Zitat von Nuclear-Ping
Aber wenn man sich die .exe betrachtet, steht ziemlich am Anfang der String "kkrunchy". Wenn das kein .exe-Packer ist. ;)


generic 14. Apr 2008 15:23

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von Dunkel
...und hochkomprimierter Code (weshalb beim Starten der Ladebalken zuerst zig Sekunden zu sehen ist, das Programm wird zuerstmal in den RAM entpackt; guck Dir mal die Speicherauslastung an!).

Die Farbrausch engine basiert da drauf das beim Start der Demo, alle Texturen und Sound generiert werden.
Dort wird NICHTS enpackt.
Die Information zu speichern wie eine Texture/Sound erzeugt werden, nimmt weniger Platz weg, als die Bitmap der Texture bzw. der Wave für den Sound.

btw. wer sowas lernen will, sollte sich um Ostern immer rum in Bingen einfinden.
Dort findet jährlich die "Breakpoint" statt.

turboPASCAL 14. Apr 2008 16:01

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von Nuclear-Ping
Aber wenn man sich die .exe betrachtet, steht ziemlich am Anfang der String "kkrunchy". Wenn das kein .exe-Packer ist. ;)

Ne und jo. Dat ist kein Packer, sondern entledigt sich nur dem MS-DOS Header sowie den Debuginfos.
( Soweit ich weis. )

Zitat:

Die Farbrausch engine basiert da drauf das beim Start der Demo, alle Texturen und Sound generiert werden.
Naja. Dann generiere mal schön. Ein Haus, ein Auto & einen Zaun. ;) >>-->

Zitat:

und Sound generiert werden.
Ne, nur die Instrumente. Die Noten der Melodie sind vorhanden, auch die Eigenschaften des Sounds also der Instrumente.

http://www.scene.org/file.php?file=%...0.zip&fileinfo

hedie 15. Apr 2008 16:43

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von Nuclear-Ping
Grad mal .debris angeschaut. Ruckelt ziemlich bei mir ... :mrgreen:

Das liegt dan wohl an deiner Grafikkarte.

Hab 2 GeForce 7900 je 512MB im SLI da ruckelt nix :mrgreen:

Namenloser 15. Apr 2008 17:02

Re: Demos, wie kriegen die die soooooooo klein????
 
Die Geschwindigkeit ist ziemlich stark von Graka und Ram abhängig. Auf meinem alten Rechner lief das Ganze (=Debris) mit schlechter Qualität auf einer 32MB-Onboard Karte und 512MB RAM mit c.a. 0.5fps. Auf meinem neuen Rechner hingegen läuft es absolut flüssig und auch noch in hoher Qualität :mrgreen:

Medium 16. Apr 2008 15:27

Re: Demos, wie kriegen die die soooooooo klein????
 
Gerade Farb-Rausch haben sich durch .werkzeug einen Namen gemacht, was quasi ein Authoring Tool für Demos dieser Art ist, was sie selbst entwickelt haben und verwenden. Die meisten Crews schreiben jede Demo für sich ganz neu (auch wenn sie sicher Libs von eigenem Code haben). Was macht FR um so klein zu bleiben?

- 3D-Objekte bestehen komplett aus Primitives, und werden durch Modifikatoren erst auf dem Zielrechner quasi "zurechtgebastelt". Damit müssen nur ein Template je Primitive, die Modifikatorlogik, und ein "Kochrezept" gespeichert werden, was insgesamt kleiner ausfällt als alle Objekte Vertex für Vertex zu speichern. (Natürlich erst ab einer gewissen Anzahl an Objekten rentabel.) Animationen werden ganz normal durch Splinepfade gekennzeichnet.
- Texturen funktionieren ähnlich. Es gibt Grundmuster die mathematisch beschrieben sind, und eine Vielfalt an Verfahren diese miteinander zu kombinieren. Das ganze ist Texturbäumen wie in 3D-Rendersoftware ähnlich. Es müssen nur ein paar Formeln und Anweisungen gespeichert werden, woraus zur Runtime beliebig große und genaue Texturen erzeugt werden können.
- Für die Musik haben sie einen eigenen Software-Synthesizer entwickelt, dessen Player nur weniger kB groß ist. Instrumente werden wieder nur in Form von Grundformen(/wellen) und deren Kombination + Filterung und Effekten erst auf dem Zielrechner tatsächlich erzeugt. Sogar eine Speech-Engine beinhaltet das Teil! (fr-030: Candytron ist da ein nettes Beispiel.) Teilweise kommen vermutlich aber auch kleinere Samples zur Ergänzung zum Einsatz, wobei die Kunst darin besteht eben diese zu vermeiden.
- kkrunchy, welcher hier ja schon "entdeckt" wurde. Ein EXE-Entmüller aus eigener Entwicklung. (Ich bin aber der Meinung, dass kkrunchy auch packt. Da es aber ein 100%ig eigenes Produkt ist, ist FR dennoch daraus kein Strick zu drehen finde ich. Das Teil setzen mittlerweile auch einige andere Demogroups ein.)

Und da bei all diesem Elementen darauf geachtet wurde, möglichst effizient und ballastfrei zu bleiben, kommt hinten ein schönes kleines schlankes Exelein heraus, in dem auch wirklich nur noch das steht, was nötig ist, und kein Byte mehr.


Dass viele Demos zur Zeit gerne mal die 10MB und mehr sprengen liegt daran, dass mittlerweile auch in der Scene gerne mp3/ogg Musikfiles verwendet werden. Bietet natürlich mehr Spielraum und ist einfacher, der künstlerische Wert ist nicht schlechter, aber die Reduktion auf das absolut nötigste ist dabei leider verloren. Auch nutzen viele Bitmaps als Texturen, und keine Generatoren. Hier gilt das gleiche wie bei der Musik - man hat ein paar Freiheiten mehr, es ist meist weniger Aufwand in der Erstellung, aber die "Kunst" des Kleinbleibens bleibt ein wenig auf der Strecke. Es kommt auch immer darauf an, in welcher Sparte eine Prod antritt.

Alles in allem eine sehr interdisziplinäre und geniale Kunstform :)

Assertor 16. Apr 2008 15:57

Re: Demos, wie kriegen die die soooooooo klein????
 
Hi,

also früher konnte ich da auch mitreden, das war aber noch zu DOS Zeiten. Assembly 92, 93 und solche Veranstaltungen der Demo-Scene. Da schwelg ich in Erinnerungen: Renaissance, The Future Crew, Triton etc.

Mit einigen habe ich mich getroffen und gesprochen. Viele von Ihnen, wie z.B. Gore waren dann ja Existenzgründer. Heute kennt man einige auch von Firmen wie FutureMark (3DMark).

Das Problem war nicht nur die Größe wegen des Speicherplatzes, sondern auch die Hardware-Treiber für Gravis Ultrasound und Sound Blaster...

Nur man darf diese Sachen nicht an der VCL messen. Sind halt andere Einsatzgebiete...

Aber ich guck mir das auch immer nochmal an, ist als Technologiebeweis doch recht interessant.

Gruß Assertor

Medium 18. Apr 2008 03:05

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

Zitat von Assertor
The Future Crew

2nd Reality war die erste Demo die ich gesehen hab, und seit dem komm ich von der Faszination nicht mehr weg *mitschwelg*. Mann war ich da noch jung...
Gibt übrigens ein sehr geniales Remake davon :stupid: (YouTube Video)

divBy0 18. Apr 2008 07:28

Re: Demos, wie kriegen die die soooooooo klein????
 
Zitat:

wer sowas lernen will, sollte sich um Ostern immer rum in Bingen einfinden
Jetzt wohne ich da fast um die Ecke und hab noch nie was von "Breakpoint" gehört... :oops:

Nächstes mal gehe ich da aber mal hin!

Assertor 18. Apr 2008 15:25

Re: Demos, wie kriegen die die soooooooo klein????
 
Hi,

Zitat:

Zitat von Medium
2nd Reality war die erste Demo die ich gesehen hab

Cooles Remake. Ich war damals bei der Erstpräsentation von 2nd Reality auf der Assembly '93 in Helsinki. Da traf ich auch noch Gore/FC und Purple Motion bei Gore zu Hause in Espoo (glaub ich)... Das war echt cool ;)

Nur leider war meine Demo noch nicht Fertig :(

LG Assertor *schwelg*

Medium 18. Apr 2008 16:47

Re: Demos, wie kriegen die die soooooooo klein????
 
Ich werd grad ja schon ein wenig neidisch =]


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz