で、既存 ToyConでの遊びも程々にさっそく Toy-Conガレージへ潜ってきました。
Toy-Conガレージは簡単に言うと 「自分でオリジナルの ToyCon作っちゃおう!」 という奴です。
Switchの各デバイスからの入力をちょっと加工して音や画面、振動機能へ出力することができます。なかなか本格的ですね。
設定画面はいわゆるノードベースというビジュアルプログラミング?的な仕様なので、特定のプログラミング言語などを憶える必要もなく、直感的に動作の設計ができます。
※デザインツールやシェーダ作成(3DCG)、ゲームエンジンなどで使われるようになって久しい気がします。プログラマというよりは主にデザイナ向けですが。
適当に作った習作 : 数秒毎にネコが鳴きます/タッチでも鳴きます (止まりません)
詳しいことは添付のサンプル (お手本) が充実しているので、そちらを見ればだいたい解るんじゃないかと。
動作としては論理回路によるハードウェア設計に近いものなので (アナログ的な連続値も扱えますが)、既存のプログラミング言語的な構文をベースにしていくには向かないものです。
条件分岐や文字出力、算術演算といった (実際のプログラミングの動作としては) ごく基本的な機能を用意するだけでも結構難儀します。反面デバイスを利用した直接的な操作には十分なので、そのあたり "Toy-Conを作るための機能" という位置付けなんでしょうね。
※これだけでプログラミングの学習が十分! という程では流石にありませんが、最初に触って楽しむ&慣れる環境には最適です。
「子供の頃にこういうおもちゃが欲しかった!」 と思うのは、おそらく自分だけではないでしょう(笑)
余談ですが、自分が初めて触ったプログラミング環境が、家に転がってた "ファミリーベーシック" でした。Laboに触れて育った子供たちが、ソフトにしろハードにしろ将来面白いものを作ってくれるようになるかもしれませんね。
以上、Labo楽しいのお話でした。
■自分用 TIPS メモ
・NULL(なにもしない)ノードは?
0秒タイマか NOTx2 かな? 自己入力や複数入力→複数出力などで重宝します。
・AND はあるのに OR がない?
ノードの入力側にラインを複数繋げばそれが OR になります (最初迷ったのは内緒)
アナログ入力の場合は ANDが小さい方と書いてあるので、多分大きい値の方を選択する気がします (未検証)
・常にひからせたい
ひからせノードの入力に NOT出力を繋いでおく。NOTの入力は解放状態でよい。
要するに 入力なしの NOT=固定値ON(1.0?) として扱える。
【関連する記事】