Web GL
category: code [glöplog]
so, browsers are for browsing, not fancy 3d shit ;D
Quote:
PCs are for working! NOT PLAYING!
- My father
I've realised why we spend so much time pointlessly arguing about what is or isn't a demo, and who is or isn't part of the scene. It's because we're a community - a real one, something that's very rarely seen on the net.
And really, that's the thing that makes the demoscene awesome. It's not the demos, it's being in a big community where you know lots of people, not just online, but you'd met them at parties, drunk beer together, spent plenty of time together making stuff or watching stuff or just talking.
The only other scene i can think of that has what we have is gaming, and that's not really a creative scene.
And really, that's the thing that makes the demoscene awesome. It's not the demos, it's being in a big community where you know lots of people, not just online, but you'd met them at parties, drunk beer together, spent plenty of time together making stuff or watching stuff or just talking.
The only other scene i can think of that has what we have is gaming, and that's not really a creative scene.
you're wrong. i hate people. i only like demos.
kidding
kidding
(slightly late now, but what the hell...)
unconed: Welcome, and thanks for setting the record straight about what connection Never Seen The Sky had with the demoscene. I was trying hard not to make any assumptions about how familiar you were with the scene - it certainly wasn't my intention to criticise any lack of knowledge of demoscene rituals (or lack of desire to be part of them), and I apologise if it came across that way.
...and that's exactly what I was trying to get at. There is a barrier to entry there, and I think that's equally true for someone who's completely unfamiliar with the scene as it is for someone who (in Donald-Rumsfeld-speak) knows enough to know what he doesn't know. For anyone who makes it their mission to get as many capable people as possible interested in making demos (and I fully realise that this is a mission that only concerns people within the demoscene*, which I dare say is why you're so bemused to be dragged into this discussion), that's a problem we should probably deal with.
The counter-argument, I guess, is that it's not possible to tear down that barrier without fundamentally killing off the identity of the scene. And that really is a debate that's too big for this thread.
* and only some people within the demoscene. Saying bollocks to this whole discussion and going off to make more demos instead is a valid stance too. I kind of thought this was the whole point of outreach, though...
unconed: Welcome, and thanks for setting the record straight about what connection Never Seen The Sky had with the demoscene. I was trying hard not to make any assumptions about how familiar you were with the scene - it certainly wasn't my intention to criticise any lack of knowledge of demoscene rituals (or lack of desire to be part of them), and I apologise if it came across that way.
Quote:
If I had spent my time figuring out the proper shibboleths instead to please the greybeards of demoscene, there would be no demo in time for Christmas.
...and that's exactly what I was trying to get at. There is a barrier to entry there, and I think that's equally true for someone who's completely unfamiliar with the scene as it is for someone who (in Donald-Rumsfeld-speak) knows enough to know what he doesn't know. For anyone who makes it their mission to get as many capable people as possible interested in making demos (and I fully realise that this is a mission that only concerns people within the demoscene*, which I dare say is why you're so bemused to be dragged into this discussion), that's a problem we should probably deal with.
The counter-argument, I guess, is that it's not possible to tear down that barrier without fundamentally killing off the identity of the scene. And that really is a debate that's too big for this thread.
* and only some people within the demoscene. Saying bollocks to this whole discussion and going off to make more demos instead is a valid stance too. I kind of thought this was the whole point of outreach, though...
psonice won the (sub) thread
Quote:
The whole point of outreach is to never say that something that's not being labeled a demoscene demo by the author himself was a bit dull goes against the principles of outreach..? Just... wow. :) Mountain. Mole-hill.I kind of thought this was the whole point of outreach, though...
pffft, i thought outreach is all about lolling at shitty looking webgl things done by nondemoscene incompetents and telling them how fucking ossom WE are!!! if that isn't the case, why do we even do this outreach thingamadoodle?!?!?!?!? it's not like they're gonna join the demoscene or anything, who would fucking want that?!?!
Want better outreach? Forget showing people demos and telling them how cool demos are. Just bring them to a party.
ideally hawt chicks
gloom: You misunderstand me (and reading back through the thread, I don't blame you… I totally garbled my point with the whole "yeah but what if it was intended as a demo" tangent). I never had any disagreement with you classifying it as "not a scene demo".
When I talk about barriers to entry, and demoscene culture being uninviting to outsiders, I'm talking about the bigger picture - the overall conditions that lead to people choosing to make these things outside of the scene. I'm NOT pointing to this specific "is it a demo or not" argument as an example of demosceners being exclusionary. I'm NOT saying that we should boost our numbers by claiming any vaguely demoish thing as our own.
Here we have a case of someone who knew about the scene and could have made a scene demo, but chose not to. We can say "it's OK, but it's not a demo" and move on, or we can take the opportunity to examine why this ended up being a non-scene production, and ask whether there's anything we can do to make the demoscene route more inviting and possibly encourage more demoscene releases in future.
When I talk about barriers to entry, and demoscene culture being uninviting to outsiders, I'm talking about the bigger picture - the overall conditions that lead to people choosing to make these things outside of the scene. I'm NOT pointing to this specific "is it a demo or not" argument as an example of demosceners being exclusionary. I'm NOT saying that we should boost our numbers by claiming any vaguely demoish thing as our own.
Here we have a case of someone who knew about the scene and could have made a scene demo, but chose not to. We can say "it's OK, but it's not a demo" and move on, or we can take the opportunity to examine why this ended up being a non-scene production, and ask whether there's anything we can do to make the demoscene route more inviting and possibly encourage more demoscene releases in future.
Words.
gasman: sorry, I completely misread your point then. Your latest post is right on the money!
I agree with gasman.
We should examine the nature of this "entry barriers".
We should examine the nature of this "entry barriers".
ham: I believe the nature of this so-called-barrier is pretty easily explained: the demoscene is a community with a pre-existing culture and history. This means that technology enough isn't enough to create a back-and-forth relationship. Both parties must have a desire to enter into it, and usually, the demoscene is more interested in having more "members" than outsiders are in entering it.
The reason we don't have more members is simple: the demoscene these days is mostly obsolete, and what's left is seriously niche.
Cracktros are long gone (sorry remaining cracktro makers, I'm talking about the world at large :) We're not leading technically. Size coding isn't a useful skill now we have fast internet and tons of storage. Email and IRC killed scrolltext as a serious communication medium.
So what do demos offer now? In the old days if you wanted to learn to code, meet people and show your skills, you'd make games, utilities or demos. Now? We have competition, lots of it - WebGL is the latest, but there's a ton of rival scenes out there offering something to a new coder. Most offer something a lot more relevant too.
I think the appeal of the demoscene is now limited to those interested in graphics, particularly realtime graphics, and particularly realtime graphics on the PC made in a restrictive environment like 4k. We're a subset of a subset of a subset, no wonder we're not popular :D
That leaves a pretty big question: Why is the scene still here at all? Because we have culture, traditions, and most of all: parties. I could go join the webgl scene, but when's the next big webgl party I can meet my friends, drink beer and watch awesome releases at?
There's no barrier to visiting a party - you just buy a ticket and turn up. The only barrier is to releasing, so open up the compos.
Cracktros are long gone (sorry remaining cracktro makers, I'm talking about the world at large :) We're not leading technically. Size coding isn't a useful skill now we have fast internet and tons of storage. Email and IRC killed scrolltext as a serious communication medium.
So what do demos offer now? In the old days if you wanted to learn to code, meet people and show your skills, you'd make games, utilities or demos. Now? We have competition, lots of it - WebGL is the latest, but there's a ton of rival scenes out there offering something to a new coder. Most offer something a lot more relevant too.
I think the appeal of the demoscene is now limited to those interested in graphics, particularly realtime graphics, and particularly realtime graphics on the PC made in a restrictive environment like 4k. We're a subset of a subset of a subset, no wonder we're not popular :D
That leaves a pretty big question: Why is the scene still here at all? Because we have culture, traditions, and most of all: parties. I could go join the webgl scene, but when's the next big webgl party I can meet my friends, drink beer and watch awesome releases at?
There's no barrier to visiting a party - you just buy a ticket and turn up. The only barrier is to releasing, so open up the compos.
knl, I can see how you don't find the torus intro too exciting to watch (I don't, so I don't expect you to either), but:
..? Still trying to get this in/out definition for the scene, but I don't really consider myself "part of the scene" any more than any other random bystander doing tech stuff. Actually, if I'd categorize my JS work so far [4k prods 56909,58053,59203,60915] I'd say that the main purpose is to provoke other [more talented] sceners to do better than me, by saying:
"Look, the technology is there [now proven]. Now take your skills and do something awesome with it!"
Quote:
the other one [me] is from the scene and he made his production FOR the scene"
..? Still trying to get this in/out definition for the scene, but I don't really consider myself "part of the scene" any more than any other random bystander doing tech stuff. Actually, if I'd categorize my JS work so far [4k prods 56909,58053,59203,60915] I'd say that the main purpose is to provoke other [more talented] sceners to do better than me, by saying:
"Look, the technology is there [now proven]. Now take your skills and do something awesome with it!"
So, back to the real question at hand... Why isn't WebGL taking off already? I guess there are many reasons, but not sure if there are any really valid reasons. Here are a few thoughts:
Compatibility... I honestly think that device drivers are more of an issue than different WebGL implementations. You can easily write a native Windows demo that only works on a certain class of gfx cards from a specific vendor - that's actually harder to do on WebGL since it's less fragmented by extensions and versions etc, and WebGL implementations do their best to work around driver bugs. Actually, I was quite pleasantly surprised that re:chord ran fine on my Intel gfx card under Windows (though it was developed on an NVIDIA card under Linux).
JS performance... Sure, on average JS is slower than g++ -O3, but on the other hand you can put lots of performance critical stuff in WebGL shaders. I guess the major exception (for 3D graphics) is physics simulation, but I don't see a lot of that in demos in general. Regarding garbage collection: learn how to write non-GC:ing code and data structures!
Sound... This is still the major Achilles heel of the Web platform, IMO. For demos though, it works quite well with an audio element playing whatever pre-recorded audio stream. Even pre-generating sound into a data URI works quite well (though real-time sound generation would be nice - hello Web Audio API, whenever it becomes mainstream).
Tooling... This could be an issue. Development on the Web platform is fundamentally different from developing for a native platform. Debugging etc is a whole different thing. On the other hand, that hasn't stopped demo developers before [thinking about all the different obscure platforms out there that people keep doing amazing demos for].
Other than that... I don't know. I'm still waiting for "it" to happen...
Compatibility... I honestly think that device drivers are more of an issue than different WebGL implementations. You can easily write a native Windows demo that only works on a certain class of gfx cards from a specific vendor - that's actually harder to do on WebGL since it's less fragmented by extensions and versions etc, and WebGL implementations do their best to work around driver bugs. Actually, I was quite pleasantly surprised that re:chord ran fine on my Intel gfx card under Windows (though it was developed on an NVIDIA card under Linux).
JS performance... Sure, on average JS is slower than g++ -O3, but on the other hand you can put lots of performance critical stuff in WebGL shaders. I guess the major exception (for 3D graphics) is physics simulation, but I don't see a lot of that in demos in general. Regarding garbage collection: learn how to write non-GC:ing code and data structures!
Sound... This is still the major Achilles heel of the Web platform, IMO. For demos though, it works quite well with an audio element playing whatever pre-recorded audio stream. Even pre-generating sound into a data URI works quite well (though real-time sound generation would be nice - hello Web Audio API, whenever it becomes mainstream).
Tooling... This could be an issue. Development on the Web platform is fundamentally different from developing for a native platform. Debugging etc is a whole different thing. On the other hand, that hasn't stopped demo developers before [thinking about all the different obscure platforms out there that people keep doing amazing demos for].
Other than that... I don't know. I'm still waiting for "it" to happen...
mrdoob, OpenGL works just fine in Opera for Linux. Only thing is you need to enable it in opera:config (enable "webgl" and "hardware acceleration" for best performance).
marcus256: Ah, I see. Good to know!
I just wanted to take a second and react to Smash's comment: Yes, Smash, I dislike the psychology of trash talking - you should be motivated only by the thought of making something beautiful.
Here in India, we are totally OPPOSITE of THAT much individualism, as a culture, which I *also* hate, but..... I don't like the scene attitude either. Fuck your stupid code, stuff it up your ass, you're NOT to *talk* to me like that! And that leaves me neither here nor there - I don't have a single person to *talk* to here, and kick shit around with, having all my conversations by READING just makes me feel... I donno... dizzy! (and I still *keep* trying to tell whoever I think is a competent coder about the scene, but - how many other posts from Indians have you seen on Pouet? :( )
I sort of had a plan about going to my old school, and telling Class 11 or 12 boys (who do C and C++ as part of their course) about the scene, and seeing what comes of it, so if you guys suddenly start seeing a whole lot of "How do I do starfields in C?" on Pouet, you'll know who was responsible! :)
Here in India, we are totally OPPOSITE of THAT much individualism, as a culture, which I *also* hate, but..... I don't like the scene attitude either. Fuck your stupid code, stuff it up your ass, you're NOT to *talk* to me like that! And that leaves me neither here nor there - I don't have a single person to *talk* to here, and kick shit around with, having all my conversations by READING just makes me feel... I donno... dizzy! (and I still *keep* trying to tell whoever I think is a competent coder about the scene, but - how many other posts from Indians have you seen on Pouet? :( )
I sort of had a plan about going to my old school, and telling Class 11 or 12 boys (who do C and C++ as part of their course) about the scene, and seeing what comes of it, so if you guys suddenly start seeing a whole lot of "How do I do starfields in C?" on Pouet, you'll know who was responsible! :)
Quote:
how many other posts from Indians have you seen on Pouet?
Because it maybe doesn't matter where you're from, but what you have to say/show?
Might sounds cheesy, but I still (try) to live by the notion that it doesn't matter what skin colour, religion, gender or sexual preference one has - you're a human and so am I. And sure one meets arseholes, but others might think that from oneself as well..
i would love to outsource demo dev to India so i have more time to trash talk!
mog: i think what he was saying there was that he's been spreading the word about the scene among indian coders, but none have made it to pouet so far :)
the reason the demoscene has a recruitment problem is that making what we (and in this case far more importantly the outside world, judging by what we see on social media, blogs, reddit, the press etc) consider a good demo is really, really hard and takes a lot of effort from serious professionals with years of experience at the top of related industrial fields.
the end result is hard to watch (aside from youtube - how many people can actually *run* a modern demo?), time consuming to watch (5 minutes+), hard to understand (because we tend to try to hide the individual, graspable aspects of our technological prowess underneath actual design, flow etc, so its hard for the uninitiated to see "what is being demoed" - and then we tend not to share most of the info about the how / why anyway), seemingly pointless (wheres the money? how do you show it in an exhibition? why isnt it interactive when its realtime?), not amazing to watch aside from the technical aspects (compared to games with huge dev budgets, or offline rendering, which it doesnt make obvious why it's not competing against - especially to those who dont understand "realtime"), and filled with historical self-references. and it often gets slaughtered on demoscene websites by the very community it was made for.
still, it's fun, innit. :)
in comparison, those openframeworks/webgl/processing/creative coding types tend to be younger, less experienced, often coming from an "art background" or flash/web design. they tend to make things that are simple and fast to make (because they often only have one effect or idea - often a shallow and basic one at that, and often supported by plenty of shared / open source code), easy to watch (they run on your mac / iphone / web browser / they have low hw requirements / you can see them in an exhibition / get them from a curated website), short (or one looping effect), easy to understand (one clear concept / effect shown off clearly, often interactive, often supported by a load of blog posting etc about what it's doing, how, and _why_, which is often more interesting than the original piece), the point is clear (it's demoing some technique very clearly, or its artistic and conceptual and goes to great lengths to make you know it is, or it's interactive, or its exhibited), it's clear its realtime (cos its interactive in some way, or sound reactive, or camera reactive, or reacting to social media), they play to their strengths not their weaknesses (creative coders tend to like making stuff that *looks* computery and generated and is therefore, naturally, easier to do and make look good, and it takes advantage of the medium and makes something unique that doesnt have to compete against other media. we in the scene often seem to get a hard on for making stuff that looks like reality or like scenes from videogames, which are very hard to do well and make look good, competing against games, offline renders and .. reality). and at the end of it there's only a "like" button and a "share" button - no thumbs down.
in summary - it's pretty obvious to me why less and less people make demos, but that i personally wouldnt want to do anything else.
the demoscene is a curiosity. it's insular. most (i.e. average) demos will be of 0 interest to those beyond the demoscene's borders. great demos, of which there are still a few, are still interesting to people outside the scene - but mainly to watch and take inspiration or ideas or techniques from, not to want to be involved in, because doing them yourself would be way too hard and take way too much time.
there's still some things we bring that the other creative coding scenes don't. demos are a far more evolved form. we understand more about making a piece of entertainment in realtime (even if that entertainment is childish jokes about cubes), not just an experiment, toy or novelty. we have far more mature work flows, and yes - technical superiority, which still counts. people from other creative coding scenes still look at good demos as pieces of inspiration, or aspiration.
and theres still some things we could consider learning from all this, if we wanted to "grow the scene" a little without changing too much and losing our essence. publicise individual demos more - using blog posts, talking about how they were done, the tech behind them etc. - help people understand what it is they are watching, and why they should be amazed (or care). consider interactivity, or at least stop ruling it out. make a curated demo site which makes it easy for the rest of the world to find a good selection of modern demos. add facebook "like" buttons to pouet.
rant over!
the end result is hard to watch (aside from youtube - how many people can actually *run* a modern demo?), time consuming to watch (5 minutes+), hard to understand (because we tend to try to hide the individual, graspable aspects of our technological prowess underneath actual design, flow etc, so its hard for the uninitiated to see "what is being demoed" - and then we tend not to share most of the info about the how / why anyway), seemingly pointless (wheres the money? how do you show it in an exhibition? why isnt it interactive when its realtime?), not amazing to watch aside from the technical aspects (compared to games with huge dev budgets, or offline rendering, which it doesnt make obvious why it's not competing against - especially to those who dont understand "realtime"), and filled with historical self-references. and it often gets slaughtered on demoscene websites by the very community it was made for.
still, it's fun, innit. :)
in comparison, those openframeworks/webgl/processing/creative coding types tend to be younger, less experienced, often coming from an "art background" or flash/web design. they tend to make things that are simple and fast to make (because they often only have one effect or idea - often a shallow and basic one at that, and often supported by plenty of shared / open source code), easy to watch (they run on your mac / iphone / web browser / they have low hw requirements / you can see them in an exhibition / get them from a curated website), short (or one looping effect), easy to understand (one clear concept / effect shown off clearly, often interactive, often supported by a load of blog posting etc about what it's doing, how, and _why_, which is often more interesting than the original piece), the point is clear (it's demoing some technique very clearly, or its artistic and conceptual and goes to great lengths to make you know it is, or it's interactive, or its exhibited), it's clear its realtime (cos its interactive in some way, or sound reactive, or camera reactive, or reacting to social media), they play to their strengths not their weaknesses (creative coders tend to like making stuff that *looks* computery and generated and is therefore, naturally, easier to do and make look good, and it takes advantage of the medium and makes something unique that doesnt have to compete against other media. we in the scene often seem to get a hard on for making stuff that looks like reality or like scenes from videogames, which are very hard to do well and make look good, competing against games, offline renders and .. reality). and at the end of it there's only a "like" button and a "share" button - no thumbs down.
in summary - it's pretty obvious to me why less and less people make demos, but that i personally wouldnt want to do anything else.
the demoscene is a curiosity. it's insular. most (i.e. average) demos will be of 0 interest to those beyond the demoscene's borders. great demos, of which there are still a few, are still interesting to people outside the scene - but mainly to watch and take inspiration or ideas or techniques from, not to want to be involved in, because doing them yourself would be way too hard and take way too much time.
there's still some things we bring that the other creative coding scenes don't. demos are a far more evolved form. we understand more about making a piece of entertainment in realtime (even if that entertainment is childish jokes about cubes), not just an experiment, toy or novelty. we have far more mature work flows, and yes - technical superiority, which still counts. people from other creative coding scenes still look at good demos as pieces of inspiration, or aspiration.
and theres still some things we could consider learning from all this, if we wanted to "grow the scene" a little without changing too much and losing our essence. publicise individual demos more - using blog posts, talking about how they were done, the tech behind them etc. - help people understand what it is they are watching, and why they should be amazed (or care). consider interactivity, or at least stop ruling it out. make a curated demo site which makes it easy for the rest of the world to find a good selection of modern demos. add facebook "like" buttons to pouet.
rant over!