2013/10/29

Random Notes: Oct 28, 2013

Meet my baby birds, Goma (sesame) and Fuyu (winter). When I got them from the shop, they were so tiny that I hesitate to take photos. But 2weeks later, they have fluffy feathers and can fly.

Fuyu (left), Goma (right) still with baby feathers


There has been almost always a bird in my life. It took some years to recover from the previous loss, but finally feel ready to welcome new generation. Sure, it’s scary to imagine that bitter feeling may come again, but their warmth, lightness, sleepy smell, cute tweet… it’s priceless. It is priceless yo.


Programmers/Translators: [Already read this?] Hmm, I guess there are definitely some similarities between the two, but so far my impression is like we’re sitting on the same chair but looking at the opposite direction… and I guess that’s why it’s interesting to know what they see. But well, I don’t know.. I may have better view on this later...



It’s been a year since I released Japanese subtitle for Moleman2. What happened between then and now, is something I still cannot believe. Demoscene… what have you done to me.. (LOL) no no, I mean, I truly appreciate all the guests who accepted to answer, and readers out there who encouraged me… (and I hope you will put up with me for a little bit more..)

(btw, Japanese subtitle has very specific rules. For example, 4 characters for 1 second. It’s almost impossible to replace all the words in that rule, so we need to hack. I guess that’s close to “intro”, non?)

Oh hey, did you know that we have only 2 months left before the new year comes???


2013/10/24

わが家に文鳥がやって来ました

本日1024日は「手にしあわせ(1024)」で文鳥の日だそうです。

そんなわけで、、今日はわが家の文鳥を紹介したいと思います・・・。

先代の文鳥がいなくなってからの数年間、寂しさを抱えつつTwitterBuncho.inで人様の家の文鳥を眺めさせていただいていたわけですが、そろそろかしら、、と心の準備ができたところで今月、突然のご縁に恵まれました。


これはうちに来て数日後のようす

桜文鳥のごまちゃんと白文鳥のふゆちゃんです。

高崎市の小鳥町という、鳥好きなら“住んでみたい名前の町ランキング1位”になりそうな場所のことり屋さんからやって来ました。(生まれは愛知みたいですが)

生後2週間で家にきたので、最初はあまりの小ささにビビり、、文鳥好きとはいえ、まだお世辞にもカワイイとは言えないくらいの生まれたて感がありました。が、あっ!という間に大きくなり、2週間経った今は飛ぶわ暴れるわで挿し餌タイムは大騒ぎ・・。写真も全然撮れない・・・。

もうかなりでかい!ごまちゃん(桜)は独り言が多いので、もしかしたら男の子かなぁ、、


この子たちは、わが家の文鳥さん3代目。
初代の白文鳥2羽、先代のシナモン文鳥1羽、、3羽とも個性が豊かな鳥で、みんな10年以上のお付き合いがありました。 新しく家にやって来た「ごまふゆ」とも、そっと触れ合いながら日々を重ねていけたらいいなと思っています。

手にしあわせダブル


いやぁ、、でも、分かってたけど、やっぱり文鳥は可愛い!早くも親バカ全開・・・。手の中でモフモフしだした今は、、「あぁ!このしあわせが手に!」を毎日かみしめているところ・・・。


2013/10/18

Interview with Demoscener – Smash (Fairlight)



“Programmers and translators are doing similar things; they are both translating one language into another.” Once, I was told so by Japanese engineer. And I guess that was the start of getting interested in programmers/coders; what they do and who they are. (I thought we have nothing common except we both use keybord a lot :) Translators translate one human language and culture (and more) into another, and Programmers translate human language and notion (and more) into what machine can understand - code?? But then what happens if they want to translate imagery on his/her head into the one on screen?? (that’s what demo is about, right?)

This time, I interviewed Smash from Fairlight, who’s been in demoscene for long time and who’s often referred to as “one of the best coders in demoscene”. He's making quite eclectic demos; pop to sentimental with gorgeous visuals, but did you know he started his demoscene year as musician? In this interview, I asked him about this transition, how he works, some secrets around popular demos, and yes, I pitched some questions about programming/coding… And he answered them all.

It’s long but it’s definitely worth reading… 
Savor every words… :)  (I did! :)


Update: You can read this in Russian now! Big thanks to gravisus!


--------------------------------------------------------------------


First of all, could you please introduce yourself briefly?


Photo by smash

My name is Matt Swoboda, also known in the demoscene as Smash. I'm currently a member of Fairlight where I serve as a coder.


Let me start from where it all begins… When was the first time you used a computer?

I was quite a slow starter with computers I guess because we didn't have a computer at home until I was 10 and even then it was some obscure business computer my dad had for some IT work from home. I had used a BBC Micro in school before that but nothing regular. It wasn't until I was 12 that we got a PC.


What type of child you were? You always liked to create something… obsessed with videogames or dinosaur…?

I think I was quite a creative child, I was always playing with LEGO etc. but I wasn’t any good at drawing, musical instruments or anything. Was good at school, but maybe a bit lazy. :)


:) Ok, then when and how did you find demoscene? What motivated you to join in?

I had seen a couple of demos and cracktros before on my friend's Amiga or at school without knowing what it was, but my first demoscene discovery for myself was via computer magazine cover CDs (PC Format magazine it was) sometime in 1993-4. They had some demos on there like “Second Reality”, and they also had a big load of .mods and some tracker software.

At first I was interested in coding, I had some crazy idea about making games and was messing about in basic on an Acorn Archimedes at school or in QBasic at home trying to understand what was going on. Then I thought, I'm going to need some music for my "game" so I had a look at this tracker software and started trying to make my own tracks.

I listened to a lot of mods and read all the sample text the musicians had written and it got me interested in this scene that was going on out there. In 1994-5 we got the internet at home and sometime after that I discovered IRC, #trax and the tracking music scene.


Did you actually make the game that you wanted to?

No, making music was (at the time) more interesting so I completely gave up trying to code for a few years. I've done a few games professionally since.. maybe one day I'll try and make my own again. :)


That must be fun :) …so you were into music back then, and I’ve seen your name credited as musician in 90s work. But now… I guess you’re decidedly a coder.. Something happened along the way? Will you tell us about this transition?

My first exposure to the demo scene was the tracking scene, and I didn't really know much about demos themselves for a while. I was just tracking songs, putting them on the internet on the Hornet Archive and talking to people on #trax, joining competitions there and so on. I joined some music groups like NOISE and Theralite. #trax was quite heavily dominated by non-Europeans - guys from the USA, Canada and Australia for example who were less involved in the demo side than the Europeans probably were so I wasn't that exposed to it at first but I slowly started to be more aware of the demoscene and watched more demos.

As I got better at tracking I actually started doing OK in compos - entering some demoparty music compos (via friends who entered for me), did some tracks for diskmags etc, and managed to get involved with some demogroups to try and do soundtracks for them. Nothing much came of it at first. Then through another musician friend I met the guys who were trying to revive Razor 1911's PC demo section and I joined them. I got a couple of tracks in demos, 64ks etc.

At some point I was a moderately successful demoscene musician. I got some songs on some actual physically released CDs like the Miasmah compilation, won a couple of music compos, got through preselection at some bigger demoparty compos like Assembly, had a couple of successful musicdisks, etc etc. I spent hours every day for like 3-4 years tracking songs in Fast Tracker 2. But I was never really amazing at it. I wasn't a natural musician I think - I got somewhere through some good ideas and lots of hard work, but not natural ability.

Several things changed for me when I went to university (in 1998 at age 18). Firstly I had the freedom (and my own money) to actually go to a demoparty - my first one being “Wired 98” in Belgium with a big bunch of UK sceners - so I started experiencing that side of things a lot more. I quit Razor and joined Fairlight in 2000 and we started getting a pretty nice team together. Around this time releasing tracked songs started the slow decline towards dying out, and people started making and releasing MP3s instead. I never really made the transition away from Fast Tracker 2 to some actual pro music software and I never achieved the quality that others could, so my interest waned. (That and getting a life and going out a lot at uni :) )

Then I started getting into coding. I had coded before that but I did a computer science degree so had to do Java and C. Somehow it just felt right for me. Natural. I actually enjoyed it. I made a networked 3d space shooter game for my final year project and learnt some OpenGL. Finally in 2001 after University finished I coded my first demo (64k actually). It was pretty terrible and hacked together and I barely knew what I was doing but it was a learning experience, it got me the democoding bug, and more importantly it got me my first job in games out of University as a graphics coder.

After that I was coding graphics full time professionally and in my own time making demos, so I got a lot better quickly, learning off the skilled experienced people around me and actually starting to understand what I was doing. I found I had no time for music anymore and realised: I had become a coder. :) I did at times make music for my own productions, usually intros, but I soon found it was far too time consuming to make both the music and graphics/code for one production. Much better to let someone else who’s more skilled and dedicated to do the music.


And certainly you have worked with/in various groups since then…

I think I should clear up the "various groups" thing.. I guess you are talking about the "collaborations" with CNCD, Orange and others .. well in truth it's not a group collaboration at all. It's just some friends who have been in the scene a long time who decide to make a demo together, and then throw their group names into the credits. :) Groups these days are kind of irrelevant to the production, they are just labels. For the past few years the Fairlight/CNCD demos have been made my myself and Destop/CNCD at the core, and then we bring in others to help for certain elements.






Really? Ok.. then, how do these collaborations start? Do you start with concept, effect, mood…?

I develop new fx / tech all the time, all year round. Normally I have some "big idea" that I end up spending some months developing, usually over the quiet period of autumn/winter. In the past it's been e.g. fluid dynamics, particle systems, realtime raytracing, volumetric rendering, meshing of signed distance fields, etc. At some point we decide to make a demo, usually for a big party like Revision/Breakpoint or Assembly, and then we try and push to make the new effects work well enough to form the basis of a demo. i.e. that they are solid enough, can be used in enough ways etc. So yes, you can say our demos are "technology-driven". For me a demo should be about the technology, the fx, the code at the heart of it. If a demo shows nothing that is technically cool, why do it? Why take the trouble to do it realtime etc if there's nothing to prove by doing so? Well there are reasons of course and no disrespect meant for those who just do it because they enjoy it, but for me the technical "coolness" is always an important part of the point of doing a demo.


“Technology-driven”… so, tech part is always first and foremost? You don’t create music first?

