We don’t really have one musician we regularly work with for demos, so the soundtrack is always a difficult problem for us. 🙂 We have some friends we can ask, but often we just hear a track by someone we have some connection to – maybe something has been sent to us, or maybe we hear it on e.g. soundcloud or bandcamp. The music is critical for the demo and it’s very important to get it right.
If we do not have a soundtrack in place at the start it means one is being made as we do the visuals. That can be good because we can get soundtrack changes (e.g. “it’s 1 minute too long! Remove some of it!”) but it also means we dont know the full track until quite late. I find the best way to make a demo is to be guided by the soundtrack. The mood and direction of the visuals has to fit with the music as closely as possible.
What about the title? When do you decide it?
The title is often one of the last things to be decided unless something very clear has been in place from early on. Some of our titles are not very inspired. 🙂 Internet anagram generator has been used to decide titles a couple of times..
…WHAT? that’s kind of hard to believe though… 🙂 well, will you explain to us your demo-making process and where do you get your inspiration for the work?
When it comes to making a demo, firstly, we (maybe just me, or Destop + myself together) make the decision to do a demo at all. This is almost always with a release target date in mind and the decision is usually taken around 1-2 months before this date. We usually aim for a demo at Easter for Revision/Breakpoint/The Gathering and in the summer for Assembly. Sometimes we achieve only one of those, sometimes neither. 🙂
We first look at what we’ve been interested in or working on recently. Often this is some technology / fx, but sometimes it’s an art creation technique like a certain way of modelling or animating things. We work out what can work as “a demo”. We also think about reference videos we’ve seen or ideas we’ve had. We always look outside of the demoscene for ideas – sometimes musicvideos, art pieces, something on vimeo or behance.net etc etc.
Your works are very popular among sceners (and beyond). Is there any secret for that? Or is there anything you particularly care about when you make demo?
I think an emotional connection with the audience is often the key deciding factor between whether a demo is good/impressive/competent, and a demo being a classic that people love. It’s hard to know exactly what it is that hits that connection but when it happens it makes a demo a lot more than the sum of its parts. We achieved it with “Numb Res” and with “Agenda Circling Forth” I think, and that’s what made those demos so huge.
“Agenda Circling Forth” by Fairlight & CNCD
In comparison we’ve had demos that never quite hit that connection even though the parts they are made up of were far superior in many respects. In a demo that emotional connection is often achieved through the tightness of the connection between the visuals and the music, and I guess there’s no coincidence that those two demos were made when we first found a soundtrack and then interpreted it and created a demo around it.
That’s really interesting. I personally feel that your demo never made the music “BGM” or “supporting cast”… While we are on the music subject, let me ask a question out of curiosity. If the copyright or licensing was not an issue, is there any music/song you would like to use for your demo? (I mean.. it could be Bach to Madonna.)
Well I guess that depends on the demo I want to do at any time. For every demo I’ve done (when started without a track ready) there’s been a soundtrack in my head that i’d ideally love to have. E.g. for my last demo, “Apocalypse When”, it was Leftfield – “Phat Planet”.
“Apocalypse When” by Fairlight
This is very dramatic.. the visuals, the music… Thought it was an opening for the movie 🙂
A demo should rise and fall, it should have certain high points and calm points. In fact I’ve heard demo design is a simple formula – you need 3 big high points, one near the start after a slow intro, one in the middle, one near the end with some slow cooldown after – balanced, and paced correctly so people build up anticipation and are able to feel the full effect. The music has to go with that.
If you hit a high point in the visuals with a big moment in the track they connect together and it’s fireworks. If you get it wrong, if the music is calm when the demo is fast and the demo is calm when the music goes big, you totally lose the connection. But the music needs that rise and fall and it needs to be memorable and engaging just like the visuals do. For that reason I always favoured using an actual “song”, not a background soundtrack / soundscape, but at the same time the song has to be appropriate for demo design with enough colour and variation to work.
For me the ideal demo soundtrack (for a “big demo”, not some concept demo where the rules are out of the window 🙂 ) is memorable, has a strong hook, people remember it when they walk away, go away singing it, and they remember certain key moments in the track and how it connected with the visuals then. I really like using vocals in a demo for that reason. It’s all about that “connection” again, it pretty much automatically creates a memorable hook and it’s something people can grab onto when watching. It can be very hard to make a memorable hook without vocals. Perhaps you can say, vocals is like an instant shortcut to memorable. 🙂
I like punk/rock music and I’d love to do a demo with a soundtrack in that genre, although it’d be very hard to achieve.. maybe one day I’ll get to do a music video to something like that. 🙂 I always wanted to use a 65daysofstatic track in a demo, I think it’d work great.
Well, if there’s anyone reading this who’s involved with 65daysofstatic, take note. 🙂 Unfortunately I won’t be able to understand.. but here’s one for readers who makes demo…) What program do you use to make demo? Do you create your own tool?
We have a demo tool which is central to everything we do. This is something we have developed and redeveloped since the early 2000s but the current version has been around since 2007 and the interface hasn’t changed too much since. It works a bit like AfterEffects, eyeOn Fusion or similar but all realtime, and enables an artist working alone to make a demo – although that is not something that ever happens. It does mean that the work can be divided more sensibly: a coder can do new effects and code, the artist can tweak everything, make cameras, add the graphics, fix the colours, do the design work; and importantly they can collaborate in the middle and both work on the production together. Even if i work alone on a demo I use the tool because it’s such a better place to design things than by hand in code.
We have used the same tool to make everything : every demo we’ve made since the mid 2000s; every 64k we’ve made since the mid 2000s; 2 issues of Zine diskmag; various interactive installations and projection mapping projects; some particle simulations exported for renders; and a couple of music videos. Our tool is hugely flexible. (*note/update: This demotool was later released as “notch”)
Where do you usually make demo? Do you do anything particular while making demo… like listening to music, drinking beer, coding in the darkness…?
I don’t have a huge amount of free time, so demo making happens where ever there is time for it to happen: coding on the train, at lunchtimes at work, evenings / nights / weekends at home, sometimes late at the office, on the plane on a long flight, at a coffee shop, etc etc. Increasingly I work on a laptop. The framerate sucks but the flexibility of location is great..
I usually listen to music while working, drink quite a bit of coffee and diet coke, but I save the beer+demomaking for very rare demoparty coding. 🙂 I’m quite good at working with distraction tho, i don’t need a dark or quiet place to work. If anything I like working on a train because there is no Internet (a big distraction), and because you only have a fixed amount of time: you pick a task that you do in an hour and you go do it. It’s easy to be focused for a short amount of time. I find focusing for a very long time quite hard, I get bored and distracted and work less efficiently. For just an hour I can be very focused and efficient.
Hmm, train coding. 🙂 By the way, visuals/effects of your demo often look very real rather than super abstract.. Is there any reason behind this choice?
Here’s the thing with reality: people understand it and that makes it such a powerful tool. Example: If I make a big abstract blob, nobody knows how “big” it is. It could be huge or it could be tiny. It’s hard to make sense of it. But if I put that blob next to a building, then everyone knows how big it is through the reference point. Now it’s not just an abstract blob, it’s this thing taking over a street.. 🙂 Twisting and deforming reality and perception is something many of my demos do. I find it fascinating. Simple things like making smoke form into letters; complicated things like blowing a building into particles.
I think an element of reality is really useful to get a connection with your audience especially outside the demoscene (who is used to cubes and glow and so on – maybe for a demoscener these already form some kind of “reality”). E.g. even if I make something completely generated and abstract I still try to make the shading realistic. I hate the “typical realtime graphics” look, flat and ugly, and I try and get away from it whenever possible.
And how do you make these things? Do you see the real thing first (or imagine in your head) and try to replicate with program?
When coming up with some new effect I often watch a lot of reference material, both real things and (sometimes more useful) videos of e.g. offline renders of what I’m trying to do. My usual aim with an effect is to go beyond what has been done in realtime before, and the next step is offline rendering. I like to see what compromises and shortcuts they have made to still get the essence of it but more cheaply, so this reference is very useful. I read research papers if relevant too. Always google first.. 🙂 After that it becomes a feedback loop – you make something and compare it with how you wanted it to look.
I’ve seen you’re often referred to as one of the best coders in the scene. (I even heard you’re asked for an autograph at Japanese event!) So, taking this great opportunity, allow me to throw some questions related to coding… (since I don’t code, I’m sorry if some of them sound stupid..)
What’s the most difficult part of coding?
The most difficult part of coding is probably, hmm.. firstly the deadlines / time pressure, there is never enough time to go as far as you wanted. A bug can come up that kills you for a few hours when you most needed the time. But actually I think the hardest part of coding is the artistic side and the maths side of what you are trying to make, not the code itself. Code is code, after a certain point you know enough to write what it is you want. It’s working out what to do and how to achieve it that is the hard part, not coding it.
I am not amazing at maths – I’m passably good but no maths genius, I often struggle to understand the huge equations in research papers etc. I can understand things when I see an implementation. Often I find it easier to just make my own thing from the high level explanation rather than try and understand the research paper in detail. So perhaps for me maths is the hardest part of coding. 🙂
So, artistic quality and math skill…
Inspiration, coming up with new ideas, can be hard sometimes. Also I think one major difficult thing is to find that thing to make which is hard and new, but not _impossible_. It’s very easy to code something great and new that doesn’t quite run fast enough for example. It doesn’t matter how clever and new and cool it is for a demo if it runs at 1 fps. There is always a fine line that has to be waked. If it doesn’t stretch things at all, it runs comfortably at 200 fps, it’s probably too simple and easy – why bother doing it? Yet if it’s too advanced and heavy for the current state of the art you are pushing too far. You have to find clever tricks and approximations but then some approximations destroy the effect. This balance is hard to achieve. You have to pick your battles wisely. There were effects I thought of years ago that are only just now reaching practicality.. 🙂
And what do you do when you feel stuck?
The good thing with coding is there is always 100 things that need to be done and many of them are “0 inspiration” tasks that just take time and work. If you lack inspiration for effect coding go work on the tool, fix some bugs, improve the GUI etc. Often all that is needed is walking away from a problem for a while and when you come back it solves itself. 🙂
Sometimes I have walked away from an effect for a long time – months – until I found the solution by working on something else, and the solution worked on the old problem too. Code is great like this. Everything is interlinked especially in graphics coding. The things you learn on the first day, the first year and all the times inbetween are still important and still keep coming up years later.
E.g. Software rendering tricks from 15 years ago that now are useful on modern programmable GPUs. The knowledge you have is built, it accumulates. Of course the flip side of that is it takes years to build up the experience needed, but you can still do a lot from relatively little knowledge.
Ok, then what is the best part or fun part of coding?
I think of graphics coding like having a huge toolbox of tricks, techniques, algorithms. When you come to a new problem or effect to make, you look in your box and pick some of the tools you already have and put them together to solve the problem. Many “new” effects are a combination of techniques and tricks you already had combined in a new way.
Sometimes you come up with a new technique for the toolbox, and those can be very exciting times because suddenly a lot of old problems you didn’t have the tools to solve can now be solved. E.g. this year I managed to create a raytracer (shown in the demo “5 Faces“) that was fast, realtime, and could handle complex animated polygon meshes. This was huge because a lot of problems that needed to be solved with a raytracer could suddenly be done that couldn’t before. I’m even now looking back over ideas I had years ago and thinking “now finally I can do this..”. Moving to DirectX11 was another big eye opener and a big game changer. I think those are the best times: the time you come up with something really _new_ – that you know nobody has done or seen before, and it opens up whole new possibilities.
“5 faces” by Fairlight & Cloudkicker
In your opinion, what is the definition of “good code”? (demowise and workwise… or in general..)
Well that’s an open question. 🙂 In my mind good code is simple, readable, does the job efficiently, is stable and robust. Fancy tricks and being too clever is overrated. 🙂
Really. I always imagined the opposite 😀 Then what is required to be a good coder?
I think good coders, especially good graphics/demo coders, are often very smart people (and this is not just because I’m biased.. 🙂 ). All coding is about problem solving and a good coder is a good problem solver. Graphics coding and demo coding is about problem solving in a constrained environment (I mean the limits of realtime graphics here.. this is always a challenge even on the fastest PC) – time/resources constrained, small team etc, as well as performance / technically constrained, while still trying to make something appear magical and amazing, to make the unreal seem real. 🙂 This requires a lot of quick lateral thinking, inventiveness, ingenuity, clarity of thought, cutting through the situation to break the problem down into small parts.
And then here’s the twist: a good coder has to be able to work with people. To get people from different disciplines to work with them, to get them to understand your problems and you to understand them. But a great demo coder has to be able to get these other people to put in all this hard work .. for free. And then to lead the project, manage all these people who have nothing forcing them to do it – you aren’t paying them or giving them anything at all back, they have many other things they could do instead, they will only do things with you if they feel like they _want_ to do something with you. That requires people skills, leadership, even charm. 🙂 So a great demo/graphics coder is a clever person, but also a clever people-person. 🙂
Another thing that makes a coder in this line of work good is their own ability in other disciplines. A great demo/graphics coder is a good artist too. A coder that can only code and has no vision outside of the code is not a good coder, not in the practical sense. A demo coder needs to be well rounded. They have to do things on their own that in another environment – a games team etc – there would be separate individual people doing. From doing 64ks in particular I learnt a lot of different things – things about the system, coding for Windows itself, about tools programming and design, procedural generation of content, animation, compilers, baking lights, audio programming, making a synth / VST, compression, UV generation, texturing, direction, modelling .. you get a lot of experience in many different areas.
Sounds like a school..:) Ok, let’s go back to demo… and here comes the classic question. Your favorite demo, memorable demo, demo that changed your life… anything… tell us a demo which is special to you.
Let’s see.. the demo that first made me go “wow” and want to do this myself, I guess it was “Paper” (video) by Psychic Link & Acme, when the scene transforms from sketch to painting. I also love “Square” (video) by Pulse and “303” (video) by Acme. These Statix demos from the 90s were what defined demos for me then and maybe still today: the combination of artistic and technical amazingness. Another demo I love is the Moppi Productions “Assembly 2004 invite” (video). Something small yet perfected.
These are fun and I guess they have a bit of “street” taste in it.. I often feel this type of playful spirit in your work too 🙂 So obviously, you’ve been in the demoscene for quite a long time… What does demoscene/demo mean to you? Why do you make demo?
Haha, why.. why on earth. Sometimes I don’t know. Why spend so much of your life making something so pointless, only to release it to an audience of computer geeks who demands more and is never happy with what you do? Why use lots of technical skills etc for 0 financial return? I think the answer is: because I like making demos. (but not always releasing them. I get so sick of the responses on pouet etc to demo releases and it makes me not want to release at all.) Making a demo is the only time we are truly free. We are doing it for fun, for 0 reward, and for ourselves only. Nobody can tell us during development that “they want the sky more blue” or “it’s a bit dull, what if we add robots” (yes, an external producer once said that about a game I worked on.. 🙂 ). We are in complete control and we can do whatever we want. We get to work with great talented people all doing it for the same reason – to do something cool for fun because they can, and to be part of something cool. If we fail to release, we are upset with ourselves but that’s the only consequence. If we release something not completely perfect nobody can get their money back if they don’t like it (although some seem to ask it :)), it’s done and over, move on to the next. And if it’s great, we can feel proud we did something great. This is why I do demos: the freedom and the experience of making them.
The encounter with demoscene has changed you or your life in any way?
It has for sure. Making my first 64k got me my first job in games back in 2001 and played a big part in getting every job I’ve had since. It’s opened many doors for me. Being in the demoscene (I mean as an active part of it not just watching demos on pouet 🙂 ) is like being part of a global secret society, there’s a line of respect there. There’s a lot of great people involved with it. Ive made a lot of good friends from the demoscene from all over the world, travelled a load of places, met a lot of interesting people, had some cool rock and roll experiences. 🙂 So yea, the demoscene has definitely changed or helped direct my life. To be honest I’ve been in this scene since I was 14, so it’s hard to say how things would have gone down without it.
14yrs old? I believe that’s more than half of your life! 🙂 You must have witnessed the history of demoscene, or rather, you’re part of its history.. 🙂
The world is changing though. The demoscene is becoming more and more detached from the rest of the world. The demoscene is looking backwards all the time at its past – oldschool platforms, perverse size limitations, old styles, nostalgia is a part of many demoscene productions in some way. The rest of the world is taking on our own medium, the medium we invented – realtime graphics used for art’s sake – and they are starting to do it better than us. They have the freedom and excitement to do more than we try to. We need to learn from this. The demoscene needs to move forward. The problem is that many involved in it just don’t want to – they want to stay where the scene was in the 90s, what it meant to them when they were a kid, and preserve it like that. The scene is its own biggest obstacle to growing and changing. Things can’t stay the same forever.
So, what do you expect the future demoscene to be?
It’s hard to say what the future of the demoscene holds because it really depends on the effort people are willing to put in. There is a long debate being had about this. For me I hope that the future of the demoscene involves creative coders and artists doing stuff with the latest modern hardware, pushing forward the world of realtime effects.
Ok, how about personally? Is there any type of demo that you want to make in the future?
I’d like to make smaller demos but more of them. It’s getting too hard to find the energy to make a massive 6 minute demo with 10 parts, and maybe it’s not even right for today’s audience. Sceners like it, but people outside the scene watch and think “why is it all random parts, i don’t get it? no coherence”. I’d rather make something cool at 2 minutes with 1 good idea worked through.
Mmm… can’t wait to see that 🙂 Finally, your message for demosceners and demo fans out there please.
Go and make something. If you want a demoscene to exist in future years it’s up to you.
Though some of my questions are quite vague, Smash has answered all my questions and generously shared his knowledge! Thank you so much for your patience and everything, Smash!
If you want to see more of his work, be sure to check his blog “direct to video” and Fairlight’s demo-graphy on Pouet. On his blog, he shares very detailed thought and technique for demo, and some behind-the-scene notes… (and on Displayhack too). He also shares some Fairlight’s demo technique on AssemblyTV, so if you’re tech-savvy (or not) you’d better check it 🙂
Thank you very much for reading this till end!! 🙂
In case you’re wondering what “demo” or “demoscene” is, better check out the well-made documentary called Moleman2. (and the director, M. Szilárd Matusik’s interview can be read in here.)
#1: q from nonoil/gorakubu is here.
#2: Gargaj from Conspiracy, Ümlaüt Design is here.
#3: Preacher from Brainstorm, Traction is here.
#4: Zavie from Ctrl-Alt-Test is here.
#5: Smash from Fairlight is here.
#6: Gloom from Excess, Dead Roman is here.
#7: kioku from System K is here.
#8: kb from Farbrausch is here.
#9: iq from RGBA is here.
#10: Navis from Andromeda Software Development is here.
#11: Pixtur from Still, LKCC is here.
#12: Cryptic from Approximate is here.
#13: 0x4015 aka Yosshin is here.
#14: Flopine from Cookie Collective is here.
#15: noby from Epoch, Prismbeings is here.
– Why I’m interested in demoscene is explained in this article. And for some of my other posts related to “demo and “demoscene” culture is here.