クリエイティブ・コーディングとは

mandarin.I_90x90cm / nøcomputer /Creative Commons license


こんにちは、「クリエイティブ・コード・サロン」の主人です。この「クリエイティブ・コード・サロン」の「サロン」の由来について少し前の記事で書かせていただきました。今回は「クリエイティブ・コード」についてです。


「数によるデザイン」に始まるクリエイティブ・コーディング

「クリエイティブ・コード」。「クリエイティブ・コーディング」。これは僕が作った言葉ではなく、Googleなどで検索するとすぐ分かる通り、今では広く使われている言葉です。厳密な定義があるわけではないのですが、アート+テクノロジーによる創作の世界で使われる言葉で、デジタル・テクノロジー、特にプログラミングによって創造的な表現を生みだす「運動」を指しています。

何がクリエイティブで、何がそうでないのか。これは主観に依存します。主観の数だけ何が「クリエイティブ・コード」かを決める基準があります。逆に言えば、「クリエイティブ・コード」は主観を重視させる言葉なので、そのことがコードによって自分の考えを表現するという意味を暗示していると言えます。

一方、人間の普遍的なテーマ、人間のクリエイティビティにつながる言葉であると同時に、「クリエイティブ・コード」は、もうひとつ特別な意味を含んでいます。

「クリエイティブ・コード」という言葉が明確に世に出たのは、ジョン・マエダ先生の著書『Creative Code: Aesthetics + Computation』(2004)だろうと思います。ジョン・マエダ先生はMITのMedia LaboratoryのAesthetics and Computation Groupを率い、アーティストやデザイナーが、コンピュータ・サイエンスやプログラミングの知識がなくても簡単なコードを書くことによって創作することができるアプリケーション『Design by Numbers』を1999年に発表します。その成果は2001年に書籍でも出版されます。(「だろう」と言いましたのは、マエダ先生がこのプロジェクトを始められたのが1990年代の前半なので、正確には1990〜2004年の間のいつかだろうという意味です。)

Design by Numbers。どんなものだったかと言いますと、簡単なコードを書くことでスクリーンに単純な図形を描くことのできるようにしたプログラムで、このビデオで分かる通り、プログラミングの知識がないアーティストやデザイナーでもコンピュータを創作のツールにすることができることを目指したものでした。

この『Design by Numbers』のコンセプトは、その後の世代に多大な影響を与え続けています。まず『Design by Numbers』の開発にあたった2人の大学院生、ケーシー・リース先生とベン・フライさんが、2001年から『Processing』の開発を始めます。ProcessingはDesign by Numbersと同じコンセプト・同じ言語Javaをベースに、よりパワフルな制作環境をアーティストに与えるようにしたもので、Design by Numbersの正当な発展形と言えます。

また、ザカリー・リーバーマンさんを中心に、Processingと全く同じ形式で、c++をベースにして2005年から開発されているのが『openFrameworks』です。

この他にも同じ考え方をベースにしたプログラミングの開発環境があらゆるプログラミング言語をベースにして数多く作られ続けています。このように、Design by Numbersにダイレクトに由来するProcessingやopenFrameworksを代表として、「アーティストやデザイナーが創作に使えるプログラミング・ツールを作る」という考え方を共有し、そうしたツールで創作活動を行うことが特に、「クリエイティブ・コーディング」と呼ばれています。


クリエイティブ・コーディングの起源

Logoによるタートル・グラフィックス(1967)

Logoによるタートル・グラフィックス(1967)


しかし、Design by Numbersはクリエイティブ・コーディングの起源のひとつであっても、全てではありません。なぜならコンピュータはその草創期からずっとアーティストの創作のツールとして捉えられてきたからです。

ジョン・マエダさんが所属していた、MIT Media Lab。1985年にそれを創設したのは、草創期のCADの研究者で建築家のニコラス・ネグロポンテ先生でした。ネグロポンテ先生は『Architecture Machine』というコンセプトのもと、1967年にMITでArchitecture Machine Groupを設立し、人とコンピュータのインタラクションを通して環境がデザインされるシステム、いわばAIによるCADを提案しました。そのArchitecture Machine Groupを母体に設立されたのがMedia Labなのです。例えば、MITの建築学部とMedia Labをまたいで活動された、建築家ウィリアム・J・ミッチェル先生による、Shape Grammerを用いて建築デザインをコンピュータに生成させる研究はよく知られています。

