育成型ゲームの考え方1
1999.12.9

☆成長しているの?

タマゴッチやファービーなど、購入時にはたいした会話もできないのに、遊んでいるうちに会話の量や質が増し、ゲーム機の中の成長して行くキャラクタをみて楽しむ「育成型ゲーム」がはやりである。「成長するゲームを開発してみたい」「どんな作りになっているの?」「どうやって成長しているの?」いろいろな興味がわいてきます。
しかし、本当に成長しているのでしょうか?当然の事ながらそんなことはありません。たかだか数千円の機械に本当の意味で成長するプログラム「AI」や「人工知能」が搭載されている訳がありません。
ここでいう「本当の意味での成長」とは、オリジナルのプログラム中には存在しない処理が、時間の経過と共に発生し、全く新しい処理を実行するようになる事を示します。
言い換えればプログラム自体が進化する事を示します。

☆成長するプログラムはあるの?

まず、成長するプログラムながこの世に存在するのか・・・筆者的には存在しないと考えます。なぜ「筆者的」と前置きがあるのか。それは、成長の考え方が人によって異なるからです。
現在ある「AI」や「人工知能」の多くは、データベースに格納する情報を増やし、情報同士をどう処理するのか、どう判断させるのかといった事が研究の中心です。ようは「知識」と「判断」の研究です。
これに対し筆者の考える成長とは「無からの想像」が出来るかどうかがポイントとしています。生まれたばかりの赤ん坊が大きくなって行くときには、必ず「無からの想像」を繰り返す事で成長しているのです。そう意味で現状をみると「本当の意味での成長」するプログラムが存在するとはいいがたいのです。

☆成長型ゲームの実体

では成長型のゲームとはなんなのか?答は簡単、成長しているように錯覚させるゲームなのです。あらかじめ、完全に成長したときに動作する全処理をプログラムしておき、それを小出しにする事で成長しているように感じさせるのです。タマゴッチやファービーなどはこの部類です。
プログラム上での成長とは例えば「成長するとは遊んだ総時間で決定する」とし、総時間の度合いによって実行する処理の種類を増やしています。

しかし、それだけでは個性をつけることが出来ません。個性がなければ遊んだ総時間が同じならば、ゲームの所有者が数人集まっても同じキャラクタしか存在せず、成長しているように見えません。
では、個性のプログラムはどうしているのか?一番簡単なのは乱数を使用することです。あらかじめ用意した処理の異なる(見た目やしゃべり方を変えた)キャラクタから利用するものを乱数で決定してあげればよいでしょう。

じゃあ、ユーザの操作で個性をつけるには?つまり、子犬といっぱい遊んで上げれば従順な成犬に育つのに対し、凶悪な育て方をすればひねた成犬に育つと言うような、ユーザの操作を個性に反映させたいときである。この場合は、個性を決めるパラメータによって実行する処理を選べばよいでしょう。例えば「遊んだ総時間」「いじめた総時間」「会話した総時間」などのパラメタを用意し、各ユーザの操作回数をカウントし、遊んだ総時間が規定以上であれば従順な成犬をふるまうというような処理を行えばよいのです。

結局、データベース化した処理(キャラの動き、反応などのイベント)を、どのタイミングで実行するかをプログラムすれば、成長しているように見えるのです。

じゃあ、ドリームキャストの「シーマン」やプレイステーションの「どこでもいっしょ」のような会話型のゲームはどうしているのか?考え方は同じですが、これは別の機会の説明します。