Finland adds the demoscene as a UNESCO intangible world cultural heritage
demoscene-the-art-of-coding.net
demoscene-the-art-of-coding.net
It's a big source of innovation, an amazing social activity, and has quietly just done things for years that were thought to not be possible, or to be very very hard. It definitely has it's own culture, way of doing things, ideas, ethos, philosophy, and most importantly, is constantly evolving. It's amazingly aware of what's to come as well as effortlessly incorporating its own heritage.
Believe it or not it's around half a century old and going strong!
Hope that helps clear up the misunderstanding between yourself and previous poster :-)
Sadly I no longer own genuine hardware. Maybe I'll buy C64 and Amiga once again one day...
For other demo parties, smaller demo parties there is no gaming and the experience is exactly the same as it was back in the early 90s.
I was one year too late to be there, but saw it at the next Assembly when someone I met there was in disbelief upon hearing that I hadn't seen it and insisted he show it to me immediately.
I found the demo here if anyone is interested: https://youtu.be/rFv7mHTf0nA
I'm super happy it has got recognition.
Great community!
My bible was "PC Intern: System Programming : The Encyclopedia of DOS Programming Know How", as I happened to be the only one in the gang with a PC.
that's enthusiasticly true, it is somewhat big and it is the source of some innovation, maybe. But it isn't a research center by any measure.
People working in research might contribute, and that's nearly always awesome when it happens. But the roots of the demoscene are slightly more humble, between game producers, the cracking scene, teenage engineers and bed room musicians, the scene remained rather conservative. Oh I like to ramble, like the lamer that I am. I don't even know what the scene!? The scene is dead!!1
Also, "intangible" by definition means it never produced tangible results ;)
Finnish Demoscene is the origin of the current Finnish game industry with lots of world class studios (Remedy, Supercell, Rovio, etc etc) . If that's not innovative enough I don't know what is.
So much talent in the Finish scene and they were so good at advertizing their accomplishments in a way that was energizing to fellow nerds.
It was the biggest reason I ended up getting so deep into computer graphics -- I wanted to be as "cool" as they were. How else could you be "cool" by sitting at your computer BBS chatting all night doing math and algorithms? Such an awesome time.
I know that mrdoob of three.js also got into coding via the demoscene.
(My old 1990's era demo scene stuff: https://benhouston3d.com/#High_School-Era_and_Earlier_Projec... https://hornet.scene.org/cgi-bin/scene-search.cgi?search=Azu... )
Never did get around to making my own demo, but I owe finding my career path early in life to the demoscene. So many fond memories (esp early 90s through 00s).
I have and will spend countless hours coding to demoscene music (good and bad). To me, the unique thing somewhat lost in my avg day to day development life is that this is a fundamentally self driven challenge that can cross many CS disciplines combined with the art of practice. A demo pushes one in many directions at once: art, math, graphics, data structures, optimization, mechanical sympathy, sound, etc. (There's a reason there is a lot of game dev <-> scene crossover.). You can work in isolation, or as a group. However, a group is more common since most people can't do it all.
Digression aside -- Could we use the demoscene as a gateway for future engineers? A STEM + demo style toolkit?
As for your question: coding used to be really viewed as a creative activity, akin to any other art form. Now it's just data plumbing and CRUD apps. For the people who really still view coding as an art, the demoscene can absolutely be a gateway.
I think the most important thing being in the scene taught me was how to do teamwork on a complex technical project with vague and ambiguous requirements. I didn't encounter another environment like that until maybe grad school and professional development work. It prepared me in ways I still rely on, decades later.
The competitive nature of the scene also prepares people well to work in non-academic/commercial places where the only proof of success is winning. Academia has nothing quite like this.
It was quite a shock when I first entered Assembly 93 (my first demoparty ever) in Kerava, and saw all those teenagers installing Linux or programming or making music or being awesome. Already well in our 20s, we were kind of old for the scene already. :)
I think for me, the question is how to make it a more obvious gateway. As a child we had things like the spartan C64 or logo. There are some modern equivalents but most are simple. Hard to inspire kids with that compared to what they see (vs an 80s kid). Perhaps on online repl (like shadertoy) plus a demo 101 lib with pre baked effect routines and simple graphics primitives?
Hydra is fascinating -- I sat down with it for a couple hours and was having lots of fun layering transformations on top of webcam input. https://github.com/ojack/hydra
Lua, MicroPython, TypeScript, JavaScript can play the introductory role of Basic in those days.
Followed by .NET (micro), TinyGo, C, C++, Rust, FreePascal as the next level.
Finally the hardcore kids can deep dive into Assembly.
Once your child has an intuition of how a computer works its pretty trivial to teach programming. There are still lots of language specific gotchas though.
Many schools in the US have organized robotics programs, but those are expensive and require a lot of support. Making a demo is know how, and some HW.
Probably the main thing missing is the the materials. I've been skimming through the links here to find good starting points. Its a lot to collect -- many of the entry level techniques are so old, they're not always written up (or the target audience is different).
I thought this list of other Living Heritage items - referenced in one of the article links [1] - was pretty cool:
Playing and building the kantele
Playing and building the jouhikantele (bowed lyre)
Playing the musical saw
National Culture Days of the Deaf
Ryijy tradition
Making of Tommi knives
Puppetry
Bedtime story tradition
Demoscene
Living Christmas Calendar of Käpylä
Horsemanship of the Roma
Kalevala bone setting
[1] https://www.museovirasto.fi/en/articles/demoskene-sahansoitt... those that belong to the Emperor,
embalmed ones,
those that are trained,
suckling pigs,
mermaids,
fabulous ones,
stray dogs,
those included in the present classification,
those that tremble as if they were mad,
innumerable ones,
those drawn with a very fine camelhair brush,
others,
those that have just broken a flower vase,
those that from a long way off look like flies.I don't mean to downplay the importance, I'm just wondering if it is up to us, and if it is worth it. Heck, can we even reasonably decide if such is worth it? Does it matter? I don't know.
One random example: there are lots of Roman ruins, but if the 4th-century palace of a Roman emperor is almost continually inhabited and turned into a medieval city, that's pretty unique and worthy of the UNESCO list (https://whc.unesco.org/en/list/97/).
For comparison, it’s as “heritage” now as WWII-related items were in 1980 - i.e. quite a bit for sure.
That also coincided with my introduction to the Gravis Ultrasound (GUS), a sound card with (patch-based) MIDI capabilities vastly superior to Sound Blaster 16's tinny FM synthesis output at the time, and which was extremely popular among demo programmers.
Growing up, I had this notion that all the best (close-to-the-metal) programmers in the world were either Danes, Russians or Finns. Every Linux boot screen back in the day displayed the name "Hannu Savolainen". And SSH I've always associated with "Tatu Ylönen".
Only exceptions being some expressive words "juma'lattoman" "päin'vastoin" (' for where the stress is).
I think it's much more newsworthy that the Revision Demoparty happened last weekend despite the corona pandemic. It was fully online but still a 72-hour non stop event. Many of the releases are mind-blowing, check https://pouet.net
https://www.youtube.com/watch?v=4GRD1gCX7fk
For people who don't know what it is: it's a live coding competition where 2 competitors have 25 minutes to code a graphical effect (using shader language) in front of a live audience
They use a tool called Bonzomatic which you can get for various platforms.
It's not going to be a day-and-night change. But it can make a lot of small things go better.
Capturing a demo properly for youtube is non-trivial (especially on other platforms than PC), and a couple of people have specialized in this. Expect a whole bunch of uploads soon enough.
https://www.youtube.com/watch?v=tirAdWbceak
To be honest, it looks like a techno video from the 90s to me.
Eg there's this in the Amiga 64k compo: https://www.pouet.net/prod.php?which=85248 (https://www.youtube.com/watch?v=s66OgcwqalA)
It also looks like a techno video, but a good one :-)
At Revision 2015 to 2017, the PC 64k compo was absolutely insane, with production values exceeding pretty much every other category, including unconstrained PC demos. If 4k is the new 64k, 64k at that time became the new PC demo.
256 bytes is the big (hum...) thing now. With one ridiculous entry that managed to pack 8 different effects, with music and transitions https://www.pouet.net/prod.php?which=85227
https://www.pouet.net/prod.php?which=81021 https://www.pouet.net/prod.php?which=81015 https://www.pouet.net/prod.php?which=80996
More importantly, anybody can host a competition and have a party. The local party scene is really the heart and soul of the scene. Get 20-30 people together, hang out in somebody's basement for a weekend, and at the end have a competition with whatever people have had lying around on their computers.
Yes, there are hyper-specialized groups that can cram a full 3D-shooter in 64k but you don't need to do that. You can play with something simpler.
I was into Portuguese demoscene, one of the guys in the group was trading floppies over post, we had another doing ProTracker sessions, and we had coding weekends with "bring your computer and do group coding".
I still remember names such as Kefrens and Dexion and it’s a bit amazing to find a detailed account of a demo event that took place in 1990, http://janeway.exotica.org.uk/party.php?id=92
Link to Megademo 8 by Kefrens with a runtime of almost an hour: http://www.youtube.com/results?search_query=Megademo%208+Ami...
Those demo scene events i attended was a mix of creating demos, but also LAN gaming as we know it today.
I do not remember campus party events that well, but i think the focus was more on gaming and hacking and not so much on presenting demos and having prizes for the best ones.
Talent land sounds like you want to reach out to a less nerdy audience, but for me the nerdiness is the charm of these events :)
https://www.wired.com/1995/07/democoders/
Web version is missing all the screenshots and crazy '90s print design, unfortunately.
https://archive.org/details/eu_Wired-1995-07_OCR/page/n145/m...
Wired Magazine during the years 1995, 1996 and 1997 had something a bit magical about it, the way I remember it. You could sort of feel, while reading it, that it was a harbinger of great, great things to come, both from technology in general, and the fusion of personal computing and the internet in particular. It generally was a pleasure to read the magazine in those days.
All I can think of to commend this occasion is Future Crew 'Second Reality' :) https://www.youtube.com/watch?v=iw17c70uJes
The linked article from the linked article says
> The Ministry of Education and Culture has inscribed 12 new elements on the National Inventory of Living Heritage. The National Inventory, which adheres to UNESCO’s Convention for the Safeguarding of the Intangible Cultural Heritage, currently comprises a total of 64 elements. The Finnish Heritage Agency is responsible for the implementation of the Convention in Finland.
So I think the idea is that under this treaty, each country does have its own lists, which are maintained following rules and principles created by UNESCO, but where the content doesn't have to be approved by other member states.
What I saw elsewhere in this thread is that Finland is currently nominating sauna culture to be added to the international list at the December UNESCO meeting. But I think that requires a consensus of other countries, where these twelve additions (including the demoscene) don't -- the Finnish government concluded on its own that they meet UNESCO's criteria for being significant enough in Finland to be publicly recognized and protected.
Plus, there would be no shortage of potential donors, from broadly speaking the same field, that would be happy to sponsor this culturally important organisation (aka demo group).
Never would have crossed my mind typing my hands off on good old C64...
The resources I’ve found are either incomplete or assume one is already familiar with the domain.
I understand graphics to the extent I’ve written a raytacer and a “semi-caster”, but can’t find my foot in demos, especially translating my existing graphics knowledge to ASM.
Anyone have any resources or information I may have missed?
For the music, a suggestion would be to download the free version of renoise.com which is full featured and works fine for making demos. It is a good piece of software and worth the amount they ask for the full version if you can do it too i think. And then download the http://4klang.untergrund.net/ 4klang vst and use it with Renoise. You set up multiple instruments that link to the same instance of the VST instead of multiple instances of the VST and use different channels for each instrument (basically use the version that shows up top after you create one instance) and you can start by loading one of the preset patches included with 4klang. You record the songs in the 4klang vst and then put the generated files in the compofiller studio project directory and once it recompiles it has your new song.
I played around with this for the release i helped make for revision 2020 ( https://www.pouet.net/prod.php?which=85364 glsl source included ) Glory to Jesus, After this you can go lower level with the other 4k tutorials learning how to integrate with other assemblers or perhaps C++ compilers including Visual Studio community edition. It is possible to make even 4ks in C. If you want to get started in assembler i would recommend starting with the 256byte intros in a freedos installation. While I included source code in a 256byte that was presented at revision, i would start out with other tutorials.
Start out by researching some basic instructions to be able to set memory in a loop to a pointer in es:di. The basic instructions to set memory and registers, increment, compare, jump. Look a little bit into interrupts to be able to detect a keypress, or set graphics mode with 256 colors.
So for a freedos program you can do this with "mov ax, 13h; int 10h;" at the beginning of the program, set a label for the frame_loop_aleluya, then a label for the pixel_loop_aleluya (praising God in my code makes it more enjoyable) write to 0xA0000 for 320*200 bytes in the pixel_loop then detecting if a keypress has been made with "mov ah, 1;int 16h;jz frame_loop_aleluya" and then back to text mode "mov ax, 3h; int 10h" at the end of your program with ret. You can play around with that to make your first own little asm intro. Compile it with nasm to a .com. This is included in freedos.There is a little more boilerplate that goes into a .com as well, put "BITS 16; org 100h; section .text;" and a start: label . This works if you have no memory variables of your own, which is fine for a first step.
Sorry, this is my first hacker news comment so i will see how this looks and make corrections if needed, and post a small full sample program as a reply. God guide us and bless you in Jesus name
Which sounds totally awesome IMHO.
https://victorribeiro.com/radio/
https://victorribeiro.com/showFractal/
the first one I'm thiking about adding more stations. It used to have a few more, but chrome wont allow a page served over https to link content that is not served as https, so I had to remove a lot of radios. =(
It led me to create my own company and it's still there 25 years later.
While I was never part of it because I had an Apple II and then a Macintosh that was never used by the scene, the demos were for me a technological demo of where we can go with a tool to be used by artists or musicians.
Kidding aside, I do love to see new Atari ST(e) demos. Don't care much for Falcon or accelerated Amiga demos, just about great 68000 demos.
> Demoskene is an international community focused on demos, programming, graphics and sound creatively real-time audiovisual performances.
Now that I am here: do you know of any resources (books, tutorials, repos) that explain the techniques used in the demoscene?
Dave Brackeen's VGA Programming in C tutorials also show off graphics modes and optimizations for things like primitive drawing, bitmaps, etc. I used this to create a game years ago http://www.brackeen.com/vga/index.html
There also used to be a site called ProgrammersHaven (later renamed ProgrammersHeaven that seems to have dumped all of its original content). This site had a collection of random programs and source files, many of which showed off demoscene techniques (parallax, plasma, 3D, bumpmapping, etc)
That reminds me the nehe tutorials: https://nehe.gamedev.net/
Most of the coders I know who produce for the scene honestly start with books on graphics or sound and work their way up from there. It takes years to produce a collection of effects, techniques and code that you can pull from to make a great production. Early productions by people new to the scene are usually fairly simple with only a few effects or scenes, but if they keep at it will grow from there.
That being said there are some scene "tutorials" that can help:
https://github.com/psenough/teach_yourself_demoscene_in_14_d...
http://www.sizecoding.org/wiki/Main_Page
ftp://ftp.scene.org/mirrors/hornet/code/3d/docs/
https://bitbucket.org/inclinescene/demosplash-2016/src/maste...
https://www.reddit.com/r/gamedev/comments/205r78/sight_light...
http://www.hugi.scene.org/online/hugi35/hugi%2035%20-%20demo...
In particular, nearly all PC 4k coders are super active on shadertoy and most of their tricks appear there first, all in the open, before they roll a full-fledged 4k with it. It
And I dare say that in the past, the competitiveness as a reason for not sharing code was mainly a cheap excuse. The real reason was that everybody was ashamed of the terrible messes their codebases had inevitably become.
Haha true, especially for code written at the partyplace in a rush.
I agree with you as well, the scene is definitely opening up and sharing more than in the past. There's some pretty good talks that occur at parties these days, not quite an academic conference, but getting there in some ways.
Also, pride.. If you wanted to figure out how an effect was done, either you reverse engineered the binary, or you figured it out on your own, based on your own experience and the occasional hint.
You have to remember that the demoscene largely grew out of the cracking scene (well, that + Compunet) in the mid-eighties, where _being first_ to release a cracked version of a game was of great importance. Likewise, being first to create a new effect for a demo.
Already in the mid to late nineties people started mocking this culture, eg the MFX Transgression intros which were just 3d polygon renderers but with some uglifying post processing and then they claimed it was super impressive real-time raytracing (which, for no context, was basically impossible to do full screen on computers of the days).
Some stuck up kids blamed them for cheating but generally everybody laughed at the prank. The demoscene has been open, friendly and collaborative much much longer than it was properly competitive. It's really a minor origin detail, not a key part of culture and ethos.
People do still like to make fun of it, i.e. pretend is still current. Eg common proclamations such as "Kewlers suck", or demos like "Regus Ademordna" which IMO is a particularly splendid example and worth checking out.
Problem with generalizations is that they generally don't hold up to concrete examples.
Aaaaaaameeeeega!