CAD、つまりコンピュータにドローイング=図面を描かせることと、コードによってドローイングを創作するDesign by Numbersに何の共通点があるのか、疑問に思われるかもしれません。それはコンピュータで絵を描くというと、マウスや最近であればスタイラス・ペンで、つまり仮想的な「手」で描くことをつい想像してしまうからです。現在普及しているほとんどのCADはそうした「手」で描く以外に、コマンド・ラインに命令をタイプすることでも描くことができるようになっています。例えば、現在世界のシェアの大半を支配しているAutoCadで線を描くコマンドはこんな感じになります。

LINE
Specify first point: 0,0
Specify next point or [Undo]: 20,20

これがDesign by Numbersであれば次のようになります。

paper 0
pen 100
line 0 0 20 20

別にDesign by NumbersがAutoCadの単なる模倣だと言っているわけではありません。ただしCADの開発がDesign by Numbersよりずっと以前に始まっていたことから考えると、そうした周辺領域で得られた果実を、「コードで絵を描く」というコンセプトで煎じつめていったものが、Design by Numbersだったとは言えると思います。

こうしたCAD以外にもMedia Labではコンピュータにドローイングをさせる研究がなされてきました。例えば、タートル・グラフィックス、タートル(今でいうカーソル)を動かすことによって、その軌跡でドローイングを描くLogo(1967)の発展版として、エージェント・システムを用いたシミュレーションを画面の上に鮮やかに描き出すStarLogoもやはり、Media Labのミッチェル・レズニック先生によって開発されたものです。さらにレズニック先生のグループはその後、現在日本でもこどもたちに大変人気なScratchを開発されますが、このScratchの中にも、ペンと名前は変わってはいますが、タートル・グラフィックスのシステムがきちんと備わっています。

このようにMedia Labの歴史をたどっただけでも、Design by Numbers,
またそれに続いたProcessingやopenFrameworksが、コンピュータの草創期から始まった、コンピュータをクリエイティブに使うための先人達の試みと、連続したものであることが分かってくると思います。さらに言えば、MITのようなアカデミックな城の外を見ても、例えば1980年前後に爆発的に広がったゲームコンピュータ・ミュージックを考えれば、そしてゲームも音楽もどちらも「コード」による「クリエイティブ」な創作であることを考えれば、「クリエイティブ・コーディング」を何か特定のアプリケーション、何か特定の分野、何か特定の人たちにつながった運動と捉えるのは、アーティストたちが自己を希少化するあまりにデジタル・テクノロジーの歴史を矮小化しすぎていて、むしろ、デジタル・テクノロジーを創造的に使うこと、つまり人間のより普遍的なクリエイティビティをデジタル・テクノロジーを通して表現することとして捉えなければ、その歴史的な意義を損なってしまうように思います。


みんなに広がるクリエイティブ・コーディング

BBC micro:bit(2015-)-- BBCが1980sのコンピュータ教育を牽引したBBC  Microの再来を期待するマイクロ・コントローラ

BBC micro:bit(2015-)– BBCが1980sのコンピュータ教育を牽引したBBC Microの再来を期待するマイクロ・コントローラ

このように「クリエイティブ・コーディング」を、2000年前後に始まった特定のアプリケーションの開発や、それが使われた特定の分野と切り離し、もっと大きな考え方、デジタル・テクノロジーを創造的に使うことと考えると、今現在起きていることとのつながりも容易に見つけることができます。

例えば、最近のいわゆるMakerムーブメント。僕はこれを見ると、コンピュータの草創期に、それで何ができるか未だ分からず、ワクワクと創造力を発揮していたことへのある種の郷愁のようなものなのかと感じることがあります。例えばArduinoを利用したポケット・コンピュータゲームボーイのコピーマシンがインディーズのメーカーによって発売されたり8bitゲームに似せたビットマップのキャラクターのゲームゲームボーイのミュージック・チップをハッキングして作られたチップ・チューン・ミュージックが流行したり、といった現象にある種のセンチメンタリズムを感じます。

