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.
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”.
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.
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 :D 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: Interview with Demoscener: q from nonoil/gorakubu is here.
#2: Interview with Demoscener: Gargaj from Conspiracy, Ümlaüt Design is here.
#3: Interview with Demoscener: Preacher from Brainstorm, Traction is here.
#4: Interview with Demoscener: Zavie from Ctrl-Alt-Test is here.
- For some of my posts related to “demo and “demoscene” culture is here.