Hacker News new | past | comments | ask | show | jobs | submit login

Windows used to be the only platform where even half baked graphics code could be assumed to run properly most places, due to its position as the primary OS for gaming. All the graphics cards had drivers, direct3d came bundled in etc. It was just easier.

Dont forget that most democoders want to make stuff. Something like Visual Studio, which you can (pirate and) install, and then you type code and press a button with a play icon and see the code run, that’s super nice and it’s had that UX for 20 years or so.

Compared to Linux at the time, which drew the kinds of people who enjoyed building up their perfect Gentoo from scratch and setting up their Vim just right, and making automake detect dependencies on all the distros. To your average demoscener, all that stuff gets in the way of getting graphics on the screen.

These days the difference is pretty much gone though, so it’s just momentum. You can install Ubuntu and a random IDE and code some opengl in an SDL window and things will Just Work just like they would on Windows. And I assume even Linux these days has a way to deal with dependencies that’s as easy for devs as Windows’s “just add the DLLs you need to the zip file”.




Not to mention that it's only recently that Blender has become bearable, even if 3dsMAX,etc is ancient those kinds of tools were often used in the past and Linux was a kind of no-starter.

Also since intros were size-limited you kinda needed control of your pipeline to achieve the smallest size of the _binary_. For a 4k intro different compilers could produce different sized binaries, the .exe compressor crinkler mentioned above does some "function-order-randomization" to improve compression by a few bytes by having the correct ordering of data/functions so just running a slightly different version and/or not long enough could fail to produce something below 4k.


Actual demosceners would use PovRay, not 3DSMAX or they choose Borland IDE's over a turd like Visual C++.


Linux as demo dev platform has the issues you mentioned, but as a competition platform it suffers because there is has not been any good baseline/platform to set as a standard. For Windows its easy to define in compo rules that the compo machine is clean Windows X installation with latest patches and drivers as of day Y.

For demos the social aspect is important and one thing Windows is good at is that you have good chance of being able to run random exe you downloaded, which is far less a given with Linux and especially with 3d graphics and audio

Flatpak might now represent the sort of platform that could be good enough, but really the best would be to have something similar but more minimal and specifically designed for demos; I'm thinking some kind of sandbox that would run single elf executable and expose just enough primitives (mesa, wayland, pipewire, glibc) to make democoding feasible and would give fair even ground for sizecoding.


lots of things were before windows. c64 and amiga were legendary.


Agreed, those were the roots. But this thread is a bit about tooling/distribution on win vs linux and the C64 and Amiga is more like Windows than Linux in that sense. If prods would've been open-sourced or compile for yourself you'd lose control of packaging and stuff like track-ordering for disk-loading would've been impossible to control properly.


yeah i get you. to me it seemed they left amiga for windows. hardly much linux really. but i think it depends on what you were looking at.


It was just easier

I got out of the demo scene after the Commodore 64, but isn't the whole point that it's supposed to be hard, not easy? That's what makes it amazing.


No. There's a huge difference between "hard to put a hugely detailed 3d landscape into 4kb" and "hard to get a pixel on the screen because the damn dependencies can't be found and why do I have to edit a Makefile at all, can't it just compile everything and then run it?".

At the risk of sounding dismissive, Linux was for the kinds people who enjoyed configuring stuff, digging through man pages, editing textfiles and then recompiling their kernels. It was for people who loved tuning their system 100% perfectly to their needs. Not for people who just wanted to code cool computer art.

Actually I think most democoders, even the insanely good ones, have very little patience. The attractive thing about coding graphics is the dopamine cycle is short. It's code, run, woa cool!, code, run, woa cool!.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: