まずはわかりやすく普通じゃないプログラムを紹介
普通じゃないプログラミングとはどういうものなのか。まずはそれが一番わかりやすいこの作品から紹介しよう。
開発者の@HirokiUsubaさんは筆箱にないランキング1位は分度器だ、と言い出した。
必要なときに筆箱にない文房具ランキング。ちなみに大体の発表は無理やりな導入部から始まるので、ランキングは気にしてはいけない。
Macbook Airだ。
どういうことだ。Macbook Airはパソコンだ。
分度器とは何の関係もないだろう。
みんながそう思った次の瞬間、こんなスライドを出してきた。
ここ!ここで角度が測れる!
何を言っているんだ。普通じゃない主張をしてきた。
しかしこれは普通じゃないプログラミング発表会だ。プログラミングが組み合わさることで普通じゃない主張も現実化するのである。
Macbook Airを分度器にするための方法はこうだ。
インカメラとトラックパッドを使います!
ビデオ通話などをするためにインカメラが付いている。そしてマウスカーソルを操作するためのトラックパッドがある。
マックを閉じようとするとカメラにトラックパッドが写るのだ。
そしてこの位置をプログラムで測ることで、角度が計算出来るという。
どういうことだと思っているうちに、デモを始めた。
…測れてる!!
プログラムを動かしてマックをパカパカすると、確かに角度が測れている!
@HirokiUsubaさんは欅坂46を推しているとのことで、マックの角度を46度にするゲームを作ってきたのだった。マック46だ。
マックで46度を作る男。
こんな普通じゃないプログラミングが今年もたくさん出てきたのである。
これが俺たちのシンギュラリティだ
世間ではAIやらディープラーニングやら、コンピュータに色んなことをさせるのがおおはやりである。
そんな中で料理のレシピを提案させてみたのができゅうさん(@de_kyuu)だ。
色々と難しそうな単語が並んでいる。
レシピサイトから、料理のタイトルや材料、手順を取ってきて自動でそれっぽく組み合わせて新しいレシピを作るというプログラムを作ってきた。
そのプログラムが出してきたレシピに盲目的に従ってみたのである。
料理名は「ちの」、サブタイトルは「おしいのコリコリ煮のするです」だ。
料理名からしておかしい。しかし膨大なレシピの中からそれっぽいタイトルを付けたので間違っていないはずだ。
手順もそれっぽいものを自動で生み出している。
まずは肉を引っ張って10分置く。その手順いるのか。
と思ったら普通な手順も出てきた。安心する。
切った野菜にはチョコレートを軽く握って振りかける。儀式的な動きが入ってくるな…。
そんなこんなで完成!
焦げた肉と、コンデンスミルクとチョコで甘くなった野菜炒めが誕生した。
味は…想像に難くない。これがシンギュラリティ時代のご飯である。
とんだディストピアだ。
最新技術にも目がない
どうせやるなら最新機種をハックしたい。そんな願望は普通じゃないプログラミングにはつきものである。
今回は最新ゲーム機のNintendo Switchに手を加えた作品も出ていた。
津田塾大学の栗原先生の作品である。
1-2-Switchという、コントローラーを振ったり傾けたりして遊ぶゲームがある。
色んなミニゲームが収録されているのだが、栗原先生はその中でガンマンというゲームをチョイスした。
3、2、1、レディー…ファイア!というかけ声がかかった瞬間に銃の早打ちのジェスチャーを先にやった方が勝ちというものだ。
上の方にある赤いのがコントローラーです。
コントローラーをモーターにくくりつけて、かけ声を音声認識した瞬間にモーターを動かすことで、自動でゲームに勝てるようにしてしまった。
ファイア!で動く銃(コントローラー)。
ウィン、と動く銃がかわいい。
しかしかけ声の中には「3、2、1、…fly!…fox!」という引っかけもあり、最初は耐えるものの引っかけを連発されるとウィン、と動いてしまうそう。それもかわいいな。人間か。
ネットをネタにしたものも
メロディーだけ頭に出てきて、あっこの曲なんだったかな…!?ということはままある。
同じ悩みを抱えたとき、人はYahoo!知恵袋で質問をするのだ。
「曲名を教えてください てんてててん… みたいな感じだったと思います」
聞き方がすごいが、それだけで当てる方もすごい。
このやりとりをシステムにしてしまったのが金杉さんだ。
フレーズは出てくるのに曲名がわからない…!そんなときはこのシステムを使えばいいのだ。
質問入力欄にフレーズを入れよう。
すると、曲名を教えてくれる!「たたたーたた」だけで出てきた。
めちゃくちゃ入力が大変だ。だが、これですっと曲名を調べることが出来る。
ちなみにあらかじめ登録したフレーズとマッチするかどうかで判定しているので、金杉さんが曲に合わせて頑張って登録する必要があるのが課題である。
フレーズを登録する画面はもっと大変なことになっていた。
回した数だけお経を唱えたのと同じ効果があるというマニ車。現代人はベアリングを内蔵してさらに怠惰になった。
frog_aboonさんはこれをさらに発展させて、マニ車搭載ハンドスピナーを自動で回すようにしてしまった。
Twitterで「徳がほしい!」と書くと反応して回る。IoT(Internet of Toku)だ。
ところでマニ車を知っている前提で書いてしまった。僕はよく知らなかったが、この発表を聞くことでものすごくよくわかった。
なぜならfrog_aboonさんがやたら詳しく説明してくれるからである。
「そもそも徳とは何なのか」というスライドまで現れた。下調べをやたらしっかりやっている。
発表時間のうち徳についての講義が7割を占めるほどだ。
ちなみに彼は去年「
レーザーカッターで燻製を作る」という発表をしたのだが、
「そもそも燻製とは何か」というスライドがしっかりあった。
去年も同じ流れであった。ここまで来るとこれは彼の芸風であろう。来年も楽しみにしてます。
今年もプログラムのコール&レスポンスが
Maker Faireなどのイベントによく出るという堀 洋祐さんは、イベントで名刺がない!というあるあるな問題の解決のため、その場で名刺が用意出来る名刺プリンターを作った。
レシートプリンターで名刺データを印刷するのだ。
出来上がった名刺はこんな感じ。
これは普通に便利だ。なによりレシート用紙にプリントされた名刺がかわいい。ほしいなこれ。
そしてその1時間後、3846masaさんが飛び入りでこんな発表をしてきた。
「ブラウザ上で動く名刺プリンター」だ。
さっきカサネタリウムさんが発表したやつをソフトだけで実現するものを作ってきた。
「レシートプリンターみたいに印刷がかすれる機能も搭載しました!」と言っている。どこに力を入れているんだ。
ABProの特徴として、発表された作品を時間内に改造して発表して良い、というものがあるのだ。
短時間でさっと作って見せられるのはかっこいい。
ぐ、僕も取材でなければさっと何か作ってドヤ顔したい…!とうらやましくなった。腕が4本くらいあればいいのに。
本当に普通じゃない作品が出た
そうこうしているうちに、このABProを主催している宮下研究室のボスである宮下先生の発表の番が来た。
今年は一体どんな普通じゃない作品が…?と思いながら見ていたら、いきなりすごいスライドが出てきた。
カリウム搭載プリンターの提案!
インクジェットプリンターはCMYK(シアン、マゼンタ、イエロー、黒)の4色のインクが使われている。
しかしこのうち黒はCMYを混ぜれば出来るので、なくても良いのだ。
そこで、Kのインクを黒の代わりにカリウム(元素番号はKだ)を入れてやろうという試みである。
プリンターのKのタンクに水酸化カリウム水溶液を入れてしまったのだ。
…さらっと書いてしまったが、水酸化カリウム水溶液は強アルカリで危険な薬品なので、絶対に!絶対に真似しないでください!
本気のお願いなので赤字で書いた。本気と書いてマジである。
薬局で免許証出して印鑑押さないと買えないようなやつだ。先生は前にも化学薬品を扱った研究をしていたのでその辺りは心得ているが、賢明な読者の皆さんは(賢明じゃなくても)真似しないでください。
強アルカリパワーによりアルミホイルに穴を空けるようなやつなのだ。
ということでほんとにマッドな発表が出てきた。ではカリウム搭載プリンターは何が出来るのか?
中学の理科を思い出しながら次のスライドを見てほしい。
Kだけで印刷すると、見た目は真っ白。でも、フェノールフタレイン溶液をかけると…
印刷したところが浮き出てくる!
フェノールフタレイン溶液。授業で習った記憶はある。
アルカリに反応して赤くなる溶液だ。酸性・中性だと白のままなので、水酸化カリウム水溶液があるところだけが赤くなるのである。
つまり、あぶり出しのえらく危険なバージョンだ。
酸で中和すると無色になる。
すげえ!おもしれえ!と思わず声が出た。授業で習ったことをこうして別の形で実装して見せられると、こうも面白いものか。
さらに先生は別の溶液も購入した。
BTB溶液だ。
酸やアルカリを判別するのに使う溶液だ。
Wikipediaには色の変化の説明がこういう風に書かれている。
色の変化は pH < 6.0で黄色、pH > 7.6 で青色であり、その中間では緑色を示す。ただし、非常に強い酸に対しては赤色を、非常に強い塩基に対しては紫色を示す。
つまり酸からアルカリに変わるにつれて、赤→黄→緑→青→紫と変わっていくのだ。
「この色の変化…プリンターになりませんか?」という話である。
ということで、Cのタンクに水酸化カリウム水溶液とBTB溶液で作ったシアンを(!)、Mのタンクに塩酸とBTB溶液で作ったマゼンタを(!)ぶち込んだ。
普通じゃない。狂ってやがるぜ…!
印刷した結果がこちら。
強酸・強アルカリで作った二原色プリンターはさすがに色合いが薄かった。
しかしぶっちぎりで普通じゃない作品だ。
自己責任でもやらないでくださいね。
なぜならプリンターが壊れるからだ。
このプリンターの発表動画はこちらから見られるのでぜひ見てほしい
会場の一体感がたまらない
机の上に収まらないほどの大きな作品を持ってきて、実際にデモをしてしまうのもABProの魅力の1つだ。
この日一番大きい作品を持ってきたのは秋山 耀さんだ。
作品の全景。でかい。
太陽フレアをテーマに持ってきた。壮大だ。
近い未来、太陽フレアが来てしまうとICなどに被害が及び、電子機器が使えなくなってしまう。
そうすると今のコンピューターゲームなどの娯楽が消えてしまう。
ということは、ICを使わないゲームを作ってゲームセンターを作れば、文明崩壊後の地球で大儲けなのでは…!?ということに気づいた秋山さん。
文明は崩壊しているのでプレゼンも紙芝居でお送りしています。
今回はICを使わずに太鼓の達人を作りたい、という発表だった。
そんな動機のために地球の文明を滅ぼしてしまった。どうにか本筋に入れるように導入を持っていった結果である。
こんな仕組み。
オルゴールは皆さん触ったことはあるだろう。あれと同じ仕組みを使う。譜面をパンチカードにするのだ。
モーターでパンチカードを送り出すと、鉄琴が連動して音を鳴らす仕組みになっている。
また、以前作ったという映写機(写真の右上にあるやつだ)も連動して動くようにして、太鼓の達人の画面っぽく「ドン」と「カッ」を表示するようにしたという。
これらがICなしで、電源だけで動くのだ。すごい。
しかし機械要素が多いので、トラブルが多いのが難点だ。パンチカードは詰まるし、映写機もガガガガと不穏な音を立てた。
だが逆にこれが会場の一体感を高めた。「がんばれ!」と自然に声援が飛ぶ。
引きで撮っていたカメラから。みんな前に移動して見た!聞いた!
この雰囲気が僕はとても好きなのだ。
プログラミング発表会と聞くとシステムについて淡々と発表する、というようなイメージがあるかもしれないが、実際には作った人の熱量とストーリーがあって、デモはライブ感があって、グルーブを生み出していく。
やりまーす!
動画を下に掲載したので見てみてほしい。
上のスクリーンに写っている、洗面器を逆さにひっくり返したようなものが太鼓だ。左の人がお客さんで太鼓を叩く。
大体50秒くらいのところからプレイが始まる。右で譜面を流している秋山さんは大忙しである。
動画の前半では試行錯誤してようやく動いたときの歓声が、後半はやりきった秋山さんへの拍手が気持ちいい。
ちゃんと動かなかったところも映しているので、作った秋山さんは嫌がるかもしれないが、すいません。この雰囲気を伝えておきたかったのです。