● マはマスコットのマ(MACLIFE誌1999年8月号掲載)

〜 第6回目 デスクトップペットを作ろう!-前編 〜

  ダウンロード→第6回目添付サンプルデータ


● プロローグ

みなさん、今年のWWDC'99(Worldwide Developers Conference 1999)も無事に終了いたしました。残念ながら、今回もまたコンシューマポータブルは、お・あ・ず・け・です。Appleのハードウェアチームのセッションでは、おもむろに初代ポータブルを取り出して「これこそがコンシューマポータブルである!」とギャグを飛ばしていました。つまり「取っ手がある」「とても丈夫」「液晶は綺麗」「HDは大容量」「バッテリーは長持ち」「CPUは高速」「小さくはない(笑)」てなことを暗示しているのかもしれません。次回の発表のチャンスは、7月20日から23日まで開催される「MACWORLD Expo/New York'99」になりそうです。とにもかくにも「グレート!!」だそうですから、期待して待とうではありませんか。

今回のWWDC'99で一番印象的だったのは、各セッションで説明をするAppleのメンバーが、前回からほとんど入れ替わっていなかった点です。(もちろんiCEOも含めて)「3年連続の壇上は新記録だぜ!」と叫んでからセッションを開始する副社長もいました。Appleの事を良く知らない人は驚かれるかもしれませんが、以前のAppleでは考えられない「事件」なのです。それだけ、現在のメンバーは腰を落ち着けて開発に打ち込んでいるということでしょう。以前はよくあった「こけおどし」や「派手さ」だけを追求した発表はありませんでしたが、とても「地に足のついた」WWDCでありました。多くの参加者も、今回のWWDCには好印象を持ったようです。今月号のCD-ROMの「おまけフォルダ」には、WWDC'99の様子を納めた電子アルバムを添付しました。ぜひ、お楽しみください。

それから、前号のマスコットニュースにも載りましたが、おかげさまでキューティマスコットJr.が「Apple Design Award」(Macintosh用ソフトのコンテスト)で「Best Apple Technology Adoption」を受賞いたしました。これも、マスコット作家の方々が生み出したマスコット達が、Macの世界を大いに盛り上げてくれた結果です。本当にありがとうございました。そうそう「なぜ、マスコット++じゃないの?」というメールも頂きましたが、これは「マスコット++には英語版マニュアルがなかった」という単純な理由からです。ご心配をおかけして、どうもスミマセンでした。

●電子ペットを考える

前回は「インターネットとマスコット」という題目で、マスコットとインターネットの関係についてお話しました。マスコットから見たインターネットの可能性というものを少しでも感じていただけたなら幸いです。さて、今回と次回は「デスクトップペットを作ろう」というテーマで、マスコット作りの王道に戻りたいと思います。

Mac上の電子ペットと言えば、メーラの「PostPet」とか、熱帯魚や鳥をモニタ上で飼育するソフトなどが有名です。(図1)しかし、なんと言っても電子ペットの代名詞は、バンダイの「たまごっち」でしょう。この製品、一大ブームになり、類似品も含めて世の中に大量に出回りました。しかし、今ではブームも去り、持ち歩いている人を見かけることもありません。あの大量の「たまごっち」達はどこへ消えてしまったのでしょうか?まあ、それは横に置いといて、最近それに取って変わったのが、ペット人形やペットロボットです。SONY製のワンちゃんロボット「AIBO」などは、発売開始20分で完売してしまうほどの大人気です。形態は変わったとしても「ペット」という対象に多くの人たちが心惹かれていることは間違いないようです。

では、多くの飼い主は自分の電子ペットに何を望むのでしょうか?「チョ〜カワイイ...」まずは、これでしょうか?表情や動きといったビジュアル的な可愛さだけではなく、ユーザ(飼い主)のアクションに対するリアクション(反応)の可愛さも重要なポイントです。飼い主とペットとのコミュニケーションの楽しさが必要です。飼い主が、なでたり、叩いたり、ほめたり、しかったり、こうした行為に対して、ペットが個性的な反応をする。また、飼い主のアクションにより、ペットの「機嫌」や「性格」が変化していくのも面白いかもしれません。なんと、前記したSONY製「AIBO」には、こうした機能が組み込まれているそうですから驚きです。

