Slashdot Mirror


Hacking Hi-Def Graphics and Camerawork Into 4Kb

TRNick writes "The old home-computing art of hacking elaborate graphics and camerawork into tiny amounts of memory has been lost, right? Not so. The demoscene is keeping ingenious coding skills alive, and TechRadar finds out the latest developments. Winner of the 4kb competition at 2009's Breakpoint party was RGBA's demo 'Elevated,' a gorgeous scrolling demo featuring photo realistic landscapes and music, which fits into the memory used by one of your PC's desktop icons. This is really impressive stuff."

255 comments

  1. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 5, Informative

    If you're not going to read the article, maybe you should at least have some idea of what the demo scene is about before rushing to first post.

    What it is saying is that the executable file is 4096 bytes. The source code has little relation to that. If the program asks to use more memory beyond that after it's loaded, that's fine.

  2. Trojan by Anonymous Coward · · Score: 0, Troll

    The demo executable contains the trojan W32/Smalltroj.NCSD!

    1. Re:Trojan by Anonymous Coward · · Score: 5, Informative

      The compression techniques in demo code drive AV products nuts, that's just the way it is. They're not going to infect your system -- that would add too much bloat.

      Shame it doesn't work on Win7 64-bit tho.

    2. Re:Trojan by Anonymous Coward · · Score: 4, Informative

      The loaders they use to uncompress the image are routinly also used by virus writers for their own non-3d distructive payloads. Sometimes the people adding the virus signatures get lazy and just target the loader rather than the payload.

      I'm just happy these demos run with DEP enabled.

    3. Re:Trojan by The_mad_linguist · · Score: 0

      Doesn't work on my XP pro box either. Music plays fine, but all I see is a blue screen with scattered 8x8 blocks of gray and white pixels.

    4. Re:Trojan by AmiMoJo · · Score: 4, Informative

      You need d3dx9_33.dll, which is not included on 64 bit systems.

      With that DLL it works fine on XP x64.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    5. Re:Trojan by k3vlar · · Score: 1

      I get this too... I'm assuming it's a video card thing, since the readme file specificly talks about having a pretty beefy card, and mine is ... well ... coming close to vegan these days.

      --
      Unlike porn, which yada yada rimshot hey-ooh!
    6. Re:Trojan by n30na · · Score: 1

      XP. still breaks in win7 for me.

    7. Re:Trojan by parlancex · · Score: 1

      In x86 protected mode memory is allocated in 4 kilobyte pages, each of which is marked specifically as either executable, readable, writeable, and a few other flags. A program that can read itself and generate new parts of the program is still trivial with DEP on, which enforces the execute disable flag on mapped pages, the program just needs to use the API the operating system provides to change the usage bits for the program pages in memory it has generated to enable execution and then jump to a valid instruction address in that page.

    8. Re:Trojan by Anonymous Coward · · Score: 0

      nor on Win7 32-bit apparently.

  3. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 2, Informative

    You assume correctly, but in no way does that detract from how impressive their work (and others' in the DemoScene) is.

    Here, read up some more about it: http://en.wikipedia.org/wiki/Demoscene

  4. Re:I assume the SOURCE fits into 4 kb by immakiku · · Score: 1

    The executable is 4KB

  5. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 0

    wrong too. the executable is = 4kb. no idea how much memory it uses.

  6. Even smaller - the BINARY is 4k by kyz · · Score: 5, Informative

    The source is much larger. The size counted is the size of the executable. Write as many comments as you like in your source code.

    You can use as much memory as you like, but it's a very boring pile of memory if you don't then precompute a pile of pretty pictures using algorithms and data, which is what the 4kb is really counting.

    You can use as many external libraries you like, as long as they're public; so you don't have to write your own OpenGL implementation, but you can't hide 200kb of your latest cool code somewhere other than the 4kb executable.

    Feel free to hack the executable format to remove unnecessary headers and sections that an average compiler or linker would generate.

    --
    Does my bum look big in this?
    1. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      linking in libraries is kind of cheating, no?

    2. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 1, Insightful

      running on an operating system is kind of cheating, no?

    3. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      How else do you expect people to access the graphics card? They're cheating if they don't write their own GPU driver and OpenGL implementation? Should they even be allowed to run on an existing OS, or should they have to write their own?

      Perhaps the parent post was a bit unclear. You can't bundle a ton of external libraries along with your application. Bundling the GNU Triangulated Surfaces library (http://gts.sourceforge.net/) is not OK, but using OpenGL is. I'm not in the scene myself, so the line is fuzzy to me... for example, is it OK to use high-level DirectX utility functions to generate mesh geometry? I suspect not, that it's only OK to use the functions that you need to talk to the GPU, but I don't know for sure.

    4. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      But if you can use as much memory as you like, can't you have a tiny program which generates every possible 1 MB program? A counter makes it stop generating at the exact 1 MB program you want, and it starts executing it.

    5. Re:Even smaller - the BINARY is 4k by BOBSta · · Score: 1

      If the PC demoscene is anything like the proppa old skool C64 and Amiga demoscene, then these guys are hand coding directly in machine code! They're also prob'ly 14 year olds from Sweden or Denmark.

    6. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 1, Insightful

      No that is impossible. The number that tells your program to stop generating would be 1MB in size.

    7. Re:Even smaller - the BINARY is 4k by The_mad_linguist · · Score: 1

      Compression does not work that way.

    8. Re:Even smaller - the BINARY is 4k by slim · · Score: 2, Insightful

      How else do you expect people to access the graphics card? They're cheating if they don't write their own GPU driver and OpenGL implementation? Should they even be allowed to run on an existing OS, or should they have to write their own?

      To be fair, the old C64 demos probably overwrote a lot of the OS with their own code. DOS demos wrote directly to the graphics hardware (and hence often had very specific hardware requirements).

      However, I think it's entirely fair to set competition rules that allow you to use OpenGL / DirectX etc.

    9. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      What the poster wrote is not compression. I could easily create a 4K program that can generate every possible 1MB long byte sequence (it may take a while to run). Heck, I can write that in well under 64 bytes. The rest of the 4K can be used for hueristics to stop the counter when needed and run the resulting program.

      Your failure is you assumed the poster meant to compress every 1MB program into a 4K one.

      Of course stopping at an arbitrary one is a problem. But of all 1MB sequences the one you may want to stop at could perhaps be identified using some heuristic or other identifier, making the original posters idea still valid.

    10. Re:Even smaller - the BINARY is 4k by xouumalperxe · · Score: 1

      From what I remember from seeing some of this stuff a few years ago, at least some groups actually write full-fledged applications for their artists to "program" procedurally-generated artwork, and the final binaries are at least partially assembled from such generated code.

    11. Re:Even smaller - the BINARY is 4k by myrrdyn · · Score: 2, Informative

      What the poster wrote is not compression. I could easily create a 4K program that can generate every possible 1MB long byte sequence (it may take a while to run). Heck, I can write that in well under 64 bytes. The rest of the 4K can be used for hueristics to stop the counter when needed and run the resulting program.

      Your failure is you assumed the poster meant to compress every 1MB program into a 4K one.

      Of course stopping at an arbitrary one is a problem. But of all 1MB sequences the one you may want to stop at could perhaps be identified using some heuristic or other identifier, making the original posters idea still valid.

      This whole post seems to me an odd and convolute definition of compression...
      BTW, information entropy prevents just what you are talking about (most of the times)

      --
      Elen sìla lùmenn' omentielvo
    12. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 3, Insightful

      The difference is, the old C64 demos would run on any C64.

      This '4K' demo requires gigabytes of other code to run, so you need to install a hell of a lot of other software before it will work.

      It will only work on certain PCs with the right configurations too, and will break when the external libraries it uses change.

    13. Re:Even smaller - the BINARY is 4k by PitaBred · · Score: 1

      Sure... every possible 1MB program. There are 1048576 bytes there, do a little math and even assuming you could generate and hash a new 1MB program once ever second... you'd never find your program randomly, much less sequentially. Seriously... go take a math class.

    14. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      C-64 demos can't "overwrite the OS", as it is located on true, non-reprogrammable ROM chips. They just unmap the ROM areas off the address space and do everything in custom code.

      I guess most C-64 democoders have considered the firmware code totally useless for anything else than bootstrapping the show. The creators of the relatively recent 4K intro "Artefacts", however, managed to take advantage from the floating-point code of the BASIC ROM in order to pack the demonstration inside the 4K limitation. It also features a procedurally-generated landscape, by the way.

      See http://www.8bittoday.com/articles/17/artefacts-by-plush

    15. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      Yeah, It can't be that hard. After all, how many 1MB programs there can be?

      Momento. I'll just figure out how many bits I need to store the initial value of counter and come back with the 4k..

    16. Re:Even smaller - the BINARY is 4k by daveime · · Score: 1

      every possible 1MB long byte sequence

      So every possible bit combination in 2^8388608 ???

      Can't you see that your counter to tell it when it's got the right one has to be at least 1MB ?

      UNless of course you are going for the classic vids like "black horse in a coal mine" or "white horse in a snowstorm", which of course could in principle be represented by just 1 bit of counter information ?

    17. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      Actually, it can.

      However-

      This is not exactly a new idea. I came up with it back in the 80's when I was in Middle School, and I'm sure I'm not the first person to do so (or the last). I quickly ran into a rather problematic barrier- finding that magic number is probably impossible in actual practice, at least in a reasonable amount of time. In addition, the value of the spot to stop at (known as the seed) is going to end up being vastly larger in terms of size/storage space than the data you were attempting to "compress".

      I had a college math prof actually show me a proof for the idea once, but I didn't understand half of it then much less remember it now. Something to do with entropy I think.

      I suppose you might be able to come up with some super-cool, special algorithm that generates a limited set of all possible combinations of the sequence, which might actually work in practice. If you figure one out, be sure to patent it, and make sure you have a nice suit to wear at your Nobel Math prize awards dinner.

    18. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      Remember that old saying about a room full of monkeys hammering on typewrites producing all the works of literature... eventually? What the parent is talking about is exactly this problem.. he basically is saying, if you know how many monkeys and how long they need to type, that's all you need to send, and then make the monkeys work to reproduce the literature instead of emailing the pages. The two obvious issues when put like this are A) it's gonna take a loooooong time to figure out exactly when to stop the monkeys, and just as long to re-create it on the other end. and B) The amount of space needed to store that information... will in almost all cases exceed the size of the literature itself, thus rendering it pointless.

      This whole post seems to me an odd and convolute definition of compression...
      BTW, information entropy prevents just what you are talking about (most of the times)

      Well, compression would be one application. You could also use it for encryption, and some other nifty things. But ya, compression.

      For example, you could create an algorithm that made, let's say maps for a strategy game, generated "randomly" using a seed. You can save a LOT of transport space on your network by simply sending the seed for the level. However, you end up with a lot of garbage levels, and have to check all the seeds ahead of time. So in some VERY limited situations the general idea will work. But in such a case, it's not the actual sequence that really matters, but what you do with that sequence, and you can fudge it & tweak it without any real problem, and in addition ALL seeds are valid even if they aren't particularly good.

      This is NOT true for an executable, where you need to find a very specific sequence, and any deviation breaks it. So while they might be able to compress something like the map data using such a method, that's about as far as you can reasonably take it.

    19. Re:Even smaller - the BINARY is 4k by petermgreen · · Score: 1

      A compression algorithm can be considered as a mapping function that maps the set of all possible input byte sequences to some set of output byte sequences in a one to one manner. The decompression algorithm is then a reverse mapping.

      The number of sequences of bytes that are a given length or shorter is fixed. It follows that if the mapping maps some input sequences to shorter output sequences it must also map some input sequences to longer output sequences.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    20. Re:Even smaller - the BINARY is 4k by RivieraKid · · Score: 1

      Can't you see that your counter to tell it when it's got the right one has to be at least 1MB ?

      Not only that, but for all practical purposes, that counter would necessarily have to be the desired end state - how else will you know if you have gotten where you want to be, if you don't already know what you want? What better way to know what you want out of the system, than to already have the end result?

      Before anybody starts to mention heuristics - that's a whole different kettle of fish, and in my opinion is venturing into genetic algorithm space. GAs will give you what you want without you necessarily knowing exactly what that would look like and you won't know how you got there - that's totally different to just algorithmically generating every possibly 1MB file and hoping you get what you are aiming for.

      --
      "Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves
    21. Re:Even smaller - the BINARY is 4k by Anonymous Coward · · Score: 0

      C64 demos Overwrote the OS? They built ROM burners into their demo?

  7. TROJAN?! by Anonymous Coward · · Score: 0, Insightful

    Downloaded the exe.

    Tried to run.

    SAM quarantined the file, claiming it contains a trojan.

    Damn! Photo-realistic rendering -and- a trojan in 4kb? _THAT_ is impressive!

    1. Re:TROJAN?! by Ilgaz · · Score: 4, Funny

      Funny is 4 KB app manages to do HDTV and your AV solution being thousands (if not millions) times bigger can't figure the difference between a trojan and packed executable. That is in case it is even packed.

    2. Re:TROJAN?! by Anonymous Coward · · Score: 1, Insightful

      All that means is that your antivirus software sucks.

    3. Re:TROJAN?! by Anonymous Coward · · Score: 0

      ...OR that it really contains a trojan. Be careful downloading stuff from the Internet.

    4. Re:TROJAN?! by Anonymous Coward · · Score: 0

      Nope. Only 12 out of 41 and none of the high quality ones detect it as a trojan.

    5. Re:TROJAN?! by Anonymous Coward · · Score: 0

      None of the larger demo groups would risk their fame and fortune by including a trojan. These demo's are safer than online banking.

    6. Re:TROJAN?! by Tuoqui · · Score: 1

      Well it makes sense that it would assume that packed executable = trojan. It is a commonly used obfuscation technique done to evade anti-virus as well as make it so humans reverse engineering teh code have difficulty figuring out what the hell it does.

      --
      09F911029D74E35BD84156C5635688C0
      +2 Troll is Slashdot's way of saying groupthink is confused
    7. Re:TROJAN?! by Ilgaz · · Score: 1

      Almost all PE formats are documented, generally open source. In fact, PE is also used to provide additional security since they are harder to infect.

      At last resort, you can "act like" launching it allowing it to expand itself but not allow to run before scanning.

      These aren't new things, they exist since MS-DOS antiviruses.

  8. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 0

    That would be totally pointless... you can have huge source code with big descriptive variable names, that could take up a lot of space, and then change the variable names to single (or double if necessary) characters and your source code's size would drop significantly.

    However, the executable size is going to be the same for either.

    That's kind of like car ads that exclaim that the car can "drive 300 miles on a single tank of gas!" while never letting you know how much the gas tank can hold.

  9. you mean the executable by Anonymous Coward · · Score: 0

    The source is probably 40KB+, but you're right it probably uses multiple MBs of video memory at the very least once it is running. I don't keep up with the PC demo scene but I remember one of the 64KB Farbrausch demos needed around 200MB of RAM.

  10. Wow by Lord+Byron+II · · Score: 4, Funny

    It takes a 64MB avi to store the 4KB demo!

    1. Re:Wow by Anonymous Coward · · Score: 1, Interesting

      Your desktop background is a few KB, but take a video of it in high def, and it will still be a massive file...

      The data contained in the 4K is a music engine, instructions to directX/OpenGL, and custom code. The visual data is a mathematical representation only, and not actual landscape, processed through the renderer and displayed to the screen.

      Your speakers are capable of representing sound in amazing detail from a small amount of data. Your screen and video card extrapolate and do a massive amount of processing (requiring a large memory buffer as well due to the single pass methodology of the rendered used in order to limit the number of instructions required), and the end result is an audio/visual experience in HD that made quite a massive avi file, yes...

    2. Re:Wow by Anonymous Coward · · Score: 0

      It takes a 64MB avi to store the 4KB demo!

      a 4 KB demo could take 1GB avi.
      an avi has its resolution, an 4KB demo could play at virtually every resolution your computer can.

      Contragts iq & rgba
      --
      fru

  11. Cheating by Anonymous Coward · · Score: 0, Interesting

    I assume that 4K doesn't include the 3D libraries they used. It's still impressive but 4k of code can create a lot of procedural graphics if you have a few megs of graphics libraries to display it.

    1. Re:Cheating by hattig · · Score: 2, Insightful

      Indeed, it's not exactly hitting the hardware at a register level like all the proper old-school 8/16/32 bit demos in the 80s and 90s.

      It's an OpenGL or DirectX demo at best, not a hardware demo.

      It is still impressive of course. Especially when you consider the music engine that's taking up some of that 4KB.

    2. Re:Cheating by Goaway · · Score: 2, Insightful

      Ok, you go do it and show us all how easy it is.

    3. Re:Cheating by Anonymous Coward · · Score: 0

      In such demos, using funky functions from the graphic libraries often take too much space. Yeah, if there was a nice "drawProceduralMountain" function, it would probably take more code to parametrize it and call it than the 4K! (most microsoft APIs are horrible this way).

      So, here , the only API call are the setup and rendering of one or two pixel shaders, and a PlaySound from a buffer. Everything else is crazy raw-to-the-GPU shader (not different than doing Z80 assembly, if you think of it... simply said, the raw hardware evolved since then.)

    4. Re:Cheating by Anonymous Coward · · Score: 0

      Ummm... except GP didn't say it was easy. In fact, he explicitly said it was "still impressive". Time to bone up on your reading comprehension.

    5. Re:Cheating by jokkebk · · Score: 1

      I've often thought the same. However...

      Even those "old skool" 80s and 90s demos had their own "graphics libraries", just on lower level - BIOS routines to switch graphics modes, and if there was music, it was usually done using MIDI or GUS, which had hardware mixing routines. Add all DOS interrupts on top of that and you had plenty of "libraries" also available back then.

      So while there is difference (back then you had to do your own polygon filling routines), even old-timers had some help, and you could even argue that it was quite an equal amount when compared to yesterday's standards (flat shaded polygons were great back then).

      Heck, I'd even go as far as to say, that 4kb, even with DirectX and whatnot, is even more amazing when you consider that even basic OS install requires 20 GB disk space. In the 90s, the days of Commodore 64 were pretty close, and 4kb was just few orders of magnitude smaller than "the usual stuff" those days.

      --
      http://codeandlife.com
    6. Re:Cheating by Anonymous Coward · · Score: 0

      Indeed, it's not exactly hitting the hardware at a register level like all the proper old-school 8/16/32 bit demos in the 80s and 90s.

      It's an OpenGL or DirectX demo at best, not a hardware demo.

      It is still impressive of course. Especially when you consider the music engine that's taking up some of that 4KB.

      actually it's written in assembler, I can tell you itÂs hitting the hardware at register level.

    7. Re:Cheating by Anonymous Coward · · Score: 0

      Er, perhaps on your PC but when we were writing music for demos on the Atari ST we had to write the entire synthesizer ourselves. No midi, no libraries. Same with the graphics. Bare metal programming in assembler, talking directly to the sound chip and graphics registers. We even had to annotate the music in hex because in those days we didn't have any tracker programs.

      Don't get me wrong, it was *fun*. But we did everything.

      Count Zero - Electronic Images / Inner Circle

    8. Re:Cheating by daveime · · Score: 1

      And yet still requires a DirectX DLL to run ... damn those Microsoft people, they even lock you in at assembly level :-(

    9. Re:Cheating by AmiMoJo · · Score: 1

      To be fair the display is rendered entirely by pixel shaders, which need to be programmed, so it's not just procedural generation. The 3D libraries are only really used to send the pixel shader program and some other data to the GPU.

      Basically a low resolution landscape polygon is sent to the GPU, which then renders it by drawing one massive quad over the entire screen and executing a pixel shader which checks the landscape poly etc. for every pixel. There are not even any textures involved, every pixel is generated by code in realtime.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  12. I wish by Khyber · · Score: 3, Insightful

    I wish more developers would try doing things like this. I can imagine a game along the designs of Doom3 or Quake4 that would fit on a floppy disc with some proper code crunching.

    Of course, the downside is that it'd be all too easy to snag tiny files like that on a torrent site.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    1. Re:I wish by ground.zero.612 · · Score: 1

      You mean like Cube?

      --
      "Be prepared, son. That's my motto. Be prepared." --Joe Hallenbeck
    2. Re:I wish by molukki · · Score: 5, Informative

      Try .kkrieger -- FPS game in 96kB

    3. Re:I wish by Toveling · · Score: 1

      Been done: http://www.theprodukkt.com/kkrieger ... 96k game with fairly high-quality graphics

    4. Re:I wish by cadu · · Score: 1

      downside? o_O

    5. Re:I wish by slim · · Score: 4, Interesting

      Try Left 4K Dead

      The fact is that cramming a lot of game into a small space is still worth doing.

      • Flash games sites have bandwidth costs
      • Console gamers develop high expectations as the hardware reaches the end of its lifecycle, and developers compete to squeeze more out of it
    6. Re:I wish by CannonballHead · · Score: 1

      One problem that is easily foreseeable: this would require very distinct and very specific libraries to be installed on all computers you want it to run on. That may work if all you use is DirectX, but if you use any other libraries of code... well, this really severely limits it. (example: I the exe I downloaded for the 4k demo crashed).

      I would rather have to have an entire CD (incidentally, I wouldn't be able to use a floppy anymore) and be able to run it without downloading this, that, and one other library. :)

    7. Re:I wish by RobVB · · Score: 2, Insightful

      Of course, the downside is that it'd be all too easy to snag tiny files like that on a torrent site.

      That, and games would take 4 hours to start on today's processors.

      --
      I'd rather you rationally disagree than irrationally agree.
    8. Re:I wish by Hatta · · Score: 1

      Would libraries on the host system count? I can see how it would be easy to make a really small game, if you have hundreds of megabytes of libraries on the host system to leverage. Much harder if you have to do it all from scratch. What are the rules for these kinds of things?

      --
      Give me Classic Slashdot or give me death!
    9. Re:I wish by somersault · · Score: 1

      It's already easy to snag gigabytes of stuff on a torrent site, I doubt making games smaller is going to make people any more inclined to pirate them unless they were truly gargantuan to begin with.. besides, having all your games generate the levels, characters, animations, sounds, AI etc procedurally would create some rather annoying loading times - not worth it unless you then save the uncompressed game so you don't have to go through the same procedure every time you run the game.

      --
      which is totally what she said
    10. Re:I wish by Knos · · Score: 1

      No extra download on top of a fresh installation of your (proprietary) OS.

      On linux, it's much harder to define what's in and what's not, so it's a genuinely less interesting playing field for competitions.

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    11. Re:I wish by HalAtWork · · Score: 1

      Try out .kkreiger from farbrausch/.theprodukkt. It's a first person shooter in 96k.

    12. Re:I wish by Hurricane78 · · Score: 1

      What you forget, is that that much optimizing of the code, takes a multiple of the time, that the whole game making usually takes. Also, you would have to do it after the playtesting, because much changes there, and you can't possibly debug that ultra-dense code. I think working with some real designers, who are no programmers, would be very hard too.
      If you find a million people wanting to pay for that extra work, I can find you the developers do to it. :)

      Also because you do not want to generate all the textures and models, every time you start the game, you would have to store them on the HDD, making the small file size a bit pointless.

      About the file size: I don't think anybody cares for the size. I downloaded a 33 GB torrent (65 GB unpacked) a week ago.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    13. Re:I wish by Terrasque · · Score: 1

      Err right.. I tried Age of Conan this weekend. 3 install DVD's plus 2 GB in patches to download. 25 GB installed on disk. Great stuff.

      It still told me to go to microsoft.com, find a specific version of DirectX 9.0c (think it was marked with "October 2007" or similar), download that, and install it... Your point were?

      --
      It's The Golden Rule: "He who has the gold makes the rules."
    14. Re:I wish by Hurricane78 · · Score: 1

      But the cramming rises the price drastically. So you have to find a balance. Which, except for rare cases, means next to no cramming.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    15. Re:I wish by tepples · · Score: 1

      It's already easy to snag gigabytes of stuff on a torrent site

      Even with a 7 GB/mo cap?

    16. Re:I wish by moronoxyd · · Score: 1

      What you forget, is that that much optimizing of the code, takes a multiple of the time, that the whole game making usually takes.

      Usually, optimizing just 5-10% of the program can result in significant improvements in terms of memory usage, size, execution speed.

      About the file size: I don't think anybody cares for the size. I downloaded a 33 GB torrent (65 GB unpacked) a week ago.

      Good for you.

      But, you know, there are people who care about download size.
      Me, for instance.

    17. Re:I wish by Weasel+Boy · · Score: 1

      It's not the executable size of most games that takes so much space on your disk, it's all the pictures and sounds.

    18. Re:I wish by Anonymous Coward · · Score: 0

      yes, the most impressively compressed game that is.

    19. Re:I wish by Anonymous Coward · · Score: 0

      Hell pop it inside a .rar or .zip and append(?) it to a jpeg! :D

    20. Re:I wish by Khyber · · Score: 1

      I've played that. Back on my old 1.8GHz P4, 512 MB of RAM, and a 256MB GeForce 6200 AGP. For what it was back then, it was bad-ass.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    21. Re:I wish by Khyber · · Score: 1

      Much of that can be procedurally generated, as well. .kkreiger, as mentioned in other posts above, generates textures for itself, and sound.

      Seriously, given enough time, Doom 3 could have been made to fit on a floppy. It might have required something a bit beefier than the machine I ran .kkreiger on, but I wouldn't mind the waiting time for loading. Really, I wouldn't.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    22. Re:I wish by somersault · · Score: 1

      I'd say it would be easy to snag up to 7 gigabytes of stuff in that situation.

      --
      which is totally what she said
  13. YouTube version by slim · · Score: 5, Informative

    I strongly suspect my video card won't be up to this, so I seeked out a capture of it on youtube:

    http://www.youtube.com/watch?v=_YWMGuh15nE

    1. Re:YouTube version by odin84gk · · Score: 4, Funny

      Wouldn't it be more appropriate to post a tinyurl than the direct youtube link?

    2. Re:YouTube version by Dalambertian · · Score: 5, Informative

      If you really wanna keep track of the newest demos, I recommend demoscene.tv The quality is far superior than youtube, and they also provide the 4k download. http://demoscene.tv/page.php?id=172&lang=uk&vsmaction=view_prod&id_prod=13718

    3. Re:YouTube version by MooUK · · Score: 1

      I watched the YouTube version, and all I can say is... fuck me, that's incredible.

    4. Re:YouTube version by Anonymous Coward · · Score: 2, Insightful

      Wouldn't it be more appropriate to post a tinyurl than the direct youtube link?

      no, because then you wouldn't know what you are clicking on

    5. Re:YouTube version by oneofthose · · Score: 1

      Thank you for that link. Now let's compress that video back to 4kb.

    6. Re:YouTube version by anonymous+donor · · Score: 1

      Not sure if you are just trolling, but just in case: NO!

      --
      fortune favors the lucky
    7. Re:YouTube version by Anonymous Coward · · Score: 0

      1. this aint no twitter
      2. tinyurl=high probability of getting goatse-ed

    8. Re:YouTube version by coolsnowmen · · Score: 1

      why?

    9. Re:YouTube version by Anonymous Coward · · Score: 0

      What was wrong with the AVI file posted directly on their site?

    10. Re:YouTube version by Anonymous Coward · · Score: 0

      It was too big, and wasn't pixelated enough.

    11. Re:YouTube version by shish · · Score: 1

      because then you wouldn't know what you are clicking on

      Yes, totally inappropriate when compared to downloading some random .exe from the internet and clicking on it :-P

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    12. Re:YouTube version by Anonymous Coward · · Score: 0

      What good would that do? It's not like anyone is going to type the link, they'll just click on it. Besides what would happen to the link when the TinyURL expires? How would we find this youtube video?

    13. Re:YouTube version by Anonymous Coward · · Score: 0

      If you go to the group's website, as linked in TFA, you'd be able to get the 64MB AVI mentioned in the first post :)

  14. For those w/o Windows - video by Maxmin · · Score: 3, Informative

    Elevated by RGBA and TBC.

    Impressive, though it seems the demo scene has evolved to include the use of platform libraries (graphics/synthesizer.) Impressive anyways - I'm assuming the imagery is all algorithmic.

    When I last paid attention to demos, it seemed to be all in the executable, code dealing directly with hardware.

    --
    O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    1. Re:For those w/o Windows - video by Anonymous Coward · · Score: 0

      Unfortunately, that's not really possible with modern hardware anymore. The only way to access fancy features like shaders is through the driver's API.

    2. Re:For those w/o Windows - video by Maxmin · · Score: 3, Insightful

      On second viewing, two things come to mind:

      1) the opening scene from LOTR: The Two Towers, an amazing piece of design and rendering.

      2) Audio player visualizations. The giveaway is the contrails appearing in sync to the music.

      Is it possible RGBA are using a built-in visualization library, possibly from WMP? That would explain the high level of detail and apparent use of texture maps, which I'm guessing wouldn't fit into 4kb, algorithmic or not.

      This (admittedly weak) theory can be verified by disabling the visualization library for Windows Media Player.

      Anyone want to volunteer to verify this?

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    3. Re:For those w/o Windows - video by fishbowl · · Score: 2, Insightful

      >The only way to access fancy features like shaders is through the driver's API.

      The API gets there somehow other than magic.

      --
      -fb Everything not expressly forbidden is now mandatory.
    4. Re:For those w/o Windows - video by Dr.+Impossible · · Score: 1

      The only thing that makes this impressive is that it fits into 4 kilobytes. As a 3D engine it's otherwise nothing special, and it's quite boring to watch. Not nearly as interesting as, say, Sequential.

    5. Re:For those w/o Windows - video by Goaway · · Score: 1

      Yes, through a secret and hardware-specific way. Not exactly very useful for anybody else.

    6. Re:For those w/o Windows - video by Goaway · · Score: 0

      Is it possible RGBA are using a built-in visualization library, possibly from WMP?

      No, that is a stupid idea.

    7. Re:For those w/o Windows - video by Maxmin · · Score: 1

      Yeah, and Elevated *has* to be using platform libraries, no way to fit such detailed 3d rendering and audio into 4k. Probably just high-level invocations of Win/WMP libraries, though impressive they fit that much direction into so little space.

      Sequential - very nice. Any idea how big the program is?

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    8. Re:For those w/o Windows - video by ewhac · · Score: 1

      Is it possible RGBA are using a built-in visualization library, possibly from WMP?

      Sheesh. Kids these days...

      Go read up on MOD files. (Then go add Scenemusic.eu to your playlist.) Visual synchronization to MOD files has been going on for over 20 years. It's a solved problem.

      Schwab

    9. Re:For those w/o Windows - video by Anonymous Coward · · Score: 0

      Having a limited brain, does not mean it is not possible. How about not talking about things you don't know shit about!

      Write your own procedural shader and mod player with mod. Then you can have an opinion and not be laughed at!

    10. Re:For those w/o Windows - video by Maxmin · · Score: 2, Insightful

      I recant my rant. It really does look possible to do what RGBA did in 4KB. This thread forced me to go learn up ...

      Producing mountain-like terrains with Perlin noise.

      More by the same author (Inigo Quilez.)

      Truly awesome and impressive. My eyes are opened, and I'm intrigued enough to try my hand at an implementation.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    11. Re:For those w/o Windows - video by vertigoCiel · · Score: 1

      Why would they use an external visualization library? Since the sound is encoded in executable (using a format similar to MIDI), it would be trivial to sync the contrails with those notes in code. Furthermore, there's no way that WMP is good enough to pick out individual notes from a raw audio feed like that. There are a lot of smart people working on audio rhythm/beat analysis, and nobody's produced anything nearly that good. Hell, nothing's that good even when the audio file is available, so the analysis doesn't have to be done in real time and can take multiple passes.

      The contrails appear to be a simple shader effect. There's no need to use texture maps for something like that.

    12. Re:For those w/o Windows - video by atraintocry · · Score: 3, Insightful

      You were actually serious about the WMP thing?

      It comes down to a few things:
      - those common device drivers can do a hell of a lot these days
      - that 4k executable expands to over 300 MB in memory when you run it
      - these techniques have been perfected over decades of work
      - mountain landscapes are one of a handful of real-world things that can be realistically generated with small equations
      - these people are exceptionally talented

      You are right to notice the similarity as there is a lot of overlap between music visualization and demoscene work. I would guess that the former arose as a result of work being done in the latter.

      It's 4096 bytes, whatever you want to call that. A typical (self-imposed) demo limitation.

      These things were being made long before there was a Windows or a WMP. And there are always those ones that make you feel like "this shouldn't be possible," but I suppose that's the point.

    13. Re:For those w/o Windows - video by Maxmin · · Score: 1

      Thanks for the gentle clue - chalk it up to ignorance, I haven't worked in graphics in over a decade.

      there are always those ones that make you feel like "this shouldn't be possible"

      See my recant.

      Truly impressive work. I am embarrassed by my comments now.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    14. Re:For those w/o Windows - video by Airon · · Score: 1

      Oh lord. Not a lot of scene folks around, are there.

      If you missed it, for video versions recorded at the party digitally(via HDMI I believe) in 2300, 4000 and 8000 kbps, all AVI XVid, go to :

      http://scene.org/

      and search for 'elevated' . Presto. Lots of mirrors. High speed. Have fun!

    15. Re:For those w/o Windows - video by Anonymous Coward · · Score: 0

      I can answer to you:

      * no, no external library was used other that d3d for compiling a shader, creating arectangle, and seting a projection matrix.

      * the textures are algorithmic, and they of course fit in 4k. In fact, they all fit in around 100 bytes, and actually there is an infinite amount of textures in there (rendered on the fly as the camera covers different parts of the landscape).

    16. Re:For those w/o Windows - video by khellendros1984 · · Score: 1

      But it's not necessarily an openly published thing.

      --
      It is pitch black. You are likely to be eaten by a grue.
    17. Re:For those w/o Windows - video by fishbowl · · Score: 1

      Excuses. Exactly the thing we need to be better at, is having it not matter if things are openly published and documented.

      Most of the things that the demoscene did back in the day were the result of abusing the hardware and doing things that were not at all documented anywhere. Yeah, the scale is bigger today, but it's still just an excuse to say you don't want to push the envelope because it's hard.

      --
      -fb Everything not expressly forbidden is now mandatory.
    18. Re:For those w/o Windows - video by Ilgaz · · Score: 1

      As they will be lossy compressed, best way to watch a demo (especially Amiga ones) is running them actually, inside an emulator if possible.

      Not just for a single demo of course, just in case anyone interested in classic demos on scene.org. Also virtually no bandwidth needed compared to 8mbit :)

    19. Re:For those w/o Windows - video by Ilgaz · · Score: 1

      He sounds like a computer teacher of ours kept saying "This can`t be possible" when we showed Amiga demos to poor guy.

      Guy was on MS-DOS that time of course.

    20. Re:For those w/o Windows - video by Dr.+Impossible · · Score: 1

      Sequential - very nice. Any idea how big the program is?

      The Amiga used 880 kb disks that could apparently be formatted to store 984 kb, so those were the upper limits. But Sequential is interesting from an aesthetic perspective (lots of great artwork and music, and different kinds of effects), whereas Elevated is just very dull. ARTE is a great Amiga demo too. I don't like modern PC demos all that much.

    21. Re:For those w/o Windows - video by Anonymous Coward · · Score: 0

      It's quite a stretch to say most of the things the scene did were undocumented things. Personally, I'd say 'a fraction of the stuff was..'. It took quite a while for people to work that sort of stuff out, and you could do quite impressive stuff with just the documented stuff too - I'm not sure if even the designers of the hardware knew what the limits actually were.

      However, back in those days, the coders had one huge advantage. Everyone had the same hardware. This started changing around the time when Gravis Ultrasound came out and was immediately loved by all the coders (due to the fact that it did mixing in hardware = more cpu time for eye candy) - and hated by all the people who already spent their money on a Sound Blaster. It wasn't that uncommon to have demos without SB support (so we taped the music to an audio cassette and pressed play at the right time!), and even when competition rules started demanding SB support, some coders ended up supporting SB, but playing something completely different (noise, simple adlib melodies) than you would get with GUS. Which also sucked. Now, while I've grown up and nowadays watch demos quite randomly, that would most certainly stop if you would need a certain GPU to watch them.

    22. Re:For those w/o Windows - video by kyz · · Score: 1

      Back in the day, all C64s that people owned had exactly the same hardware inside them, and that was mostly stable for its entire lifespan. All the good demos came out after people had studied the unchanging hardware for years.

      Name some good C64 demos from 1983 or 1984. In my opinion, most of the good C64 demos started around 1985. The most amazing ones, the ones that really make your jaw drop, came in the 1990s or 2000s.

      It takes time to study hardware and find its every little nook or cranny. Demo authors are always dejected when they hear their productions don't work on all machines. Look at the public humiliation Spaceballs' State Of The Art got for only working on a A500 with trapdoor expansion.

      I, for one, wouldn't like to try and find a specific hardware revision of a specific model of graphics card because a demo coder decided to bang its registers directly. Fuck that. I want him to use the standard API and work on as many capable graphics cards as possible.

      Working on only one machine is not "pushing the envelope". Pushing the best graphics cards to do what their designers didn't expect is "pushing the envelope". Pushing today's fixed hardware platforms (PS3, Nintendo DS, iPhone, etc.) is pushing the envelope.

      --
      Does my bum look big in this?
  15. Meh by abigsmurf · · Score: 2, Insightful

    I don't deny these demos are impressive but the fact they use existing libraries lessens the achievement for me.

    When DirectX basically has it's own 3D engine, you're basically turning the task of creating a demo into generating sounds, textures and models from formulae.

    Libraries used should be limited to the minimum needed to create a window or change the display mode and shouldn't do any real grunt work or, there should be a second metric of RAM and swap files used.

    1. Re:Meh by Knos · · Score: 1

      It seems to me you would also forbid a demo to use a 3d accelerator in the name of having a metric you can understand.

      That's alright, but that's not really pushing your hardware to its extents.

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    2. Re:Meh by Anonymous Coward · · Score: 0


      echo "int main(){printf('Hello World');}" > test.c
      gcc -Os -o test test.c
      strip test
      wc -c test

      With gcc 4.3.3 the result is an executable 2928 bytes long. So you have 4000-2928=1072 (in case a Kb means 4000 bytes, not 4096) bytes to generate textures, music, terrain, etc. Yes, the instruction set of the x86 is very compact, but taking into account library symbols (which I guess are put into the executable in the plt section, as GNU binutils does) and generation data, it is very impressive.

    3. Re:Meh by mobby_6kl · · Score: 1

      Yeah, I'll have to agree. It's still impressive, but when using DirectX it just isn't the same. I don't have the D3D SDK installed now, but I recall it was possible to get a teapot to render in a few lines of code, so I'd think by not including any dependencies in the binary the filesize could be very small without getting into any extreme measures.
        A few more things:

      • The demos don't work on 64bit Win7, whether in XP compatibility or not.
      • They can cram HD graphics in 4Kb, but can't make a website without iframes?
      • There are separate binaries for each resolution, but nothing for 1680x1050 :(
    4. Re:Meh by kyz · · Score: 1

      Well, you're really wasting space there. With a default compile and link, you've included crt0.o which sets up the default C environment, and sections to command the dynamic linker to link in references to printf().

      If you read this tutorial on the ELF format, you'll find the smallest valid Linux x86 ELF file that sucessfully does nothing is 368 bytes (although this demo is for Windows, so will be using the Portable Executable format instead). So you have far more code space to play with.

      There are other tricks; usually the thing is packed with a code compressor, as even tightly-written code is likely to have some redundancy. I haven't looked at this one, but it's likely that 4kb executable is the result of an exe-packer packing a 5kb-10kb executable.

      The famous production people usually refer to when it comes to small files with procedurally generated graphics is .the .product by farbrausch. If you read that site, you'll find out many of the tips and tricks that can be used to really pack down the size of executables and still make amazing 3d scenes.

      --
      Does my bum look big in this?
    5. Re:Meh by ivoras · · Score: 4, Interesting

      No, it just raises the bar. Back when all you had to work with was CGA in 320x200 it was impressive to show a rotating cube in 4k. Today, this demo nicely shows where the virtual bar is when even considering making a 4k demo. As you couldn't do "Elevated" on your 100 MHz 486 in *no* condition or with any libraries, so would you be laughed at if you presented a rotating cube or a wormhole today.

      Here's an excerpt from TFA:

      for those wondering, this a (too) low density flat mesh displaced with a procedural vertex shader. there arent any texturemaps for texturing, instead texturing (and shading) is defferred and computed procedurally in a full screen quad. this means there is zero overdraw for the quite expensive material at the cost of a single geometry pass. then another second full screen quad computes the motion blur. camera movements are computed by a shader too and not in the cpu, as only the gpu knows the procedural definition of the landscape.

      If you can do better, show your work :)

      --
      -- Sig down
    6. Re:Meh by Anonymous Coward · · Score: 0

      I recall it was possible to get a teapot to render in a few lines of code

      Now if only they can get the Stanford Bunny to spin around and render in a multitude of ways with only 4Kb... Would that be impressive?

    7. Re:Meh by Anonymous Coward · · Score: 0

      The competition rules state what can be assumed to be present, typically it is:

      - OS installation and some specific Service Pack
      - DirectX *runtimes* and specific version
      - Drivers for gfx card, sound, mb, that sort of thing

      That's pretty much it. The demos should work on fairly fresh install of OS, there are not "libraries" installed. OpenGL for instance comes with WINDOWS install, and the gfx hw drivers have the ICD. The trick of making the executable tiny is to LoadLibrary as much as possible, statically linking adds a lot of garbage to the executable size. This makes programming of course slightly more work but it's a moot point when the initialization code is written it's done, and it's not that much of a hassle.

      For example, if you need strcmp, memcpy, whatnot, you don't link to stdlib or what not to have them, since that again adds a lot of garbage, you write your own replacement routines, that isn't that much work either, really.

      Your "insight" how libraries should be limited to creating a window blah blah is so 1990's argument. Demoscene got over it 10-15 years ago when most did move from MS-DOS to Windows. In Windows you use OS services for a lot of stuff, whoopeydoo. Sure, writing software rasterizers have it's appeal and is A LOT OF FUN! But, you know sir, that haven't been THE POINT for ages. You use it if you feel inclined, for artistic or other reasons.. maybe want to show off your skills, go ahead knock yourself out. Been there, done that.

      Do you realize, that a modern software rasterizer worth a damn is based on realtime code generation. This in short means you have to create a compiler, pretty much. Been there, done that as well. This kind of challenges cease to be a challenge after some point, and your interests move to other topics. These guys were into procedurally generating nice landscapes. Did you know they did this in fragment space; no textures were used in the intro - they used deferred rendering; the landscape color was compiled in the fragment program. Anyways.. I don't find your comment very insightful at all, no offence. God be with you..

    8. Re:Meh by Anonymous Coward · · Score: 0

      Google for mars.exe, it should run very smoothly on a 100-MHz 486.

      As a matter of fact, Elevated is just a single example of the "impressive landscape in a couple of kilobytes" genre that has been around for maybe 15+ years now.

      For another recent example, try Himalaya by TBC from 2008 (it's 1K, by the way): http://www.pouet.net/prod.php?which=50688

    9. Re:Meh by Anonymous Coward · · Score: 1, Informative

      Well, if you ACTUALLY read the article (or at least skim to the end), you'll notice that the size they come down to is mere 45 bytes. However, that requires nasty tricks such as writing code inside the header. The minimal ELF headers people actually use are somewhere around 70 bytes in size.

      Those minimum sizes are quite a lot if you consider that the smallest size categories on the demoscene are 256 bytes and less. That's why many of the folks specialized on that branch still prefer MS-DOS .COM executables which have no header overhead whatsoever.

    10. Re:Meh by slackito · · Score: 1

      /* Look ma! No libc */ const char msg[]="Hello World\n"; void _start(){ // write (1, msg, 12); asm("int $0x80;"::"a"(4),"b"(1),"c"(msg),"d"(12)); // exit(0); asm("int $0x80;"::"a"(1),"b"(0)); } $ gcc -m32 -Os -nostdlib -nostartfiles -s -o test test.c $ wc -c test 436 test $ ./test Hello World And this is just scratching the surface. Of course, in a real 4K you would want to use some compression, too, as pointed by another replies.

    11. Re:Meh by slackito · · Score: 2, Interesting

      Ouch, i thought the formatting would be preserved with tags. Posting as plain old text now :P

      ----- test.c

      const char msg[]="Hello World\n";

      void _start(){
              asm("int $0x80;"::"a"(4),"b"(1),"c"(msg),"d"(12)); // write (1, msg, 12);
              asm("int $0x80;"::"a"(1),"b"(0)); // exit(0);
      }
      ---------
      $ gcc -m32 -Os -nostdlib -nostartfiles -s -o test test.c
      $ wc -c test 436 test
      $ ./test
      Hello World

      And this is just scratching the surface. Of course, in a real 4K you would want to use some compression, too, as pointed by another replies.

    12. Re:Meh by Anonymous Coward · · Score: 0

      The famous production people usually refer to when it comes to small files with procedurally generated graphics is .the .product by farbrausch. If you read that site, you'll find out many of the tips and tricks that can be used to really pack down the size of executables and still make amazing 3d scenes.

      Actually, I (and probably hordes of other people) was even more impressed by their demo Debris that won the Breakpoint 2007 full demo compo that allows filesizes up to 64MB with a 177kB demo that runs for 7:19... :)

      (Posting anonymously so my mods here don't go to waste...)

      np: Tosca - No More Olives (J.A.C.)

    13. Re:Meh by ivoras · · Score: 1

      I've just seen Himalaya and you'll have to agree that it's in a different class as far as realistic visuals are concerned than Elevated. (yes, fractal terrain generators are an old chestnut but still - the increase in quality from Himalaya, 1K to Elevated, in 4K, is literally visible :) )

      --
      -- Sig down
    14. Re:Meh by Anonymous Coward · · Score: 0

      When DirectX basically has it's own 3D engine, you're basically turning the task of creating a demo into generating sounds, textures and models from formulae.

      What is this built-in DirectX 3D engine you speak of? ID tech 4??

      Back in the Commodore 64 days or Amiga 500 days everyone's computer was the same as everyone else's, allowing demo coders to "hit the hardware". But today's PC are a mish-mash of all sorts of components. Instead democoders "hit the API", so to speak.

      APIs are a necessary evil in today's world of Frankenstein-esque PCs. If everyone's PC was identical, the aforementioned demo could still be done in 4K without the use of APIs. Really.

    15. Re:Meh by Goaway · · Score: 1

      So basically you don't know a single thing about how to do something like this, but you're still going to shoot your mouth off about what isn't impressive about it?

      Here's a hint: DirectX gives you not a single goddamn bit of help in doing this. Not one.

  16. News? by Anonymous Coward · · Score: 0

    !news == olds

  17. libraries by Anonymous Coward · · Score: 5, Insightful

    Everyone going on here about how stupid it is that they used existing libraries mind you that typical compo rules state that it must run on a base install. Nobody here is linking to myuberleetcode.dll or anything. That and think about the freaking sound for a second or better yet try and write a 4k and then come back and talk about how stupid it is

    1. Re:libraries by noidentity · · Score: 1

      You said basically what I was going to say. Unlike the demos of a decade ago, these can use 3D libraries and music playback, so all this is doing is providing some 3D models (most likely algorithmically generated), textures, and some music sequence data (very likely using MIDI instrument sets that are built into the OS, or something similar). The ones from ages ago had their own 3D and music engines built in, outputting finished images to the framebuffer and sound to the playback buffer.

    2. Re:libraries by illm · · Score: 2, Insightful

      Actually, it's using it's own soft synth to generate the sounds along with the textures at startup. This is commonplace in 4K and 64K intros today. After the sounds have been generated, it's just about triggering the notes. If you listen again, you'll notice that the soundtrack doesn't contain that many instrument "hits", or notes if you say. The drums and bass are probably short repeated sequences, triggered by start and stop flags. This is me guessing though. And also, when you have the note sequences, it's no biggie to sync the flashes in the sky to one particular instrument hit.

    3. Re:libraries by adolf · · Score: 1

      Listen to the demo, and then come back and tell me that it's canned MIDI. It's got a bunch of analog synth goodness going on, which simply isn't a function of any stock MIDI synth library (which, as a rule, resemble simple sample-playback machines). And, sure, it loops - but then, so does almost everything else we call "music."

      It's actually very similar to old PC demos in the DOS days. Back in the day, they had a set of hardware with a set of APIs (between MS-DOS and BIOS), and they got to use all of it -- stuff was generally not running on bare metal.

      Nowadays, we have much more intense abstraction of hardware in modern operating systems. So what if they take advantage of it?

      A decade ago (or longer), we had demos using GLIDE under MS-DOS on 3dfx Voodoo cards. Was this cheating? What about all of the ones which used the Yamaha hardware synths on Soundblaster cards, or the sample-playback and DSP functions of GUS and AWE cards? If using APIs is bad, should old DOS demos have restricted themselves from even using VESA SVGA video modes? Should they have used their own file IO routines instead of Microsoft's? If, way back when, MS-DOS included a generalized OpenGL library, should demo authors have been free to use it?

      If a line must be drawn somewhere, then where?

      Myself, I prefer to draw the line at whatever the stock operating system provides. And then, they get to use everything they've got available to them. If "everything" happens to include the whole of DirectX, then so be it.

    4. Re:libraries by noidentity · · Score: 1

      Myself, I prefer to draw the line at whatever the stock operating system provides. And then, they get to use everything they've got available to them. If "everything" happens to include the whole of DirectX, then so be it.

      Sure, it's just that it's not as impressive when the OS provides really rich services. Having your code be able to access only the CPU, RAM, the video framebuffer, and a sample playback buffer, and still do interesting things is more impressive.

    5. Re:libraries by Knos · · Score: 1

      Not really, because then the expectations are lower. It's actually much harder to impress others and compete when you have a lot of things already at your disposal.

      Besides, it's not like you can use much, desktop systems don't come with such useful libraries, or APIs written in the spirit of reducing the amount of setup code required.

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    6. Re:libraries by adolf · · Score: 1

      Having your code be able to access only the CPU, RAM, the video framebuffer, and a sample playback buffer, and still do interesting things is more impressive.

      Meh.

      While you're at it, you might as well bar demo makers from using the Amiga's unique graphics and sound capabilities, too.

  18. KC explored by eddy · · Score: 4, Insightful

    Yes, and that'd be very neat and much much harder than you seem to think. Try it, go looking for that magical random seed that creates a 1MB blob of code that does something impressive. Maybe you should expand your idea to first generate a filtering program that can determine if a code sequence, when run over some data, creates a demo? :-)

    4K demos are sort of an artistic exploration of Kolmogorov complexity.

    Remember also that, if the judges die of old age before your demo appear, you're unlikely to place well in the compo.

    --
    Belief is the currency of delusion.
  19. Roboblitz does this by Bieeanda · · Score: 1

    An indie game titled 'Roboblitz' uses procedural generation to 'unpack' game textures the first time the game is run. It makes the installer smaller, but the unpacking process is still time- and processor-intensive. It saves transmission bandwidth, but doesn't do the end user any other favours.

  20. It's not only about techinical skill by Anonymous Coward · · Score: 2, Insightful

    While i certainly admire the technical skill involved, the demoscene is more than that. It's a form of art.

    Just look at http://www.pouet.net/prod.php?which=31571

    1. Re:It's not only about techinical skill by Brain_Recall · · Score: 1

      Wow, very very slick.. I wish I had mod points to mod you up.

  21. Damn! by Anonymous Coward · · Score: 0

    This pushed me over my Comcast cap!

  22. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 0

    Not only that, so many inexperienced people tend to not realize that many times the source code is many many times greater than the produced binary. Like Linux kernel is, what, 56 meg or so but obviously isn't remotely that large when compiled. I guess they think that "if/then" when compiled must still take up 6 bytes(I-F-T-H-E-N), not including the code branches and tests of course.

  23. No, they wouldn't by Sycraft-fu · · Score: 4, Insightful

    While demos like this are extremely neat, there are also some real limitations to what you can do. This is by no means an all inclusive list but some of the major limitations of making something like this:

    1) All graphics are completely procedural, as in mathematically described. That means you don't get to have an artist sit down and draw them. Puts limits on how they can look and demands a fair bit of self similarity.

    2) You use a MASSIVE amount of memory in relation to your file size. You may have noticed it sits at a black screen for a bit before running. Why? It is doing all its calculations, decompressing in to memory. When running on my system, it took 350MB. Rather than storing lots on disk and streaming as needed, you store little on disk and have to use tons of RAM.

    3) You can't have things like voices and such in the game, takes too much space. Even with extremely efficient compression (which produces audible artifacts) voices will quickly make your game larger.

    4) All assembly coding. To do this, you are writing everything as efficient as you can. That's wonderful, but hard to maintain. For a large project that is going to need to run on a lot of systems, be patched and so on, you want a higher level language. Doing everything in assembly would be a nightmare to maintain.

    I could go on, this is just an example. What it comes down to is that this is neat for demos. I -love- stuff like this, Farbrausch is one of my favourties for this sort of thing. However it is not a realistic exercise for normal applications. You do not want to sacrifice everything just to try and have a small program footprint. On the contrary, if increasing the on disk size makes it better or more efficient, then you want to do that. Disk space is extremely cheap. Better to use more of it than to sacrifice in another area.

    1. Re:No, they wouldn't by rbarreira · · Score: 1

      RAM comsumption isn't bigger than for other games. With more CPU power it should be possible to generate more things on the fly as opposed to precomputing them, reducing RAM comsumption.

      As for voices, I guess we just have to wait for better text-to-voice synthesis algorithms.

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    2. Re:No, they wouldn't by gencha · · Score: 1

      You don't write everything in assembly. A common technique today is write the whole content in a single pixel shader in the shader language that suits you best.
      And even writing intros in C or C++ is very common.

      This doesn't mean I disagree with the notion of your post ;)

    3. Re:No, they wouldn't by Sycraft-fu · · Score: 1

      It is bigger than for something that simple. Sure, Mass Effect uses more RAM... However it does a hell of a lot more.

      Again the real question is WHY. Storage is cheap. 9GB DVDs are less than a dollar a piece produced in quantity. Harddrives cost $0.10/GB and are dropping fast. Storage is just not a big deal. As such, it doesn't make sense to worry overly much about using it. I'm not saying waste space, but don't worry about trying to squeeze everything down to a minuscule size. Why would you want to waste CPU power on generating content when that CPU power could be used for better physics or AI or whatever?

      Like I said, this is neat for a tech demo, but there is no reason to try and pack games down in to tiny sizes. I like all the enriched media that large games bring, and I easily have the HD space to store it.

    4. Re:No, they wouldn't by Korin43 · · Score: 1

      There's no particular reason you can't write it in C or C++. Compilers are pretty efficient these days.

    5. Re:No, they wouldn't by tepples · · Score: 4, Insightful

      All graphics are completely procedural, as in mathematically described. That means you don't get to have an artist sit down and draw them.

      Then give the artist a dataflow diagram, similar to GraphEdit, to build procedures.

      Puts limits on how they can look and demands a fair bit of self similarity.

      Nature is self-similar.

      You use a MASSIVE amount of memory in relation to your file size.

      But it doesn't have to be pushed over the wire or the optical disk, which becomes important as Xbox 360 games begin to run up against the 7 GB/disc limit and PC games begin to run up against monthly download caps.

      You can't have things like voices and such in the game, takes too much space. Even with extremely efficient compression (which produces audible artifacts) voices will quickly make your game larger.

      I forget: how big was the S.A.M. synthesizer on the old 8-bit home micros?

      All assembly coding. To do this, you are writing everything as efficient as you can. That's wonderful, but hard to maintain. For a large project that is going to need to run on a lot of systems, be patched and so on, you want a higher level language. Doing everything in assembly would be a nightmare to maintain.

      Sure, demos aren't intended to be maintained much past the party, but some of the procedural techniques apply just as well to C or Lisp or ML or whatever if you want to trade off some efficiency to gain maintainability.

      On the contrary, if increasing the on disk size makes it better or more efficient, then you want to do that. Disk space is extremely cheap.

      Specifically, there are places where disk space is still a lot cheaper than bandwidth.

    6. Re:No, they wouldn't by Twinbee · · Score: 1

      I think the sacrifice of RAM is an admirable goal, especially with 64 bit around the corner.

      I associate bloatware more with large file sizes, disk thrashing, latency, and general sluggishness, more than something like massive memory hogging.

      --
      Why OpalCalc is the best Windows calc
    7. Re:No, they wouldn't by wildsurf · · Score: 1

      Better to use more of it than to sacrifice in another area.

      But then there's the Hollywood studios that spend years and hundreds of millions of $$$ and multi-teraflop render farms to produce mega-blockbusters that only engage 4,096 of your brain cells. YMMV.

      --
      Weeks of coding saves hours of planning.
    8. Re:No, they wouldn't by Anonymous Coward · · Score: 0

      Why should we look at some 25-year-old piece of code for example of a compact speech synthesizer? The demoscene has also worked on such things on much more recent times.

      For a rather extreme example, see the 2003 demos "Robotic Warrior" and "Robotic Liberation" by PWP for the unexpanded Commodore VIC-20 (video captures can be found on YouTube). As far as I know, the footprint of the music player including the singing voice synth don't take much more than a kilobyte (after all, there aren't very many kilobytes available on that platform anyway)

    9. Re:No, they wouldn't by Mex · · Score: 1

      This is clearly highly optimized for a certain OS, it doesn't work on windows 7. Probably XP?

    10. Re:No, they wouldn't by TCM · · Score: 1

      It looks like someone is confusing demos to mean game demos or somesuch. Demos are supposed to make your jaw drop with four kilobytes, not demonstrate what future games might look like or show you good coding practices.

      Of course they could have had some artist sit down, draw beautiful pictures, integrate voice, write it in a high-level language. But that's completely not the point.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    11. Re:No, they wouldn't by Jesus_666 · · Score: 1

      But it doesn't have to be pushed over the wire or the optical disk, which becomes important as Xbox 360 games begin to run up against the 7 GB/disc limit and PC games begin to run up against monthly download caps.

      And, of course, one can make the content procedural but cache the generated content on disk once it's generated. That way you don't even get the long loading times every time, yet still save bandwidth. If generation time is significantly shorter than download time (not unlikely as generating 300 MiB of data takes only a few minutes vs. hours through what most people have as broadband) people might even see significantly shorter update times.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    12. Re:No, they wouldn't by AmigaHeretic · · Score: 1

      >>You use a MASSIVE amount of memory in relation to your file size. You may have noticed it sits at a black screen for a bit before running. Why? It is doing all its calculations, decompressing in to memory. When running on my system, it took 350MB.

      Honestly not trying to troll, but seriously, how much of that ram and loading time is taken up by the 4K demo and how much is actually DirectX libraries being loaded?

    13. Re:No, they wouldn't by Khyber · · Score: 1

      "3) You can't have things like voices and such in the game, takes too much space. Even with extremely efficient compression (which produces audible artifacts) voices will quickly make your game larger."

      Actually, several of the party demoscene files had their own voice synthesizers built in, weighing in around 5-12k in size.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    14. Re:No, they wouldn't by Khyber · · Score: 1

      No, just the DirectX APIs. Since none of the DX8. features have been phased out that I'm aware of, as long as you have any Windows OS with DX 8.1 or higher it should work just fine.

      Never tested it on Vista. Haven't gotten 7 yet.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    15. Re:No, they wouldn't by Anonymous Coward · · Score: 0

      4) All assembly coding...

      Farbrausch uses 100% C++ for all their productions, as does pretty much every other demogroup. Assembly coding is mostly reserved for GameBoy Advance demos.

    16. Re:No, they wouldn't by rbarreira · · Score: 1

      I could be wrong but one of the things that many-core CPUs can be used for is to generate this type of content on the fly, to decrease storage requirements. Especially on consoles, which usually don't have as much RAM as PCs and where secondary storage is usually slow optical media rather than a HDD like on PCs.

      It's not something that is used today, but it could be in the next few generations.

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    17. Re:No, they wouldn't by BikeHelmet · · Score: 1

      2) You use a MASSIVE amount of memory in relation to your file size. You may have noticed it sits at a black screen for a bit before running. Why? It is doing all its calculations, decompressing in to memory. When running on my system, it took 350MB. Rather than storing lots on disk and streaming as needed, you store little on disk and have to use tons of RAM.

      3) You can't have things like voices and such in the game, takes too much space. Even with extremely efficient compression (which produces audible artifacts) voices will quickly make your game larger.

      4) All assembly coding. To do this, you are writing everything as efficient as you can. That's wonderful, but hard to maintain. For a large project that is going to need to run on a lot of systems, be patched and so on, you want a higher level language. Doing everything in assembly would be a nightmare to maintain.

      Your points aren't really valid. That's the way the tech is currently used, but it doesn't have to be that way.

      Ex: Jpegs are used for photos, but that doesn't restrict them from being game textures.

      Regarding point #2 - the solution is to build the procedural code into the game, and have it save the textures to disk on first run, thereby "installing" it. Voilla. 1MB game unpacks to 900MB, and saves on bandwidth costs.

      Regarding point #3 - Pick an efficient codec like AAC( 3GPP AAC+ ) or ogg vorbis, and you're pretty much set. Quite good quality at low bitrates(~40kbit). It's not perfect, but it certainly cuts the filesize over mp3.

      "Too much space" is relative. If voices bump your game from 1MB to 61MB, then that's fine, because you're still below the 900MB or 9000MB that are common for modern games.

      Regarding point #4 - kkrieger was coded in C. You only need assembly if you want to cut out the executable overhead. If you don't care about having a 4KB exe, and can tolerate a 936KB exe (arbitrary number), then just stick with C and don't bother with all that hand-optimized stuff.

      And again, I'd like to point out that you can mix procedural with non-procedural. Nothing says all textures have to be generated on the fly, and nothing says all textures have to be pre-rendered by artists. Many games already mix procedural with non-procedural. I'm not talking about textures, but rather nav-maps and stuff. Some games require people to sit in an editor and plunk down nav-nodes on the floor. Other games (or editors) figure it out for you. Procedural! This is just taking procedural to the next level, and applying it to everything, which doesn't work if you actually want to make a fun game - but you can still use it in many places to enhance the games or editors.

      I myself am not very artistic. I think I'd do much better creating textures if I could use those kkriger procedural rendering tools.

    18. Re:No, they wouldn't by Ilgaz · · Score: 1

      Installing "directx end user runtime" from Microsoft downloads could do the trick, no guarantees though. I noticed it install some older directx apis. I definitely recommend it except the pirated windows since it is "genuine advantage" thing.

    19. Re:No, they wouldn't by pipatron · · Score: 1

      Compilers are pretty efficient these days.

      Funny, I've heard this the last 20 years. Wonder what "these days" mean, and when it will actually become true.

      --
      c++; /* this makes c bigger but returns the old value */
    20. Re:No, they wouldn't by petermgreen · · Score: 1

      It is bigger than for something that simple. Sure, Mass Effect uses more RAM... However it does a hell of a lot more.

      Again the real question is WHY. Storage is cheap. 9GB DVDs are less than a dollar a piece produced in quantity. Harddrives cost $0.10/GB and are dropping fast. Storage is just not a big deal. As such, it doesn't make sense to worry overly much about using it. I'm not saying waste space, but don't worry about trying to squeeze everything down to a minuscule size. Why would you want to waste CPU power on generating content when that CPU power could be used for better physics or AI or whatever?

      Like I said, this is neat for a tech demo, but there is no reason to try and pack games down in to tiny sizes. I like all the enriched media that large games bring, and I easily have the HD space to store it.

      Like I said, this is neat for a tech demo, but there is no reason to try and pack games down in to tiny sizes.
      Not quite this tiny I agree but that doesn't mean procedural generation is a bad thing.

      The great thing about procedural generation is done right (e.g. on the fly not at loadup time) it should allow you to have massive worlds. Consider a game like GTA but with realisitic sized cities and realistic distances between them. Most of that world could be procedurally generated with just the occasional area overridden to provide locations for the story.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    21. Re:No, they wouldn't by Anonymous Coward · · Score: 0

      You are wrong on two things:

      Farbrausch built a tool their artists use to design the demos/intros and everything in there is procedural. You just have to teach your artists on how to use the tool.

      There's not a single line of assembler in that intro, it's play C/C++. Back in the old days you had no other choice but when you program for the incompatible and obsolete Microsoft system it's not worth it anymore. And no, the demo doesn't touch the hardware directly at all, like some other poster claimed, it uses the proprietary Direct3D API for everything.

      Glass

  24. finally! by Possan · · Score: 1

    finally some more demoscene stories! keep em coming!

    1. Re:finally! by Goaway · · Score: 3, Insightful

      No, don't. Then we'll have to listen to the "THEY JUST USED BUILT-IN DIRECTX FUNCTIONS FOR THIS THEY TOTALLY SUCK" crowd all over again. There's no lack of people around here who don't have a single clue what it takes to do something like that, but will yak on and on about how it is nothing impressive.

    2. Re:finally! by Albert+Sandberg · · Score: 1

      I've been an active coder within the demoscene since 1995 and I don't have a friggin clue how they can get all that content into 4k. That is how hard it is. Amazing stuff. And I even know the people :-)

    3. Re:finally! by Possan · · Score: 1

      couldn't agree more.

    4. Re:finally! by Maxmin · · Score: 1

      But you have no idea yourself how they did it in a standalone 4KB executable, do you? Your comments on this article indicate you're as in the dark as everybody else (e.g. "a secret and hardware-specific way" -woo, technical!)

      I'm no demo joe, but do have some idea what it takes to render 3D in realtime, having written a really basic game engine. A mode-X DOOM engine-alike, with back-traced texture maps (aliased), simplified BSP, all walls and sprites, no atmospherics, yielding decent framerates on early 100MHz Pentiums (no GPU or other libs) -- based in part on ideas lifted from the first Abrash book.

      That effort was mixed C and assembly, and it did not fit into 4KB. IIRC the base .exe was ~56KB after subtracting out for space definitions, graphics and high-level game logic.

      So tell us, how'd they pull it off? Specifics, please.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    5. Re:finally! by slackito · · Score: 1

      So tell us, how'd they pull it off? Specifics, please.

      Well, a full-fledged engine is obviously overkill for a 4K intro. Usually you code the specific effects you want to show directly into the intro, and generate on the fly all the data you can, so you don't store triangles or sound waves, but the parameters for some formula you have coded. And you do this in the most compressor-friendly way you can :D. In4K is a wiki with useful tips and discussions for 4K intro coders.

      You can find lots of information at Iñigo Quilez's (the main coder of Elevated) home page, too.

      His NVscene08 presentation "Rendering worlds with two triangles" is specially relevant here :)

      I'm not a top intro coder, but I've made a few ones myself, so ask if you want more details ;)

    6. Re:finally! by Maxmin · · Score: 1

      Thanks, slackito - see my recant, I stumbed across Quilez's work while answering my question. Consider me both convinced and hooked.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    7. Re:finally! by euxneks · · Score: 1

      No, don't. Then we'll have to listen to the "THEY JUST USED BUILT-IN DIRECTX FUNCTIONS FOR THIS THEY TOTALLY SUCK" crowd all over again. There's no lack of people around here who don't have a single clue what it takes to do something like that, but will yak on and on about how it is nothing impressive.

      This is surprising to me, frankly. I thought this is something that is, at the very least, worthy of praise and interest, especially from a supposedly technologically familiar crowd. How many posers have comments on here claiming they can do better? I mean wtf? Give some credit where credit is most definitely due, or shut up and do better.

      --
      in girum imus nocte et consumimur igni
  25. Interesting, but... by Anonymous Coward · · Score: 0

    It won't run in Wine...

  26. Re:AVG Virus Scan... by ^_^x · · Score: 1

    Hard to say... most demos by Farbrausch will trigger virus scanners due to some of the algorithms they use, but they're actually safe.

  27. Re:I assume the SOURCE fits into 4 kb by myrrdyn · · Score: 1

    By the way, the article says it is 4 KB not 4 kb.

    So? I understood it this way:
    4 KB -> 4 KBytes
    4 kb -> 4 kbits
    (let forget about decimal(1000)/binary(1024) for a moment)
    The GP was saying 4096 bytes... the rest is left as an exercise on obviousness for the reader

    --
    Elen sìla lùmenn' omentielvo
  28. Re:the memory used by one of your PC's deskop icon by Culture20 · · Score: 0, Offtopic

    Too obscure.

    For /.?

  29. I agree by DahGhostfacedFiddlah · · Score: 2, Funny

    I was still impressed, but the demo is heavily dependent on existing libraries. If there were an OpenGL function to draw_glorious_mountainscape_and_fly_around_it_while_playing_majestic_music(), they could have packed this into less than 100 bytes.

  30. Luxury! by argent · · Score: 1

    Elevated is packed down into a 4k package, but it clearly uses many many times that space when it runs. That's practically cheating... a real 4k demo would run in 4k of memory, total, usually including the screen buffer.

    When we did our entry for the BADGE killer demo contest in the '80s (a version of Lunar Lander that ran on the Amiga workbench and required you to land on top of your open windows) I felt we were already pushing the envelope of what was really "fair", since we were getting the "terrain" for free.

    1. Re:Luxury! by Anonymous Coward · · Score: 0

      Ok, and how large was badge? I'm checking pouet and cannot find it. What was the party?

    2. Re:Luxury! by argent · · Score: 1

      Never heard of pouet, and never been to a demo party, but Google brings up the first BADGE killer demo contest. Badge was the Bay Area Amiga Developer's Group (don't ask me about the acronym). Our unimpressive demo was entered in one of the later contests.

      I'm not much of a hardcore demo hacker, but I am a hardcore real-time programmer who started on a machine with less than 512 bytes (that's just plain bytes, not kilo, mega, or giga bytes) of memory. So when I see someone talking about fitting something into 4k, I expect to see something running in 4k. :D

  31. Link by eulernet · · Score: 4, Funny

    Torrent anyone ?

    1. Re:Link by VON-MAN · · Score: 1

      Sorry, no. But I can burn it to DVD if you like.

  32. Nitpick by pgn674 · · Score: 0

    When the precise size matters so much, it would be good for the submitter to use the correct abbreviations. There is no such thing as Kb. A capitol K is never used alone in measuring data amount. 4kb is four kilobits, or 4,000 bits. That's not what the competition's limit is. Neither is it 4kB, which is four kilobytes, or 4,000 bytes, or 32,000 bits. The actual limit is 4KiB, or four kibibytes. That's 4,096 bytes, or 32,768 bits.

    1. Re:Nitpick by Anonymous Coward · · Score: 0

      And a "capitol" is a building. What's your point, nerdlinger?

    2. Re:Nitpick by TCM · · Score: 2, Insightful

      Get off my lawn!

      4K = 4KB = 4096 bytes. Always will be.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    3. Re:Nitpick by schon · · Score: 1

      4K = 4KB = 4096 bytes. Always will be.

      I heard some people complain about it, so much that they invented a "new" SI prefix, the "kibo", which I imagine has something to do with James Parry.

      There's also the "maybe" - as in "maybe it's a byte, maybe it isn't".

      Don't get me started on the "gibby" (which sounds like it should be used to evaluate dismembered body parts in Quake.)

    4. Re:Nitpick by Anonymous Coward · · Score: 0

      That's "capital", not "capitol".

  33. Re:I assume the SOURCE fits into 4 kb by ls671 · · Score: 2, Insightful

    What is wrong today with this burst of people taking others for imbeciles ?

    I did not quote the GP while saying it was 4 KB ! There was some confusion on this thread about 4kb vs 4KB so I just mentioned:

    "By the way, the article says it is 4 KB not 4 kb".

    You need to understand that some people may write comments in a different way that some others do when they try to prove the other poster is stupid.

    To summarize I wrote :

    1) The "executable" is 4KB but it must require much more memory than what is needed to display an icon. I used the term "source" in a video/audio context where there is usually a source involved in order to provide playback. I ain't stupid enough to ignore that the 4 KB must actually be machine code. I ain't stupid enough to ignore that 4*1024=4096 either...

    2) "By the way, the article says it is 4 KB not 4 kb" in order to clarify apparent confusion due to some other posters mentioning 4 kb and also due to the fact that 4 kb was used in the summary posted on /. front page, not to try to prove the GP stupid.

    --
    Everything I write is lies, read between the lines.
  34. Xbox and GameCube hit the brakes by tepples · · Score: 1

    Console gamers develop high expectations as the hardware reaches the end of its lifecycle

    Microsoft and Nintendo virtually stopped developing and approving new software for their older consoles (Xbox and GameCube) once their replacements (Xbox 360 and Wii) hit the market. So I take it you're talking about Sony.

    1. Re:Xbox and GameCube hit the brakes by slim · · Score: 1

      Microsoft and Nintendo virtually stopped developing and approving new software for their older consoles (Xbox and GameCube) once their replacements (Xbox 360 and Wii) hit the market. So I take it you're talking about Sony.

      That would be *past* the end of their lifecycle.

    2. Re:Xbox and GameCube hit the brakes by tepples · · Score: 1

      That would be *past* the end of their lifecycle.

      Which ties in with my point. Near the end of a Microsoft console's lifecycle, attention drifts toward Games for Windows. And at the end of a Nintendo console's lifecycle, attention drifts toward the handheld (Game Boy Advance between N64 and GameCube; Nintendo DS between GameCube and Wii). Only Sony consoles appear to get games that push the hardware in its last year, and that's because Sony overlaps its consoles' lifecycles.

    3. Re:Xbox and GameCube hit the brakes by TSPhoenix · · Score: 1

      Compare a first-party launch title for the GameCube/XBOX to one that came out in the system's final years and I think you'll find they latter look a lot better in general.

  35. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 0

    What is that in Libraries of Congress?

  36. I wish NOT by Anonymous Coward · · Score: 0

    I wish not. They would fit in a floppy and you would need like 256-rack BlueGene cluster to render it! Generated textures are well... generated! It's a CPU intensive task, unlike loading raster from memory. Balancing the load on all resources gives the greatest performance. Demos are NOT balanced obviously, since that's their sole purpose. That's why you can't render complex scenes in demos. The simple demo mountain scene runs at less FPS than a complex, dynamic and beautiful Bioshock scene on my PC for example.
    Besides, generated textures look synthetic. Organics by definition cannot be procedurally generated - to be more precise, thay can, but it would require nearly the same amount of data to describe them as a raster would. You can't describe complex things with few data, that's why their called complex after all.
    And if the Universe could be described in equations, then rendering today's state of it or any part of it would require 14 billion years given all computational resources of the Universe... if you get what i mean. Still i can enjoy the picture of my girlfriend without making her body up from all the genetic and environmental data i don't have.

  37. 3G by tepples · · Score: 1

    It saves transmission bandwidth, but doesn't do the end user any other favours.

    Not everybody has the opportunity to live somewhere that can get cable or DSL. So a lot of people upgrade from dial-up to satellite or 3G Internet. These plans usually have burst performance not much better than ISDN and a 5 GB/mo transfer cap, which works out to a 14.4 kbps sustained throughput, for $60 per month plus equipment costs plus prohibitive overage fees. For them, saving transmission bandwidth becomes much more important.

  38. Symantec Antivirus says it's a trojan by kriston · · Score: 0, Redundant

    Symantec Antivirus says it's a trojan.
    Doesn't say which one, just that it is.

    --

    Kriston

    1. Re:Symantec Antivirus says it's a trojan by Sycraft-fu · · Score: 1

      I imagine their EXE packing is what is setting it off. NOD32 had a real long hard look at it before it let it be copied to the desktop, longer than I've seen for much larger programs. I guess it had to see what was in it before it made a decision. It gave ti a clean bill of health.

  39. Just FYi by hairyfeet · · Score: 1

    Don't know if it is a false positive or not, but Comodo screams about "Win32.Garbage.xxxxx" malware when the file landed in my download folder. I prefer to remain paranoid rather than risk this thing being a nasty, so those that are likewise paranoid might just want to watch the video instead of running the .exe. Just FYI.

    --
    ACs don't waste your time replying, your posts are never seen by me.
    1. Re:Just FYi by Jesus_666 · · Score: 1

      Virus scanners occasionally scream about legit demos. Small demos use clever techniques to shrink their storage footprint. Viruses do the same thing. The scanner detects a packed exe and sounds the alarm. It's true that the demo exhibits viruslike behavior - but that behavior is simply unpacking itself.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    2. Re:Just FYi by gencha · · Score: 1

      People who distribute malware like to use the executable compressors which were developed for intros as this hides their code.
      Thus AV programs just blacklist the signatures for these compressors.

  40. Most likely not a Trojan... by Anonymous Coward · · Score: 0

    Feeling nostalgic of the "good ol' demo era" with those really awesome demos that I watched again and again back in my DOS gaming days, I visited the links to d/l a few of these 4k demos. Wow! 4k: That's elegant programming! Then McAffee reported some trojan strings. Everything is probably clean but... (constructive comment here!) I wish the coders had scanned their stuff...! Again: everything is most likely clean but I am part of the legions of fans out there who are non-experts and who must rely on an anti-virus. The reputation of these truly extremely cool coding accomplishments shouldn't get tarnished over this kind of oversight. I can't risk it. I will be forced to look at the demos on an old expendable crap PC. I wish I could have used my current PC with cutting-edge graphics! :)

    1. Re:Most likely not a Trojan... by Knos · · Score: 1

      A/V scanners are just too fucking stupid to see past the fact the executable has been compressed.

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    2. Re:Most likely not a Trojan... by Shoe+Puppet · · Score: 1

      I prefer a false positive on a packed exe to an undetected packed virus.

      --
      (+1, Disagree)
    3. Re:Most likely not a Trojan... by Knos · · Score: 1

      And how many genuine threats have you detected using an A/V scanner?

      The tipping point for me that made me uninstall all virus scanners was when I realized that:
      1- I had no way to let it understand my own code was not hostile.
      2- They fail to detect in time some of the most dangerous threats nowadays, such as password sniffing rootkits.

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
  41. I remember when by KingPin27 · · Score: 1

    I used to wait anxiously each year for the demoscene to release it's winners and top demos. I would hit the ftp.cdrom.com archives (where they tended to dump everything in the day) and download all the demos on my 9600 baud modem.

    The 4k demos and the much larger DEMOS were amazing -- it was cool to see what people could do with a bit of assembly language or C
    There was a small clique of us (in jr high) that would get together and try run them on the latest 486 setups and be in awe of the likes of Future Crew (Props Skaven and Purple Motion). //end reminiscing

    --
    "i lost my dignity on a slippery wiener"
  42. Has already been done in 1K by Anonymous Coward · · Score: 0

    http://www.pouet.net/prod.php?which=50688

    By the same author a year ago, so no news there. Do you think the improvements are really worth the extra 3K?

  43. It's lots of work to do something like this. by tp_xyzzy · · Score: 1

    Even if the size is only 4kb, it takes lots of work to write those things. The reason is that 4kb is LOTS of space. And if you're using just small primitives, you can fit LOTS of primitives to that space. Choosing correct primitives for that is LOTS OF WORK. Making it look great requires testing after testing, and knowing algorithms for graphics.

    In competitions they have restricted the size to 4kb just to keep it suitable for one person. It probably takes one year to write one of those. The size limitations are not there to annoy programmers, they are there to keep the amount of work reasonable. If the size was bigger you'd have to use 10 years to write one or use 10 people working for a year...

  44. Re:I assume the SOURCE fits into 4 kb by Jesus_666 · · Score: 1

    In fact, a "4 kilobytes of memory" restriction would be fairly pointless on modern systems as that would mean that even without using any RAM the demo could never run on a resolution bigger than 72x54x8 (VRAM is memory too, you know?) - assuming that the GPU natively does eight-bit graphics, otherwise you get about 36x27x16. Adding in actual RAM requirements, OS process overhead etc. and we end with demos that give you about... 12x9x16. If you're lucky.

    "4 kilobytes of storage" is hard enough to pull off and actually allows for resolutions greater than QCGA.

    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  45. Re:I assume the SOURCE fits into 4 kb by Rostasan · · Score: 1

    Am I the only one that got virus alerts from downloading from RGBA?

  46. Divx SUCKS! by Anonymous Coward · · Score: 0

    Somebody tell these people that AVI's and Divx are dinosaurs and should never ever EVER be used again.

  47. Re:I assume the SOURCE fits into 4 kb by Handlarn · · Score: 1

    Maybe you just shouldn't use a word like "source" to mean "executable" when you're talking about software. It's just bound to create confusion.

    On a side note, kilobyte is abbreviated kB, not KB or kb.

  48. Explanations by Anonymous Coward · · Score: 1, Informative

    Hi guys. I'm one of the programmers behind Elevated, Iñigo Quilez. I was responsible for the programing of the visuals. Christian RÃnde made the music and Rune Stubbe made the synthetizer and music player.

    Apparently some people cannot believe this, but I will say it myself so there is no more useless speculation going on: this is a 4096 bytes executable demo. Not 4096 of source code. ItÂs a 4096 bytes executable (actually, a few less bytes), x86 binary, with plays a realtime animation and music demonstration without using any external data file. It uses a few d3d functions to generate a rectangle, to compile a hlsl shader and to set a projection matrix. That's it. I have read some people claiming there is "3d engines" built in in directx; I must presume those were assertions coming from people who actually know little about computer graphics today. Also, obviously, Microsoft didn't make any RenderCool( D3DX_MOUNTAINS, D3DX_PLEASE ) function in any of their APIs nor LoadTerabytesOfTextures( D3DX_ROCK_AND_SNOW, D3DX_FROM_HIDDEN_SYSTEM_FOLDER );

    The demo doesn't use any external library for sound or whatever. The demo could be recompiled in OpenGL/Linux very easily (it was Opengl in fact, just ported to DX in the last minute), and be something around 4300 bytes. We went for DX to fit in 4096 bytes to complain with the competition rules of Breakpoint, the party where we presented Elevated.

    Regarding the music, the demo not only encodes the music track, but also implements the instrument synthesis and track playback. The complete sound system takes about 900 of the 4096 bytes, it's mainly FPU code. To see how this is possible, you can have a look for now to sound synthesis and DSP.

    The "textures" are infinite, just as the terrain itself. You can travel as far as you want on the terrain, this never ends, and same for textures. The rock, vegetation, snow, texturing takes about 100 bytes, although it uses some Perlin noise functions that take about 350 bytes. So in essence, we encoded mega, tera, peta and hexabytes of texture in few hundred bytes. The prize, of course, is that they are just too fractalish. But it made the job. Cameras are based on simple sinus and cosinus functions, the playback code is 150 bytes or so, and the camera data itself is exactly 4 bytes for each shot (a 16 bit random seed to feed the sin/cos functions with random frequencies and phases), a velocity and a FOV value. The rest of the sequencing data and playback code (to fade in, fade out, summer/winter transitions, brightness/contrast and color correction parameters) are around 400 bytes. The rendering is done in a "deferred" way, for those who know about computer graphics a little bit, which means the zbuffer if filled first and then a full-screen rectangle is drawn with a shader invocation. This shader computes the surface normals, does the texturing (lakes and sky included) and then does some tonemaping and motion blur. The shader is huge, around 1500 bytes. Another 800 bytes are used for basic operations as opening a window, initializing the rendering surface, sending the synthetized sound to the sound card, implementing the rendering loop and listening for the ESC keypress.

    All this code is written in assembler (nasm), for those who were saying we donÂt know what hardware means. We spoke to the machine in this demo, as much as you can do in a modern OS at least from user code. The C version of the demo (which we used during development and debugging) is close to the 4200 bytes. The demo is also selfcompressed, and in fact the first thing the demo does at runtime is to allocate some memory (350 megas), self decompress there, and ask windows to run from that memory location. The uncompressed demo as it comes from visual studio (cl+nasm) is 7 kilobytes if I remember well.

    Making a full selfcontained 4 minutes audiovisual piece like this is possible if you know computers, progaming, maths, rendering technologies, you apply a bit of imagination, and you are lucky to be the first to do it

    1. Re:Explanations by giuda · · Score: 1

      I'm impressed

    2. Re:Explanations by Anonymous Coward · · Score: 0

      Please! Sacad la versiÃn Linux!

    3. Re:Explanations by Anonymous Coward · · Score: 0

      First of all: massive kudos for that production! It rocks. You guys did a great job.
      You should not give a f**k what those lamers say. They know nothing. I like your "RenderCool( D3DX_MOUNTAINS, D3DX_PLEASE )" statement. :D

      And thanks for sharing some details about the implementation. I'm looking forward to some more details.

      Rene Schulte - http://rene-schulte.info/

  49. Its easy to do with quantum computers by Draek · · Score: 2, Funny

    Try it, go looking for that magical random seed that creates a 1MB blob of code that does something impressive. Maybe you should expand your idea to first generate a filtering program that can determine if a code sequence, when run over some data, creates a demo? :-)

    Its actually much easier than that with quantum computing. All you need are some trivial modifications to the Quantum Bogosort algorithm and some way to let the program know whether it has won the contest or not.

    --
    No problem is insoluble in all conceivable circumstances.
  50. Purple Motion? by QJimbo · · Score: 1

    Awesome tracker artist right there, I love Satellite One.

  51. Explanations by Anonymous Coward · · Score: 5, Informative

    Hi guys. I'm one of the programmers behind Elevated, Inigo Quilez. I was responsible for the programing of the visuals. Christian Ronde made the music and Rune Stubbe made the synthetizer and music player.

    Apparently some people cannot believe this, but I will say it myself so there is no more useless speculation going on: this is a 4096 bytes executable demo. Not 4096 of source code. ItÂs a 4096 bytes executable (actually, a few less bytes), x86 binary, with plays a realtime animation and music demonstration without using any external data file. It uses a few d3d functions to generate a rectangle, to compile a hlsl shader and to set a projection matrix. That's it. I have read some people claiming there is "3d engines" built in in directx; I must presume those were assertions coming from people who actually know little about computer graphics today. Also, obviously, Microsoft didn't make any RenderCool( D3DX_MOUNTAINS, D3DX_PLEASE ) function in any of their APIs nor LoadTerabytesOfTextures( D3DX_ROCK_AND_SNOW, D3DX_FROM_HIDDEN_SYSTEM_FOLDER );

    The demo doesn't use any external library for sound or whatever. The demo could be recompiled in OpenGL/Linux very easily (it was Opengl in fact, just ported to DX in the last minute), and be something around 4300 bytes. We went for DX to fit in 4096 bytes to complain with the competition rules of Breakpoint, the party where we presented Elevated.

    Regarding the music, the demo not only encodes the music track, but also implements the instrument synthesis and track playback. The complete sound system takes about 900 of the 4096 bytes, it's mainly FPU code. To see how this is possible, you can have a look for now to sound synthesis and DSP.

    The "textures" are infinite, just as the terrain itself. You can travel as far as you want on the terrain, this never ends, and same for textures. The rock, vegetation, snow, texturing takes about 100 bytes, although it uses some Perlin noise functions that take about 350 bytes. So in essence, we encoded mega, tera, peta and hexabytes of texture in few hundred bytes. The prize, of course, is that they are just too fractalish. But it made the job. Cameras are based on simple sinus and cosinus functions, the playback code is 150 bytes or so, and the camera data itself is exactly 4 bytes for each shot (a 16 bit random seed to feed the sin/cos functions with random frequencies and phases), a velocity and a FOV value. The rest of the sequencing data and playback code (to fade in, fade out, summer/winter transitions, brightness/contrast and color correction parameters) are around 400 bytes. The rendering is done in a "deferred" way, for those who know about computer graphics a little bit, which means the zbuffer if filled first and then a full-screen rectangle is drawn with a shader invocation. This shader computes the surface normals, does the texturing (lakes and sky included) and then does some tonemaping and motion blur. The shader is huge, around 1500 bytes. Another 800 bytes are used for basic operations as opening a window, initializing the rendering surface, sending the synthetized sound to the sound card, implementing the rendering loop and listening for the ESC keypress.

    All this code is written in assembler (nasm), for those who were saying we donÂt know what hardware means. We spoke to the machine in this demo, as much as you can do in a modern OS at least from user code. The C version of the demo (which we used during development and debugging) is close to the 4200 bytes. The demo is also selfcompressed, and in fact the first thing the demo does at runtime is to allocate some memory (350 megas), self decompress there, and ask windows to run from that memory location. The uncompressed demo as it comes from visual studio (cl+nasm) is 7 kilobytes if I remember well.

    Making a full selfcontained 4 minutes audiovisual piece like this is possible if you know computers, progaming, maths, rendering technologies, you apply a bit of imagination, and you are lucky to be the first to do it. So, those who

  52. Re:Not 4k! by Anonymous Coward · · Score: 0

    You don't know shit about shit, you talentless little fuck. You don't have a fucking clue how to make something like this. Every single word you just said is complete and utter bullshit.

  53. Colour me unimpressed by msobkow · · Score: 1

    Crash. Tinkle. Boom.

    The executable that wouldn't execute.

    --
    I do not fail; I succeed at finding out what does not work.
  54. MODS wake up by Ilgaz · · Score: 1

    That is actually one of the application`s developers who explains what actually goes on and talks about a Linux version.

    While I hate doing it, MOD PARENT UP!

    (it has been 3-4 hours since that comment posted)

  55. Re:AVG Virus Scan... by Ilgaz · · Score: 1

    Promise not to laugh at people who uses commercial antivirus for actual security, OK? Also look up for the term "false positive".

    A good antivirus would -of course- suspect a 4KB packed executable but it would first unpack it in memory, run heuristics and scan for common symbols, if not really sure, actually execute it in a locked down virtual machine watching its actions and finally, execute it perhaps flagging it as "suspicious". These happens just when you click an application in matter of miliseconds.

    AVG since the beginning is a false positive monster.

  56. DirectX is really powerful it seems by Ilgaz · · Score: 1

    I browsed scene.org a lot for Amiga demos but when I saw the x86/Windows demos requirements, I just said "DirectX is the true power of Microsoft on Desktop." The developers you see at scene.org aren`t your usual "Wizard" type people, if they use DirectX, they must have a real good reason. If Apple wants to become serious on gaming, they should speak with these people about the reasons about choosing directx and what could possibly replace it. I don`t say they should give up excellent OpenGL support. They should find a way to merge all those open technologies in some way. For example, they can ask them "Why don`t/wouldn`t you use SDL?"

    Of course, one of the developers posting as AC (and scored 0, should be modded up) says they can code an OpenGL version for Linux if there is enough demand for it. See the last line of his comment: http://slashdot.org/comments.pl?sid=1308661&cid=28763745

  57. Re:I assume the SOURCE fits into 4 kb by fractoid · · Score: 2, Interesting

    I'd presume that there's a fair bit of self-modifying code in there, even if you don't count the almost-mandatory executable packer. Self-modifying code often gives virus scanners a woody. Or the willies, whichever. ;)

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  58. Re:I assume the SOURCE fits into 4 kb by ls671 · · Score: 1

    > Maybe you just shouldn't use a word like "source" to mean
    > "executable" when you're talking about software. It's just bound > to create confusion.

    I have learned this by now, this now seems obvious ;-)))

    --
    Everything I write is lies, read between the lines.
  59. Anonymous by Anonymous Coward · · Score: 0

    I have an idea that'll solve everything.

    Have every demo to be submitted as a VMWare image, you load the image and that renders everything. Pure stand-alone x86. Then you guys can argue about how it uses VMWare's internal drivers.

  60. Re:I assume the SOURCE fits into 4 kb by petermgreen · · Score: 1

    Like Linux kernel is, what, 56 meg or so but obviously isn't remotely that large when compiled.
    The kernel itself is pretty small but that is simply because the majority of the kernel source code is typically built as modules.

    Taking the kernel in debian squeeze as an example the kernel binary package (686 variant) is about 20 megabytes compressed and about 60 installed. The kernel source is about 70 megabytes (of which about 60 are upstream and the remainder debian specific stuff)) compressed and about 350 megabytes extracted.

    So your general point stands but your actual figures are somewhat off.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  61. Of course they can overwrite the OS! by kyz · · Score: 1

    C64 demos can overwrite the OS by writing to addresses $E000-$FFFF (writethrough), then setting bit 1 of byte $0001 to 0, which flips that address range from pointing to the ROM chip to pointing to newly filled RAM chips.

    --
    Does my bum look big in this?
  62. Well.. by inf0rmer · · Score: 0

    All our base belong to you.. This is truly awesome..

  63. Re:Not 4k! by omnichad · · Score: 1

    Which would you rather have? A demo that runs on one computer configuration, and you have to buy the hardware just to see it? And by the way, I'm pretty sure if you're going to render something in 3D, your pseudocode needs a Z-axis.

  64. Re:I assume the SOURCE fits into 4 kb by ehrichweiss · · Score: 1

    Actually you have a helluva point, though you may not have caught it. I forgot that I was looking at the .tar.gz version of the kernel so the source code is much larger uncompressed. And yes, I'm aware my figures were off..I don't worry about specifics like that unless I'm actually coding.

    --
    0x09F911029D74E35BD84156C5635688C0
  65. Re:I assume the SOURCE fits into 4 kb by Anonymous Coward · · Score: 0

    56 megs compressed. ~400 uncomp and 600 compiled

  66. Wow by xmvince · · Score: 1

    This stuff is truly amazing. Now if only we could get these geniuses to help fix our energy crisis..

  67. Music by StreetStealth · · Score: 1

    I've always assumed soundtracks like the one in Elevated are done in a tracker -- but I'm guessing the tracker file has to be hugely modified or perhaps even just used as a guide to hardcode the note data for something like this. How do you guys work together for that?

    By the way: Elevated's music is magnificent. Does Christian Ronde have any albums out?

    --
    Your mind is clear / The things that you fear / Will fade with how much you / Believe what you hear
    1. Re:Music by Anonymous Coward · · Score: 1, Informative

      Music for productions like this could be done in a tracker or some other sequenzer. Instead of using samples (classic tracker-style) you simply "record" note on/offs and store it in a map or something. Then - when replayed - the instrument and note-data is sent to the software synthesizer triggering notes, creating the sound you hear.

      As far as I know, the synthesizer by Rune, that Christian used, features a homemade sequencer to use when composing the tunes. The sequencer is quite similar to trackers like ProTracker, Milkytracker or Renoise.

      To my best knowledge, Christian has not released any albums, but I'm sure you'll be able to find quite a few of his tunes on http://www.scenemusic.eu by going to the artists-section and browsing to "Puryx". There's no download-link, but you can request it be played on the live-stream. The site features the music from both Elevated, Atrium and Receptor - all 4k productions to which he created music!

  68. Re:AVG Virus Scan... by Qybix · · Score: 1

    Flamebait?!?

    Go do bad things to a goat!

    I don't run windows as my main os, so I'm not always up-to-date on windows issues.

    But seriously! Every file matches a virus or spyware tool and I should ignore this and run these programs anyways? I don't think so.

    And all I was saying here is that it was a wee bit odd. That's all. I said "Check you computers", if nothing showed up you could always just reply with "yes, it's a false positive". Not flame my e-mail.

    People.... Some of your really (insert word describing the behavior of a vacuum)...

    Qybix

    --
    Qybix ----- I do not have a belief system; I'm an Anti-theist and proud of it! Saying that not believing in anything i
  69. Re:AVG Virus Scan... by Qybix · · Score: 1

    Thank you.

    That's all you had to say.

    I just get a little paranoid when it comes to my windows virtual machine. It's just not as robust as my main Apple and Red Hat machines.

    Qybix

    --
    Qybix ----- I do not have a belief system; I'm an Anti-theist and proud of it! Saying that not believing in anything i
  70. Trojan by Anonymous Coward · · Score: 0

    Very interesting that Symantec says the download for this is a Trojan.

  71. Check it out on youtube instead by Anonymous Coward · · Score: 0

    nt