pouët.net

Demoscene, the youth & future - And outreaching

category: general [glöplog]
Here are some of my experiences of an "outreach effort" I consider quite succesful.

In around 2002, I was looking at a couple of Finnish "hobbyist programmer communities" on the Internet. These websites and their corresponding IRC channels were mostly populated by teen-aged beginners and semi-beginners who consistently gave really bad advice to each other, so they seemed to me to be desperately requiring non-beginner involvement. I wasn't really thinking about demoscene outreach when I joined the channels #mureakuha and #ohjelmointiputka -- maybe I just felt pity about the kids and wanted to help them some more proper ways.

Despite being 10+ years older than the other users, I found a lot in common with many of them (or at least I could reflect my own past thru them). Many showed a childlike curiosity to all kinds of new computer-related ideas and concepts and wanted to try out everything they hadn't tried before, at least once. It was also appealing to many to program something visually fabulous to proudly show off to their friends in order to earn respect from them.

Many of the users maintained a perverted interest in QBasic. Yes, it has a low learning curve and doing simple visual stuff is rather easy with it, but there are many ofter far more advanced programming environments with a similar learning curve. First I thought these guys were interested in QBasic because of their sheer cluelessness, but I later realized that they might also have been appealed by QBasic's apparent simplicity, restrictedness and some kind of awkward "trueness".

In an era of huge and complex APIs, it seems, some of the kids wanting to learn programming spontaneously developed a need for simple and restricted "sandboxes" to play around in. I think this is a potential "outreach hook" that shouldn't be overlooked, as the demoscene is full of this kind of "sandboxes" with strong communities around them. So, instead of providing the youngsters with drag'n'drop demomakers or "junior compos", it might me more fruitful to give them encouragement, inspiration, tutorials and assistance for trying out 8-bit coding or extreme sizecoding. These are the niches where the demoscene can provide something unique.

Back to the story: I eventually abandoned #mureakuha because it was growing to become too "adult", "utilitiarian" and "professional", forgetting the "playful" and "open" attitude that appealed to me in the users of #ohjelmointiputka. In time, I came to earn some kind of a "high guru" on the channel (and I guess I even was an idol to some). Even though I very seldom actually advocated the demoscene, some guys spontaneously became interested, started dreaming about winning demoscene competitions etc. and asked questions on how to do this and that.

A major obstacle to win in case of many youngsters was the debunking of the stereotype of demosceners being scary and inaccessible elitist drunkards who despise everyone whose skills aren't up to the standards. So, despite the fact that dozens of #ohjelmointiputka guys had been attending Assembly for several years, it required a lot of effort to encourage some of them to visit Boozembly or Scenebooth where they could encourage actual sceners face-to-face. As for now, some of the guys who were previously sceptical about the community, have attended to other parties as well.

Some of the newish Finnish sceners who are known to have been #ohjelmointiputka users include aegis, tejeez and tzaeru. The Aspekt guys (hth, ruuvari, thefox) also used to be #ohjelmointiputka but that was some years before the newer wave and I don't credit myself for their involvement.
The demoscene

pros:
- you experiment with you own (sometimes selfmade) toolchain.
- meet cool people (not pouet. pouet-users usually sucks)
- learn how to work with deadlines (this is just awsome)
- getting the mindset of creating both art and code

cons:
- pouet-bbs (soo full of shit, except random image thread)


there is no future.
added on the 2009-08-14 12:40:40 by quisten quisten
The biggest outreach effort from me:

TMDC
added on the 2009-08-14 12:45:35 by sol_hsa sol_hsa
I have been outreached through The Mindcandy DVD, talks and watching demos for a long time.

I think the main reason I was not involved until being 21 is because I was terrified by the technical levels of "big demos" like Debris, The prophecy, Lifeforce...
As a coder the first reaction you get when watching a big demo is "Wow ! I will never be able to do that. This whole demoscene thing is only for ninjas".

And then you miss the other point of demoscene : fun aspect, tricks sharing, getting better, improving your engine/synth, competition...

In fine what excited me the most are all those things that are not really practical with non-realtime graphics : procedural effects, shitloads of objects, pixel-perfect awesomeness. And demos which are not directed like movies finally had the most appeal for me : SOTA, Theta by farbrausch, noise demos...


