PDA

Visualizza versione completa : Demo Scene



Manu®
04-08-2003, 23.06.53
Avete mai sentito parlare di demo scene? Si tratta di intro fatte interamente in codice, credo in assembler, con cui si possono visionare intere intro con tanto di audio il tutto mantenendo le dimensioni del file eseguibile in pochissimi kb, di solito si aggirano sulle 50k...dimensioni ridicole ok, ma il codice che si cela dentro fà eseguire alla macchina delle istruzioni che vengono visualizzate in tempo reale. Il rendering delle immagini e il calcolo dell'audio avvengono in tempo reale proprio durante la visione della intro. In pratica in questo file ci sarebbe solo codice, nient'altro. :sagace:

Quando l'ho visto sono rimasto sbalordito. Solo non riesco a trovare il file che ho visionato l'altro giorno. Appena lo becco lo metto up. :p

Sono sicuro che vi interessa un casino l'argomento. Appena mi libero un pò posto link e materiale da visionare per farvi un'idea di ciò che stò scrivendo. :D

Knudson
04-08-2003, 23.20.28
si sono piuttosto carini, ne avevo visto uno di mi pare 48k che durava 15 minuti :D

a me interesserebbero i sorgenti piu' che altro :p

Manu®
04-08-2003, 23.23.09
Ho ripescato questa intro (http://www.manuwebdesign.com/default/drafts/intro.zip ) che mi hanno inviato tempo fà. Scaricatela e guardatela con tutta tranquillità. Pesa solo 64kb :D

Forse chi non ha mai smanettato a queste cose rimarrà sbigottito. Immaginate il potenziale se viene gestito come si deve :sagace:

Aspetto ansioso le vostre repliche :D

Manu®
04-08-2003, 23.25.38
Originally posted by Knudson
si sono piuttosto carini, ne avevo visto uno di mi pare 48k che durava 15 minuti :D

a me interesserebbero i sorgenti piu' che altro :p

Non credo ci siano sorgenti, non sono compressi in nessun modo...l'incredibile dimensione che raggiungono i files é dovuta alla loro natura. Non hanno né immagini, né suoni nulla di ché. Contengono solo istruzioni, nient'altro. :D

follettomalefico
04-08-2003, 23.50.26
Beh Manu, ma del source deve esistere. Con tutta la buona volontà, non credo codino in linguaggio macchina: almeno ASM deve essere! :D

E qualche riga di commento, magari ;)

Ora guardo...



[EDIT]
Ok, quello che hai linkato è un demo win32, che utilizza DDRAW e DSOUND, mi pare.

Penso che utilizzi delle textures, incluse e piccolissime, combinate fra di loro e impostate in modo tale che non appaiano "brutte" data la compressione e dimensione.

Per il resto, non usa alcuna struttura dati win32 (api escluse, ovviamente).

Knudson
04-08-2003, 23.55.12
bhe la gran parte delle istruzioni saranno chiamate a funzioni d3d, ma un minimo di codice DEVE esserci :)

Manu®
05-08-2003, 00.10.17
Originally posted by follettomalefico
Beh Manu, ma del source deve esistere. Con tutta la buona volontà, non credo codino in linguaggio macchina: almeno ASM deve essere! :D

E qualche riga di commento, magari ;)

Ora guardo...

Da quello che ne capisco io di programmazione si deve trattare di Assembler o di C++ :D
Per i sorgenti non saprei. Quello che deduco io é che per ottenere quel risultato si é ridotto fino all'osso tutto, lasciando solo codice. E per far ciò, difficilmente ci sarà qualche linguaggio da tramite o cmq con l'ausilio di decompilatori. Spero di non sparare cazzate, io di programmazione ne sò pochino...sono solo supposizioni che stò facendo. Non per nulla ho postato l'argomento per vedere se c'é qualche genio che ne sà più del sottoscritto :p

Manu®
05-08-2003, 00.16.12
Originally posted by follettomalefico
Penso che utilizzi delle textures, incluse e piccolissime, combinate fra di loro e impostate in modo tale che non appaiano "brutte" data la compressione e dimensione.


Sembrano più texture procedurali...cioé fatte di formule matematiche. Un esempio di quello che si può ottenere con le texture procedurali lo troviamo in lightwave, nuvole, smussi e fumo possono essere ottenuti tutti con formule matematiche :D

follettomalefico
05-08-2003, 01.09.00
Textures procedurali? E spixxellano anche quelle? Non mi pareva spixxellassero quando scalate in 3DSM. Qui invece pixxellano... uhm...

