How is this done?!

MatiasZ

Regular
Hi there... i don´t know if this has been posted before, but i can´t find it using the search forum... anyway, have any of you seen this before?? THE PRODUCT

those things look pretty DAMN GOOD for being coded in only 64kb...how is that done?? i know some of you guys here know LOTS about this coding stuff so may be you can give me (us ;) ) a hint....
 
Intros and small demos use lots of procedural geometry and mesh instancing. They don't use many textures either, and if they do, they're usually lo-res and used to repeat and tile a pattern which is blended/blurred, or they use the texture to do other procedural effects.
 
Hehee, I don't lnow too much about coding, but I've been to many enough demoparties to give you a small hint. The tool they made and used in the product... It's name... the generator... yes... they generate :D Random number generator can be a very powerful ally sometimes :)
 
Yah, I have seen the product demo years ago and have been impressed with what it can be done in only 64kb.
Amazing.
________
Szr660
 
Last edited by a moderator:
Check out Zoom3 by AND instead. This one blows the product away totally :)

Download it from his own homepage. http://and.intercon.ru/

You can also find tools they use to compose in there. You'll find a sequencer he made in there as well.
 
g__day said:
Zoom 3 == F**king impressive - amazing!!!

I guess we had this discussion here already...
while Zoom3 really is impressive from a technological point of view, it's not that impressive (IMHO of course) regarding design. Especially the music is kinda repetitive...
My Intro favs at the moment are fr-30: Candytron (the party version!) from farbrausch (http://www.farb-rausch.de), project genesis and especially beyond (sooo beautiful...) from conspiracy (http://conspiracy.intro.hu/releases.html).
 
apropos, check out fr-036, while keeping in mind those effects are done with texture passes, not shaders 8)
 
I think the best intro ever is Impossible by Loonies (http://www.pouet.net/prod.php?which=2308).
What they put in 33.5k is a whole lot more impressive than some primitive-generators for a hardware-accelerated renderer in 64k, I think.
An entire software-renderer (decent quality too), lightmap generator, and bsp, and all that on a mere 60 MHz machine.
 
Scali said:
I think the best intro ever is Impossible by Loonies (http://www.pouet.net/prod.php?which=2308).
What they put in 33.5k is a whole lot more impressive than some primitive-generators for a hardware-accelerated renderer in 64k, I think.
An entire software-renderer (decent quality too), lightmap generator, and bsp, and all that on a mere 60 MHz machine.

what pc would i need to get adequate emulated performance under uae for the above, e.g. would a 2xCel @400 suffice? (just asking, haven't tried if it'd run at all yet). also, they mention they need '040 at least, but the intro was optimsed for '060 - any emu successful at that?
 
what pc would i need to get adequate emulated performance under uae for the above, e.g. would a 2xCel @400 suffice? (just asking, haven't tried if it'd run at all yet). also, they mention they need '040 at least, but the intro was optimsed for '060 - any emu successful at that?

WinUAE can run it anyway, I believe you need to set it to 68020+FPU, then virtually anything will run.
I have no idea how fast a PC you need for proper performance...
I do know that on my XP1800+ it is much faster than the original.
But I can't say if a Celeron400 will work (I doubt it will take advantage of 2 CPUs anyway) well enough.
I'd say that anything over 1 GHz is probably fast enough, if not faster.

Alternatively, you can download a video from www.amidemos.org or such.
 
MatiasZ said:
how is that done??
Code is small. Data is big. To keep it small, avoid data, favor code. ;)

An example in plain english? Let's say you have to make a few hundred megabytes of graphics and transmit them with a slow modem. How would you do that? You can open photoshop (or gimp, or etc...), make the graphics, and send them (hundreds of megabytes). Or... you could start the macro recorder when you're starting to draw a graphic, save the macro that paints the picture rather than the picture itself, and send the program you've used plus the macros (and the macros are a lot smaller). Then the receiver just have to run the macros on his side to have your graphics.

In the same way, for a 64k demo, instead of including textures you can include a set of drawing subfunctions ("photoshop") and the code that calls them to create the texture (the macros). If you're carefull enough, the result can be very small... 8)
 
I think I read somewhere that they were using something called "Procedural textures". can someone explain, in layman terms, what that means? I am not a coder at all, so please keep it simple :)
 
"Procedural textures"

Quite literally, they are textures generated by a procedure.
Instead of having a bitmap that defines the pixels for each (u,v) pair, you have a function (procedure).
In this kind of intro, the procedures are mainly used to generate the bitmap at the start.
Procedural textures also have other uses, mostly because they can be evaluated at runtime, so not in the way that these intros use them. They have 'inifinite' detail, so they give higher quality than bitmaps.
They also cost a lot less memory to store.
Especially for 3d-textures, they are quite useful (you can get a procedural texture for eg wood or marble in a few lines... Storing a 3d bitmap with reasonable quality would cost tons of memory).
 
Scali said:
They also cost a lot less memory to store.
Especially for 3d-textures, they are quite useful (you can get a procedural texture for eg wood or marble in a few lines... Storing a 3d bitmap with reasonable quality would cost tons of memory).
Umm thats not true. It does take a hell alot of more memory when doing it this way. Think about it, you will need a texture generator that creates the textures. While running the texture generator does not take up much memory, the texture map that gets generated does. Why do you think that the memory usage increases while .the .product demo is loading?
This is because the textures are created on the fly and each textures are allocated memory, not to mention the other generators like 3d mesh, lighting, camera, midi players, and so on...
 
MatiasZ said:
how is that done??
Quite Simple really.... :LOL:
They have generators for everything! There is a texture generator, camera generator, 3d scene generator, midi player, etc. There is almost no "real" data stored in the 63.5kb of code.
 
While running the texture generator does not take up much memory, the texture map that gets generated does.

Read what I said more carefully.
I said that there are advantages to procedural textures when evaluated explicitly, rather than generating the bitmap at startup, like eg .the .product does.
Also, it doesn't take MORE memory to store a procedurally generated texturemap than it does to store any other kind of texturemap (assuming the same size and format, ofcourse), or any other kind of data for that matter.
 
carpediem said:
I think I read somewhere that they were using something called "Procedural textures". can someone explain, in layman terms, what that means? I am not a coder at all, so please keep it simple :)
Well, that's in fact what I previously attempted to explain. In the 64k package, there are no textures, only a kind of very compact "tiny-photoshop" and the macros (the recording of the commands used by the graphics artists to make the graphics) which are used to generate the texture.

Theses macros are also called "procedural textures", because they actually are an acurate representation of the texture, it's just not readily viewable as is, as it is in the form of the procedure used to make the textures.

That's not exactly the same thing, but the term "procedural textures" is also used when pixel shaders are used to compute a texture, but then it's usually an equation which is used to create the texture, not a macro, which is more restrictive from an artistic point of view...

Hopes that clears things... 8) (and my english hadn't got in the way)
 
Back
Top