
The Vanishing Of Ashlar: 4kb demo using GPU for sound and pathtracing - blopeur
https://demozoo.org/productions/278629/
======
dwrodri
I know that a huge part of the demoscene culture is keeping your trade secrets
close, but I'd love to see a YouTube playlist where authors or people with
significant graphics experience do in-depth teardowns. Those of us like myself
who only take a passing interest from afar are still blown away by how amazing
results of demos like "elevated" from 2009 [1]. I've heard Iñigo Quílez, but I
am curious if there are people interested in doing teardowns of winners moreso
than elementary concepts (although of course the latter is much more
applciable outside of the demo scene).

1=
[https://www.youtube.com/watch?v=_YWMGuh15nE](https://www.youtube.com/watch?v=_YWMGuh15nE)

~~~
sp332
Do demosceners keep secrets like that? I only know of the ones who publish
super detailed blogs about techniques, because... those are the ones I read.
E.g. [https://trixter.oldskool.org/2015/04/07/8088-mph-we-break-
al...](https://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-
emulators/) And a much more recent one, video here (I recommend watching the
chat replay! Should start ~ 7h02m40s)
[https://www.twitch.tv/videos/589179638?t=7h02m40s](https://www.twitch.tv/videos/589179638?t=7h02m40s)
and blog post
[http://www.sizecoding.org/wiki/Memories](http://www.sizecoding.org/wiki/Memories)

~~~
pjmlp
Yes, the demoscene and gamedev culture is the antithesis of the FOSS one.

That was always the best thing about old days demoscene, specially at the
parties, having one group proving that something deemed impossible on platform
X was actually possible, and then having other discovering how they might have
done it, and topping it with something even better.

The game dev culture evolved from the demoscene.

Nowadays due to the FOSS influence, there are some people sharing, but they
are mostly the exception to the rule.

~~~
Narishma
> The game dev culture evolved from the demoscene.

I'm not sure that's the case. The demoscene really started with the Amiga in
the mid 80s while game development was already its own thing. Maybe they
influenced each-other but I wouldn't say one evolved from the other.

~~~
exlurker
It actually started on the C64, as a by-product of game cracking. People would
first add their "handles" into cracked games, then some small intros before
the game. These intros soon became competetive, and were made stand-alone,
known as demos. There was some overlap of game and demo-scene, but not much
until around 1992 or so, on the Amiga.

------
onion2k
NuSan ([https://twitter.com/NuSan_fx](https://twitter.com/NuSan_fx)) does
regular livestreams where he writes a shader from scratch in a couple of
hours. They're always impressive and you can learn a lot from seeing his
process. He also puts the code for his work up on Shadertoy which is really
helpful.

~~~
codetrotter
evvvvil_ and Flopine also

[https://twitch.tv/evvvvil_](https://twitch.tv/evvvvil_)

[https://twitch.tv/flopine](https://twitch.tv/flopine)

~~~
andybak
I do wonder how much my dislike of and inability to learn from video tutorials
shuts me off from some wonderful content.

But try as I might I just can't focus for more than 30 seconds and I can feel
my irritation rising and my desire to find some non-spoken version of the same
material increasing.

~~~
jsjohnst
Especially agree when it’s a ten minutes of talking and fumbling around on
what really should’ve been maybe three photos and three sentences in a blog
post. Go and watch almost any video on building or fixing electronics and
you’ll see what I mean.

------
jl6
How much functionality does a demo like this get for free in addition to its
own 4KB of code? For example, do modern GPUs have rich functions like
createAmazingFractalGeometry() which these demos then piece together?

~~~
solinent
It's usually quite small--fractal geometry can be very succinctly described in
a parametric way. The mandelbrot set can be described with just a small
equation and a range of values to display.

They're not getting much from the GPU at all. Procedural modelling Houdini
style is very common and you will find that algorithms to describe
models/textures are often quite small, especially when compressed.

These days we do a lot of procedural generation of content, but then we don't
make the user re-generate it because it does have a performance penalty--GPUs
have plenty of RAM and tons of bandwidth, so it usually doesn't make sense.

source: Did some dev work on Houdini

------
jacquesm
These demos are some of the last arenas in software development where real
skills can be displayed. Elsewhere it's mostly shuttling data from one field
to another with some business logic, API glue and other cruft and to hell with
the RAM footprint. Awesome stuff, thank you for posting.

~~~
NelsonMinar
I agree that demos like this are a wonder of "real skill". But it's bizarre to
assert it's the only place it's possible. Yes, most software development is
boring business stuff built on unstable towers of boring frameworks and
infrastructure.

But there's plenty of room for art in your code. Either straight out art like
this; generative computer art is a very exciting aesthetic area. Or just
building elegant systems. There's no reason a network caching layer or a
machine learning library can't be beautiful and skillful the same way a demo
is. (The one exception is terseness; the tricks necessary to shoehorn a
beautiful demo into 4k often make code unmaintainable.)

Aesthetics matter.

~~~
sp332
jaquesm said it's where skills can be "displayed". I think the latest update I
made to a CRUD app is pretty slick, but I can't really show it off.

------
pjmlp
Now imagine how the demo would look like if they were allowed to use Electron
size for the executable/shader code.

~~~
bane
There are actually unlimited size demo competitions as well where people can
just go crazy and some of the results are really incredible.

~~~
pjmlp
I know, that was a tongue-in-cheek remark. :)

------
aabbcc1241
Anyone able to run it from wine?

~~~
deno
No idea but here’s WebGL version:
[https://www.shadertoy.com/view/3sBBRK](https://www.shadertoy.com/view/3sBBRK)

------
Synaesthesia
What’s the system requirements?

~~~
aabbcc1241
At least you need a Windows OS I guess

~~~
capableweb
Not true, also runs via shadertoy:
[https://www.shadertoy.com/view/3sBBRK](https://www.shadertoy.com/view/3sBBRK)

But it's missing the GPU Synthesizer

~~~
Synaesthesia
Ok thought it might need like a powerful nvidia GPU or something. Not the
case.

~~~
capableweb
In the "Buffer A" tab there is a SAMPLE_COUNT variable. Turning that to 1 will
probably enable you to run it on your potato of choice, as long as it has a
browser.

~~~
recursive
How do you apply the code change? Nothing I do seems to have any effect,
including removing all the code.

~~~
capableweb
On the bottom-left edge of the text area/editor, there is a tiny black
play/triangle icon. Clicking that applies the changes.

