Skip to content

君は脳内プログラミングができるか!? enchant.js 新バージョン限定公開ハッカソンのお知らせ

wise9編集部のあるUEIのCTO、水野くんの記事が一部で話題になっている。

その名も勇ましい、「脳内プログラミングのススメ

まあ詳しい内容は本文を見ていただくことにして、要するになにを言っているのかと言うと、「キーボードを使ってプログラムを書いたりデバッグしたりしてると時間がかかるので、 頭のなかに総てのソースコードを思い浮かべてから、完成した形になったものをキーボードに書き出せばいい」ということ。

何を言ってるのかよくわからないと思うが、大丈夫。僕もよくわからない。

 

「そんなんできるかっ!」

 

と僕も思ったりしたが、冷静に考えてみると、ある経験を思い出した。

中学生の僕は、G-LOCというセガの体感ゲームにハマっていて、寝ても覚めてもG-LOCのことばかり考えていた。

ある日、MRIという医療機器に入ることがあり、これがすげー狭い棺桶みたいな場所で一時間近くただ寝てるだけという非常に退屈かつ苦痛な検査で、ぐっすり眠れたらラクなんだけど、実際には電磁石が頭のまわりを超高速にぐるんぐるんと回転する音で全く眠れない。けど、頭を動かしてはいけないという、拷問レベルの検査だった。

しかたないから、頭を動かさず、目を閉じてひたすら騒音に耐えなければならない。

すると、四六時中遊んでいたG-LOCの画面が突然視界に蘇ってきた。

まさに「目ぇつぶってもデキル!」というレベルだ。

その場で腕でレバー操作をして、G-LOCをずっと遊んでいた。

これは、G-LOCというゲームにハマるがあまり、総ての攻撃パターンとそれに対する対策、それが遅れた場合のトラブルなど、ありとあらゆる部分について経験しているので、頭の中で簡単にゲームエミュレータが動いたのだ。

 

もしかしたら、水野くんの言う「脳内プログラミング」とは、僕の「脳内ゲーム」のプログラミング版かもしれない。

記事にあるとおり、頭にエディタを思い浮かべてみた。
キーボードを打つイメージで「hoge」と打ってみた。イケル!

試しにフィボナッチ数列を出すプログラムを書いてみる。

これは簡単だ。

フィボナッチ数列が難しかったら、とりあえず1から10までの数字を順番に表示するプログラムを書いてみればいい。

いくらなんでも簡単にかけるだろう。

トレーニングとしては、このあとフィボナッチ数列、さらにそのあとはエラトステネスのふるい、とかを作ってみるといいと思う。

しかしここで僕は躓いた。

エラトステネスのふるいのプログラムを書くことができたが、実行結果を頭に思い浮かべるには経験が足りなすぎた。

 

脳内プログラミングは、もしかしたらある分野のプログラミングの経験を一定数積んで、さらにその実行結果やエラー、バグなどを無数に経験しないとできないのではないか。

これは脳内ゲームができるといっても、僕が過去に実現できた脳内ゲームは「トランスフォーマー、コンボイの謎」や「G-LOC」そして「ルバン三世」などのクソゲーであり、それは全パターンを覚えているからだ。

誰でもできそうなこととして、たとえば目を閉じて「スーパーマリオ」を遊んでみてほしい。世代にもよるが、たいていの人は1-1から1-2くらいまではできるはずだ。

何度も死んでるので、あらゆる死にパターンを理解しているからだ。

無数の可能性があるようにみえて、自分の過去の経験に照らして「うまくいったときはこう、しくったときはこう」「しくったときの感覚はこう」というのを覚えているのだ。

そう、これはスポーツの世界では、イメージトレーニングと言われる、立派なトレーニングの一種である。

 

逆に言うと、これは十分な実践経験がないと脳内シミュレーションはうまく機能しない。
一度も遊んだことがない「キミキス」を脳内シミュレーションすることは不可能だ。

水野くんはこと仕事としてのプログラミングを無数に行っている。彼は誰よりも長時間プログラムを書いているし、誰よりも沢山のバリエーションのプログラムを書いている。なにしろ脳内アセンブルができるほどの人間なのだ。脳内PHPとか脳内C++処理系とか入っていてもなんらおかしくない。

で、仕事では全く手を付けたことのないアルゴリズムというのはあまり使わないから、必要に応じて本物のプログラムを書いているのではないか。

まあ彼の場合、会社で寝てるとき以外はずっとプログラムを書いているので(だいたい常人の10倍くらいの仕事を常にしてる)、脳内が常にプログラミング状態になっていてもおかしくない。

確かにスポーツでもイメージトレーニングをすると、余分な動きや無駄な動きに気づいて、動作が最適化されることがある。

これをプログラムに対して行っているわけだから、確かに納得できる。

 

ただこの問題の欠点は、水野くんくらい寝ても覚めてもプログラムを書いている人間でないと有効に機能しないということだ。

僕もプログラミングに煮詰まっていたとき、寝てる間もデバッグを続けていて、あるとき夜中にガバッと起きて、吐き出すようにプログラミングをして寝たら、そのときの記憶はほとんど無かったんだけど、朝起きてみると一週間くらい悩んでいた問題が解決していたりする。

これなどは脳内プログラミングというよりは、睡眠プログラミングと言えるだろうが、どちらにせよそれをものにするには、とにかくずっと書いている必要がある。

 

まあenchant.jsを使ったゲーム開発の場合、そもそも書くべきコードの絶対量が少ない。
だから実を言うと脳内プログラミングするほど難しいコードというのはあまりない。

9leapを運営しているのは東大の伏見くんを中心とした大学生チームだけど、よくぞ毎月のようにバージョンアップを続けていると感心する。
いくら短いコードといえど、あれだけのものを持続的にバージョンアップするのは非常にバイタリティが必要なはずだ。

そういうわけで8月1日にもまたまた9leapとenchant.jsに新機能が追加される。

しかも今度は、enchant.jsによって作られるゲームの可能性を何倍にも広げるような全く別次元の機能だ。
この機能の開発には電通大の杉本君が尽力した。現在最終調整中だ。

この機能のテストを兼ねて、来週末、UEI/ARC内で泊まりがけのハッカソンをやることになった。
基本的にはUEI/ARCのメンバーがあつまるハッカソンだけど、外部からも参加してもらったら面白いんじゃないか。

というわけで、ハッカソンの参加者を若干名(2〜3名)募集しちゃいます。

30日土曜日の夕方5時から、翌朝10時くらいまで、場所は秋葉原。
ただし、応募多数の場合は、こちらで抽選とさせていただきます。

宛先は post@wise9.jp まで タイトルに「enchant.jsハッカソン参加希望」として、本文にプログラミング歴と過去につくった作品紹介などを添えて下さい。

なお、未成年の方の場合は終電までの見学か、始発からの参加のみ受け付けます。

みんなで面白いプログラムを書こうぜ!

このエントリーをはてなブックマークに追加
はてなブックマーク - 君は脳内プログラミングができるか!? enchant.js 新バージョン限定公開ハッカソンのお知らせ
Post to Google Buzz
Share on GREE

No related posts.

Facebook comments:

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*