10 ms·
This is great to hear. Demoscene is one of the most influential things I have came across my entire life, and changed how I code forever. I remember watching F
by bayindirh 3y ago
This is great to hear. Demoscene is one of the most influential things I have came across my entire life, and changed how I code forever.
I remember watching Farbrausch's "fr-08 .the .produkt" [0] when it came out and telling myself "If a computer can do this with 64KB of data, at this speed, my programs should be able to do the same, or at least shall be close". I was forever poisoned at this point, and this simple sentence shaped my whole academic life and career.
[0]: https://www.pouet.net/prod.php?which=1221 https://www.pouet.net/prod.php?which=1221
P.S.: Rewatching it, again, for the nth time. Hats off to chaos, fiver2, kb, doj, ryg & yoda.
P.P.S: I show people YouTube version of Elevated (https://www.pouet.net/prod.php?which=52938 https://www.pouet.net/prod.php?which=52938), and ask them to guess the binary size rendering this thing in real time. The answer blows everyone's mind, every time.
- exitb 3y agoThat thumbnail for Elevated is an order of magnitude bigger than the demo.
- scoot 3y agoThe YouTube video in question: https://youtu.be/eGdUDGo2Gxw https://youtu.be/eGdUDGo2Gxw The title says 4kb, but I assume it's 4KB, which is impressive but not mind blowing for a procedurally generated landscape.
- bayindirh 3y agoConsidering you have the music, lighting, texture changes and everything else, it's still indeed impressive for a procedurally generated landscape. It might not be the most impressive demo tech-wise, but it's one of the best executed ones, and it matters. Also it's the second most loved prod in pouet.net, which means something.
- squeaky-clean 3y agoWhen I download it, it's indeed 4KB not 4kb. I still think it's really impressive for the entire demo though. It's not just a procedurally generated landscape, it's the camera and scene changes, it's the lighting, the spotlights and music.
- pavlov 3y agoSince you're a stickler for capitalization, do note that the SI prefix for kilo is a lowercase "k". And if you're talking about 2^10, the recommended prefix is "Ki". So it's either 4kB (4000 bytes) or 4KiB (4096 bytes).
- jazzyjackson 3y agoI think some people use kb for kilobits and KB for kilobytes, which is maybe a bad convention, taken from kb/s why throughput is bits and storage is bytes I might never understand, probably has something to do with baud
- mdp2021 3y ago> If a computer can do this with 64KB of data If you like that kind of "compression", I hope you know Linus "lft" Åkesson's "A Mind Is Born": 256 bytes. https://linusakesson.net/scene/a-mind-is-born/ https://linusakesson.net/scene/a-mind-is-born/
- noduerme 3y ago"compression" is sort of a weird way of describing it, though, when the primary goal is to make something extremely small (not to take something extant and compress it). Not a knock on demos at all! (the originals handed around on floppy disks also inspired me to become a coder in the early 90s). Just saying that it's different to try to make the most amazing thing you can in a wide open 4k than it is to start with something 16k and try to reduce it.
- mdp2021 3y ago> a weird way of describing it Hence the bunny quotes. Not really «mak[ing] something extremely small», the idea is to pack as much wonder value as achievable in as as little resources as possible. You can use 'compress', as long as the need to interpret as needed is held - the term is legitimate for the idea of e.g. "pressing together" what would normally be the content of a wardrobe in a suitcase.
- DonHopkins 3y agoWill Wright Discusses the Demoscene: https://www.youtube.com/watch?v=m7iuFVmTJus https://www.youtube.com/watch?v=m7iuFVmTJus >You can take any piece of content in the game, and imagine an algorithmic solution to it. Or also, you know, a way that the player could customize that object of thing. >There's this group in Europe called the Demoscene that make these very elaborate demos for a computer that fit into very tiny little memory blocks, you know like 64K of memory, and you run the thing, and in fact it algorithmically generates about 100 megabytes worth of data, you know these rich 3D environment, generated music, generated wave files, generated animation. >And they're developing techniques to generate, you know, huge amounts of interesting data, with very very simple, elegant, compression algorithms. >And this is a skill that game developers used to have, back in the 8-bit days. That was the only ways to do a game like Karateka(?), was to find all these little tips and tricks to compress things and generate them algorithmically. >But since the CD-ROM came out, and very cheap hard drives, storage is cheap, so basically we've lost that skill set, and now we attack all those problems with brute force. I think we've lost something by dropping that skill set. The Future of Content — Will Wright’s Spore Demo at GDC 3/11/2005: What I learned about content from the Sims. …and why it’s driven me to procedural methods. …And what I now plan to do with them. Talk by Will Wright, Game Developers Conference, 3/11/2005. https://donhopkins.medium.com/the-future-of-content-will-wrights-spore-demo-at-gdc-3-11-2005-9eab0cedc583 https://donhopkins.medium.com/the-future-of-content-will-wri... >Algorithmic compression. >Games consist of a mix of code and data. Computers use code to compress data. The ratio of code to data has changed over time. >Games used to be mostly code and very little content, so compression was important. >CDROM is the medium that was the death knell for the algorithm. >Myst was a very elaborate and beautiful slide show, with a vast amount of data. It looked like they had a great time building this world. Building the world is a fun game in itself. >At the other end of the spectrum from CDROMs: The Demo Scene. Algorithmic compression of graphics and music. Will Wright GDC 2005 Spore (The Future of Content) Remastered: 6:18 https://youtu.be/ofA6YWVTURU?t=378 https://youtu.be/ofA6YWVTURU?t=378
- Gordonjcp 3y agoIt's old and it still blows me away. I've seen movie CG that looks way way shittier, that's ten years newer.
- davrosthedalek 3y agoFor me, it was Second Reality from FutureCrew. Highly recommend it. Great soundtrack, awesome scenes for the time.
- 29athrowaway 3y agoThe pre-GPU era and retro computer competitions like Amiga has many jewels. The GPU powered demos are impressive in a different way.
- anonzzzies 3y agoRSI Megademo. Lovely.
- dicroce 3y agoSecond Reality by Future Crew, Timeless by Tran, so many good ones from this era.
- qingcharles 3y agoSecond Reality will always be peak demoscene for me.
- Cthulhu_ 3y agoThat one seemed really widely distributed, iirc we got our copy off of a CD from a computer magazine at the time. Really cool, and it ran on most people's PCs. I wouldn't be surprised if that was the first time seeing 3D rendering on PC, after Wolfenstein anyway. Actually, Wolfenstein was 1992, Second Reality was 1993; Wolfenstein had just the 3d-looking environments, Second Reality had 3D models / polygons and the like.
- qbasic_forever 3y agoNot just the 3D but the other effects were pretty impressive too with second reality. It looked like an Amiga demo but ran on a plain old VGA graphics hardware which didn't have any of the dedicated graphics effects (sprites, zooming, color bars, etc.) that Amiga machines were capable of creating in hardware.
- dharmab 3y agoI often repeat to myself "Chrono Trigger fit into 8M. Chrono Trigger is a better piece of software than anything I have ever made. Why should my code need any more?"
- aquova 3y agoYou may need to cut back, Chrono Trigger was a 4M game, your code needs to fit in half the space that you thought :p
- HeavyStorm 3y agofr-08 sits in a prized place in my storage for two decades. It's one of the most incredible demos ever.
- londons_explore 3y agoPut that 64kb exe file into a zip file, and it becomes 62 kilobytes... Clearly there was a little more space they could have eeked out!
- rideontime 3y agoJust enough space to fit some zip-decompression code? (I have no idea how much space that would actually take tbh)
- Warputin 3y agoYeah I think that’s the reason it didn’t happen ;) not saying it’s impossible to make in less than 2kb, but it would have to be around 1kb to make it really worthwhile, so they could squeeze in more content.
- londons_explore 3y agoThey already have a compressor/packer - so this 2kb represents space 'left on the table' by that packer (either due to the algorithm being bad, or the packer's decompressor being big). Considering ZIP normally uses deflate, which is LZ77 + huffman. LZ77 is super simple and can be implemented in ~30 bytes of code. Huffman tables are fairly simple, but I can't easily visualize some assembly instructions to implement them, however arithmetic coding in all cases exceeds huffman's performance, and can be implemented in about 60 bytes of code. Total = 90 bytes to save 2 kilobytes. Seems worth it. Note that both these decompressors will be awfully slow, but for just 64 kilobytes of input data I don't think that'll be an issue.
- tensor 3y agoIt was also hugely influential to me. I think seeing what is possible with extreme achievements like this can really be motivating. It's probably what spurred me to learn C and assembly during high school.
- dasl 3y agoelevated youtube link : https://www.youtube.com/watch?v=jB0vBmiTr6o https://www.youtube.com/watch?v=jB0vBmiTr6o
- bitwize 3y agoEven John Carmack these days says the goal of a programmer is to deliver value, not write the tightest leanest code possible. If the fastest, cheapest way to deliver value is with Electron, you fucking use Electron. Demoscene stuff is fun, and cool, but it's a hobby. It doesn't reflect how software is developed and deployed in the real world.
- bayindirh 3y agoYou might be holding my comments wrong. You're right, when developing a product, the goal is to deliver the product and value, however a programmer who likes their job doesn't develop products all the time, they also improve themselves. What I found is, studying "The Machine" and its details, and trying to write exceptional code, improves the "daily, mundane" code, too. Because you know what to do, and how to do it better. In other words, if Demoscene is F1 racing, and you have the chops to design vehicles which can compete there, the technology you develop trickles down to your road-going designs, and improve them, too. While I was writing my Ph.D. code, knowing the peculiarities of the machine allowed me to write very efficient and fast code in the first go, and the code can saturate the machine it's running on extremely well. To put in context, I was able to evaluate 1.7 million adaptive Gaussian integrations per second, per (3rd generation Intel i7) core. That code scales almost linearly until memory controller chokes because of the traffic (incidentally this happens after I saturate all the cores). This code has no special optimizations. A single, naive, multithreaded implementation which I spent half a day designing it, that's all. There are all kinds of optimizations I can do to speed this a bit further, but since it's fast enough, I didn't bother. At the end of the day, I'm an HPC sysadmin and developer. I inhale hardware and exhale performance. While there's a value to be delivered, it's extreme speed in my case. Because that speed saves days in research time, not milliseconds.
- mdp2021 3y agoThe triad is "cheap, good and fast" - and the motto is "choose two".
- DirkH 3y agoI think "good" might better be replaced with "useful"