Hatena::ブログ(Diary)

shi3zの長文日記 RSSフィード Twitter

2015-01-21

プログラムはもっと簡単にできる 02:24

 今週末から品川女子学院でMOONBlockによるプログラミングの授業がスタートします。


 僕にとって画期的なのは、この授業は初めて、僕やUEIの他の社員が全く関わらない形で、品女の先生方だけで行われること。そしてその先生方が、そもそもプログラミングに関する知識を殆ど持っていないということです。


 プログラミングはここまで簡単になったのです。


 授業の中では、簡単なゲーム、少し複雑なシューティングゲーム、チャットなどの作り方を順番に解説していくそうです。

http://gyazo.com/f8ccd0e678edb114d92b28966e66f73b.png

 今日はゲンロンカフェで、東浩紀さんとひさしぶりにトークライブをやったんだけど、東さんが「感情移入する対象をもっと簡単に定義できないと子どもにはMOONBlockのプログラミングを理解するのが難しい」という鋭い知見を披露し、「お、それってすげーな」と素直に思ったわけです。


 東さんがいうには「まず、当たり判定が敵だろうが味方だろうが等価である、という前提を部外者は理解できない」という話をします。


 僕は「仕様書を書くようにブロックを並べるとプログラムができる」というものをMOONBlockと定義していたのですが、東さんはそれをさらに勧めて「物語の設定を記述するとゲームが完成する」ようにすべきだというのです。


 たとえばMOONBlockでシューティングゲームを作ろうとする場合、典型的には以下のようにブロックを並べます。

http://gyazo.com/1659ea3cbb9368eb1f151075b11bc417.png


 これはプログラミングという視点でみれば全く正しい定義です。

 MOONBlockは仕様書というか、クラス定義を書くとプログラムができあがる仕組みなのでこれはこれであってます。


 ところが東さんは、これを登場人物紹介のように書くべきだ、というのです。


 それはとても似ていますが、根本的に異なる思想です。


 前掲のプログラムでは、自機と敵機、弾は全て同列のオブジェクトとして扱い、当たり判定の細かな設定をすることで相互の関係性をハッキリさせています。


 しかしゲームにはそもそももともとの「文法」が存在するので、自機には「自機」というブロックなりタグなりでアノテーションをつければ、そこから自動的に「敵または敵の弾に当たると死ぬ」という性質が付与されるべきだというのです。

 同様に「敵」には「敵」というアノテーションを付けると、自動的にそれが敵として振る舞うようにすべきだと。


 正直この指摘は目からウロコでした。

 あまり過激にやると、自由度が奪われてしまうことになりますが、たしかにたかがシューティングゲームを作るのにここまで複雑なブロックを(それでもかなり簡単な方だとは思いますが)組ませる必要はありません。


 これはどういうことかというと、プログラミングはもっと簡単にできる、ということです。


 あまりおおっぴらに語ってはきませんでしたが、僕がenchantMOONやenchant.jsを一所懸命やろう、と思った原体験は小学生の頃にソフトバンクのOh!PCという雑誌に掲載されていた「ユーザーインターフェースの玉手箱」という連載でした。


 この連載は当時はまったく耳慣れなかった「ユーザーインターフェース」を中心的に扱いつつ、エキスパートシステムオブジェクト指向といった難解な話題をBASICのサンプルを交えながら楽しく解説してくれるものでした。


 そのなかで、オブジェクト指向によるゲームプログラミングという話が出てきて、これ、僕の記憶では80年代前半の記事ですから、相当先を行ってるというか、めちゃくちゃ最先端なんですけど、それをなんとBASICでオブジェクト指向のインタープリターを作ってやってみよう、という過激な内容でした。


 そのとき僕はゲームの画面に登場する事物をオブジェクトと見立ててプログラミングするというパラダイムを初めて知ったのですが、その単純明快さに惚れてしまい、それ以来、オブジェクト指向に憧れて少年時代を過ごしたのでした。


 僕が実際にオブジェクト指向に触れることになるのは高校生まで待たなければならないのですが、そのパラダイム自体は僕がオブジェクト指向言語を手に入れるより前の段階で既にアセンブリ言語でのプログラミングなどにも応用していました。


 この連載、残念ながら本にもなってないし今となっては当時のOh!PCなんか探すのも大変なので非常に振り返るのが困難なのですが、本当にこの連載が僕は大好きで、夢にまで見るほどでした。


 「オブジェクト指向を使うとこんなに単純明快にプログラミングができるのか」という驚きは、JavaScriptという正真正銘のオブジェクト指向言語を使って簡単にゲームプログラミングするための仕組みであるenchant.jsに惚れ込んだ最初の理由でもあります。



 MOONBlockも当然、そのような流れを組んで設計したのですがいかんせん、僕はまだまだ「プログラマー」の思考が抜けてなかったようです。


 東さんの指摘でまた「プログラミングを簡単にする」という僕のライフワークが新たな次元に引き上げられたような気がします。


 門外漢の人の指摘というのは大事です。

 しかも東さんの指摘はきちんと整理されているので僕も消化がしやすいのです。


 このような工夫を取り入れることで、もしかすると簡単なシューティングゲームを今の半分以下のブロックで実現できるようになるかもしれません。


 それって普通に考えて凄いことです。


 だってシューティングゲームのプログラミングって、昔は本一冊まるごと使って解説するようなものだったんですよ。


 それが一画面に収まるように説明できる。

 技術の進歩って恐ろしいです。



 今日のニコ生はまあ岡田斗司夫さん問題とかで最初は大きく脱線しつつも、最後は非常に濃厚で面白い内容になったのではないかと思います。


 やっぱ東さんすごいなあ

