gracetory’s blog

東池袋にある合同会社グレストリのエンジニアブログです

Nintendo LaboなりのHello Worldをご紹介

大変ご無沙汰しております。グレストリの山口です。生きてます。

この間に色々ありましたが、長くなるのでバッサリ割愛しますね。

普段から小まめに記事を書かないからこうなるのです。自戒自戒。

Nintendo Labo(以下ニンラボ)でプログラミングもどきにチャレンジ

2018/4/20、ゲーム史に残るタイトルであるニンラボが発売されましたね。私も買いました。

f:id:gracetory_yama:20180427174524j:plain
小学生の図工の授業を思い出します

子どもはもちろん、猫に大変人気があるらしく、愛猫の動画や画像と共に載せるとPV爆稼ぎできます。

私もそれらの動画で癒されてます。

さて、本作は少し進めると自分でプログラミングチックなことをして新しい遊びを開発する「Toy-Conガレージ」を利用できるようになります。

ネットを検索すれば、あんなものやそんなものを開発した猛者がいくらでも出て来ますが、ひとまずニンラボ界の「Hello, World」を紹介したいと思います。

手抜きではない。

Hello, World!

いきなりですが、以下が今回作成したライトセーバーごっこの全体図です。

f:id:gracetory_yama:20180427191915j:plain
基本的にこの画像を中心に話すので覚えておいてください

ブループリントみたいなビジュアルスクリプトですね。

こんな殺風景なノードでも、「コントローラーを降る」だけで

  • コントローラーが振動する
  • 音が鳴る
  • 画面が光る

の動作を制御してます。決められた動作を実行する様はまさしくプログラミングです。

とても直感的で、コーディングのコの字を知らなくても誰でも作ることができますね。

最初に、上の画像左下にある①のボタンを押すと、挙動のトリガー(入力)を設定できます。

今回であれば「コントローラー(Joy-Con)を降る」です。

画面の(1)のノードができます。

これは実際にやっていただければ誰でもわかりますので、とにかく「左下のボタンで挙動のキッカケを作る!」とだけ覚えましょう。

写真は撮るの忘れました。

ちなみに、生まれた(1)のノードをタップすると、詳細設定できます。

f:id:gracetory_yama:20180427202130j:plain

今回はデフォルトで問題ないです。

以下で各挙動の設定を解説。

コントローラーが振動する

今宇宙には「コントローラーを降る」というキッカケしか存在しません。

その結果を用意しましょう。

先ほどの画像の②のボタンを押せば、どんな結果(出力)を返すかを設定できます。

ここで振動させるを選択すると(2)のノードができるので、タップで詳細設定できます。

f:id:gracetory_yama:20180427180337j:plain
写真がボケてるのはiPhone Xのせいではなく、私が未熟なことが原因です

振動する長さとかも設定できますが、ひとまずデフォルトでOKです。

音が鳴る

さすがに「バシィィ!!」というライトセーバー独特の効果音はありませんが、それっぽく見せることはできます。

再び②を押して、「音を鳴らす」みたいな項目を選択すると、(3)のノードができます!

今回は以下のような設定をしました。

f:id:gracetory_yama:20180427200841j:plain

音の長さ、キーなど、結構細かいところまで設定できます。

とりあえず「ラ」の音で1オクターブ下げて、適当に長さを決めればOKです。

画面が光る

さぁ、残すはライトセーバーですから、当然光ですね。

やっぱり②から「画面を光らせる」みたいな項目を選択です。

ここで生まれた(4)のノードですが、デフォルトのままだと(1)(2)(3)程度の大きさしかありません。

そして、この(4)のノードのエリアが光るという仕様になっているみたいなので、迫力を出すために大きくしてあげましょう。

確かピンチアウトで大きくできたはずなので(うろ覚えです、すみません)、適当に大きくしてあげてください。

ただ、例のように他のノードを覆うようにしてしまうと、他のノードを選択しにくくなるのでご注意を。

(このノードを最後に作った関係で一番手前にあるせい)

設定はデフォルトで大丈夫です。

忘れずにノードを繋ぐ

さて、これでライトセーバーに必要な要素が揃いました!!

が、まだ「入力」「出力」が繋がってないので、振っても何も起こりません。

例の画像のように、ノードの端にある大きめの点を繋いであげましょう!!

今回は、「コントローラーを振る(入力)」が

  • コントローラーが振動する
  • 音が鳴る
  • 画面が光る

これら3つの出力をするので、入力である(1)のノードを残り3つの出力のノードに繋いであげましょう!!

これで初めて関連付けがなされたことになるんですね。

Let's Play!

さて、これで準備は完了です。

見にくいので、ノードとかを消したいですね。

画面上部中央の再生ボタンを押せば、runモードになって設計物の表示が消えます。

それでは、ジェダイになりきってJoy-Conを振り回しましょう!!

完成したものがこちら!!


ニンラボでライトセーバーごっこ

右には写すといけないロゴがあったので雑に隠してます。

なんとなくブンブン振り回すと音がなって光る!!

これは誰がなんと言おうとライトセーバーだ!!

ですよね?

まとめ

作ったもののクオリティに関しては見ての通りですが、「Hello, World」としての役割は果たせたんじゃないでしょうか。

ニンラボを機にものづくりの楽しさに目覚め、未来を変えるような何かを作る若者が出てきたら素晴らしいですね。

ゆくゆくは本物のライトセーバーを作ってジェダイの騎士になる人が出てくるかも...

ファミリーベーシックのような、後の偉大なクリエイターを生み出すツールになることを期待します。

ちなみに私はファミリーベーシックに触れたことないですけど。

余談

動画を投稿したの初めてですし、動画を編集したのも初めてです。

やっつけなところは見逃してください...

ゆくゆくはVTuberみたいなことを密かにしたいと思っているのですが、最初のキッカケが会社のブログになるとは思わなんだ。

いつか「誰でもなれる!VTuberの始め方!!」みたいなブログを書きたいものです。