pouët.net

the definition.

category: general [glöplog]
What is definition of a demo? When I started out late 80ies demos was always created using asm(c64), some losers used basic but as I said, they where losers. Nowadays there is a complete variety of platforms and languages. Even if API´s help the coder there is still coding to be done, not even the best API will code a demo itself. The scene and all involved much always seek new ways and find new grounds to keep the scene alive, otherwise we all would be stuck in the same pattern. While seeking new "thrills" people comes up with different ideas and as long they put a piece of their mind in it, it certinly makes a difference. Sometimes for good and sometimes for worse. As I said, "there is still coding to be done"!! I demo, I which, should by definition be stated as coded. Even if I download a DivX demo I would like to know that it, in the beginning was coded. All this crap comes down to this.. Is flash demos really what the scene needs? Even if it´s made in Director using Lingo I don´t like to call it a demo. What is the next step.. 3dStudioMax animations ( is "Monsters Inc" a new demo from Disney??). Now even Scoopex, which I adored on the Amiga, uses flash as some kind of demo generator. Is this what the scene needs or is it just me being a prick?
added on the 2002-01-01 00:41:28 by ekoli ekoli
today the code is in the demomakers, thats why demos suck, intros rock.. you cannot reuse the same intro maker without modifying without getting boooring intros ,or just stupid intros , *ehem* *cough* FARBRAUSCH *cough* ;-)

(btw, nice colors on the cubes :-)))
added on the 2002-01-01 01:15:30 by Hatikvah Hatikvah
Well, demos sure require coding, but they do need other stuff as well, meaning music, graphics and some sort of design. Why shouldn't flash demos be considered demos? They contain all of the above. They have actionscript on which you can code. Of course it's parsed and nowhere near as fast as compiled C, but it is code nevertheless.

You see, flash adds some nice things to the table, since it has to be small (since it's for the web), it's difficult to make it fast (because it's parsed) and it's platform independent (no more linux/windows/whatever disputes). I consider Flash to be some sort of Java, only its more oriented for presentation and graphics.

For me, in order for Flash demos to be considered part of the scene, they must basicaly do what demos did in the early days: Show stuff that is nice to see/hear and difficult to make. If flash authors manage to impress a great deal of people with their creations, I don't see why they should not be considered a new part of the scene.

The scoopex flash btw, is not what I call impressive for flash. Flash can do better, it's just that not many people pushed its limits just yet. :-)
added on the 2002-01-01 08:28:33 by moT moT
"The scene and all involved much always seek new ways and find new grounds to keep the scene alive, otherwise we all would be stuck in the same pattern."
added on the 2002-01-01 10:46:33 by _-_-__ _-_-__
Of course moT, demos is so much more than just the code. Code without design, graphics or music is just code, and that would surley be boring. Perhaps flash is, like java, making the scene more platform independent and ofcourse that is for all´s best. Productions is easily spread too a greater deal of people and more and more can take part.

Still I wonder, if sceners can´t decide which is the best, OGL or DX, Windows or Linux, Oldskool or NewSkool(?), will we come to something like: flash vs c++???

I still think demos, or intros , should be coded as in a language but that´s just my opinion, make demos, be happy!

Sorry Scoppex for picking on you, I guess I´m just a prick :)
added on the 2002-01-01 11:05:45 by ekoli ekoli
lower the sizelimit and you will have to make realtime stuff, not run a script engine making the demo and not millions of precalced keyframes... then flash wont stand a chance.. but if everyone wants to use those tools i guess thats how it will be.. but then i think noone exept the deziners and graphicians will be intrested anymore
added on the 2002-01-01 14:10:43 by Hatikvah Hatikvah
Dammit Stefan, I don't know if you completely misunderstood my point or if you're just taking the piss out of me (:

For the record: I agree with Stefan here.

He just likes jizzblobs more than I do, and I like cubes more than he does.
Demo is :
code
+ graphism 2D/3D
+ music (original)
+ design

all of this must be REALTIME played in an ARTISTIC way

no matter of the way to do it, the most important are Emotions, Beauty, Technics and the demonstrated 'impossible-to-do effects'.

But It will be better if :
- it's run with an EXEcutable file
- it is compacted (crunched) in only ONE file
- the size is the most low as possible
- you use tips & cheats to do the better 'impossible' things-to-do
- it contains Group name, Title, Release Date, Greetings and Credits

So, Flash demos are demos only if it is included in EXE files, and only if you modify the code to make it yourself.
(it's the same as 3Dcards/PureCPU old flamewar or 8bitGfx/24bitGfx debate)
And it will be good demos only if you do 'impossible' effects with it.
Flash was created because Demosceners had invented Demos system!

-> Never forget : Demoscene Had Invented Multimedia !!!

(it's just the opinion of an oldscener ;') )
"it is compacted (crunched) in only ONE file"

It may look great, but it wil heavily impair the potential portability of a demo to other (operating) systems, provided you're not a real bare-metal oldskool nut of a coder. A .dat file and an executable are quite okay. (you'll only have to release another executable for each port).

"Flash was created because Demosceners had invented Demos system! -> Never forget : Demoscene Had Invented Multimedia !!!"

Eerh...care to elborate on how that worked? =/
added on the 2002-01-02 18:01:28 by Shifter Shifter
what on earth is wrong with a /data dir containing datafiles
you guys have any idea how much easier this is and how much lines of code it saves :) i mean we're lazy bastards after all (at least i am)
added on the 2002-01-03 02:30:12 by superplek superplek
plek: it's really ugly!
added on the 2002-01-03 02:42:16 by whisker whisker
plek: and it takes some of the 'mystery' out of it. I, for one, rather hate seeing a data dir with jpg's holding something that could very easily have been done with very few lines of code (a cube made of lines, for instance. Code: maybe 1k if you worked HARD at making it bloated. jpg: 16k or 256k? Plus it's a jpg, a lossy compression... gack.)