岡田斗司夫さんの炎上対応がまずいのはどうでもいいけど、モテキを見よう 09:24

 僕は岡田さんを直接存じ上げませんが・・・

 坂井直樹先生の講座に登壇されたこともあるそうで、昨夜もその話になりました。


 坂井先生も非常にモテる方で、浮き名を流しておられるわけですけれども、岡田さんのやり方はちょっとひどいなと。


 ちょっと病的というか、ほとんどビョーキというか、80人はフカシにしても9人の女性と同時に付き合うというのは色んな意味で凄すぎます。



 ふつう、男っていうのはいくら本能に忠実でもせいぜい二人か三人くらいしか追いかけられません。


 二人っていうのは、たとえば長年付き合ってる彼女がいるけれども、新しく現れた女性が気になってきた、とかそういうものです。その程度の「心の浮気」なら誰しも経験があることだと思います。


 三人というのは、同じ状況でもう一人気になる人が現れた、くらいのものです。



 でも普通はこれが限界で、この限界を超えてまで同時並行して女性と付き合おうという発想には至らないものです。



 どんなにモテる人でも、同時に相手をするのは三人が限界だと思います。三人だって週7日のうち、半分をとられるわけです。


 それが9人。もう週の日数超えてます。


 別の惑星に住んでるのか、というレベルです。


 これはもうひたすらスゴイというか、わけがわからないです。



 昨日学生と話していて、「そんなに彼女つくれるってスゴイっすよねー」という話になったのですが、実は別に凄いことじゃないです。


 たくさん彼女を作りたければ、別れなければいいんです。


 誰かと付き合ったら、別れずに他の女の人も口説くんです。

 沢山口説けば、そのうち口説き落とされる人も見つかるでしょう。それが80人ということなんじゃないかと思います。


 とにかくひたすらボールを投げ続ける。

 当たるまで投げればいつかは当たります。


 あれだけ生きてて、色んな人に会って、出会い頭に口説いていって80人。

 そう考えるとそんなに多いわけでもない気がします。



 普通、かなりのスケコマシと呼ばれる人でも五人くらいが限界です。

 五人と付き合ってるともう時間がぜんぜんなくなります。


 そのうえ、誰といても心が休まりません。

 みんなに嘘をずっとつき続けているわけですから。


 ふつうは精神がおかしくなってしまいます。


 それで普通の人は懲ります。

 もう何股もかけるのはやめようと思います。

 心の安寧を求めたら、それが自然です。


 それでもいい年こいて9人と付き合ってると公言するというのは、もう完全にビョーキの域で、いますぐ医師に相談したほうがいいレベルだと思います。


 そして炎上に対する対応がとことん下手です。


 謝罪して火消しがしたいのか燃料を投下したいのかわからない。

 吉田豪が岡田斗司夫さんのことしか考えられなくなってしまうのもわかります。


 だって燃料が投下され続けてるんだもん。


 この人はネットやファンの何を見て、何を学んでいたのだ、と思います。

 開き直っちゃう方がまだマシです。



 露悪趣味的な記録もいただけません。


 誰になんの自慢をしたかったのか。


 当事者でないので敢えて言うと、この状況は端から見て面白すぎます。


 最初は単なるどこにでもある痴情のもつれだったはずなのに、ニコ生で面白過ぎることを言うからどんどん材料が投下されてきて収拾がつかなくなっています。


 むしろ最初の頃は岡田さんに同情的な目線もあった気がするのですが、完全にそういう人も敵に回してしまいました。



 じゃあどういう対応がよかったのかというと、まあ不誠実に見えるかもしれませんが、先人の例に倣いだんまりを決め込むしかなかったと思います。


 古今東西、炎上の対処法というのは燃料を投下しないということに限ります。

 江戸の火消しと同じで、燃えそうなものは周辺家屋含めてつぶしちゃう。





 そんな炎上し続ける岡田さんを見守るウォッチャーは今一度この映画を見ましょう。

