ビジュアル・プログラミングの勉強方法
ビジュアルアートの教本、「Generative Design」が、ついに再販されました!長らく欠品でプレミアムがついていた一品です。
以下はGenerative Designの序文への寄稿を、一部加筆修正したもの。表現者、技術者それぞれが、アートとプログラミングを学ぶための方法です。ビジュアルコーディングに興味のある人はどうぞ。(あと僕の落書きはこちらから見れます)
Generative Design 序文
Generative Designの日本語版が、いよいよ出版されました。本書は、プログラミングによる視覚表現の「最高の教本」です。この素晴らしい本の序文として、何を書くべきか非常に悩みました。結果として、歴史やカルチャーの話をするよりは、この本の読者に最も役に立つであろうことを、書くことにしました。表現者と技術者がビジュアル・コーディングをどう学習すべきか、についてです。
表現者が技術を学ぶには
アーティストがプログラミングを学ぶとき、最大の壁は「技術を習得することの面倒さ」です。アーティストは「作りたいモノ」がすでに頭にあります。しかし、技術学習において、これは往々として障害となるのです。頭の中にある小粋なアニメーションや、美しいパターンを目指してプログラミングを学習すると、大抵の場合は挫折してしまうでしょう。
なぜならば、「作りたいモノ」を自在に作るためには、膨大な量の前提知識や周辺技術が必要となるからです。ちょっとした演出にロケットサイエンスが必要なこともある…それがビジュアルプログラミングの世界です。アーティストはすでに自分の得意な表現手法(手書きであれ、Photoshopであれ)を持っているので、なにかを学習するよりもスケッチブックを取り出すほうが、楽で早いのです。すでに手を動かせる人ほど、不自由なプログラミングを学ぶという面倒さが強く出てしまいます。
アーティストが技術を学ぶコツは、学習中の技術をテーマに、面白い表現を模索したり、小作品を量産することです。線の引き方を覚えたら、線をテーマにする。繰り返し文を覚えたら、繰り返しを生かした作品を作る。このように、技術から新しい表現を模索することが、アーティストにとってもっとも簡単な技術の学び方となります。また、学習途中で生まれる習作は、アーティストの表現の幅を大きく広げてくれるでしょう。
技術者が表現を学ぶには
一方、エンジニアの場合はどうでしょう? エンジニアからビジュアル・コーディングを始めた人々にも、多くに共通する悩みがあります。「なにを作っていいかわからない」と「綺麗にならない」ということです。これらの問題は、表現技法の欠如や、表現活動そのものへの経験不足に起因します。逆をいえば、初めのとっかかりと勉強の仕方で解決できるわけです。
エンジニアにお勧めの勉強法は、表現手法をお題と捉えて、そのロジックをコード化していくことです。たとえば色彩理論や構図、アニメーション演出といった表現技法を学び、それをコードやライブラリ化する。最初のうちは、サンプルや検証コードのつもりで、作品を制作するとよいでしょう。
このような制作スタイルをとることで、ビジュアル・コーディングと並行して表現技法を体系的に学ぶことができます。エンジニアの習作は、はじめのうちは色彩や構図にメリハリが欠けたモノになりがちです。しかしそれは、理論をコード化することによって、容易に克服できます。エンジニアの気質としても、ゴールの曖昧な作品制作を行うよりも、表現を技術として学び遊ぶほうが簡単です。
またエンジニアの場合、アーティストとは違う楽しみ方もあります。それはライブラリの公開です。視覚ロジックをライブラリ化しGitHubなどで共有することで、様々なアーティストが自分のかわりに作品を作ってくれる。これはエンジニアならではの楽しみかたでしょう。
この本を手に取ったあなたは、表現者かもしれないし、技術者かもしれません。どちらにしても、このアドバイスが役に立てばと思います。
最後にどちらのタイプにも有効なアドバイスを一つ。上達につながる最短経路は「回数」です。1つの超大作を作るよりも、小さな秀作を数多く、コンスタントに発表していくのがオススメです。面白い作品が作れたら、私と共同監訳者の国分がFacebookで主催している、Interactive Codingグループにぜひ投稿してください。
https://www.facebook.com/groups/1478118689119745/