次のポイントは「成長」する事かもしれません。最初は子供で、ご飯(餌)をモリモリ食べて大きくなる。そして寿命がくると最後には死んでしまう...。まあ「寿命」を電子ペットに導入するかどうかは意見が分かれる所でしょう。余談ですが天馬博士が税金で作った「アトム」は、交通事故で亡くなった自分の息子の身代わりだったわけです。でも、博士は、成長しないからとキレてしまい、アトムを「サーカス」に売り飛ばしてしまいました。(何度聞いてもひどい話だゾ)まあ、アトムをペットに例えるのは失礼なのですが、AIBOもさすがに成長はしないと思いますので、この点に関してのユーザの反応が見物です。(寿命はあるかもしれないですが...)

それから、ペットの日常的な生理現象の再現も重要だと思います。飼い主側からのアクションがなくても、ペット側から何らかの要求がドンドン来る仕組みです。「腹へった」「トイレ」「眠い」「暑い」「寒い」「遊びたい」などなど...。こうした要求への対処に手が掛かれば掛かるほど、そのペットがいとおしくなります。えっ、嫌いになる人もいるって?(笑)まあ、この辺のバランスは実に難しい所でしょう。そして、最後のトドメが「隠れおまけ機能」です。ペットの楽しい隠れ機能を見つけ、他の飼い主とその実現を競えたりすると、ペットへの愛情が倍増します。PostPetの動物達が送ってよこす「秘密日記」や、たまに拾ってくる「宝物」などは実に良い例です。(図2)人の知らないことを知っているのは、実に気分が良いわけですね。


●電子ペットとマスコット

電子ペットを育てるのとは別に、「自分のペットを作ってみたい」と考えたことはありませんか?自分で作った電子ペットが、多くMacユーザのデスクトップに生息していると考えるだけで、何だかワクワクしてきます。キューティマスコットは「たまごっち」が登場する何年も前から、こうしたMacユーザの要求をかなえてきました。

まずは「ペットの動きや表情をマスコットでどう表現するか?」です。ご存じのとおりマスコットは複数のセルをグループ化することで、ひとつの動作を表現します。(図3)このグループ数を増やせば、それだけ挙動が複雑で表情が豊かな電子ペットができあがります。まあ、簡単に言えば「どんどん描くべし!」となるわけですが、1度に全部を完成させる必要はありません。マスコット作りに締め切りは無いのですから、アイデアを思いついたら、1グループ、1グループ少しずつ描き足して行きましょう。(この時点で、すでにペットの飼育が始まっているとも言う...)それから「私は絵心が無いから」とか言ってあきらめないでください。日本人には、他人の上手な作品を見てしまうと、自分の作品をすぐ引っ込めてしまう消極的なタイプの人が多いようです。以前お話したように、マスコット++には、ビデオから画像を取り込む機能もあります。3Dデータだって取り込めます。ちょっとしたアイデアさえあれば面白い個性的なペットが出来上がります。絵が下手だとか上手とかは重要ではないのです。(図4)だって、思い出してみてください「たまごっち」の絵だってあんなもんだったじゃないですか。(笑)

さて、調子に乗ってペットの動作を増やして行くと、フォルダ中には沢山のグループがひしめき合って管理が大変になります。(図5)マスコット++には複数マスコットを別フォルダで管理する機能があります。もともと、これは複数体のマスコットを同時に表示するための機能なのですが、これをグループ整理に活用することができます。例えばペットの成長に合わせて「子供」「青年」「成人」「老人」といったマスコトフォルダを作ります?(図6)そして、最初に表示するマスコット以外(青年や成人や老人)は、情報設定ウィンドウで「起動時に表示しない」をチェックしておきます。また、表示位置の「基準」には前の世代のマスコット位置を選びます。(図7)こうすると、最初は「子供」だけが表示されますので、あるタイミングで「子供」から「青年」にマスコットを切り替えてやります。その場合ペットの表示位置は変わりませんから、見ている方は1体のマスコットが継続して動いているように感じます。世代の切り替えりは、プログラムウィンドウの「マスコット」の「表示を開始」と「表示を終了」で行います。(図8)