モテキ

モテキ


 とある人がこの映画について以前こんなことを言っておられました。


 「この映画に出て来る男は、ぜんぶ一人の人間、童貞、ちょっと女遊びを覚えた男、そして枯れて女を手玉にとる中年、複数の時間軸がこの映画に含まれているんだ」


 気付きませんでしたが、たしかにモテキの男性は全て一人の人間の成長した姿である、という視点でみると非常に納得がいきます。


 作者の方も意図してはいないのかもしれませんが、男には勝手に女性に妄想を抱く時期と、幻想が崩れてやけっぱちになる時期と、中年になってどうでもよくなる時期があると考えると、なかなかに味わい深い映画です。


 マンガもいいけどね

モテキ(1) (イブニングコミックス)

モテキ(1) (イブニングコミックス)


 いやー、モテキってスゴイ作品だよ。マジで。


 男の真実が全てこの作品に入ってる。

 女性が描いたとは思えない。いや、むしろだからこそ真実味があるというか。


 モテキに登場する女性も全員、どこか見覚えがあるというか。


 「いたいた!こーゆー女」


 という感じが全開です。

 故に女性からも人気のある作品なのだと思います。

 (まあ女性からは主人公の評判は悪いですが)


 でも映画モテキの麻生久美子は怖すぎです。

 おしっこ漏らしそうになりました。


 テレビドラマもいいけどね。

モテキDVD-BOX (5枚組)

モテキDVD-BOX (5枚組)


 悪いけどドラマのDVD-BOXもマンガも映画DVDも全部持ってる。


 映画は特に長澤まさみが可愛過ぎて憎らしくなる。金子ノブアキをぶん殴りたくなる。


 けど、森山未來も金子ノブアキもリリー・フランキーも全部一人の人物の異なる時間軸の姿だと考えると、なるほど味わい深い。

 

 まあきっと今日のゲンロンカフェのイベントはこの話は避けられないだろうなあと。

 思ったので先に書いておきますね。

清水亮×東浩紀 「無敵の文理融合コンビが総選挙からニコキャスまで一刀両断!――ゲンロンカフェ2周年記念:五反田IT漫談2015」 @shi3z @hazuma | Peatix

http://peatix.com/event/66538