In an ideal world we would come up with an idea, then get the music that supports it, and then make the demo. But this rarely happens. I think when it does happen it leads to the best demos (we made e.g. "Agenda Circling Forth" (video), "Numb Res" (video) and "Blunderbuss" in this way and I think it shows). It makes the design more based on the music and flowing with the music.



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(videoby 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.



デモシーナー、Smashさん(Fairlight)にインタビュー


「プログラマーと翻訳者は似てますよね。両者とも1つの言語を別の言語に翻訳してるわけだから、、」 数年前に、とあるエンジニアの方に言われた言葉です。プログラマー/コーダーという職業やその内容について興味を持つようになったのは、これがきっかけだった気がします。(キーボードを使うということぐらいしか、共通点はないと思っていた…笑) 翻訳者は1つの人間の言語や文化(など)を別の言語に翻訳して、プログラマーは人間の言語や概念(など)を、機械が理解できる言葉、“コード”に翻訳する、、?? だけど、デモの作品のように、頭の中にあるイメージを画面に出したい時はどうするの…?深まる謎…。

さて、今回は、デモシーンで長く活動を続けていて、デモシーン内の「ベストコーダーの1人」としても知られる、FairlightSmashさんにインタビューをお願いしました。ポップなデモからセンチメンタルなものまで、様々なタイプのデモを生み出しているSmashさんですが、実はミュージシャンとしてデモシーンに入ったことをご存知ですか?インタビューでは、そんなミュージシャンからコーダーに転向した経緯や、Smashさんの作業方法、“人気のデモ”を作るための秘密、そして、、これはチャーンス!とばかりに、プログラミング/コーディングの質問もぶつけてみました。(プログラミング知識ゼロがベストコーダーに聞く!というのがテーマの質問です…苦笑)

少々長いですが(1万字インタビューならぬ、16000字!どどーん!)、一読も二読も読む価値アリ。
秋の夜長に、じっくりとお楽しみください!


--------------------------------------------------------------------


まずは簡単に自己紹介をお願いできますか?


Photo by smash


こんにちは、マット・スウォボダ(Matt Swoboda)です。デモシーンでは”Smash”として活動しています。今はFairlightというグループのコーダーをしています。


初めにルーツみたいなものからお聞きしたいのですが、初めてコンピューターに触れたのはいつ頃でしたか

コンピューターを使い始めたのは結構遅かったです。僕が10歳の時に初めて家にコンピューターが来たんですが、それも父親が仕事で使うビジネス用で、何だかよく分からないものだったんですよ。学校ではBBC Microを使ったこともありましたけど、日常的に使っていたわけではないので。だから、きちんとしたPCに触れたのは12歳の時ですね。


ちなみに、どんなお子さんだったのでしょう?物を作るのが好きだったり、ゲームや恐竜が好きだったりとか、、

いつもレゴで遊んでるような、なかなかクリエイティブな子どもだったと思いますよ。でも絵を描いたり楽器を弾いたりするのは苦手でしたね。学校の成績は良かったんですが、たぶんちょっと怠け者だったかな、、(笑)


なるほど(笑) では、デモシーンとの出会いと、参加しようと思ったきっかけを教えてください。

デモやクラックトロの作品自体は、前にも何度か学校や友達のAmigaで見たことがあったんです。でも、それが何なのかは知らずに見ていました。自分自身でデモシーンを見つけるきっかけになったのは、199394年頃のコンピューター雑誌(「PC Format Magazine」)に付いてきたCDですね。そのCDに、「Second Reality」みたいなデモとか、トラッカーソフト、あとすごい量の.mod形式の音楽が入っていたんです。


最初に興味を持ったのはプログラミングでした。自分でゲームにしてみたいアイデアがあったので、学校のAcorn Archimedesや自宅のQBasicBASICをいじっていたんですが、そのうちにゲームには音楽が必要だろう!と思うようになって・・。それでトラッカーソフトを出してきて、自分で作曲するようになったんです。

MODの音楽は、本当によく聞いていましたね。曲だけじゃなくて、作曲者が書いたサンプルテキストもすべて読んでいました。いったい何が起きているんだろう?って、このシーンの盛り上がりに興味を持ったのもこれがスタートでした。1994年か95年には自宅からインターネットに接続できる環境になったので、それからしばらくしてIRC#traxチャンネルとか、トラッキングシーンを見つけたんです。


ちなみに、“ゲームにしてみたいアイデア”っていうのは、実際にゲームにしたんでしょうか?


いえ、当時は音楽を作ることのほうが興味があったので、数年間はコーディングを全くしなかったんです。あれ以降、仕事としてゲームを作ったことは何度かありますけどね。いつかまた、自分でゲームを作ってみようとする日が来るかもしれませんね(笑)


楽しそうですね(笑) さて、お話を伺っていると作曲に興味があったとのことですが、実際、90年代の作品ではミュージシャンとして名前がクレジットされていますよね。でも、、今は完全なるコーダーです。何がきっかけで転向したのでしょう?このあたりの経緯を教えていただけますか?

デモシーンとの最初の接触は、トラッキングシーンを通してだったんです。でも、わりと長い間デモ自体については何も知らない状態でしたね。僕はただトラッカーで作曲をしていて、作ったものをネット(Hornet Archive)で公開したり、#traxチャンネルの人たちとチャットしたり、曲をコンポに出したりということをしていました。 NOISEとか Theraliteっていう音楽グループに参加してたこともありますね。#traxは、アメリカ、カナダ、オーストラリアといったヨーロッパ以外のユーザーが多数派を占めていて、デモの分野にはあまり関与していない人たちが集まっていたんです。だから僕も最初は何も知らなかったんですが、徐々にデモシーンの存在に気付くようになってきて、それからデモを見るようになりました。


トラッカーの使い方に慣れてくると、コンポでも少しずつ結果を残せるようになってきたんです。それで、友達に頼んでデモパーティーのミュージックコンポ(コンテストの音楽部門)に出してもらったり、ディスクマガジン(デモシーン関連のオンラインマガジン)なんかに曲を提供するようになりました。あとは、いくつかデモのグループと組んでサントラを作ったりもしましたね。最初はそれだけで、特にそこから何かが始まることもなかったんですけど、そのうちに知り合いのミュージシャンを通してRazor 1911PCモの部門を復活させようとしていた人たちと出会って、グループに参加することになりました。デモとか64K用の音楽をいくつか担当しましたね。

デモシーンのミュージシャンとして、そこそこ成功していた時期もあったんですよ。Miasmahのコンピレーションとか、実際のCDとしてリリースされたものも何曲かありますし、Assembly(フィンランドのデモパーティー)みたいな規模の大きいデモパーティーのコンポの予選に通過したり、コンポで賞をとったり、わりと評判の良いミュージックディスクもいくつか作りましたしね。毎日何時間もFast Tracker 2で作曲する生活が34年ぐらいは続いたでしょうか。でも、飛び抜けて良くできたってわけではないんです。思うに、僕はミュージシャンのタイプではなかったんでしょうね、、。アイデアと努力である程度まではいったけど、ミュージシャンとしての生まれつきの才能があったわけではなかったんです。

大学に進んだ後は、状況がいろいろと変わってきました。1998年、僕が18歳の時です。まず、自分で実際のデモパーティーに出かけていける自由とお金を手にしたことが大きかったですね。最初はベルギーで開催されたWired 98にイギリスのシーナーたちと参加して、それからはいろんなデモパーティーに行くようになりました。それと、2000年にRazor 1911をやめてFairlightにグループを移ったので、新しいチームと作業するようになったという変化もありました。この頃になると、トラッカーを使った音楽のリリース数はゆっくりと下降線をたどっていて、みなMP3に移行し始めていたんです。僕自身は、Fast Tracker 2からプロの音楽ソフトへの移行は果たせなかったですね。他の人たちが作るようなクオリティまで達することができなかったので、興味が薄れていったんです。(それと、大学生活を謳歌していた”という理由もあります(笑))

そのあとは、コーディングに熱中するようになりましたね。以前にもプログラムを組んだことはありましたけど、大学ではコンピューターサイエンスの専攻だったので、JavaとかCを勉強しないといけなかったんです。でも、しっくりきたんですよね。自分に合っているというか、自然に入ってきたんです。楽しんでやっていました。JavaCの他には、卒業制作でネットワーク型の3Dスペースシューティングゲームを作ったので、OpenGLも学びましたね。それで、大学を卒業した2001年に最初のデモ(64Kを作ったんです。出来栄えもひどいですし、自分でも何をやっているのかほとんど分かってなかったんですが、いい勉強にはなりました。おかげでデモコードのバグ取り”という貴重な体験ができただけでなく、グラフィックコーダーとしてゲーム業界にも就職できたんですから

就職してからは、仕事でグラフィックのコーディングをして家ではデモを作るという生活になったので、かなりの速さで上達していったと思います。スキルも経験もある人たちに囲まれていたおかげで、だんだんと自分のやってることが理解できるようになってきたんです。それで、もう音楽を作る時間はないなぁなんて思っていたら、いつの間にかコーダーになっていたんですよね!(笑) それでも、イントロとか自分の作品の音楽は時々作ってみたりしたんですけど、音楽とグラフィック/コードの両方をやるのは、あまりにも時間がかかりすぎると気付いてやめました。もっとスキルがあって、音楽制作に専念している人に任せたほうが、よっぽどいいですね。


たしかに、いろんなグループと組んで作業していますよね

まず、いろんなグループと組んでる”っていう部分は、はっきりさせておいたほうがいいかな。たぶんCNCDとかOrangeとのコラボレーション”を指しているんだと思いますが、あれはグループのコラボレーションではなくて、デモシーンで付き合いの長い友達とデモを作ったあとに、自分のグループ名を勝手にクレジットに入れてるだけなんですよ(笑) グループ名は最近あまり作品とは関係がなくて、ただのラベルとして使われていますね。ここ数年にリリースしたFairlight/CNCDのデモの場合、まずは僕とDestopCNCD)が中心になって作って、そのあとで、他の人に必要な部分を手伝ってもらっています。





そうだったんですか? では、こういったコラボレーションはどのようにスタートするのですか?まずコンセプトやエフェクト、ムードなどのアイデアがあって始まるものなのでしょうか?

僕は、新しいエフェクトとか技術を年がら年じゅう考えているような人間で、ビッグアイデアが浮かぶと、何ヶ月もかけて開発するタイプなんです。大抵は、秋とか冬の静かな季節ですね。過去には、流体力学、パーティクル・システム、リアルタイムレイトレーシング、ボリューメトリックレンダリング、SDF(符号付き距離場)のメッシングなんかに取り組んできました。いつもRevision/Breakpoint(ドイツのデモパーティー)Assemblyのような規模の大きいパーティーを目標にしてデモを作るんですが、作るぞ!と決めたら、まずは新しいエフェクトがデモのベースとしてうまく機能する方法から考えるんです。エフェクトがしっかり出ているか?効果的な形で使われているか?とか。だから僕たちの作るものは技術重視のデモと言えるかもしれませんね。僕にとってのデモは、作品の中核を成している技術やエフェクト、コードを見せることなんです。技術的に優れたものがなければデモを作る意味はないと思うし、その効果を証明できないのなら、わざわざリアルタイムでやる必要はないと感じているんです。もちろん、デモの作品を作ろうと思う動機や理由はいろいろあるだろうし、楽しいから作ってる”っていう人を否定するつもりはありませんよ。でも、僕個人にとっては常に、技術的な格好良さが、デモを作るときの重要なポイントですね。



技術重視のデモ、、、ということは、何はさておき技術的な部分を先に作るのでしょうか?音楽は後から入れるということですか?

まず最初にアイデアがあって、そのアイデアを後押しするような音楽をもらって、それからデモを作り始められれば理想的なんですけど、そんなことは滅多にありませんね、、。実際にこの順番で作れた場合は、ベストデモ”と呼ばれるようなものにつながるんじゃないでしょうか。(「Agenda Circling Forth」(動画)、「Numb Res」(動画)、「Blunderbuss」(動画はこの方法で作ったんですが、そういう結果になっているような気がします。) この順番で作るとデザインがより音楽に合ったものになりますし、(映像と音の)自然な流れができると思います。



ただ、いつも一緒に作業する決まったミュージシャンがいるわけではないので、デモのサントラはいつも悩みのタネなんですよ(笑) 友達に頼むこともありますが、大体は誰かが送ってきたものとか、soundcloudbandcampで聞いたものとか、何かしらのつながりがある人の曲を聞いて決めていますね。音楽はデモにとって決定的な要素なので、きちんとした作品にするには本当に重要なものなんです。


作業を始める段階で音楽が手元にない場合は、映像を作りながらサントラも作ることになります。この方法も音楽を編集(1分長いぞ!どこか削れ!”とか)できるので良い方法ではあるんですが、かなり後にならないと音の全体像が把握できないという難点もあります。一番良いのは、音楽に導かれるようにしてデモを作るという方法だと思いますね。映像の雰囲気や方向性が、音楽とできる限り近づかないといけないんです。


タイトルはどのタイミングで決めるのですか?

早い段階で何か明確に見えているものがある場合は別として、タイトルはいつも最後に決めていますね。ただ、僕たちの作品のタイトルには、あまり的確とは言えないようなものもあるかも(笑) ネットのアナグラム自動生成ツールを使ってタイトルを決めたことも何度かありますね


えっ?それはちょっと信じがたい気もしますけど、、(笑) では、もう少し具体的にデモの制作の流れを教えていただけますか?それと、どこから作品のインスピレーションを得ているのかも知りたいです。

デモを作る時は、僕たちの場合(といっても、僕か、僕とDestopなんですけど)、まずデモを作るか作らないか”を決めます。毎回ほぼ必ず目標としている日が頭の中にあって、その日の12ヵ月前あたりに決めるんです。大体いつも、Revision/Breakpoint/The Gathering(ノルウェーのデモパーティー)といったイースターの時期のデモパーティーと、夏のAssemblyを目指して作り始めますね。でも、どちらか片方にしか出せないこともあれば、両方出せない年もあります(笑)

まずは、最近興味を持っていることとか、取り組んでいることをチェックします。大概は技術とかエフェクトの話になるんですが、場合によってはモデリングの方法とかアニメーションの技法とか、作品の製作技術だったりすることもあります。それで、そこからデモとして成り立つものを模索するんです。あとは、自分の持っているアイデアとか、参考にした動画なんかを持ち込んで話し合いをしますね。アイデアはいつもデモシーン以外のところから見つけるようにしていて、ミュージックビデオとか、アート作品とか、vimeobehance.netなんかを参考にすることもあります。


あなたの作る作品は、デモシーナー(とそれ以外の人)の間ですごく人気がありますよね。何か“人気のデモを作る秘訣”のようなものがあるのでしょうか?もしくは、デモを作る時に特に気をつけていることなどありますか?

見ている人と感情的なつながりを築けるかどうかが、そのデモの良し悪しや印象、力量を判断する上での決定的な要素になると僕は考えていて、長く愛される作品となるかどうかも、そこにかかっていると思っています。でも、どうすればこのつながりを築くことができるのか。それを知るのは、とても難しいですね。うまく達成できれば、デモは“パーツのより集め”以上の存在になるんです。僕たちの場合、「Numb Res」と「Agenda Circling Forth」で、そういうつながりを築けたんじゃないかと思っていますね。だからこそ、あれほどの人気を得ることができたんだと思います。


逆に、いろんな面で(前述の2つのデモより)はるかに優れたパーツを使って構成しても、そういうつながりを築けなかった作品もありますね。デモの場合、この感情的なつながりは、映像と音楽の結びつきの強さによって生まれることが多いようです。さっきの2つのデモは、まず音楽を見つけて、その解釈に沿って作るという方法を採った作品なんですが、人気が出た理由は、このあたりにあるんじゃないかと思いますね。ただの偶然ではないと思いますよ。


すごく興味深いですね。個人的に、あなたのデモは音楽を絶対にBGMとか脇役にしないなと感じています、、。
では音楽の話題ついでにお聞きしますが、もしも、著作権とかライセンスの問題がなかったら、デモに使ってみたい音楽というのはありますか?(つまり、バッハでもマドンナでも何でも使えるとしたら、、、)

これはその時に作っているデモによりますね。音楽が手元にない状態で作り始めるときは、毎回頭の中に自分の理想とするサントラが流れていますね。たとえば、いちばん最近の「Apocalypse Whenだったら、Leftfieldの「Phat Planet」ですかね。





映像も音楽もすごくドラマチックなデモですね。最初に見た時、映画のオープニングかと思いました(笑)

デモには、盛り上がる部分と静かな部分を使って、波を作らないといけないんです。実際、デモの設計方法には、盛り上がる部分を3回入れるというシンプルで決まったパターンがあると聞いたことがありますね。まず、最初のゆったりしたイントロの後に1回、中頃で1回、そして終わり頃、少しクールダウンした後に1回というやり方です。うまくバランスを取ってペース配分を考えられれば、見ている人たちの期待感も高まり、デモの効果をフルに体感することができるんですよね。音楽は、この波に合ったものにしないといけないんです。

映像が盛り上がっている場面に音楽のクライマックスの部分が当たれば、相互作用ですごい効果が生まれます。でも、音楽は静かなのにデモの映像だけが盛り上がっていたり、映像は静かなのに音楽だけが高まっていくっていうのはダメですね。結びつきを完全に失ってしまいます。音楽にも波が必要で、映像と同じように、印象的で人を引き付けるものでなければいけないんです。だから僕はサントラやサウンドスケープよりも、実際のを使うのが好きですね。でもその場合は、色彩とかバリエーションとか、映像の制作にも十分な幅を与えてくれるような曲でないといけないんです。

僕にとって理想的なデモのサントラは、心に残る強い聞かせどころがあって、あとで思い出して歌ってしまうような曲ですね。それで曲のクライマックスの部分を思い出すと、その時の映像も一緒に浮かんでくるようならベストです(ここでのデモのサントラっていうのは、ルールのないコンセプトデモのことではなくて、大作”ってことです(笑))。 だから、ボーカルのある曲を使うのが好きなんでしょうね。繰り返しになりますが、つながりが大切なんです。ボーカルが入ると、ほぼ間違いなく印象に残りますし、見ている時のガイドにもなるんです。心に残るようなものを作りたかったら、ボーカルがないとすごく難しいでしょうね。もしかしたら、ボーカルのある曲を使うことが記憶に残るデモへの近道と言えるかもしれませんね(笑)

僕はパンクとかロックの音楽が好きなので、そういうジャンルのサントラを使ってデモを作ってみたいです。ただ、それはすごく難しいかな。いつかそういう音楽のミュージックビデオを担当できる日が来るかもしれませんね(笑)
65daysofstaticの音楽を使ってデモを作ってみたいとはずっと思っています。デモとすごく合う気がするんです。


もし、これをお読みになっている方で65daysofstaticの関係者の方がいましたらご連絡ください(笑) 
(残念ながら私には理解できない部分ですが、デモを作ってる方のためにお願いします) どんなプログラムを使ってデモを制作していますか?自作のデモツールを使ったりしていますか?

すべての作業の中心となるデモツールがあって、それを使っています。2000年代のあたま頃に開発して、そこから作り直したりしているものなんですが、現在のバージョンは2007年ぐらいからありますね。インターフェースも、その時からほとんど変わってないです。After EffectseyeOn Fusionにも似ていますが、すべてリアルタイムで動きます。それから、アーティストが1人でも、デモを制作できるようなしくみになっています。まぁ、実際にはそういうことはありませんけどね。でも、作業をうまく分割できるという特徴を持ったツールではあるんです。つまり、コーダーは新しいエフェクトとコードを担当して、アーティストは全体を調整したり、カメラを作ったり、グラフィックの追加や色の修正、デザインの作業ができるようになっています。それと、これがかなり重要なんですが、コーダーとアーティストが一緒に作品に取り掛かれるようになっているんです。僕の場合、ハンドコーディングよりもデザインの作業がしやすいので、1人で作業する時もこのツールを使っていますね。

というか、実際は何にでもこのツールを使っていますね。2000年代半ば以降のデモはすべてこのツールで作りましたし、同じ頃からの64Kの作品もすべてそうです。他には、ディスクマガジンの「Zine」、インタラクティブ・インスタレーションやプロジェクションマッピングのプロジェクト、レンダリング用にエクスポートしたパーティクル・シミュレーション、ミュージックビデオの制作にも使いましたね。すごく柔軟性のあるツールなんです。  (*こちらのデモツールは後日「notch」という名称でリリースされたようです。)


デモはどこで作っていますか?必ず音楽を聞きながら作業するとか、お茶を飲むとか、“コーディングは真っ暗な部屋でやるに限る”とか、デモを作るときの“こだわり”みたいなものはありますか?

あまり自由になる時間がないので、ちょっと時間ができた時にデモを作っています。コードを書くのは、列車の中だったり、仕事の昼休み、夕方、夜、週末の家にいる時間ということもあれば、オフィスで遅い時間に作業したり、長時間フライトの飛行機の中とか、喫茶店で書くこともあります。必然的にラップトップで作業することが多くなってきていますね。フレームレートは最悪なんですが、どこでも作業できるという点はすごく良いです。

作業中は、いつも大体音楽を聞いています。それから、コーヒーとかダイエットコーラを飲んでいます。ビールを飲みながらデモを作るという楽しみは、数少ないデモパーティー・コーディング”の機会にとっておいてあるので(笑) それと、僕はわりとどこでも作業できるタイプだと思いますね。静かな場所や暗い場所でなくても大丈夫です。むしろそういう場所よりは、列車の中で作業するのが好きですね。インターネット(これがクセモノ)もないですし、時間が決まっているのもいいんです。1時間でこの作業をやろうと決めたら、あとはひたすらやるだけですからね。短時間の集中だったら簡単なんですが、僕の場合、長い時間になってくると結構キツくて。飽きたり、集中が切れたりして、効率よくこなせていない気がしますね。でも、1時間だけだったら、すごく集中して能率的に作業できるんです。


トレイン・コーディングですか、、(笑) 話は変わりますが、あなたのデモの映像やエフェクトはすごく現実的なものが多いような気がします。抽象的なものにしない理由が何かあるのでしょうか?

現実的なもの”は、人がそれを何であるか理解できるからこそ、力強いツールになるんです。たとえば、大きくて抽象的なかたまりを作ったとします。でも、これが実際にはどのくらいの大きさなのかは誰にも分からないわけです。巨大なかたまりかもしれないし、ごくごく小さなものかもしれない。これだけで理解するのは難しいんです。でも、隣にビルを置いてみたとします。こうすれば、そのビルを基準にして、誰にでもかたまりの大きさが分かるようになります。こうなると、もはやただの抽象的なかたまりではなくなって、道を占拠するもの”になりますね(笑) 現実や知覚を歪めて別の形にするというのは、僕がデモの中でよく使う手法ですね。シンプルなものだと、煙を文字の形にしてみたり、少し複雑なものだと、ビルをパーティクル(粒子)にして吹き飛ばすとか。すごく興味をそそられる考えなんですよ。

それと、現実の要素は観客とのつながりを築く上ですごく効果的だと思いますね。見ている人がデモシーン以外の人の場合は特にそうです。(デモシーンの人たちは立方体とかグロー効果を見慣れているので、もうすでに現実の一部になっている人もいるんじゃないかと思いますが、、) 例を挙げると、完全にプログラムから生成した抽象的なものであっても、シェーディングは現実的なものにするようにしています。僕は、典型的なリアルタイムグラフィックスの見た目が、フラットだし不格好なので嫌いなんです。だから、できる限りそこから離れようと思っていますね。


こういうエフェクトはどうやって作るんですか?まず本物を見るか頭の中で想像して、それからプログラムで再現する方法を考えるのでしょうか?

新しいエフェクトを思い付くと、まずは参考資料をいろいろと当たってみるんです。実物も見ますが、やろうとしていることのオフラインレンダリングとか、動画もチェックしますね。このほうが役に立つ場合もあるんです。エフェクトでいつも目標としているのは、これまでにリアルタイムでやってきたことの先へ進む”ということですね。それで、次のステップはオフラインレンダリングなんです。本質を保ちつつもっと簡単に表現するために、どんな妥協をして、どんな抜け道を使っているのかを見るのが好きですね。関連性があれば研究論文を読むこともありますが、まずはとにかくググる(笑) それから先は、作っては表現したいものと比較する、の繰り返しになります。


あなたはよく、デモシーンのベストコーダーの1人として名前が挙げられていますよね。日本のイベントでは、サインを求められていたと聞きました(笑) そこで、この絶好のチャンスを活かすべく、コーディングやプログラミングに関する質問をさせてください。(私自身はプログラミングの知識はゼロなので、バカバカしい質問だったらごめんなさい…。)

コーディングをする上で、いちばん難しいことは何ですか?

コーディングでいちばん難しいこと・・・。うーん、、、まずは締め切りとか時間のプレッシャーが挙げられるでしょうね。ここまでやってみたい」と自分で思っていたことをすべてやる時間は絶対にないし、時間がない時に限ってバグの処理に何時間もとられたりしますから。でも僕がコーディングで一番難しいと思うのは、自分で作ろうとするものの芸術的な部分とか、数学的な部分であって、コード自体ではないですね。コードはコードでしかなくて、ある時点を超えると、自分が欲しいものを書く方法は分かるようになるんです。だから、コードを書くことではなくて、“何をするのか、“どうやって実現させるのか”を考えるのが難しいところですね。

僕は、ものすごく数学が得意なわけではなくて。まずまずだとは思うんですが、決して数学の天才ではないので、論文なんかに出てくる巨大な方程式を理解するのに苦労することが多いですね。実装されたものを見れば理解できるんですけど。論文を詳しく理解しようとするよりも、ハイレベルな説明から自分のやり方を見つけるほうが簡単な気がしています。だから僕の場合、数学がコーディングで一番難しいことかもしれないですね(笑)


芸術面と数学ですか、、、

それと、インスピレーションを得たり、新しいアイデアを考え出すというのも難しい場合があるんですが、本当に難しいのは、“新しくて難しいけれど、決して不可能ではない”題材を見つけることだと思いますね。新しくて素晴らしいけれど、動作が遅い”っていうものを作るのはすごく簡単なんです。でも、どんなに賢くて新しいことをやってるデモでも、1fpsで動くんだったら意味がない。だからといって、200fpsで楽に動くけど、全く新しいことにチャレンジしていないデモだったら、今度は簡単すぎますね。いつも意識しなければならない微妙なラインがあるんです。あとは、あまりにも高度すぎて、現在の最高水準のマシンに載せても重いという場合は、やり過ぎです。この場合、上手いトリックや、(その技術に)近いものを探さなければならないんですが、ものによってはエフェクトをダメにしてしまうこともあるんです。このバランスを取るのはすごく難しくて、賢明な選択が必要になります。僕も何年か前に考えていたエフェクトが、最近になってようやく実用レベルに達したという経験は何度かあります(笑)


行き詰まりを感じた時はどうしていますか?

コーディングの良いところは、やらなければいけないことが常に100個ぐらいあって、そのほとんどがインスピレーションを必要としないタスクなんです。こういうタスクは、時間と労力をかければこなせます。なので、エフェクトのコーディングに良いアイデアが浮かばない時は、ツールをいじったり、バグを修正したり、GUIを改善します。しばらく問題から離れてみると、戻った時には解決してたりするもんなんです(笑)

場合によっては、エフェクトの問題から数ヶ月間離れてみることもありますね。解決策が見つかるまで、他のことをやってみるんです。そうすると、そこで見つけた方法が放っておいた問題にも使えたりする。コードの素晴らしさは、まさにこういうところにありますね。特にグラフィックスコーディングは、すべてがリンクしてるんです。コーディングを始めた初日に学んだことであっても、1年目に学んだことであっても、これまでに学んできたことはすべて重要なことであって、何年か経ったあとに必要になったりするんです。たとえば、15年前のソフトウェアレンダリングのテクニックは、現代のプログラマブルGPUで役に立ちます。積み重ねたものが、その人の知識になっていくんです。もちろん、必要な経験を積むには何年もかかるという別の見方もありますが、(コーディングは)比較的少ない知識でも、いろんなことができると思いますね。


では、コーディングをする上で、いちばん楽しいことは何ですか?

グラフィックスコーディングは、技やテクニック、アルゴリズムがつまった“巨大な道具箱”のようなものだと僕は考えているんです。新しい問題に直面したり、新しいエフェクトを作る時には、まずこの箱の中をのぞいて、手持ちの道具を組み合わせて対処します。新しいエフェクトと言っても、すべて新しいもので作るのではなく、自分がすでに持っている技やテクニックを新しい方法で組み合わせて作り出すことが多いんです。


時々、新しいテクニックが道具箱に加わると、すごくワクワクしますね。適切な道具がないことで今まで解けなかった多くの問題が、突然解決するんですから。具体的な例で言うと、僕は今年、アニメーション化された複雑なポリゴンメッシュを処理できる、高速でリアルタイムのレイトレーサーを作ることができたんです(「5 Faces」で使っています)。これは大きかったですね。これまでレイトレーサーが必要だった問題が、一気に解決したんです。それに、数年前のアイデアを思い出したりして、“やっとこれもできるななんて考えていますね。あと、DirectX11に移行した時も驚きでしたし、大きな転機になりました。自分の知る限りまだ誰もやっていないことだったり、見たことのないものだったり、本当に新しいものを考えついた時は最高の瞬間ですね。そこから、まったく新しい可能性が開けていくんです。





あなたの考える、“良いコードの定義”とは何ですか?

これは、いろいろと議論の余地がありそうですね(笑) ただ、僕の考えでは、良いコードとはシンプルで読みやすく、効率的にタスクをこなすものであり、安定していて、強固なものだと思っています。派手なトリックやスマート過ぎるコードっていうのは、過大評価されてると思いますね(笑)


そうなんですか!逆だと思っていました(笑) では、良いコーダーになるために必要なことは何ですか?

良いコーダー、特に良いグラフィックスコーダーとかデモコーダーっていうのは、すごく頭の良い人である場合が多い気がします。(別に、自分もそうだって言ってるわけじゃないですよ(笑)) コーディングは問題を解決すること”で、良いコーダーはそれが得意な人のことです。グラフィックスコーディングもデモコーディングも、制約がある環境で問題解決をすることが求められるんです。ここでの制約というのは、リアルタイムグラフィックスの限界という意味です。どんなに速いコンピュータを使っても、課題は常にあります。それに、チームが少人数だったりなどの時間やリソースの制約もありますし、パフォーマンスや技術的な制約もあります。でもこの制約だらけの環境の中で、魔法のように素晴らしいものを作ったり、非現実的なものを現実的に見せないといけない。(笑) このタスクをこなすには、既成概念にとらわれない考え方をする“水平思考”や、発想力、独創性、明確な考えが必要になりますし、問題を小分けにして対処できるよう、状況を分析する力も求められます。

それと、意外かもしれませんが、良いコーダーは他の人と作業できなければなりません。分野の異なる人たちと作業するなかで、自分の問題を分かってもらえるように説明したり、相手の問題を自分で理解することが求められるんです。さらに、良いデモコーダーであれば、こういう大変な作業を無料でやってもらえるようにしなければなりません。それと、プロジェクトをリードしたり、集まってくれた人たちを管理することも必要です。仕事ではないので作業を強制することはできませんし、自分が対価を支払うわけでもありません。他にも色々とやりたいことがあるなかで、一緒にやってみたいと思ってもらえなければ、作業は進まないんです。これには対人関係のスキルとか、リーダーシップとか、あとは魅力も必要になりますね(笑) なので、良いグラフィックスコーダー、良いデモコーダーになるには、賢くならないといけないのと、人付き合いも上手にならないといけません(笑)

さらにもう1つ加えれば、この分野で良いコーダーになるためには、他の分野の能力も重要です。良いデモ/グラフィックスコーダーというのは、“優れたアーティスト”でもあるんです。コーディングしかできなくて、コード以外のことは分からないっていうのは、実践的な面で良いコーダーとは呼べないですね。デモコーダーは、多才である必要があるんです。ゲームの開発チームとか、他の環境だったら別の人が担当することでも、デモでは自分でやらないといけないんです。64Kの作品を作った時は、特に多くのことを学びましたね。システムのこと、Windows自体のコーディング、ツールの設計とプログラミング、コンテンツのプロシージャル生成、アニメーション、コンパイラ、ライトマップの焼き込み、オーディオプログラミング、シンセ/VSTの作成、圧縮、UV生成、テクスチャリング、ディレクション、モデリング。さまざまな分野で、多くのことを経験できたんです。


もはや学校のような感じですね(笑) では、デモの話題に戻って、定番の質問にいきましょうか。好きなデモ、心に残るデモ、影響を受けたデモ、、または人生を変えたデモ… あなたにとって特別なデモを教えてください。

何だろう。初めてこれはスゴいと思ったデモで、自分でもやってみたいと思ったもので言うと、Psychic Link & Acmeの「Paper」(動画で、スケッチが絵に変わるシーンですかね。あとは、Pulseの「Square」(動画とか、Acmeの「303」(動画も大好きですね。90年代のStatixのデモは、当時の僕にとってデモの定義みたいなものでしたね。高い芸術性と技術が組み合わさったものがデモなんだ、っていう。当時というか、今でもたぶんそうです。それから、Moppi Productionsの「Assembly 2004 invite動画もすごく好きですね。小さめの作品だけど、完成されているんです。


ストリートの要素が入っていて、楽しいデモばかりですね。こういう遊び心は、あなたの作品でもよく見られる気がします(笑)
さて、あなたはかなり長い間デモシーンにいるわけですが、あなたにとってのデモ、デモシーンとは何でしょう?どうしてデモを作るのですか?

どうしてって言われても(笑) どうしてなんでしょうね。自分でも分からなくなる時があるんです。なぜこれほど多くの時間を、こんな意味のないものに費やしているんだろうって。作った作品を見るのは、要求が多くて、何をリリースしても絶対に満足しないコンピューターオタクたちですからね。それに、なぜ一銭にもならないことにこんなに多くの技術スキルを使うんだろうとも思う時がありますね。でも、この質問への答えは、デモを作るのが好きだから”になると思います。(ただし、デモをリリースするっていうのはまた別です。Pouetとかのコメントにはうんざりしていて、あれを見るとリリースする気がなくなるんですよね。)

デモを作っている時だけは、完全に自由になれるんです。利益のためじゃなく、自分たちのために、ただ楽しいからやっているだけですからね。制作の途中で、空をもっと青く”とか、ちょっと退屈だからロボットを足してみよう”とか言い出す人はいません。(でも、これは実際にゲームの開発中に外部のプロデューサーに言われた言葉です(笑)) 自分たちで100%コントロールできる、好きなことができる時間なんです。“遊びで何かスゴイことをする”とか、“何かスゴイものに参加するという、同じ目的を持った才能のある人たちと一緒に作業できますしね。作品をリリースできなかったとしても、自分たちに腹を立てるだけで済みます。それに、たとえ完璧とは言えない作品をリリースして、気に入らないっていう人がいても、返金する必要はありませんから。(まぁ、金返せ!って言われそうな雰囲気はありますけど(笑)) リリースすれば終わりで、また次に取りかかれます。それに、もし良いものができれば、自分たちがやったことに誇りを感じられます。だから、制作の自由さとそこから得られる経験”っていうのが、僕がデモを作る理由ですね。


デモシーンとの出会いで、人生が変わったと思いますか?

間違いないですね。2001年に初めて作った64Kのおかげで最初の就職先をゲーム産業で見つけることができましたし、その後の転職の時にも大きな強みになりました。デモシーンのおかげで、いろいろなチャンスに恵まれたんです。デモシーンに参加するということは(ここでの参加っていうのは、Pouetでデモを見てるだけじゃなくて、実際に活動するってことですよ(笑))、世界の秘密結社の一員になるようなものですね。お互いへの敬意があります。すごい人たちがたくさん関わっている場所なんですよ。デモシーンとの出会いから、良い友達が世界中にたくさんできましたし、いろんな場所に旅行したり、面白い人たちに出会ったり、ロックンロールな体験もできました(笑) だから、デモシーンは確実に僕の人生を変えたと言えるでしょうね。もしくは、人生の方向性を決める手助けになったとも言えます。正直なところ14歳からこのシーンにいるので、デモシーンに出会っていなかったらっていうのを想像するのは難しいです、、。


14歳! ということは、人生の半分以上ってことですよね(笑) デモシーンの歴史を目撃した、、というか、もう歴史の一部ですね。

ただ、変化する世界の中で、デモシーンはどんどん取り残されているんです。古典的なプラットフォームを使ったり、あまのじゃくなサイズ制限を設定したり。どこか古いスタイルや郷愁を感じさせる作品もデモシーンには多くて、、常に過去を振り返っているんですよね。そうこうしているうちに、デモシーン以外の人たちが僕たちの生み出した表現手段を使うようになってきた。芸術目的でリアルタイムグラフィックスを使う”っていうのは、僕たちデモシーンの人間が生み出した表現方法なのに、今や彼らのほうが上手になりつつあって、僕らが目指すものよりも、もっと自由で楽しいことをやっているんです。ここから学ぶべきものがあると思いますね。デモシーンは前に進む必要があるんです。ただ問題は、シーンに関わる人の多くがそうは思っていないことにありますね。90年代のデモシーンに留まって、子供時代に体験したことを、そのままの形で残したいと思っている人が多いんです。つまり、デモシーン自体が成長と変化を妨げる最大の障害になっているんです。でも、何事もずっと同じままではいられませんから。


では、将来のデモシーンはどうなってほしいと思いますか?

デモシーンの未来はシーンに対する人々の努力や作品にかかっているので、今後どうなっていくのかは分からないです。これは、もうずいぶん長い間議論の対象になっていますね。個人的には、クリエイティブなコーダーとアーティストが最新のハードウェアを使って何かを作り、リアルタイムエフェクトの世界を前進させるようなものになればいいなと思っています。


なるほど。では、個人的なところではどうですか?今後作ってみたい作品などはありますか?

これまでよりも小さめのデモにして、もっとたくさん作ってみたいですね。だんだん10部構成で6分ぐらい続くデモを作る気力がなくなってきているのと、そういうデモは近頃の視聴者には不向きかなと思っているんです。デモシーナーたちは好きでしょうけど、シーン以外の人が見たらどうしてランダムなんだ?一貫性もないし、理解できないって思うでしょうね。それよりはアイデアを1つに絞って、2分ぐらいの何か格好いいものが作りたいですね。


楽しみですね!(笑) それでは最後にデモシーナー、デモファンの方にメッセージをお願いします。

作品を作ってください。デモシーンの存続を決めるのはあなたです。


--------------------------------------------------------------------



かなり曖昧な質問が多かったにも関わらず、そのすべてに丁寧に回答してくださったSmashさん。辛抱強く対応していただき(笑)、ありがとうございました!

Smashさんの作品は、彼のブログ「direct to video」や、PouetFairlightのページでもチェックできます。ブログでは、デモのより具体的で詳細な技術などが公開されていますよ。(あと、こちらのDisplayhackの記事でも、、) それから英語での動画になりますが、AssemblyTVではSmashさんがFairlightのデモの技術を説明した動画も公開されています。技術方面に詳しい方も、そうではない方も、是非チェックしてみてください。(たぶん技術が分かる方には、じゅるるな内容だと思われます)


最後までお読みいただき、ありがとうございました!


----------------------------------------------------------------------

- そもそも“デモ”ってなに?パソコンの話?と思った方は、まずはこちらのMoleman2のドキュメンタリーを見るべし。(この映画の監督、シラードさんのインタビューはこちらでどうぞ。)

#1: 日本のデモシーナー、qさん(nonoilgorakubuのコーダー)にインタビューは、こちら
#2: デモシーナー、Gargajさん(ConspiracyÜmlaüt Design)にインタビューは、こちら
#3: デモシーナー、Preacherさん(Brainstorm、Traction)にインタビューは、こちら
#4: デモシーナー、Zavieさん(Ctrl-Alt-Test)にインタビューは、こちら


- その他、「デモ」と「デモシーン」に関連する投稿はこちら


[2018.11.20 Updated] 細かい部分とお名前の読みを修正しました




Related Posts Plugin for WordPress, Blogger...