Yoghi
05-08-2003, 11.56.47
Originally posted by Manu®
Avete mai sentito parlare di demo scene? Si tratta di intro fatte interamente in codice, credo in assembler, con cui si possono visionare intere intro con tanto di audio il tutto mantenendo le dimensioni del file eseguibile in pochissimi kb, di solito si aggirano sulle 50k...dimensioni ridicole ok, ma il codice che si cela dentro fà eseguire alla macchina delle istruzioni che vengono visualizzate in tempo reale. Il rendering delle immagini e il calcolo dell'audio avvengono in tempo reale proprio durante la visione della intro. In pratica in questo file ci sarebbe solo codice, nient'altro. :sagace:

Definizione più ampia:
Che cos'è la demoscene
La demoscene o, in italiano, la "scena demo", è un termine che definisce tutte le persone e gli eventi che ruotano attorno alla creazione di dimostrazioni multimediali che prendono il nome di demo(nstrations).
Una demo è solitamente indicata come una "dimostrazione multimediale in tempo reale non interattiva", in cui trovano posto grafica (3d e 2d), musica (possibilmente mixata in tempo reale, oppure mp3) ed effetti creati col codice.

Se volete vedere altri demo potete andare in questo FTP : ftp.scene.org e poi frugare li dentro ;) oppure c'è anche il sito www.scene.org in cui trovere sicuramente risposta a molte vostre domande!

le sfide possibili se nn ricordo male (sfide che avvengono in manifestazioni solitamente estere .. dato che i rave party in italia sono illegali) sono :
4k
16k
64k
ossia il file exe che si consegna deve avere al massimo quelle dimensioni!
alle origini si usava per programmare asm ora si usa anche c/c++ e programmi di grafica 3d come 3dsmax il cui formato 3ds è un perfetto formato di scambio tra grafico e coder va infatti detto che le demo solitamente non vengono realizzate da 1 sola persona ma da un team in cui c'è un grafico, un musicista e un coder (ma ce ne possono essere anche di piu); ci sono inoltre le gare per i singoli in cui però si gareggia solo nel proprio ambiente e non con una demo completa di tutto! Es: i grafici faranno un video in cui si muoveranno e animeranno le immagini senza però per forza metterci musica .. e il codice è ridotto al minimo caricando elementi 3ds in memoria!
Come si fa a far stare tutto in soli 4 oppure 64k? (i 16 stanno morendo come gara) semplice: 1 generando tutto con il codice run time (se notate a volte nelle demo + complesse la cartella che pesava solo 64k diviene anche di 11Mb questo per velocizzare il caricamento su pc lenti!) e comprimendo i dati e gli eseguibili(si si comprimono anche gli exe! ;) )
per i coder ci si appoggia su win32 -> d3d su linux -> OpenGL

per quel che concerne le texture sono solitamente procedurali per risparmiare spazio e spixxelano solo se il coder non ha implementato un gestore di risoluzione infatti le procedurali quando sono calcolate devono restituire piu punti se l'immagine è è dettagliata mentre meno se l'immagine è meno dettagliata o in generale + piccola!

Manu®
05-08-2003, 12.26.52
Bello! Che ne dite di cimentarci a tempo perso? :D

Knudson
05-08-2003, 15.09.04
ecco io avevo questo

http://www.scene.org/file.php?file=/parties/2000/theparty00/in64/fr08_final.zip&fileinfo

per me roxa³

Yoghi
05-08-2003, 15.41.58
Originally posted by Manu®
Bello! Che ne dite di cimentarci a tempo perso? :D

Beato te che hai TEMPO LIBERO! :angel2:

follettomalefico
05-08-2003, 15.59.09
Knudson, yeah, era quel che avevo anche io ;)


Yoghi: sottoscrivo :D

Manu®
05-08-2003, 21.36.47
Il tempo per bazzicare sul forum lo trovate però :p

follettomalefico
05-08-2003, 22.00.53
Originally posted by Manu®
Il tempo per bazzicare sul forum lo trovate però :p Beh, io lo uso per riempire i buchi fra una cosa e l'altra, quando non potrei mettermi a programmare/fare grafica perchè non farei in tempo neppure a raccogliere le idee :) ...o nelle pause ;)

Al momento conta che ho Photoshop e Dreamweaver aperti... il primo non l'ho chiuso da stamattina lol :D