僕は発展途上技術者

黒い画面の魔法(UNIX のコマンド)をアドベンチャーゲーム形式で学べる Terminal Quest が楽しい

1993年、大学の学部の電算機室に行けば Sun か NeXT のワークステーションがいつでも使えるという日本でこれ以上ないんじゃないかという恵まれた環境にいながら、僕はプログラミングはもとよりコンピューターにはほとんど興味がなく、UNIX の授業でなんだか cd とか ls とか微かに教わった気がするのだが「なんじゃ、こりゃ、わけがわからんしつまらんなあ」という感じだった。タイムマシンがあったら、20数年前の自分を説教したい。

そんな時代にこの Terminal Quest と出会っていたら僕の人生変わっていたかもしれない。。俗に黒い画面と呼ばれるターミナルで入力するコマンド(UNIXコマンド)をアドベンチャーゲーム形式で楽しく学べるゲームだ。



↑ こんな感じでストーリーが進んでいき、



↑ まわりを見回すには ls とか、何かものを調べるときは cat といった実際の UNIX のコマンドを使う。



↑ 使えるコマンドは、ドラクエの魔法を覚えていくようにレベルアップしていくと増えていく。

隠れているアイテムなどは、ls -a (隠しファイルを一覧するコマンド)を入力しないと見えないなど、きちんと実際のコマンドの役割に対応していて良くできている。

Terminal Quest はゲーム感覚でプログラミングを学べる小型PCキット「Kano」に付属してくるゲームなのだが、Raspberry Pi があれば Kano OS のページより無料でダウンロードしてインストールすることができる。

プログラミング教育が昨今盛んになってきているが、本当に楽しいレベルまで到達するためには自由に道具や環境をそろえる必要がでてきて、そのためには UNIX の知識は必須だと思っていた。初心者をなかなか簡単にはよせつけないその UNIX コマンドを楽しく学べるようにしたというのは秀逸。

プログラミングをこれから学ぼうという学生、大人にもおすすめだし、頑張って日本語化したらこどもたちもできるようになるかな。



自然現象のシミュレーション Nature of Code をスクラッチでやってみる - 加速度、ベクトル

引き続き Nature of Code の話題を。学習記録的な側面で書いているので、説明は少なめで。

第一章の Vectors の動画を観終えたので、習ったことをベースにスクラッチでいくつかプロジェクトを作ってみました。

Vectors(ベクトル)のスケーリング(Multiply)と正規化(Normalize)。Processing だと PVector というクラスのメソッド(関数?)を使ってどちらも簡単に求めることができるのですが、スクラッチにはそういった便利関数はないので、ブロックを定義して自分で実装します。



速度や加速度。Processing では PVector を使い、すべてベクトルで考えるのですが、PVector のような便利関数がないスクラッチでは x と y バラバラで考えます。

ネコ逃げ、加速度付き。

ネコに加速度をつけただけで、あら不思議、なんだか動きがリアルに見えるようになりました。


自然現象のシミュレーション Nature of Code をスクラッチでやってみる - Introduction ランダムウォーク

ドットインストールの @taguchi さんに教えてもらった「Nature of Code」がとても楽しくてはまっています。

» @fladdictさんのインタラクティブ・プログラミング勉強会で「手触りの作り方」を学ぶ

で詳しく紹介されていますが、跳ねるボールとか、風にそよぐ木だとか、波といったような自然現象をどうやってコードで表現すればいいかを Processing で学んでいきます。

英文の HTML で無料で公開されていて、Introduction を読み始めたのですが、YouTube の動画で作者の Daniel さん自ら講義していて、これがハイテンションで面白いので今はもっぱらこちらを観ています。いまも風呂に iPhone 持ち込んで観てきたばかり。





学生のときにこんな講義に出会っていたら、もしかしたらこっち方面に進んでいたのかも、なんて思いを馳せながら聞いています。

ベクトルとかでてきて、ちょい難しめかもしれないが、こどもたちにもわかりやすくエッセンスを伝えられないかと思って、スクラッチで再現してみようかと思っている。

とりあえず Introduction にでてくるランダムウォークを再現してみたのがこちら ↓



英文のままだとさすがにこどもには敷居が高すぎるので、和書も買ってみて、さてどうやって息子たちと一緒に楽しもうかと思案中。

昨年末から始めてみた 大人のためのプログラミング勉強会 のネタにもなりそうです。

Nature of Code -Processingではじめる自然現象のシミュレーション-
ダニエル・シフマン Daniel Shiffman
ボーンデジタル
売り上げランキング: 20,950





プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