言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

スーパーパーツ瓶の説明

昨日徹夜でアップしたのでちゃんと説明しなかったのですが、スーパーパーツ瓶とは何かについて書きます。メタトイでは、ユーザが自分でツールを作る事を目指しています。このためにはプロジェクトの中でツールのプログラムを書くだけでは駄目で、出来たツールを他のプロジェクトで使ってみたり、友達とツールを交換したりした方が楽しいです。そこで、現在中途半端に標準で付いているモーフ保存の仕組みにインタフェースをつけてパーツ瓶の体裁を整えてみました。ついでにネットワーク機能もつけてみました。このように、Squeak では中途半端に立派な機能が沢山ついているので、この程度のプログラムを書くのはめっちゃ速いです。

http://metatoys.org/pub/NSqueak-2005-01-02.zip についてるイメージを起動するとパーツ瓶が現れるのですが、LanguageGame と Local の二つのボタンがついてます。最初は Local で実験すると良いでしょう。Local を押してからパーツ瓶に適当なモーフをドロップすると、モーフはパーツ瓶の中に入ります。パーツ瓶からモーフを引っ張りだすと、モーフのコピーが現れて、沢山のモーフを作る事が出来ます。また、このモーフはディレクトリ(morph/) に保存されているので、他のイメージで使う事も出来ます。バージョン間の互換性は微妙にあったり無かったりします。単なる画像や幾何図形であれば問題ありません。モーフにはスクリプトを含める事が出来ますが、なぜかスクリプトの名前は今のところ英文字しか使えないです。

次に面白いのが LanguageGame を押したときです。これは僕の実家サーバーに繋がっていて、ここにモーフをドロップするとみんなが見る事が出来ます。どうせ実験用のサーバなので気にせずジャンジャンドロップしてみてください。同じ名前のモーフがあると上書きされてしまいますので、上書きされたくない奴はちゃんと Local にバックアップしておいた方が良いです。

NetMorph を連想された方も多いと思いますが、NetMorph のようなダイナミックな機能は無いので、他の人のスクイークに入っているモーフをリモコン的に動かすような芸当は出来ないです。でも手軽なのでそれなりに面白いと思います。

保存する場所として、普通のディレクトリのほかに SuperSwiki や FTP も使えます。新しい場所の登録の仕方は PartsBinDirectory class >> initialize を参考にすると良いと思います。