2015 年の振り返りと次なる 2016 年へ向けてという名の壮大なポエム
## いろいろ振り返ってみる
みなさんこんばんは。
こんなブログ誰か読んでるのか疑惑がありますが、所詮ポエムのようなものしか最近は書いてませんし、自由にやればいいかなと思って自由に書きます。
はじめに断っておくと、無駄に長いです。
さて、2015 年は、私にとってはとても大きな節目の年でありました。その最たるものが、本職が開発者という肩書となり、これまでのエセエンジニアから一応名ばかりのエンジニアにジョブチェンジできたことだと思います。
思えば、私がプログラミングに興味を持ったのは 20 代も後半に入ってからのことでしたし、初めて触った OS は WindowsXP でしたし、なんのために触れたのかと言えば物流業務で出荷したクライアント情報を入力して Excel で住所録を作るためでした。
当時、パソコンなんて一部の優等生かビジネスマンかなんかが使うあれだろくらいに思っていた私は、数式を入力しただけで突然数千件の数値を合算してくれたりする様子を見て Excel って賢すぎんだろ! と驚き、VLOOKUP とかいちいち名前が無駄にキザすぎだろとか思いながら、セルに数式を入力してはニヤニヤしていました。
しかも Excel には VBA なるプログラミング環境が付属しているというのを知り、さらに Excel にのめり込んでいきました。インターネットというやつの存在も当然知ってはいましたが、当時はろくに使いこなすこともできず、また VBA を勉強した時はお金もなくて、今のようにささっとネットで調べたりはせずに図書館で参考書を借りてきたりしてプログラミングをしていました。懐かしい。
余談ですが、VBA は初めて触れるプログラミング環境として適切だと、当時は思っていました(今はどう思ってるかはあえて言いませんけど!)。
私はもともとかなりぼんやりとですがゲームとか作ってみたい欲求があったこともあり、VBA でゲームみたいなものとか作って、ほそぼそとひとりで遊んでいました。ただ次第に自分で遊んでいるだけではあんまり満たされなくなってきて、これを公開するためにブログというものを使うようになって、そこから CSS やら HTML やら覚えていきました。これもまた懐かしい。テンプレート CSS をよくわからないままいじくったり、していましたね。
そして、徐々にブログの扱いにも慣れてきた頃、ウェブという世界では javascript なる魔法が使えるということを知り、VBA しか使えねえというのもどうなのと思い始めていたことも手伝って一念発起 javascript をやってみることにしました。
実は VBA を使ってゲームを作っていた頃、VBA から COM で DirectX の API を叩いて、Excel ブックを開くと突然 DirectX 製のフルスクリーンのシューティングゲームがスタートするという夢のようにクッソ意味のないプログラムを作ったりしていたこともあり、3D 開発にはずっと興味がありました(Direct Input とか使ってゲームパッドにも対応していて名誉ある「才能の無駄遣い」という称号をいただきました)。
ですから、javascript で 3D の API が叩けるという WebGL に出会ったとき、大変に興奮したのを覚えています。
しかも使い方を覚えたくて検索してみても、まったく情報ないじゃないですか。これには実際問題とても困りましたが、同時になにか、神の啓示のようなものが聞こえた気がして「このジャンルなら先駆者になれんじゃねえの」というどちらかというと悪魔の囁きのほうに導かれて wgld.org を開設するに至りました。
初めてレンタルサーバー借りたりして、初めてドメイン取ってみたりして、ふわふわしながら 3D 数学もよくわかってないのにいきなりテキストを書き進めていきました。当時、テキストを 10 回分くらいまでかな、事前にタイトルや内容を精査して今の自分でも書けるなと思ったような記憶がうっすらあります。
ハッキリ言って、この頃の私はなぜ内積を使うとライティングができるのかわかってませんでしたし、インデックスを時計回りで定義するもんだと勘違い(DirectX はそうですね)していましたし、javascript の prototype もわかってませんでしたし、onload っておもむろに書いてそこに関数突っ込むとページのロードと同時に走るの不思議だけどなんでなんだろくらいのレベルでした。それであのサイト始めたとか今考えると素敵すぎますね。
そんなこんなでよくわかってないままサイトに黙々とテキストを書き足していくと、だんだん先生(Google)がいろんな人達を連れてくるようになってきて、なかにはやんわりと優しくマサカリを二刀流でぶん投げてきてくれるような素敵な紳士のみなさまなどもいらっしゃいまして、おかげさまで私は徐々にレベルアップしていったように思います。(画像はイメージです)
思うに、こうやって意識的にせよ無意識にせよ、なにかしらの形で wgld.org というサイトを通していろんな方が私に関わってくださったり興味を持ってくださったりしたことが、今日の私を錬成してきたのだと思います。
本当に、みなさんいつもありがとうございます。
wgld.org は 2016 年を迎えれば丸三年運営したことになります。たった三年なのか、もう三年なのか、わかりません。
でもこの大事な大事な三年間のなかでも、特に今年は大きな意味を持った年になりました。感謝の気持ちも込めて、wgld.org は先日デザインを変更したんですが驚異的にいろんな意味で見づらくなっており私もびっくりしてます。(後悔はしてない)
## これからの WebGL
そんなこんなで幸か不幸か、私は wgld.org のおかげもあって多少有名になり、WebGL スクールも毎回満員とはいかないまでもほぼすべての席が埋まるという状況で、私はこれについても本当にみなさんには感謝の気持ちしかありません。
せめて、スクールの講義内容やサンプル、あるいは運営しつつのサポート体制などで、少しでも質の高いものを提供していくことが私の使命だと思っています。
2016 年は、引き続きスクールは開催していく方針ですが 2015 年の運営スタイルをそのまま引き継ぐものにはならない予定です。というのは、これまでのスクールが失敗であったなどとは思っていませんが、より良い講義、より受講者の利益になる講義を考え続けていると、やはり同じように繰り返していくことが正しいとは、まだまだ言えない状態だと思うからです。
つまり、まだ WebGL の技術、ひいては 3D 数学や GLSL を解説していくという行為自体が、世の中的にも自分的にも、全然煮詰まっていない(鉄板の正解が見えていない)と思うのですよね。毎回スクールではアンケートを取らせていただいていて、多くのかたがすごくわかりやすかったとおっしゃって下さいますしそれはとても嬉しいのですが、感触として、もっともっと直感的に理解できるものにしていかなくてはならないのだと、私自身は思ってしまうのですね。これは性(Sa・Ga)なんでしょうかね。(チュイーン )
それに、ウェブという流行り廃りの流れの早い世界では、ひとつひとつを細かく吟味して、少しずつでもより良くなるよう改善を加え続けていかなくてはいけないと思っています。これは実は、スクールという枠組みだけの話ではなくて「WebGL そのもののあり方」も含めた話でもあります。
たとえば、昨年末を思い出してみると、iOS で WebGL が解禁になった、これが私にとって非常に大きなニュースでした。
しかし思い返してみれば、この一年で WebGL が本流に乗ったかというと、いやまだもう一歩という感じがしないでもない、というのがみなさんにとっても本音ではないでしょうか。私も、そう思います。
今年は Unity などのサードパーティ製ツールや、HTML5 に特化したゲームエンジン、あるいは WebGL を扱うためのライブラリなどが、WebGL という舞台の上に次々と登場してきたような気がしています。それこそ雨後の筍かよと思うくらい、本来の WebGL の本流とは外れたところで、多くの人にとって謎のキーワードとして WebGL という言葉が使われ、よくわからんけどすごいらしい感とか、よくわからんけどなにそれ感を撒き散らしていたような感じがします。
WebGL はそろそろ、扱い方に気をつけないといけない段階に差し掛かっているのだと個人的には思います。ただひたすらすげえすげえ言ってればいいという状態ではなくなってきていますよね。それに、ブラウザゲームが重いのは WebGL のせいだとか(まあ間違ってないですけど)、Unity で WebGL ビルドにすると動かねえとか(知識ない人からすりゃまあそういう感想になりますよね)、個人的にはいろいろ歯痒い思いも募ってきたりして、結構やるせない気持ちになることも増えました。
WebGL と、どんなふうに付き合っていくのかは自由です。その中身をよく知ろうともせず Unity の出力する WebGL ビルドに文句をつけるのもまた、自由です。フルスクラッチで素晴らしいシェーダを書いてもこんな重いのありえんわーと言われるかもしれませんし、three.js 使ってかっこいいサイト作っても実務では全然意味が無いかもしれませんが、とにかくどう使おうがそれは個人の自由です。要は、つきあい方の問題であって、どう付き合っていくのか、どう使いこなしていくのかは、それぞれが考えればいいことなんですよね(めっちゃ当たり前のこと言ってますけど)。
要するに何が言いたいのかというと、WebGL はやっとこさ、万人が手に持つことができる武器になりつつあるということです。
誰もが持てるようになれば、そりゃ文句を言う人だって増えます。同時に、当然ながら見事に使いこなせる人や、使いこなしたくてもそれができずに困っている人も、増えていくでしょう。そんななかで私はいったい何をしていくべきなのかを考えるとき、やはり、2015 年までにやってきたことと全く同じことを、粛々と進めていればいいというわけには、いかないのですよね。これもまた、気持ちの問題なのかもしれませんが。
## だがしかし
しかし、WebGL が万人に平等な武器となったとは言っても、実際のところ WebGL は既に、ウェブのお荷物という存在になり始めているような気がしています。どちらかというとユーザーの体験を阻害するものになってきている(場面もある)という気がしてしまうのですよね。
少し前に Flash バリバリのサイトを見るとまたこのパターンですか的な感慨を覚えたのと同じように、WebGL もそういう気配を、既に放ち始めているように正直思っています。
全然そんなことはないのかもしれません。本当のところは。
でも、なんとなくそんな気がしてしまうのは、私が WebGL に寄り添いすぎてしまっているからなのでしょうか。
完全に私個人の見解を述べるとするなら、これからの WebGL はもっともっとウェブと一体になっていかないといけない気がしています。それがそこにあることに、大きすぎる意味はもはや要りません。当たり前のように、使われるものになっていってほしいと今は思っていますしそういうフェーズに入っていると思います。
ただ、そのためには残念ながら WebGL 自身がもう少しその姿を変えていく必要があって、もっと気軽に、もっとさりげなく使えるものでなくてはいけないと思います。たとえば jQuery や、そのプラグインがそうであったように、デザイナレベルの人たちでもちょっと調べてコピペすれば、簡単にそして自由にサイトにそれを導入することができるレベルのものに、WebGL はなっていく必要があると思うのですね。
コアな、それこそフルスクラッチの濃い実装をしたい人っていうのは、そもそも使えるんですよ。しっかり最適化して、しっかりユーザー体験に配慮して、しっかりデモを作れるんですよね。問題なのは、よくわからないままよくわからない実装をして、WebGL を使っているだけで悪いことが起こっているかのような錯覚を生む、そんなサイトが量産されてしまうことだと思います。WebGL に限らず、3D はとっても難しいですよね。だから、実装した本人にとっても、つらい思い出にしかならなかったりするわけですそれでは、やっぱり良くないです。
提供する側もされる側も、いずれにとっても価値ある体験や実績を生むひとつの道具として、WebGL には存在していてほしいと私はどうしても考えてしまいます。これは欲張りすぎる発想なのかもしれませんが、少なくとも私は、そのために何をすべきかを考えないといけないなと自分自身に対しては思いますし、そうならないための努力を、これからもしていくつもりでいます。
一重に、2016 年は私以外の発信者をもっとサポートできる体制を作っていきたい。それがどんな方法なのかは、まだ全然私自身わかってないんですけど、なにかやりたいなと思っています。そして、そのジャンルは WebGL のスクラッチ実装だけに留まる必要もないと思っています。
Unity を介して WebGL を扱う方法や知識を発信することでもいいと思うし、three.js を使った実装の仕方でもモチロンいいと思うし、それこそ GLSL だけに特化して表現を模索する方法でも、いいと思うんですよ。
私が最も憂慮しているのは閉鎖的なコミュニティが生まれてしまったり、誤った認識や知識が一人歩きしていってしまうことです。多くの人が自然と自分の実装したものやその技術を発信(それこそひけらかすくらいの勢いで)したくなるような、そんな雰囲気を作るにはどうしたらいいんだろうかと、その答えのいかにも見つからなさそうな命題を考えるのが、最近の日課のようになっている気がします。
WebGL が、そこに存在していることを感じさせないような自然なものになってほしいと思う一方で、こうして知識を発信する人が増えてほしいと考える……これはある意味矛盾しているような気もします。難しいです。
## より多くの可能性を
そんなこんなで、私は結局のところ「私一人の発信力」というものをもう信用できなくなってきていました。影響力とか、発言力とか、そういう意味のことではなくて、それをやる価値の大きさという意味で、私はもっと発言する人の絶対数を増やすべきだと感じるようになりました(なんだかめっちゃ上から目線で書いてるような感じで申し訳ないですが)。
今年最後の GLSL スクールで「学割」なんて制度を作ってみたりしたのも、そういう思いからでした。
若い人たちって、すごいんですよね。びっくりしますよね。自分が年老いたとは思わなくても、彼らを見ていると、私は年取ってきてるんだなってわかりますよね。私個人はさっさと年取って隠居したいタイプなので経年になんの悲しい感慨もないのですが、若い人たちのあのすごさに触れると、もったいないという気持ちやもっと輝かせてやらねばなんねえ感がすごいんですよ。
Twitter を通じて私にアクション起こしてくれる若い(と思われる)人たちが、wgld.org めっちゃありがたいですとか言ってくれると、とても嬉しい。ほんとに嬉しい。これはほんとなんですよ。でも、もし彼らがその先にある自己成果の発信、という行動にまで移れてなかったとしたら、もちろんそれはその人の性格もあるでしょうから一概には言えないとは言っても、コミュニティや界隈の雰囲気の問題だと思うのですよね。
いい物を作れる道具があって、それを発信できるいい場所があって、お互いに刺激しあって成長していける雰囲気が必要なんだと思います。何より気軽に発信できる「流れ」みたいなものが、今もっと高めていかないといけないものなのだと個人的には感じます。
もちろん若い人だけじゃなくて、確かなスキルを持っている渋カッコイイ大人の人たちにももっと発信していってもらいたい気持ちはありますよ。でも、若いうちからそれをやってきていない人だったら、やっぱりこれから先も発信しませんよね。それが年をとるってことですよ。
そこに淡い期待を抱くことより、若い世代を輝かせることにもっと注力すべきです。やらない理由はいくらでも見つけられますし、それは年を取れば取るほどに、多くなっていくでしょう。無鉄砲でもなんでも、とりあえず持ち合わせの武器でぶっ放していくような、そんな人がもっと増えていかなくちゃいけないと個人的に思うわけです。
それは言葉で言うほど簡単なことじゃないし、もし失敗したらつらいのは当の本人なわけですから、私のできることは限られています。でも、そういう人が困ったときに支えになるくらいのことはできるかもしれないし、あるいはなにかしらの挑戦をするためのキッカケを作ることくらいはできるかもしれない。向き不向きもあるし、続けていけるかどうかは未知数でも、一回くらいやってみようって思える舞台や雰囲気は、私が作ってあげられるのかもしれない。そんなふうに、とてもとても傲慢ですが思ってしまう。
なにをするのが、正解なのか。
どうしてあげるのが、一番いいのか。
いくら考えてもわかりません。
私自身も、失敗して傷つくかもしれない。それでも、傷つくなら多少の年の功でするりと受け流せる大人のほうがいいですし、年寄りはせいぜい弾除けの盾になったり、あるいは彼らの通る道のレールになって轢かれたほうがいいんじゃないかなと思います。でもそれをやるにも、私自身がもっと強くなったりしていかないといけなくて、難しいですね。いろいろと。
## とりとめのない感じになってきたので
勢いにかまけてガシガシ書いていたら話がとりとめのない感じになってしまいました。
あなた WebGL ひとつでよくもここまで真剣(?)に話できますねキモいわと自分で感じ始めたので、そろそろやめようと思います。
実際のところ、2016 年も、私は引き続き WebGL 普及のために尽力していきたいと思っています。しかし、その方法や、取り組むべき課題は、やはり 2015 年とは違ったものになるでしょう。
より手軽に、誰にとっても扱いやすいものへと、WebGL を変えていきたい。あわよくば、そういう活動や発信を、もっともっと多くの人が行ってくれるような雰囲気やコミュニティを作っていきたい。まとめると、そんな感じになるでしょうか(それならこの長文のブログはいったいなんだったのか)。
若い世代が活躍したいと思えるような、夢のある世界にしたいですね。
がんばります。
今年も一年間、ありがとうございました。来年もよろしくお願いします。