実際には「一定時間が経った」時点とか「一定量の餌を食べた」時点で次世代に切り替えることになります。これを実現するのには「変数」と「予定」(スケジュール)を利用することになります。また、アプリ化したペットを終了させた時、現在の世代や経過時間を記録しておく必要もあります。こうした件に関しては、次回に詳しく解説する予定です。

●電子ペットとのコミュニケーション

次は飼い主とペットのコミュニケーションを考えてみます。ペットに可愛いリアクションをさせるには、まずは飼い主がペットに対して何かアクションをする必要があります。マスコット++では、グループに対するイベントを設定することで飼い主側のアクションを決めます。イベントには、カテゴリー別に「マウス」「キー入力」「コマンド」「衝突」「その他」があります。これらの内容を順番に見ていくことにしましょう。

まずは「マウス」イベントです。(図9)マウスクリックはペットを「ぽん」と叩く時に利用できます。また、回数を指定できますのでシングルクリックは「ほめる」、ダブルクリックは「叱る」といった具合に違う意味を待たせられます。その横のマウスカーソルエンターとアウトは、マウスカーソルがマスコトと重なったかどうかを連絡します。これは、ペットを「なでる」のに使えます。その下のマウスカーソルムーブは、指定方向にマウスカーソルが一定距離(ピクセル数)以上移動したかどうかを調べます。どのくらい移動したら反応するかは「アプリ作成」ダイアログの「マウスムーブの感度」で設定します。(図10)これは、ペットを調教する仕組みに利用したら面白いかもしれません。

次の「キーボード入力」イベントでは、アルファベットキーの数だけペットに命令を伝えられることになります。(図11)そう言えば、私のお気に入りのマスコットの中に、アルファベットキーを押すと、そのキーの内容を人文字(やぎ文字)で表現する「やぎマスコット」(J.Taniさん作)という素敵な作品がありました。特殊キーの上下左右矢印キーは、マウスムーブイベントと同じようにペットの調教に利用できそうです。その次の「コマンド」イベントは、元来複数のマスコットが情報をやりとりするための仕組みです。しかし、その下のオプションをチェックすると、飼い主からの要求をペットに伝えることが可能になります。特に「音声認識に反応する」と「TEXTドロップに反応する」をうまく利用すると、ペットとのコミュニケーションがぐっと充実します。これについては、後ほど個別に詳しく説明いたします。

その次の「衝突」イベントは何に使えるでしょうか?例えば別マスコットとしてペットの巣箱を作っておき、そこにペットが入ったら一定時間眠ってしまうというシチュエーションはどうでしょう?ペットの餌になるマスコットが定期的に現れ、それをペットが追いかけ、重なったら食べてしまうのも面白いかもしれません。最後の「その他」イベントで利用できるのは、「マイクからの音声入力」「アプリの開始」「アプリの終了」「前面へ来る」「背面に回る」ぐらいでしょう。「マイクからの音声入力」はマイクへ入って来る音量(ボリューム)によりペットの反応を変えられます。ですから、「わ〜」とか「ぎゃ〜」とかの大声や、拍手の大きさよりにペットに異なる動きをさせることが可能です。(図12)

●Speech Recognitionをインストールする

それではここで、「コマンド」イベントのオプションである「音声認識に反応する」と「TEXTドロップに反応する」について詳しく解説したいと思います。まずは音声認識からです。

以前、マスコット++でスピーチ(英語を喋らせる)を実現するのには「English Text to-Speech」をインストールする必要があると説明しました。それと同様に、マスコット++やマスコトJr.で音声認識を利用するのには、まずApple社が提供している「English Speech Recognition」をシステムにインストールしなければなりません。(図13)このシステムはPowerPC搭載のMacのみで利用可能です。また、特に注意しなければいけない点は、iMacや新型PowerMacintosh G3(多分、新型PowerBook G3も)では最新のバージョン v1.5.4でないと音声認識ができない事です。現在、この最新バージョンは、Apple社の以下のサイトから無料でダウンロードすることができます。

http://asu.info.apple.com/swupdates.nsf/artnum/n11400