Arduino(2005-)-- Makerムーブメントの「電子工作部門」の代表

Arduino(2005-)– Makerムーブメントの「電子工作部門」の代表



VVVVVV(Terry Cavanagh, 2010)-- 1980sのコモドール64 8bit コンピュータ・ゲームのグラフィック・スタイルとチップ・チューン・ミュージックの融合

VVVVVV(Terry Cavanagh, 2010)– 1980sのコモドール64 8bit コンピュータ・ゲームのグラフィック・スタイルとチップ・チューン・ミュージックの融合

僕はこのムーブメントに否定的では全くなく、逆にとても共感しています。でもそれはあくまでも草創期の「熱さ」を再体験し、次の創作に向かうための助走として捉えるべきだと思っています。今のテクノロジーで昔の草創期をコピーした後は、今のテクノロジーで同じ熱さを再び起こすこと、それが大事なんだろうと思っています。

先日、予定より半年遅れで、UKのBBCによる壮大なデジタル・テクノロジーの教育「実験」がようやく始まりました。『micro:bit』というマイクロ・コントローラーを全国100万人の子供に無償配布することで、一気に次世代のIoT時代のデジタル・カルチャーを牽引する計画です。その実験を企画したメンバーのインタビューがとても面白く、例えばこんな話がありました– 『Windows』は、コンピュータを創造的に使う態度を180度回頭させてしまった、Windowsは人をコンピュータの創り手ではなく使い手にしてしまったんだ。それをこのmicro:bitでもう一度反転させたいんだ–。

この考え方は、ジョン・マエダさんが『Design by Numbers』を作ったコンセプト、コンピュータをエンジニアだけは自由に使えるけれども一般の人にはただのルーチン・ワークのための退屈な機械から、アーティストが使う創造的な機械へと反転させたいんだ、という意志と全く同じです。ただし大きく違うことも起きています。それはDesign by Numbersの場合は、デジタル・テクノロジーで創造性を発揮すると考えられていた対象はアーティストやデザイナーだけでした。それがmicro:bitの場合は、すべてのこどもたち、今後の展開を考えればそれはすべての人が対象と考えられていることです。つまりクリエイティブ・コーディングとは、すべてのひとが自分の考えを、コードで表現すること、すでにそう言える段階にまで発展してきているのが現在だと思います。


みんながコードで自分を表現する日常

それでは、みんながコードで自分を表現し始めたらどんなことが僕たちの日常に起こっていくのでしょうか?例えば、

昨日までは保育園で先生に絵本を読み聞かせてもらっていたこどもたちが、
明日にはScratchで作った動く絵本を先生に発表しているかもしれない。

昨日までは水彩で絵手紙を描いていたご老人たちが、
明日にはJavaScriptで動く鯉や草花を描いたホームページのリンクをメールしているかもしれない。

昨日までは誰も見てくれないだんなさんへのグチをつぶやいていた奥さまたちが、
明日にはiPhoneでコーディングしたGifアニメをTweetして10万リツイートされて通知が鳴り止まないかもしれない。

昨日まではAAA企業に買わされたゲームに明け暮れていたゲーマーたちも、
明日からはAAAと勝負するゲームを作り始めているかもしれない。

昨日まではギークな趣味ねと苛まれていた電子工作少年たちも、
明日からは先生に代わって理科の授業でArduinoを教えているかもしれない。

昨日までは「クリエイティブ」村で「クリエイティブ」業界のための「クリエイティブ」な仕事に疲弊していたデザイナーやアーティストも、
明日からは膨大な数に膨れ上がった、コードの力を知ったオーディエンスを前に心ゆくまで先鋭化することができるかもしれない。

みんながコードを書いて働く必要など全くありません。
みんながコードを書いて自分を表現する可能性を手にできるだけで、どれだけ今と違うことを自分たちの日常の生活に起こせるのか、
それを創造するのがクリエイティブ・コードが今いるところ、だと思います。


ではでは〜。