以前、"6歳からのPython"というエントリーで、娘にPythonを教えようとして挫折した話を書きました。その後も、なにかいいものが無いかなと探していたところ、SCRATCHというものを発見。MITのメディアラボが開発した、8歳以上が対象という開発環境です。
似たようなものとして Squeak Etoys があり、使ってみたことがあるのですが、Smalltalkというマイナーが言語がベースで、いろいろ独特なので、入門用としてはどうかなぁと思っていました。SCRATCHもSqueakベースですが、表面上はSmalltalkっぽさは無く、CやJavaのような普通の手続き型のプログラム言語(+オブジェクト指向)であり、僕にはこちらのほうが取っ付きやすいと思えます。普通の言語へのステップアップもしやすいでしょうし。
SCRATCHの難点は、昨年公開されたばかりなので資料が少なく、日本語版も無いことです。でもなんとかなるでしょう。逆に考えれば、英語の勉強になっていいかもしれん。そもそも、たいていのプログラム言語は英語ベースですしね。
さっそく、リリカにやらせてみました。"Getting Started"の内容をざっと説明して、あとは好きにやらせてアドバイスする、という安直な教え方をしたのですが、リリカは理解したようで、いろんなキャラを呼び出して、動きをつけたり音を鳴らしたりしていました。
ブロック状のコマンドを組み合わせると、それが順次実行されることは、驚くほどあっさり理解しました。ループの概念もすぐに分かったようです。処理の構造が、視覚的にわかるのは大きいですね。結果がキャラクタの動きとなって、すぐに出ますし。カット&トライもやりやすいです。
Squeak EtoysはUI(ユーザーインタフェイス)が独特で、けっこう難しいと感じましたが、SCRATCHのUIはよく練られています。特にお絵かきツールの使いやすさに感心しました。なにげない機能ですが、こういうところにセンスが出るんだよな。子供が迷いにくいように操作をシンプルにしつつ、それなりの機能が盛り込まれています。リリカはこの手のツールは初めてのはずですが、最低限のことを教えたら、あとはどんどん使っていました。
リリカはこのお絵かきツールが気に入って、もっぱら絵を描いて楽しんでいました。画面に出ているキャラクタはすべてリリカ作です。まぁ、そういう入り方もアリでしょう。 ひとしきり絵を描いたあとで、それぞれのオブジェクトに動きを設定して、一斉に動かしたりしています。それだけでも面白いですね。
コンテンツ(キャラクタやサウンドなど)を呼び出すためのファイルブラウザには、改善の余地があります。ベタにファイル構造を見せているだけなので、容易に迷うのですね。内部管理されたコンテンツを選ぶ操作と、外部ファイル(PC上の普通のファイル)をインポートする操作は分離するべきでしょう。
ともあれ、Getting Startedの内容はリリカは把握したようです。正味2時間くらいやったでしょうか。次は、キー入力による制御や分岐について教えようと思っています。ぐっと難しくなりますが、ついてこれるかな… 最終的には、簡単なゲームを作るのが目標です。
最近のコメント