また、アップル社からMacOS 8.6のCD-ROMを購入された方は、その中の「Mac OS 特別付録」フォルダ内に「English Speech Recognition」フォルダと「English Text-to Speech」フォルダがあります。それから各システムをインストールしてください。(図14)

まずは、使ったことがない人のために「English Speech Recognition」本来の機能を簡単に説明しておきます。インストールを行うと、機能拡張フォルダに「Speech Recognition」と「SpeakableItems」が保存されます。また、コントロールパネルフォルダには「Speech」が、アップルメニューフォルダには「Speakable Items」がそれぞれ保存されます(図15)まずは、コントロールパネルから「Speech」を起動して、メニューで「Speakable Items」を選び、Speakable Items isを「ON」にしてください。すると、キャラクタが表示された小さなフローティングウィンドウがオープンし、音声認識ができるようになります。(図16)このウィンドウに表示されているキャラクターは「Speech」の「FeedBack」で切り替えることができます。(図17)

どんなセンテンスを認識できるかは、アップルメニューに追加された「Speakable Items」内のファイルの名称で決まります。このファイルはひとつひとつがAppleScriptの実行形式ファイルになっています。音声認識が成功すれば、対応ファイルが起動して、AppleScriptで記載されたプログラムが実行されるわけです。よって、音声認識をしなくても、アップルメニューから項目を選んで直接実行することも可能です。(図18)また、認識させたいセンテンスを喋る前には、必ず「Key」となる単語を認識させる必要があります。例えば「Conputer」とか「Mac」ですね。これは、Speechの「Listening」で設定することができます。(任意のキーを押して代用することも可)(図19)さて、とりあえず「What time is it?」とでも言って、Macが反応してくれるかどうか試してみてください。結構難しいですよ。


●音声認識でのコミュニケーション

マスコット++で音声認識を利用するには、まずは音声入力の取り合いを避けるために、SpeechコントロールパネルのSpeakable Items isを「OFF」にしてください。マスコットと両方動いていても大丈夫なようですが、認識率が悪くなる可能性があります。それから、iMacで音声認識を楽しみたい方は、外付けのマイクを入手されることを強くお勧めします。iMacの内蔵マイクでも利用できるのですが、これを使うと、iMac内部のノイズを拾ってしまい、それでなくても悪い認識率がさらに悪くなります。それから音声認識には声の大きさはあまり関係ありません。逆に大きな声で話すと、音が割れて認識率の低下につながります。特に別の人がいる所で実験する場合は注意してください。Macに向かって大きな声でブツブツと話していると「この人大丈夫かしら?」と思われますので...。(笑)

音声認識が成功した時に表示したいグループを選び、イベント設定ウィンドウの「コマンド」で認識文字列を入力し、「音声認識に反応する」をチェックしてください。設定はこれだけです。(図20)とりあえず、「Hello Mac」ぐらいで試してみましょう。どうですか?うまくいきましたか?残念なことに、現在の音声認識は「英語」しか認識してくれません。また、英語でも対象は北米英語だそうです。短いセンテンスでも、発音が難しい単語があると、なかなか認識してくれません。逆にセンテンスを長くすると認識率は上がる場合もあります。「大げさな発音が大事」と力説する人もいますが、なかなか難しいですね。ところが、コマンド内容をローマ字表記の日本語にしてやると、これが結構認識するようになります。「OHAYOU」とか「SAYOUNARA」ぐらいはちゃんと認識してくれます。(当社比)これならペットとのコミュニケーションに活用できそうです。思い切って、全部ローマ字表記でチャレンジしてみてはどうでしょうか?

音声認識の「真」の日本語対応なのですが、実現の道は遠そうです。そうそう、以前の「Speech Manager」には「ひらがな」を読んでくれる日本語ボイス(まさこ&ひろし)が付属していたのですが、MacOS 8.5から利用できなくなってしまいました(涙)せっかくMacOS 8.5から日本語解析エンジンを搭載したのですから、スピーチと音声認識の日本語対応ぐらい、なんとか実現してほしいものです。今回のWWDCで、AppleはDragon Systemsという会社と提携して、音声認識エンジンを大幅改良すると確約しました。その時の話では、各国語対応も来年そうそうには開始すると説明していたのですが、さあどうなるでしょうか?Appleが、この技術の重要性に気が付き、MacOS 8.6のGemeSprocket同様に、最初からシステムにインストールしておいてくれることを望みたいと思います。