When I see that I immediately think "oh look, these guys can't code, they just think a demo is making a bunch of files and throwing them together." Now, you get something that's compact, onefiled, or whatnot - tends to mean someone had a clue what they were doing when putting it together.

I know it's not 100% the case. It's just damned close.

Also, the /data dir demos tend to be bloated, huge, and not that great, by and large.

Or, in 0ldskoOl speak: it's lame.
Oh, zone: 'artistic' is in the eye of the beholder, you know... I mean, in my book, 'mother mother my eyes hurt' and all productions involving Dune are pure crap. However they are 'artistic' even though they're pure crap. Someone just decided to play in a pile of bat guano and call it a demo.

so, 'must be artistic' basically means 'must be released to the public'...
It takes the mystery?! If you want mystery go watch a thriller or something. Everyone could easily add that unrar-library to their code and voila - 2 files and no subdirs; but you will still be able to extract the files and reveal the inner secrets of the demos.

So my hidden point is that the viewer shouldn't really care whether the files are in 1 file, 2 files, 1 file and 2 subdirs or whatever the creators may prefer.
In what way is using a packed datafile more complex, Plek?
You just type "byte *ptr=filesys->OpenFile("blah.jpg")" instead of "FILE *fp=fopenblahdeblahblahfartsnort...."

Oh well!
added on the 2002-01-03 12:01:45 by sagacity sagacity
by the way is there a way to hack a memory based 'FILE' in windows? (so that one could use standard fread. fwrite. fseek on memory based files)
added on the 2002-01-03 13:31:12 by _-_-__ _-_-__
yup. use -nodefaultlib and provide your own routines:)
added on the 2002-01-03 13:49:32 by 216 216
Writing those routines for yourself is pretty trivial, but you could always go to http://sol.planet-d.net/code.html and grab yourself some of that code.
added on the 2002-01-03 14:19:50 by sagacity sagacity
sagacity, thanks for the link; haven't checked yet but it seems to be an io library... what i wanted is a hook in the stdio interface so that my code and more importantly other people's code (a library using stdio) would work directly with memory mapped files. guess i need to go _216_'s way.
added on the 2002-01-03 18:28:47 by _-_-__ _-_-__
[just saw ramfile.zip, that's one way but it requires access to the libs' source code]
added on the 2002-01-03 18:32:04 by _-_-__ _-_-__
..or use ptrace to trap all syscalls and fake them.. oh wait never mind:)
added on the 2002-01-03 18:52:20 by 216 216
i recommend using urarlib, since it has better compression than zlib, is smaller and is nicer :D. But I agree with plek, it's annoying to have to keep the datafile up to date in the development phase, therefore I normaly do something like this:
Code: char RelativePath[256] = ""; void *Load(const char *_filename, dword *size) { char filename[FILENAME_MAX]; #ifdef _LOAD_LOG FILE *log = fopen("load.log", "a+"); fprintf(log, "%sn", _filename); fclose(log); #endif if(RelativePath[0]) sprintf(filename, "%s\%s", RelativePath, _filename); else sprintf(filename, "%s", _filename); #ifndef _LOAD_FROM_ARCHIEVE dword loaded_size; char *data; char tmppath[FILENAME_MAX]; FILE *fp; wsprintf(tmppath, "Resource\%s", filename); if((fp = fopen(tmppath, "rb")) == NULL) FatalError("error loading resource '%s'", filename); fseek(fp, 0, SEEK_END); loaded_size=ftell(fp); fseek(fp, 0, SEEK_SET); if((data = (char *)malloc(loaded_size)) == NULL) FatalError("out of memory [load(%s)]", filename); fread(data, loaded_size, 1, fp); fclose(fp); if(size!=NULL) *size=loaded_size; return (void *)data; #else char *data; unsigned long file_size; if(urarlib_get(&data,&file_size,filename,"resource.rar",NULL) == FALSE) FatalError("error loading resource '%s'", filename); if(size != NULL) *size = file_size; return (void *)data; #endif }


this way you have the best of both worlds =)

urarlib
added on the 2002-01-03 18:55:54 by jar jar
argh, my pastefinger was triggerhappy, hope you can read it anyways :)=
added on the 2002-01-03 18:57:12 by jar jar
ptrace? does it exist on win32? (i don't need no hack on linux, glibc has the very handy fmemopen in the later version; which is also very easy to do yourself since you have a transparent FILE structure)
added on the 2002-01-03 19:04:55 by _-_-__ _-_-__
"When I see that I immediately think "oh look, these guys can't code, they just think a demo is making a bunch of files and throwing them together." Now, you get something that's compact, onefiled, or whatnot - tends to mean someone had a clue what they were doing when putting it together.

I know it's not 100% the case. It's just damned close."

what a total bunch of bullshit. its about the experience, not the datafile dir. it doesnt matter in the final zip size. nobody cares if there's a data dir instead of a datafile containing it ;).. except for those "oldskool blabla" people

and i dont see what coding a datafilesys has to do with your system/effect coding skills. you seem to do, so tell me why :)

sagacity: the loading itself wont change indeed, but you do have to write SOME (i'm not saying its much or complex or anything like that) code to extend your filesystem.
and oh btw, using fopen instead of createfile and the likes is retarded ;)

anyway i might take a look at urarlib.. it does look nicer when you type "dir" indeed (who does that more than once? :)

oh and i dont care if people look at my resources, its not like i'm storing 5mb avi's in there.
added on the 2002-01-03 19:25:01 by superplek superplek

login