As for a codebase : the audio DSP community has a code snippet repository (http://www.musicdsp.org/) and it's actually great for beginners. Being able to upload and comment snippets is very valuable.
added on the 2009-08-14 12:54:23 by ponce ponce
[quoe]a big demo is "Wow ! I will never be able to do that. This whole demoscene thing is only for ninjas".[/quote]
funny, I have recently turned 19, and I remember when I was 15 - 16 and when I saw Heaven 7 or The Popular Demo my reaction was: "Maybe not now, but fuck it, I can do better than this!"

I don't think being crushed by the giants is a major problem, or maybe it is. I mean sure, there are people afraid of being beaten and there are people who get a hard on when somebody they find attractive hits them. It really is like that, I think I just love competition, and seriously nobody should fear the giants, sure they can drop bombs like Lifeforce and Debris every now and then, but screw them, just try harder and one day you will top them.
added on the 2009-08-14 13:02:15 by decipher decipher
I've never been afraid of technical prowess, what I'm afraid is that somebody manages to present an idea I've been toying around with myself!
added on the 2009-08-14 13:07:31 by visy visy
(before I get the chance to explore it first, that is.)
added on the 2009-08-14 13:07:50 by visy visy
@viznut/pwp: You have the point. Young programmers uses sandboxes languages because it provides an easy access point to graphics/sound. I learned (graphics) programming with qbasic/Turbo Pascal despite it was obviously aged back in 2002.
added on the 2009-08-14 13:08:15 by ponce ponce
Quote:
- learn how to work with deadlines (this is just awsome)

You could teach me that since I haven't learned it yet.
added on the 2009-08-14 13:10:30 by waffle waffle
In all fairness, I can see how some high quality productions put people off. Sometimes I get the creeps by just thinking of the sheer amount of time and effort that has been put into something. Maybe if you're still young and full of whatever you want to call it it's different, but as you get older time and effort start to become scarce resources. Not for all of us, but for me it did turn out that way.

That doesn't stop me from having fun with my demo project every now and then though, even though a release date is not in sight. Not by far :)

The bottom line is that things are hard and take effort. And they've always been hard. Now back to quoting Preacher..


Quote:

No it's not. Sure, it might be easier to put a couple of polygons on the screen, but it's much harder to put ANYTHING on the screen. Back in the DOS age you could just rip the magical

asm mov ax, 13h
asm int 10h

bit from somewhere and then you could rip your putpixel from somewhere (probably the same place)
and start doing stuff even if you didn't know what a pointer of a for-loop was.


Lets be fair, that is not how "easy" it was. The focus/scope of things has shifted a lot though. I might've been a bit quick with my assumption that things are actually easier, that popped up in my mind because of the wealth of information you can find with a "flick of the Google" these days. That was different back then.


Quote:

Most sample source code was in one file and you could rip that stuff easily without even understanding what it was, or learn by modifying the numbers and seeing what would happen.


You still very well can -- especially with shader effects.

Quote:

Nowadays you have to mess around with compiler settings, get proper libraries to link with your code, create windows and devices, set up projection matrices, vertex buffers and all
that.


Not really, just adopt a OGL or D3D example.

Quote:

For the latest APIs you even need to write a pair of shaders, because there is no more fixed pipeline functionality. If you're in an university and know what a matrix is and you've been programming before, that's not that big a deal. But if you're a fledgling junior high-school student who's never done any programming whatsoever but want to check out how these cool demo things are made, it's hopeless.


Mathematically the ante has been upped, that's true.

End of the day things are not hopeless. It's just hard and takes a lot of effort to actually get somewhere and/or teach yourself something useful. Perhaps I was a bit too quick with my conclusion, because effort still is effort. Be it 1995 or 2009.
added on the 2009-08-14 13:24:36 by superplek superplek
I heavily agree on what viznut said regarding simple programming environments and the current era of huge and complex APIs.
In the 90s you just fired up WatcomC, switched to mode13h and could start with first steps like fire effect, plasmas, 2d bump, tunnels etc. to learn the basics. After some time you are familiar with the compiler, the language and basics of democoding, so you could take the next step of looking into libraries for VESA, music playback etc.

Today, you need to download SDKs, libraries, read lots of API documentation, and write tons of boilerplate code just to open a simple window (yes, you can just copy-and-paste, but still you have lots of strange code filling your screen..)
added on the 2009-08-14 13:25:34 by arm1n arm1n
plek: I don't see how being able to find everything on google helps in reducing complexity/amount of code to deal with..
added on the 2009-08-14 13:28:30 by arm1n arm1n
jar: but (as i said before) - its not like people arent programming anymore. a lot of people are programming graphics but they hang out on places like gamedev.net instead or write blogs with their coding efforts on. those people have already overcome the basic problems of starting gfx programming, they just need to find the scene.

i started coding graphics because i wanted to make games, not demos. demos just sortof happened. there's nothing wrong with letting some other scene teach kids the basics and provide the motivation to learn them - we just need to poach them when they get more able. :)

the key part to outreach is in making the scene exciting for people to join in with - through impressive, even amazing, releases - and make sure the visibility for the scene is there on common graphics programming sites and blogs to pull those people in further. why isnt there more demoscene info on gamedev.net, devmaster and so on, for example? i know a lot of us frequent those sites. iq's stuff (his 4ks and procedural gfx posted on gamedev.net, and his blog+sites) has been about the best outreach we've had in years.
added on the 2009-08-14 13:33:43 by smash smash
smash: ah, now i get it. ok makes sense :-)
added on the 2009-08-14 13:38:17 by arm1n arm1n
Quote:
Today, you need to download SDKs, libraries, read lots of API documentation, and write tons of boilerplate code just to open a simple window (yes, you can just copy-and-paste, but still you have lots of strange code filling your screen..)