音声認識を利用したマスコットを作り、それを配布するような場合には、必ず付属のドキュメントに「音声認識を利用していますので、Apple社のEnglish Speech Recognitionをインストールしてください」等の注意書きを入れておいてください。同時にシステムのダウンロード先URLアドレスも記載しておくと親切です。

●ドラッグ&ドロップでのコミュニケーション

次は、TEXT(テキスト)ファイルのドラッグ&ドロップです。イベント設定ダイアログの「コマンド」を選び、認識させたい文字列を入力し「TEXTドロップに反応する」をチェックします。設定はこれで完了です。(図21)だいたいの仕組みは音声認識と同じですが、文字列の認識は、マスコット上にドラッグ&ドロップされたテキストファイル(アイコン)の中身を参照することで判断されます。つまり、ペットに対して喋って伝えるのではなく、手紙で伝えると言うわけです。

百聞は一見にしかず、テキストファイルのドラッグ&ドロップをうまく利用した例として、まるたつ(小田辰夫)さん作の「まりもん1号」を紹介したいと思います。まずは。まりもん1号の本体を起動してみてください。「たべものフォルダ」の中には、まりもん1号のための「餌」が色々と入っています(らしくないのも若干ありますが...)(図22)実はこれは、テキストファイルに自作アイコンを付加した物です。試しに「ケーキ」アイコンをSimpleTextでオープンしてみましょう。すると中には「えさ」と記述されていることがわかります。(図23)Finderから、この「ケーキ」アイコンを、まりもん1号にドラッグ&ドロップしてみてください。おおっ、まりもん1号が美味しそうにケーキを食べましたね。(前記のText-to-Speechがインストールされていると喋ります)そして、食べた分だけちょこっと成長するではありませんか!(図24)

この機能を使うと、アイコンをペットにドラッグ&ドロップさせるだけで、ペットと簡単にコミュニケーションができるわけです。「餌」「おもちゃ」「天敵」「手紙」などなど...。色々なアイコンを用意すると楽しいでしょう。アイコンの作成は「ResEdit」や「Icon Machine 」などのアイコン作成専用ソフトを用いてもよいですが、マスコットのペイント機能を使うのが簡単です。32X32のアイコンを作画したら、カットしてテキストファイルの情報ダイアログ(Finderのファイルメニューの「情報を見る」)のアイコン表示エリアにペーストします。(図25)テキストファイルの方ははSmpleTextで作りましょう。注意点は、最後にreturnを入力しないことぐらいです。内容は日本語でも英語でもかまいません。それが、イベント設定ウィンドウに登録した文字列と完全に一致した場合にのみコマンドとして認識されるわけです。

●エピローグ

昔々(Macintosh Plusの時代)Macにも楽しい電子ペットソフトがありました。一つは「トーキングムース」と言います。画面のスミに動物の顔がひょこり現れて、何か奇妙な英語を話していました。ムースとは大きなシカみたいな生き物です。もう一つは「パピーラブ」です。これは、黒いワンちゃんを調教するソフトです。このワンちゃん、飼い主が調教すると芸を覚え、自信がついたら競技会に参加して入賞メダルを狙いました。芸の種類も豊富で、バラをくわえてタンゴを踊ったり、腕立て伏せをしたり、しっぽを回して飛んみたり...(笑)ちなみに、我々の仲間内では「R-28号」という伝説のワンちゃんが存在していました。それはそれは沢山の素晴らしい芸を披露してくれたものです...。この「R-28号」、今でも家のどこかのフロッピーに生きているはなんですが?暇があったら、探してみることにいたしましょう。

さて、今回のペットと飼い主のコミュニケーションの話は面白かったでしょうか?次回は「ディスクトップペットを作ろう!-後編」という題目で、「変数」「予定」「実行条件」の利用法を主題にお話いたします。飼い主に対するペットのリアクションや、ペットの日々の暮らしぶりについても研究してみたいと思います。お楽しみに!

copyright 2000 Ottimo, Inc. All rights reserved
無断転載・引用禁止
Contact Us: koike@ottimo.co.jp