You need to install Visual Studio and download the DirectX SDK, to be exact. That's not *so* bad. I agree that it all seems a bit more cumbersome than 2 lines of assembler but in the end it is all part of a system much more complex than it was in the past. Has it's pros and cons I guess.

Apart from that I'm just gonna second Smash. The community is actually huge when it comes to graphics programming, but it's not just the demoscene anymore.
added on the 2009-08-14 13:44:12 by superplek superplek
About code being harder now: I'd say yes and no. If you're jumping in at the deep end, yeah, it's a ton of work to create an opengl/dx context, set up shaders etc. compared to just drawing straight to screen. Tons of hard reading of API docs too. I'd say that's much harder (but much more powerful when you get your head round it).

On the other hand, there are tools for doing this kind of stuff that make it much easier. There's processing, vvvv, quartz composer, and others. They take the initial pain away, and let you get straight to learning how modern techniques work, write shaders etc. When you've mastered that, you want more and start writing plugins, or perhaps your own tools, and you then get into the deep end of it all. This is pretty much how I got into coding.

And following on from what smash said about there being tons of people out there doing very demo related stuff but not quite being in the scene - there's a ton more doing really cool stuff with all of these tools, with really good design and code. A pretty much perfect place for outreach I'd say.
added on the 2009-08-14 13:47:14 by psonice psonice
Quote:
Lets be fair, that is not how "easy" it was. The focus/scope of things has shifted a lot though. I might've been a bit quick with my assumption that things are actually easier, that popped up in my mind because of the wealth of information you can find with a "flick of the Google" these days. That was different back then.


With google you'll end up in places that go way over the head of someone who's starting programming. No matter how you put it, getting something simple done nowadays is a lot more hassle then back then.

Quote:
Not really, just adopt a OGL or D3D example.


That's a lot more code than it used to be and a lot more places to go wrong.

Your points are valid but my point, which is that nowadays there's a lot more moving parts than there used to be, is also valid. And, if we're talking about an absolute beginner, those moving parts are just as much if not more a challenge than . Back then, programming used to be "wcc myprogram.cpp" and you'd have your executable. Nowadays it's not that.
added on the 2009-08-14 13:47:38 by Preacher Preacher
Guess it depends on the aspiring programmer as well. I did *not* have a very pragmatic take on things when I started coding for Windows -- one of the first things I took on was writing a f*cking DirectDraw wrapper. More sensible people would've downloaded OpenPTC..

Lots of moving parts - gets harder to ignore the ones you don't need "for now" :)
added on the 2009-08-14 13:57:04 by superplek superplek
Quote:
As a coder the first reaction you get when watching a big demo is "Wow ! I will never be able to do that. This whole demoscene thing is only for ninjas".

Granted, I'm not a coder, but my beginnings in the demoscene was the exact opposite: I saw things that were amazing and went "Wow! I want to know more about this!"
added on the 2009-08-14 14:58:31 by gloom gloom
I guess that if you have a coder background it can be overwhelming, depending on your experience/knowledge. Also, perfectionism is something that has the potential to do more harm than good to those who aspire to actually sit down and make something.
added on the 2009-08-14 15:08:53 by superplek superplek
Plek: I guess it's sort of ironic that the way to make the massive demos appear less frightning for coders is to lift the curtain and expose the "magic" for the series of little cheats they all are. :)
added on the 2009-08-14 15:15:41 by gloom gloom
and its fun - i'd like to see more of that.
added on the 2009-08-14 15:16:38 by superplek superplek
I remember we used to disassemble and debug demos to figure them out.. this kind of exploration I don't know how I would do it nowadays.

Are there GPU debuggers that could let you trace calls and figure things out of an executable you haven't compiled yourself?
added on the 2009-08-14 15:28:58 by _-_-__ _-_-__
Knos: that was back in the days when the demoscene was AHEAD technically speaking, which is not the case anymore nowadays.

You can find much better technology than what the demoscene produces almost anywhere: interweb tutorials, research papers and especially videogames (even if it hurts the feeling of some, it's true).
added on the 2009-08-14 15:42:40 by keops keops
(feelingS)
added on the 2009-08-14 15:46:31 by keops keops

login