(57)【特許請求の範囲】
【請求項１】
プレイヤの入力操作によって入力装置から出力される操作情報に応じて行動するプレイヤキャラクタと、自律的に行動する複数のノンプレイヤキャラクタとを含むゲーム世界を表示装置に表示するためのゲームプログラムであって、コンピュータを、
前記入力装置から出力される操作情報に応じてプレイヤキャラクタの行動を制御するプレイヤキャラクタ制御手段、
ノンプレイヤキャラクタを自律的に行動させる際の行動に影響を与える複数種類の行動傾向ごとに対応付けられたプレイヤキャラクタの各行動のうちのいずれかが行われた際に、各ノンプレイヤキャラクタの行動傾向ごとに設けられた行動回数カウンタのうちプレイヤキャラクタの行動に対応する行動傾向に関するカウンタをそれぞれ更新する行動回数カウンタ更新手段、
前記プレイヤキャラクタの前記行動に依存しない所定のタイミングで、ノンプレイヤキャラクタ毎に前記行動傾向を数値化した行動傾向値を、前記行動回数カウンタの値に応じてそれぞれ更新する行動傾向値更新手段、
前記行動傾向値に対する行動傾向に基づいて各ノンプレイヤキャラクタの動作を制御するノンプレイヤキャラクタ動作制御手段、および
前記プレイヤキャラクタおよび前記ノンプレイヤキャラクタを含むゲーム世界を前記表示装置に表示させる表示制御手段として機能させるためのゲームプログラム。
【請求項２】
前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、ノンプレイヤキャラクタがゲーム世界に存在しているか否かによって異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新する、請求項１に記載のゲームプログラム。
【請求項３】
前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、ゲーム世界におけるノンプレイヤキャラクタの位置に応じて異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新する、請求項１に記載のゲームプログラム。
【請求項４】
前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、ノンプレイヤキャラクタが前記表示装置の画面に表示されているか否かによって異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新する、請求項１に記載のゲームプログラム。
【請求項５】
前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、プレイヤキャラクタと各ノンプレイヤキャラクタとの位置関係に応じて異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新する、請求項１に記載のゲームプログラム。
【請求項６】
前記行動回数カウンタ更新手段は、前記行動回数カウンタが予め定められた上限に達しているときには当該行動回数カウンタを更新しない、請求項１に記載のゲームプログラム。
【請求項７】
前記行動回数カウンタ更新手段は、前記行動傾向値更新手段によってノンプレイヤキャラクタの行動傾向値を変化させてから一定の期間が経過するまでは、当該ノンプレイヤキャラクタの行動回数カウンタを更新しない、請求項１に記載のゲームプログラム。
【請求項８】
前記行動回数カウンタ更新手段による前記行動回数カウンタの更新処理は、前記行動傾向ごとに対応付けられたプレイヤキャラクタの行動のいずれかが行われる都度行われ、
前記行動傾向値更新手段による前記行動傾向値の更新処理は、前記行動傾向ごとに対応付けられたプレイヤキャラクタの行動のいずれかが行われる都度ではない予め定められたタイミングで行われる、請求項１に記載のゲームプログラム。
【請求項９】
前記行動傾向値更新手段による前記行動傾向値の更新処理は、プレイヤがゲームを開始または再開したときに行われる、請求項８に記載のゲームプログラム。
【請求項１０】
前記行動傾向値更新手段による前記行動傾向値の更新処理は、毎日一定時刻に達したときに行われる、請求項８に記載のゲームプログラム。
【請求項１１】
前記行動傾向値更新手段による前記行動傾向値の更新処理は、表示装置に表示されているゲーム画像においてシーンが変化したときに行われる、請求項８に記載のゲームプログラム。
【請求項１２】
前記行動傾向値更新手段は、前記行動回数カウンタの値に、予め前記行動傾向毎に個別に定められた補正係数を乗算した結果の値を用いて、前記行動傾向値をそれぞれ更新する、請求項１に記載のゲームプログラム。
【請求項１３】
前記行動傾向値更新手段は、前記行動回数カウンタの値に、予め前記ノンプレイヤキャラクタ毎に個別に定められた補正係数を乗算した結果の値を用いて、前記行動傾向値をそれぞれ更新する、請求項１に記載のゲームプログラム。
【請求項１４】
前記行動傾向値更新手段によって各ノンプレイヤキャラクタの前記行動傾向値が更新された後、予め定められた上限に達している行動傾向値が存在するときに、当該上限に達した行動傾向値に基づいてノンプレイヤキャラクタの行動傾向を変化させ、さらに当該上限に達した行動傾向値をリセットする、請求項１に記載のゲームプログラム。
【請求項１５】
前記上限に達した行動傾向値をリセットするときに、残りの行動傾向値を値が減じるようにそれぞれ更新する、請求項１４に記載のゲームプログラム。
【請求項１６】
プレイヤの入力操作によって入力装置から出力される操作情報に応じて行動するプレイヤキャラクタと、自律的に行動する複数のノンプレイヤキャラクタとを含むゲーム世界を表示装置に表示するためのゲーム装置であって、
前記入力装置から出力される操作情報に応じてプレイヤキャラクタの行動を制御するプレイヤキャラクタ制御手段、
ノンプレイヤキャラクタを自律的に行動させる際の行動に影響を与える複数種類の行動傾向ごとに対応付けられたプレイヤキャラクタの各行動のうちのいずれかが行われた際に、各ノンプレイヤキャラクタの行動傾向ごとに設けられた行動回数カウンタのうちプレイヤキャラクタの行動に対応する行動傾向に関するカウンタをそれぞれ更新する行動回数カウンタ更新手段、
前記プレイヤキャラクタの前記行動に依存しない所定のタイミングで、ノンプレイヤキャラクタ毎に前記行動傾向を数値化した行動傾向値を、前記行動回数カウンタの値に応じてそれぞれ更新する行動傾向値更新手段、
前記行動傾向値に対する行動傾向に基づいて各ノンプレイヤキャラクタの動作を制御するノンプレイヤキャラクタ動作制御手段、および
前記プレイヤキャラクタおよび前記ノンプレイヤキャラクタを含むゲーム世界を前記表示装置に表示させる表示制御手段とを備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲームプログラムおよびゲーム装置に関し、特に例えば、遊戯者によって操作されるプレイヤキャラクタと、コンピュータによって制御される複数のノンプレイヤキャラクタとが登場するビデオゲームを提供するゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来、遊戯者の入力操作に基づいてノンプレイヤキャラクタ（ＮＰＣ）のパラメータを変更するビデオゲームがある（例えば特許文献１）。
【特許文献１】特開２００１−４６７３４号公報
【０００３】
特許文献１には、遊戯者の入力操作に応じてプレイヤキャラクタの性格を表すパラメータが変化し、さらにプレイヤキャラクタの性格を表すパラメータに応じて、ノンプレイヤキャラクタの性格を表すパラメータを変化させる技術が開示されている。これにより、ある人物の性格が、その人物と接している別の人物の性格に影響を与えるという実世界における事象を、ゲーム世界において模擬することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１では、プレイヤキャラクタの性格付けの変化に応じて同時に性格付けを変化させられる相手キャラクタは一つのみである。しかしながら、実世界の人間関係では常に１対１で影響を与え合うのみでない。影響を与える側が一人に対して同時に複数人に影響を与えることもあり得るし、その影響の度合いも相手により様々である。また、影響を与える人の近隣にいる人と、遠方にいる人では影響の与え方も異なってくる。
【０００５】
それゆえに、本発明は、ゲーム世界においてプレイヤキャラクタがとった行動に応じて、ノンプレイヤキャラクタの行動に変化が生じ、あたかもプレイヤキャラクタがとった行動がゲーム世界に流行を引き起こしているかのような新鮮な感覚をプレイヤに感じさせることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号、図番号および補足説明は、本発明の理解を助けるために図面との対応関係を示したものであり、本発明の範囲を何ら限定するものではない。
【０００７】
本発明の第１の局面は、プレイヤの入力操作によって入力装置（１４、１５）から出力される操作情報に応じて行動するプレイヤキャラクタ（ＰＣ１）と、自律的に行動する複数のノンプレイヤキャラクタ（ＮＰＣ１、ＮＰＣ２、ＮＰＣ３）とを含むゲーム世界（図３）を表示装置（１１、１２）に表示するためのゲームプログラム（４０）である。当該ゲームプログラムは、コンピュータ（２１）を、前記入力装置から出力される操作情報に応じてプレイヤキャラクタの行動を制御するプレイヤキャラクタ制御手段（Ｓ２０）、ノンプレイヤキャラクタを自律的に行動させる際の行動に影響を与える複数種類の行動傾向ごとに対応付けられたプレイヤキャラクタの各行動（ブームトリガ行動）のうちのいずれかが行われた際に、各ノンプレイヤキャラクタの行動傾向ごとに設けられた行動回数カウンタ（４３）のうちプレイヤキャラクタの行動に対応する行動傾向に関するカウンタをそれぞれ更新する行動回数カウンタ更新手段（Ｓ９８、Ｓ１００）、前記プレイヤキャラクタの前記行動に依存しない所定のタイミングで、ノンプレイヤキャラクタ毎に前記行動傾向を数値化した行動傾向値（ブーム値４４）を、前記行動回数カウンタの値に応じてそれぞれ更新する行動傾向値更新手段（Ｓ５６）、前記行動傾向値に対する行動傾向（現在ブーム４６）に基づいて各ノンプレイヤキャラクタの動作を制御するノンプレイヤキャラクタ動作制御手段（Ｓ７８）、および前記プレイヤキャラクタおよび前記ノンプレイヤキャラクタを含むゲーム世界を前記表示装置に表示させる表示制御手段として機能させるためのゲームプログラムである。
【０００８】
なお変形例として、前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、ノンプレイヤキャラクタがゲーム世界に存在しているか否かによって異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新してもよい。例えば、ノンプレイヤキャラクタがゲーム世界に存在している場合には１が、存在していない場合には０が加算されるようにしてもよい。
【０００９】
別の変形例として、前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、ゲーム世界におけるノンプレイヤキャラクタの位置に応じて異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新してもよい。
【００１０】
さらに別の変形例として、前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、ノンプレイヤキャラクタが前記表示装置の画面に表示されているか否かによって異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新してもよい。
【００１１】
さらに別の変形例として、前記行動回数カウンタ更新手段によっていずれかの行動回数カウンタが更新される際に、プレイヤキャラクタと各ノンプレイヤキャラクタとの位置関係に応じて異なる値で各ノンプレイヤキャラクタの行動回数カウンタを更新してもよい。
【００１２】
さらに別の変形例として、前記行動回数カウンタ更新手段は、前記行動回数カウンタが予め定められた上限に達しているときには当該行動回数カウンタを更新しないようにしてもよい。
【００１３】
さらに別の変形例として、前記行動回数カウンタ更新手段は、前記行動傾向値更新手段によってノンプレイヤキャラクタの行動傾向値を変化させてから一定の期間が経過するまでは、当該ノンプレイヤキャラクタの行動回数カウンタを更新しないようにしてもよい。
【００１４】
さらに別の変形例として、前記行動回数カウンタ更新手段による前記行動回数カウンタの更新処理は、前記行動傾向ごとに対応付けられたプレイヤキャラクタの行動のいずれかが行われる都度行われ、前記行動傾向値更新手段による前記行動傾向値の更新処理は、前記行動傾向ごとに対応付けられたプレイヤキャラクタの行動のいずれかが行われる都度ではない予め定められたタイミングで行われてもよい。
【００１５】
さらに別の変形例として、前記行動傾向値更新手段による前記行動傾向値の更新処理は、プレイヤがゲームを開始または再開したときに行われてもよい。
【００１６】
さらに別の変形例として、前記行動傾向値更新手段による前記行動傾向値の更新処理は、毎日一定時刻に達したときに行われてもよい。
【００１７】
さらに別の変形例として、前記行動傾向値更新手段による前記行動傾向値の更新処理は、表示装置に表示されているゲーム画像においてシーンが変化したときに行われてもよい。
【００１８】
さらに別の変形例として、前記行動傾向値更新手段は、前記行動回数カウンタの値に、予め前記行動傾向毎に個別に定められた補正係数を乗算した結果の値を用いて、前記行動傾向値をそれぞれ更新してもよい。
【００１９】
さらに別の変形例として、前記行動傾向値更新手段は、前記行動回数カウンタの値に、予め前記ノンプレイヤキャラクタ毎に個別に定められた補正係数を乗算した結果の値を用いて、前記行動傾向値をそれぞれ更新してもよい。
【００２０】
さらに別の変形例として、前記行動傾向値更新手段によって各ノンプレイヤキャラクタの前記行動傾向値が更新された後、予め定められた上限に達している行動傾向値が存在するときに、当該上限に達した行動傾向値に基づいてノンプレイヤキャラクタの行動傾向を変化させ、さらに当該上限に達した行動傾向値をリセットしてもよい。
【００２１】
さらに別の変形例として、前記上限に達した行動傾向値をリセットするときに、残りの行動傾向値を値が減じるようにそれぞれ更新してもよい。
【００２２】
本発明の第２の局面は、プレイヤの入力操作によって入力装置（１４、１５）から出力される操作情報に応じて行動するプレイヤキャラクタ（ＰＣ１）と、自律的に行動する複数のノンプレイヤキャラクタ（ＮＰＣ１、ＮＰＣ２、ＮＰＣ３）とを含むゲーム世界（図３）を表示装置（１１、１２）に表示するためのゲーム装置（１０）である。当該ゲーム装置は、前記入力装置から出力される操作情報に応じてプレイヤキャラクタの行動を制御するプレイヤキャラクタ制御手段（２１、Ｓ２０）、ノンプレイヤキャラクタを自律的に行動させる際の行動に影響を与える複数種類の行動傾向ごとに対応付けられたプレイヤキャラクタの各行動（ブームトリガ行動）のうちのいずれかが行われた際に、各ノンプレイヤキャラクタの行動傾向ごとに設けられた行動回数カウンタ（２１、４３）のうちプレイヤキャラクタの行動に対応する行動傾向に関するカウンタをそれぞれ更新する行動回数カウンタ更新手段（２１、Ｓ９８、Ｓ１００）、前記プレイヤキャラクタの前記行動に依存しない所定のタイミングで、ノンプレイヤキャラクタ毎に前記行動傾向を数値化した行動傾向値（ブーム値４４）を、前記行動回数カウンタの値に応じてそれぞれ更新する行動傾向値更新手段（２１、Ｓ５６）、前記行動傾向値に対する行動傾向（現在ブーム４６）に基づいて各ノンプレイヤキャラクタの動作を制御するノンプレイヤキャラクタ動作制御手段（２１、Ｓ７８）、および前記プレイヤキャラクタおよび前記ノンプレイヤキャラクタを含むゲーム世界を前記表示装置に表示させる表示制御手段を備えている。
【発明の効果】
【００２３】
本発明によれば、ゲーム世界においてプレイヤキャラクタがとった行動に応じて、ノンプレイヤキャラクタの行動に変化が生じ、あたかもプレイヤキャラクタがとった行動がゲーム世界に流行を引き起こしているかのような新鮮な感覚をプレイヤに感じさせることができる。さらに、行動傾向値の更新をリアルタイムに行わないため、プレイヤキャラクタの行動が即座にノンプレイヤキャラクタの行動に影響を及ぼすことによる違和感をプレイヤに感じてしまうことを回避できる。また、本発明の好ましい変形例によれば、プレイヤキャラクタとノンプレイヤキャラクタとの位置関係や、ノンプレイヤキャラクタの個性に応じて、プレイヤキャラクタがとった行動がノンプレイヤキャラクタに与える影響の度合いが変化するので、影響の及ぼし方がより実世界の人間関係に近くなって現実味が増し、ノンプレイヤキャラクタに対する親近感をプレイヤに与えることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の一実施形態に係るゲーム装置の構成および動作を説明する。
【００２５】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２６】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００２７】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００２８】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００２９】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００３０】
次に、図２を参照してゲーム装置１０の内部構成を説明する。
【００３１】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、ＬＣＤコントローラ３１、ワイヤレス通信部３３、およびリアルタイムクロック３４が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００３２】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３３】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３４】
ワイヤレス通信部３３は、他のゲーム装置のワイヤレス通信部３３との間で、ゲーム処理に利用されるデータやその他のデータをやりとりする機能を有している。リアルタイムクロック３４は、現在時刻を示す信号を出力する。
【００３５】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００３６】
以下、ゲーム装置１０によって実行されるゲームの概要を説明する。
【００３７】
図３は、ゲーム世界の様子を示している。ゲーム世界には木や池や海や家が存在し、このゲーム世界では複数のキャラクタが生活をしている。
【００３８】
図４は、第２のＬＣＤ１２の画面に表示されるゲーム画像の一例である。第２のＬＣＤ１２の画面には、図３で示したゲーム世界の一部が表示される。図４の例では、ゲーム世界で生活している複数のキャラクタのうち、プレイヤによって操作されるプレイヤキャラクタＰＣ１と、コンピュータによって操作される２体のノンプレイヤキャラクタＮＰＣ１，ＮＰＣ２が画面に表示されている。
【００３９】
プレイヤは、操作スイッチ部１４を操作することによって、プレイヤキャラクタに移動指示や行動指示を与えることができる。第２のＬＣＤ１２に表示されるゲーム世界の範囲はゲーム世界におけるプレイヤキャラクタの位置に依存し、基本的にプレイヤキャラクタは常に画面に表示される。
【００４０】
プレイヤの指示に基づいてプレイヤキャラクタが行うことのできる行動の種類は様々である。例えば、魚を釣ったり、虫を捕まえたり、化石を発掘したり、木を揺すったり、草を抜いたりすることができる。
【００４１】
上記のようなプレイヤキャラクタの行動は、大きく分けて、ブームトリガ行動と無趣味行動の２つの行動に分類される。
【００４２】
ブームトリガ行動とは、プレイヤキャラクタがその行動をとり続けることによって、ノンプレイヤキャラクタもその行動に関連した行動を行うようになるものである。ブームトリガ行動の具体例としては、魚を釣ること、虫を捕まえること、化石を発掘すること、服を入手すること、家具を入手すること、花を植えること、海で貝殻を拾うこと、の７つの行動が挙げられる。例えば、図５に示すように、プレイヤキャラクタＰＣ１が頻繁に魚釣りをしていると、その行動がゲーム世界のノンプレイヤキャラクタに影響を与え、しばらくすると、図６に示すように、ノンプレイヤキャラクタが魚に興味を持つようになり、魚に関連した行動をとるようになる。ノンプレイヤキャラクタのこのような状態のことを「サカナブーム」と称す。魚に関連した行動の例としては、魚を釣ったり、プレイヤキャラクタに魚をねだったり、自分の家の中で魚を飼ったりなどが挙げられる。他の例として、「花ブーム」の状態になったノンプレイヤキャラクタがとる行動の例としては、自分の家の周りに花を植えたり、プレイヤキャラクタに花をねだったりなどが挙げられる。このように、ブームトリガ行動とは、ゲーム世界において流行を引き起こす要因となるプレイヤキャラクタの行動である。
【００４３】
無趣味行動とは、ブームトリガ行動以外のプレイヤキャラクタの行動である。無趣味行動の具体例としては、木を揺すること、草を抜くこと、走り回ること、ノンプレイヤキャラクタと会話をすること、などが挙げられる。また、特に何もせずにじっとしていることも無趣味行動に分類される。プレイヤキャラクタが無趣味行動を頻繁に続けていると、しばらくすると、ノンプレイヤキャラクタは何にも興味を示さないようになる。ノンプレイヤキャラクタのこのような状態のことを「無趣味ブーム」と称す。
【００４４】
このように、プレイヤキャラクタの行動がノンプレイヤキャラクタの行動に影響を与えることで、ノンプレイヤキャラクタに対する親近感をプレイヤに与えることができる。
【００４５】
以下、上記のようなゲームを実現するためのゲーム装置１０の詳細な動作を説明する。
【００４６】
図７は、ＲＡＭ２４のメモリマップの一例である。ＲＡＭ２４には、ゲームプログラム４０、画像データ４１、ＰＣデータ４２、ＮＰＣデータ、ブーム補正係数テーブル４９、ＮＰＣ補正係数テーブル５０、および無趣味行動時間カウンタ５１が格納される。
【００４７】
ゲームプログラム４０は、ゲームを開始するときにメモリカード１７のＲＯＭ１７ａからＲＡＭ２４にロードされ、ＣＰＵコア２１によって実行される。
【００４８】
画像データ４１は、ゲーム世界に含まれる地面や木や家や池やプレイヤキャラクタやノンプレイヤキャラクタなどの画像データである。
【００４９】
ＰＣデータ４２は、プレイヤキャラクタに関するデータであって、ゲーム世界におけるプレイヤキャラクタの位置を示す座標や、プレイヤキャラクタの保持アイテムなどのデータである。
【００５０】
ＮＰＣデータは、ノンプレイヤキャラクタに関するデータであって、ノンプレイヤキャラクタ毎に、行動回数カウンタ４３、ブーム値４４、ブーム初期値４５、現在ブーム４６、ブーム変化日時４７、およびＰＣに対する親密度４８の情報を含んでいる。
【００５１】
行動回数カウンタ４３は、図８に示すように、プレイヤキャラクタの行動回数を８つのブーム（サカナ・ムシ・化石・服・家具・花・海・無趣味）毎に個別にカウントするものである。例えば、プレイヤキャラクタが魚を釣った場合には、その時点でゲーム世界に存在している全てのノンプレイヤキャラクタのサカナブームの行動回数カウンタにそれぞれ１が加算される。同様に、プレイヤキャラクタが花を植えた場合には、その時点でゲーム世界に存在している全てのノンプレイヤキャラクタのサカナブームの行動回数カウンタにそれぞれ１が加算される。なお、行動回数カウンタには上限（例えば１０）が設けられている。よって、例えばあるノンプレイヤキャラクタのサカナブームの行動回数カウンタ４３の値がすでに１０に達している場合には、プレイヤキャラクタが魚を釣ったとしても、その値は１０のままである。
【００５２】
ブーム値４４は、そのノンプレイヤキャラクタが次にどのブームに変化するかを決定するために利用される値であって、図８に示すように、ブーム毎に個別に保持される値である。各ブームのブーム値には、所定のタイミングで、対応する行動回数カウンタの値に基づく加算値が順次加算される。ブーム値には上限（例えば２５５）が設けられており、あるノンプレイヤキャラクタの各ブーム値が行動回数カウンタの値に基づいて更新された結果、例えばサカナブームのブーム値が２５５に達した場合には、そのノンプレイヤキャラクタの状態が「サカナブーム」へと変化する。同様に、あるノンプレイヤキャラクタの各ブーム値が行動回数カウンタの値に基づいて更新された結果、例えば無趣味ブームのブーム値が２５５に達した場合には、そのノンプレイヤキャラクタの状態が「無趣味ブーム」へと変化する。
【００５３】
ブーム初期値４５は、各ノンプレイヤキャラクタが初めてゲーム世界に現れたときの各ブームのブーム値の初期値を示す情報であって、予め定められた固定の値である。なお、ゲーム世界には初めから全てのノンプレイヤキャラクタが存在しているのではなく、大半のノンプレイヤキャラクタは、ゲームが進行している途中で、図３のゲーム世界（プレイヤキャラクタが住む村）に引っ越してくる。したがって、ノンプレイヤキャラクタが最初に引っ越してきたときのそのノンプレイヤキャラクタのブーム値を示すのがブーム初期値４５である。
【００５４】
現在ブーム４６は、そのノンプレイヤキャラクタが現在何ブームかを示す情報である。
【００５５】
ブーム変化日時４７は、そのノンプレイヤキャラクタのブームが変化した日時を示す情報である。
【００５６】
ＰＣに対する親密度４８は、そのノンプレイヤキャラクタのプレイヤキャラクタに対する親密度を示す情報である。親密度は、プレイヤキャラクタがノンプレイヤキャラクタに話しかけたり、プレイヤキャラクタがノンプレイヤキャラクタの望みを叶えてあげたりすることによって高まる。
【００５７】
ブーム補正係数テーブル４９は、行動回数カウンタ４３の値に基づいてブーム値４４を更新するときに利用される補正係数を保持するテーブルであって、具体的には、図９のように、ブーム毎にブーム補正係数を示したテーブルである。ブーム補正係数は予め定められた固定の値である。
【００５８】
ＮＰＣ補正係数テーブル５０は、行動回数カウンタ４３の値に基づいてブーム値４４を更新するときに利用される補正係数を保持するテーブルであって、具体的には、図１０のように、ノンプレイヤキャラクタ毎かつブーム毎にＮＰＣ補正係数を示したテーブルである。ＮＰＣ補正係数は予め定められた固定の値である。
【００５９】
無趣味行動時間カウンタ５１は、プレイヤキャラクタがいずれのブームトリガ行動も行っていない間の時間をカウントするためのものである。
【００６０】
次に、図１１〜図１８のフローチャートを参照して、ゲームプログラム４０に基づくＣＰＵコア２１の処理の流れを説明する。
【００６１】
図１１はメイン処理の流れを示すフローチャートである。図１１において、メイン処理が開始するとＣＰＵコア２１は、ステップＳ１０で初期処理を行う。
【００６２】
図１２は、初期処理の詳細を示すフローチャートである。図１２において、ＣＰＵコア２１はステップＳ４０で、通信モード設定を行う。通信モードとは、２台以上のゲーム装置１０を相互に接続してゲームデータを通信することによって、複数のプレイヤが同一のゲーム世界で一緒にゲームをプレイすることができるモードである。ステップＳ４０において動作モードを通信モードに設定してゲームを開始すると、ゲームの途中で他のプレイヤが操作するキャラクタ（以下、通信相手キャラクタと称す）が任意のタイミングでゲームに参加することが可能となる。逆に、ステップＳ４０において動作モードを非通信モードに設定してゲームを開始すると、ゲームの途中で他のプレイヤが操作するキャラクタがゲームに参加することは不可能となる。
【００６３】
ステップＳ４２では、メモリカード１７のＲＡＭ１７ｂに保存データが存在するかどうかを判断し、存在する場合には処理はステップＳ４４に進み、存在しない場合には処理はステップＳ４６に進む。保存データとは、後述する図１１のステップＳ３６でメモリカード１７のＲＡＭ１７ｂに保存されるゲームデータを指す。
【００６４】
ステップＳ４４では、メモリカード１７のＲＡＭ１７ｂに保存されている、ＮＰＣデータを含むゲームデータをＲＡＭ２４に読み込む。
【００６５】
ステップＳ４６では、無趣味行動時間カウンタ５１を０にリセットする。
【００６６】
ステップＳ４８では、ブーム値更新処理を行う。ブーム値更新処理では、全てのノンプレイヤキャラクタについて、行動回数カウンタの値に基づくブーム値の更新が行われる。
【００６７】
図１３は、ブーム値更新処理の詳細を示すフローチャートである。図１３において、ＣＰＵコア２１はステップＳ５０で、ブーム値をまだ更新していないノンプレイヤキャラクタが存在するかどうかを判断し、ブーム値を未更新のノンプレイヤキャラクタが存在する場合には処理はステップＳ５２に進み、全てのノンプレイヤキャラクタのブーム値が更新済みの場合にはブーム値更新処理を終了する。
【００６８】
ステップＳ５２では、ブーム値を未更新のノンプレイヤキャラクタのＮＰＣデータを、処理対象のノンプレイヤキャラクタのＮＰＣデータとして、ＲＡＭ２４から１件読み出す。
【００６９】
ステップＳ５４では、ステップＳ５２で読み出したＮＰＣデータの各ブームの行動回数カウンタに、対応するブーム補正係数およびＮＰＣ補正係数を乗算して加算値を算出する。例えば、ノンプレイヤキャラクタＮＰＣ２のサカナブーム用の加算値を算出する場合には、ノンプレイヤキャラクタＮＰＣ２のサカナブームの行動回数カウンタの値（図８の例では６）に対して、サカナブームのブーム補正係数（図９の例では３）と、ノンプレイヤキャラクタＮＰＣ２のサカナブームのＮＰＣ補正係数（図１０の例では１．１）とを乗算することによって、加算値（この場合は６×３×１．１＝１９．８）を得る。同様に、ノンプレイヤキャラクタＮＰＣ３の家具ブーム用の加算値を算出する場合には、ノンプレイヤキャラクタＮＰＣ３の家具ブームの行動回数カウンタの値（図８の例では１）に対して、家具ブームのブーム補正係数（図９の例では３）と、ノンプレイヤキャラクタＮＰＣ３の家具ブームのＮＰＣ補正係数（図１０の例では３）とを乗算することによって、加算値（この場合は１×３×３＝９）を得る。
【００７０】
ステップＳ５６では、ステップＳ５２で読み出したＮＰＣデータの各ブームのブーム値に、ステップＳ５４で算出した対応する加算値をそれぞれ加算し、加算結果をＲＡＭ２４に上書きする。例えば、ノンプレイヤキャラクタＮＰＣ２のサカナブームのブーム値（図８の例では２５１）には、上記の加算値「１９．８」が加算される。ただし、加算結果がブーム値の上限である２５５を超えるため、更新後のブーム値は２５５となる。同様に、ノンプレイヤキャラクタＮＰＣ３の家具ブームのブーム値（図８の例では１２６）には、上記の加算値「９」が加算され、更新後のブーム値は１３５となる。
【００７１】
ステップＳ５８では、ブーム変化処理を行う。ブーム変化処理は、ステップＳ５６におけるブーム値の更新結果に基づいて、必要に応じてノンプレイヤキャラクタのブームを変化させるための処理である。
【００７２】
図１４は、ブーム変化処理の詳細を示すフローチャートである。図１４において、ＣＰＵコア２１はステップＳ６２で、ステップＳ５６におけるブーム値の更新の結果、上限に達したブーム値が存在するかどうかを判断し、上限に達したブーム値が存在する場合には処理はステップＳ６３に進み、存在しない場合にはブーム変化処理を終了する。
【００７３】
ステップＳ６３では、処理対象となっているノンプレイヤキャラクタの現在ブーム４６が、上限に達したブーム値に対応するブームとなるように、現在ブーム４６を更新する。例えば、ノンプレイヤキャラクタＮＰＣ２のサカナブームのブーム値が２５５に達していた場合には、ノンプレイヤキャラクタＮＰＣ２の現在ブーム４６をサカナブームに更新する。
【００７４】
ステップＳ６４では、上限に達していたブーム値を０に更新する。
【００７５】
ステップＳ６６では、処理対象となっているノンプレイヤキャラクタのブーム値のうち、ステップＳＳ６４で０に更新したブーム値を除いた残りのブーム値を、その時点の半分の値になるようにそれぞれ更新する。
【００７６】
ステップＳ６８では、処理対象となっているノンプレイヤキャラクタのブーム変化日時４７に、リアルタイムクロック３４が示す時刻を上書きする。
【００７７】
こうしてブーム変化処理が終了すると、図１３のステップＳ６０に処理が進む。
【００７８】
ステップＳ６０では、処理対象となっているノンプレイヤキャラクタの行動回数カウンタ４３を全て０にリセットする。
【００７９】
全てのノンプレイヤキャラクタについてブーム値更新処理が完了すると、ブーム更新処理は終了する。
【００８０】
図１２のステップＳ４８のブーム値更新処理が終了すると、初期処理が終了し、図１１のステップＳ１２に処理は進む。
【００８１】
ステップＳ１２では、予め定められた、ノンプレイヤキャラクタのブーム値を一斉に定期的に更新すべきブーム値更新時刻（例えば午前６時）になったかどうかをリアルタイムクロック３４が示す時刻を参照して判断し、ブーム値更新時刻になった場合には処理はステップＳ１６に進み、ブーム値更新時刻になっていない場合には処理はステップＳ１４に進む。
【００８２】
ステップＳ１４では、プレイヤキャラクタが家に出入りするなどによって、シーンチェンジが発生したかどうかを判断し、シーンチェンジが発生した場合には処理はステップＳ１６に進み、シーンチェンジが発生していない場合には処理はステップＳ１８に進む。
【００８３】
ステップＳ１６では、ブーム値更新処理を行う。このブーム値更新処理の詳細は前述のとおりである。
【００８４】
以上の説明から明らかなように、ブーム値更新処理は、基本的には、ゲームを開始した時（保存データを用いてゲームを再開した時を含む）、ブーム値更新時刻になった時、およびシーンチェンジ時に行われる。ブーム値の更新をリアルタイムに行わない理由は、例えばプレイヤキャラクタが短時間に多数の魚を釣った直後からノンプレイヤキャラクタがサカナブームになってしまうと、プレイヤキャラクタの行動がゲーム世界で流行を引き起こしたと実感するどころか、むしろプレイヤは違和感を感じてしまうことになるからである。また、行動回数カウンタに上限（この上限はブーム値の上限よりもはるかに低い値である）を設けているのも同様の理由からであって、プレイヤキャラクタの行動が即座にノンプレイヤキャラクタの行動に影響を与えることを防止し、プレイヤに不自然さを感じさせないようにするためである。
【００８５】
ステップＳ１８では、操作スイッチ部１４やタッチパネル１５を通じてプレイヤから動作指示が入力されたかどうかを判断し、動作指示が入力された場合には処理はステップＳ２０に進み、動作指示が入力されていない場合には処理はステップＳ２２に進む。
【００８６】
ステップＳ２０では、プレイヤからの動作指示に応じてプレイヤキャラクタの動作を制御する。
【００８７】
ステップＳ２２では、ＮＰＣ動作制御処理を行う。ＮＰＣ動作制御処理は、ノンプレイヤキャラクタの動作を制御するための処理である。
【００８８】
図１５は、ＮＰＣ動作制御処理の詳細を示すフローチャートである。図１５において、ＣＰＵコア２１はステップＳ７０で、動作制御を未処理のノンプレイヤキャラクタが存在するかどうかを判断し、未処理のノンプレイヤキャラクタが存在する場合には処理はステップＳ７２に進み、存在しない場合にはＮＰＣ動作制御処理を終了する。
【００８９】
ステップＳ７２では、動作制御を未更新のノンプレイヤキャラクタのＮＰＣデータを、処理対象のノンプレイヤキャラクタのＮＰＣデータとして、ＲＡＭ２４から１件読み出す。
【００９０】
ステップＳ７４では、ステップＳ７２で読み出したＮＰＣデータのブーム変化日時４７と、リアルタイムクロック３４が示す現在日時とを比較し、ブーム変化日時から１日以上経過しているかどうかを判断する。そして、ブーム変化日時から１日以上経過している場合には処理はステップＳ７８に進み、まだ１日が経過していない場合には処理はステップＳ７６に進む。
【００９１】
ステップＳ７６では、処理対象となっているノンプレイヤキャラクタの動作を、そのノンプレイヤキャラクタの現在ブーム４６とは無関係に制御する。この場合の制御の一例として、「何か面白いことはないかなぁ・・・」や「次は何に熱中しようかなぁ・・・」といった独り言をノンプレイヤキャラクタにしゃべらせることが挙げられる。
【００９２】
ステップＳ７８では、処理対象となっているノンプレイヤキャラクタの動作を、そのノンプレイヤキャラクタの現在ブーム４６に関連した動作を行うように制御する。例えば、現在ブームが「サカナブーム」である場合には、魚を釣ったり、プレイヤキャラクタに魚をねだったり、自分の家の中で魚を飼ったりするように、ノンプレイヤキャラクタの動作を制御する。また他の例として、現在ブームが「花ブーム」である場合には、自分の家の周りに花を植えたり、プレイヤキャラクタに花をねだったりするように、ノンプレイヤキャラクタの動作を制御する。
【００９３】
上記のように、ブームが変化してから１日が経過するまではノンプレイヤキャラクタに現在ブームに関連した動作をとらせないようにしているのは、ノンプレイヤキャラクタの興味の対象が突然一変してしまうことによってプレイヤに違和感を与えてしまうのを避けるためである。
【００９４】
全てのノンプレイヤキャラクタについて動作制御処理が完了すると、ＮＰＣ動作制御処理は終了し、図１１のステップＳ２４に処理は進む。
【００９５】
ステップＳ２４では、行動回数カウンタ更新処理を行う。行動回数カウンタ更新処理は、プレイヤキャラクタの行動に応じてリアルタイムに各ノンプレイヤキャラクタの行動回数カウンタ４３を更新する処理である。
【００９６】
図１６は、行動回数カウンタ更新処理の詳細を示すフローチャートである。図１６において、ＣＰＵコア２１はステップＳ８０で、プレイヤキャラクタがブームトリガ行動を行ったかどうかを判断し、ブームトリガ行動を行った場合には処理はステップＳ８８に進み、ブームトリガ行動を行っていない場合には処理はステップＳ８２に進む。
【００９７】
ステップＳ８２では、無趣味行動時間カウンタ５１に１を加算する。
【００９８】
ステップＳ８３では、無趣味行動時間カウンタ５１が所定値（例えば３６００）に達したかどうかを判断し、所定値に達した場合には処理はステップＳ８６に進み、所定値に達していない場合には行動回数カウンタ更新処理を終了する。
【００９９】
ステップＳ８６では、無趣味行動時間カウンタ５１を０にリセットする。
【０１００】
ステップＳ８８では、行動回数カウンタの更新をまだ行っていないノンプレイヤキャラクタが存在するかどうかを判断し、存在する場合には処理はステップＳ９０に進み、存在しない場合には行動回数カウンタ更新処理を終了する。
【０１０１】
ステップＳ９０では、行動回数カウンタの更新をまだ行っていないノンプレイヤキャラクタのＮＰＣデータを、処理対象のノンプレイヤキャラクタのＮＰＣデータとして、ＲＡＭ２４から１件読み出す。
【０１０２】
ステップＳ９２では、ステップＳ９０で読み出したＮＰＣデータのブーム変化日時４７と、リアルタイムクロック３４が示す現在日時とを比較し、ブーム変化日時から１週間以上経過しているかどうかを判断する。そして、ブーム変化日時から１週間以上経過している場合には処理はステップＳ９４に進み、まだ１週間が経過していない場合には行動回数カウンタ更新処理を終了する。
【０１０３】
このように、ブーム変化日時から１週間以上経過していない間は行動回数カウンタの更新を行わないようにしているのは、ノンプレイヤキャラクタのブームが変化した後、たった数日しか経たないうちにさらに別のブームに変化してしまうことを避けるためである。
【０１０４】
ステップＳ９４では、更新対象となる行動回数カウンタ（すなわち処理対象となっているノンプレイヤキャラクタの行動回数カウンタのうち、プレイヤキャラクタが行ったブームトリガ行動または無趣味行動に対応するブームの行動回数カウンタ）の値が上限に達しているかどうかを判断し、上限に達している場合には処理はステップＳ８８に戻り、上限に達していない場合には処理はステップＳ９６に進む。
【０１０５】
ステップＳ９６では、処理対象となっているノンプレイヤキャラクタが第２のＬＣＤ１２の画面に表示されているかどうかを判断し、表示されている場合には処理はステップＳ９８に進み、表示されていない場合には処理はステップＳ１００に進む。なお、ノンプレイヤキャラクタが第２のＬＣＤ１２の画面に表示されているかどうかは、例えば、ゲーム世界におけるノンプレイヤキャラクタの位置を示す座標に基づいて判断することができる。
【０１０６】
ステップＳ９８では、更新対象となる行動回数カウンタに２を加算する。
【０１０７】
ステップＳ１００では、更新対象となる行動回数カウンタに１を加算する。
【０１０８】
このように、処理対象となっているノンプレイヤキャラクタが第２のＬＣＤ１２の画面に表示されている否かによって行動回数カウンタに加算する値を変えている理由は、第２のＬＣＤ１２の画面に表示されているノンプレイヤキャラクタ（すなわち、プレイヤキャラクタに近い場所に居るノンプレイヤキャラクタ）については、第２のＬＣＤ１２の画面に表示されていないノンプレイヤキャラクタ（すなわち、プレイヤキャラクタから離れた場所に居るノンプレイヤキャラクタ）と比べて、プレイヤキャラクタが行った行動の影響を受けやすくするためである。
【０１０９】
全てのノンプレイヤキャラクタについて行動回数カウンタの更新処理が完了すると、行動回数カウンタ更新処理は終了し、図１１のステップＳ２６に処理は進む。
【０１１０】
ステップＳ２６では、動作モードが通信モードに設定されているかどうかを判断し、通信モードに設定されている場合には処理はステップＳ２８に進み、通信モードに設定されていない場合には処理はステップＳ３０に進む。
【０１１１】
ステップＳ２８では、通信モード処理を行う。
【０１１２】
図１７は、通信モード処理の詳細を示すフローチャートである。図１７において、ＣＰＵコア２１はステップＳ１０２で、ワイヤレス通信部３３を通じて通信相手からデータを受信したかどうかを判断し、データを受信した場合には処理はステップＳ１０４に進み、データを受信していない場合には通信モード処理を終了する。
【０１１３】
ステップＳ１０４では、通信相手から受信したデータに基づいて、ゲーム世界における通信相手のプレイヤキャラクタ（以下、単に通信相手キャラクタと称す）の動作を制御する。
【０１１４】
ステップＳ１０６では、通信相手キャラクタがブームトリガ行動を行ったかどうかを判断し、ブームトリガ行動を行った場合には処理はステップＳ１１４に進み、ブームトリガ行動を行っていない場合には処理はステップＳ１０８に進む。
【０１１５】
ステップＳ１０８では、通信相手キャラクタ用の無趣味行動時間カウンタ（図７の無趣味行動時間カウンタ５１とは別にＲＡＭ２４に用意される）に１を加算する。
【０１１６】
ステップＳ１１０では、通信相手キャラクタ用の無趣味行動時間カウンタが所定値（例えば３６００）に達したかどうかを判断し、所定値に達した場合には処理はステップＳ１１２に進み、所定値に達していない場合には通信モード処理を終了する。
【０１１７】
ステップＳ１１２では、通信相手キャラクタ用の無趣味行動時間カウンタを０にリセットする。
【０１１８】
ステップＳ１１４では、行動回数カウンタの更新をまだ行っていないノンプレイヤキャラクタが存在するかどうかを判断し、存在する場合には処理はステップＳ１１６に進み、存在しない場合には通信モード処理を終了する。
【０１１９】
ステップＳ１１６では、行動回数カウンタの更新をまだ行っていないノンプレイヤキャラクタのＮＰＣデータを、処理対象のノンプレイヤキャラクタのＮＰＣデータとして、ＲＡＭ２４から１件読み出す。
【０１２０】
ステップＳ１１８では、ステップＳ１１６で読み出したＮＰＣデータのブーム変化日時４７と、リアルタイムクロック３４が示す現在日時とを比較し、ブーム変化日時から１週間以上経過しているかどうかを判断する。そして、ブーム変化日時から１週間以上経過している場合には処理はステップＳ１２０に進み、まだ１週間が経過していない場合には通信モード処理を終了する。
【０１２１】
ステップＳ１２０では、更新対象となる行動回数カウンタ（すなわち処理対象となっているノンプレイヤキャラクタの行動回数カウンタのうち、通信相手キャラクタが行ったブームトリガ行動または無趣味行動に対応するブームの行動回数カウンタ）の値が上限に達しているかどうかを判断し、上限に達している場合には処理はステップＳ１１４に戻り、上限に達していない場合には処理はステップＳ１２２に進む。
【０１２２】
ステップＳ１２２では、更新対象となる行動回数カウンタに２を加算する。なお、通信相手キャラクタの行動がノンプレイヤキャラクタに与える影響を、プレイヤキャラクタの行動がノンプレイヤキャラクタに与える影響の２倍に設定しているのは、見慣れないプレイヤキャラクタ（通信相手キャラクタ）に対してノンプレイヤキャラクタが強く関心を示している様子を表現するためである。
【０１２３】
なお本実施例では、ステップＳ１２２において、通信相手キャラクタとノンプレイヤキャラクタとの位置関係によらず、更新対象となる行動回数カウンタに２を加算するようにしているが、図１６のステップＳ９６およびステップＳ９８の処理のように、ノンプレイヤキャラクタが通信相手キャラクタに近い場所にいるか遠い場所にいるかによって、行動回数カウンタの加算値を変えるようにしても構わない。
【０１２４】
全てのノンプレイヤキャラクタについて行動回数カウンタの更新処理が完了すると、通信モード処理は終了し、図１１のステップＳ３０に処理は進む。
【０１２５】
ステップＳ３０では、ゲーム世界でいずれか２体のノンプレイヤキャラクタが接触したかどうかを判断し、ノンプレイヤキャラクタが接触した場合には処理はステップＳ３２に進み、接触していない場合には処理はステップＳ３４に進む。
【０１２６】
ステップＳ３２では、ＮＰＣ間影響処理を行う。
【０１２７】
図１８に、ＮＰＣ間影響処理の詳細を示すフローチャートである。図１８において、ＣＰＵコア２１はステップＳ１２４で、接触した２体のノンプレイヤキャラクタの、ＰＣに対する親密度４８を比較し、ＰＣに対する親密度が高い方のノンプレイヤキャラクタを「影響を与える側のノンプレイヤキャラクタ」とし、ＰＣに対する親密度が低い方のノンプレイヤキャラクタを「影響を受ける側のノンプレイヤキャラクタ」として決定する。
【０１２８】
ステップＳ１２６では、影響を与える側のノンプレイヤキャラクタの各ブーム値を参照し、ブーム値が最も高いブームを、「影響を受けるブーム」として決定する。
【０１２９】
ステップＳ１２８では、影響を受けるブームに対応するブーム補正係数とＮＰＣ補正係数とを乗算することによって加算値を算出する。例えば、影響を受ける側のノンプレイヤキャラクタがノンプレイヤキャラクタＮＰＣ３であり、影響を受けるブームが海ブームである場合には、図９のブーム補正係数テーブル４９と図１０のＮＰＣ補正係数テーブル５０とから、加算値は２×１．１＝２．２と算出される。
【０１３０】
ステップＳ１３０では、影響を受ける側のノンプレイヤキャラクタのＮＰＣデータにおける、影響を受けるブームのブーム値に、ステップＳ１２８で算出された加算値を加算する。例えば、上記の例では、ノンプレイヤキャラクタＮＰＣ３の海ブームのブーム値に２．２が加算される。
【０１３１】
ステップＳ１３２では、影響を受けた側のノンプレイヤキャラクタを処理対象として、ブーム変化処理を行う。この結果、ＮＰＣ間影響処理では、影響を受けた側のノンプレイヤキャラクタのブームがリアルタイムに変化し得る。ブーム変化処理が終わると、ＮＰＣ間影響処理は終了し、処理は図１１のステップＳ３４に進む。
【０１３２】
ステップＳ３４では、ゲームを終了するかどうかを判断し、ゲームを終了する場合には処理はステップＳ３６に進み、ゲームを終了しない場合には処理はステップＳ１２に戻る。
【０１３３】
ステップＳ３６では、ＮＰＣデータ等のゲームデータをメモリカード１７のＲＡＭ１７ｂに保存する。
【０１３４】
ステップＳ３８では、ゲーム装置１０の電源を切る。こうしてメイン処理は終了する。
【０１３５】
以上のように、本実施形態によれば、ゲーム世界においてプレイヤキャラクタがとった行動に応じて、ノンプレイヤキャラクタの行動に変化が生じ、あたかもプレイヤキャラクタがとった行動がゲーム世界に流行を引き起こしているかのような新鮮な感覚をプレイヤに感じさせるとともに、ノンプレイヤキャラクタに対する親近感をプレイヤに与えることができる。
【０１３６】
また、プレイヤキャラクタが行ったブームトリガー行動や無趣味行動の回数をカウントするための行動回数カウンタをノンプレイヤキャラクタ毎に個別に設けたことにより、ゲーム世界にまだ登場していないノンプレイヤキャラクタや、ゲーム世界から一時的に消えているノンプレイヤキャラクタに対して、プレイヤキャラクタの行動の影響が及ぶことを回避することができる。また、図１６のステップＳ９２やステップＳ９６の処理のように、ノンプレイヤキャラクタの状態に応じて、行動回数カウンタの加算値をノンプレイヤキャラクタ毎に異ならせることも可能となる。
【０１３７】
また、行動回数カウンタはリアルタイムで更新される一方で、ブーム値の更新はリアルタイムに行われるのではなく予め決められたタイミング（ゲーム開始時、朝６時、シーンチェンジ時）に行われるので、実世界で流行がじわじわと広まっていくように、ゲーム世界におけるプレイヤキャラクタの行動の影響がノンプレイヤキャラクタにゆっくりと広まっていく様を表現することができる。
【０１３８】
また、行動回数カウンタの値に応じてブーム値を更新するときに、ブームに応じたブーム補正係数を乗算することにより、例えば化石を発掘するという難度の比較的高い行動をプレイヤが行った場合と、海で貝殻を拾うという難度の比較的低い行動をプレイヤが行った場合とで、１回の行動がブーム値に与える影響の度合を調整することができる。
【０１３９】
また、行動回数カウンタの値に応じてブーム値を更新するときに、ノンプレイヤキャラクタに応じたＮＰＣ補正係数を乗算することにより、例えば図４に示すようなネコ型のノンプレイヤキャラクタＮＰＣ２は魚に興味を示しやすいといったように、ノンプレイヤキャラクタ毎に性格付けを行うことができ、ノンプレイヤキャラクタに対する親近感をプレイヤに与えることができる。
【０１４０】
なお、本実施形態では、非通信モードにおいてプレイヤキャラクタが１体しか登場しない例を説明したが、複数のプレイヤキャラクタを選択的に切り換えて使用するようにしてもよい。この場合、例えば第１のプレイヤが第１のプレイヤキャラクタを使ってゲームをプレイして、ゲームデータを保存してゲームを終了した後、別の第２のプレイヤが第２のプレイヤキャラクタを使ってゲームを再開した時に、第１のプレイヤが保存したＮＰＣデータをそのまま引き継いで第２のプレイヤがゲームをプレイするようにしてもよい。これにより、第１のプレイヤが久しぶりにゲームをプレイすると、第２のプレイヤキャラクタの行動の影響を受けて、思いもよらない流行が引き起こされているという状況が起こり得るので、ゲームをプレイする度に新鮮な感覚をプレイヤに与えることができる。
【図面の簡単な説明】
【０１４１】
【図１】本発明の一実施形態に係るゲーム装置の外観図
【図２】ゲーム装置の内部構成図
【図３】ゲーム世界の全体を示す図
【図４】第２のＬＣＤ１２の画面に表示されるゲーム画像の一例
【図５】第２のＬＣＤ１２の画面に表示されるゲーム画像の他の例
【図６】第２のＬＣＤ１２の画面に表示されるゲーム画像のさらに他の例
【図７】ＲＡＭ２４のメモリマップ
【図８】行動回数カウンタおよびブーム値の一具体例
【図９】ブーム補正係数テーブルの一具体例
【図１０】ＮＰＣ補正係数テーブルの一具体例
【図１１】メイン処理の流れを示すフローチャート
【図１２】初期処理の流れを示すフローチャート
【図１３】ブーム値更新処理の流れを示すフローチャート
【図１４】ブーム変化処理の流れを示すフローチャート
【図１５】ＮＰＣ動作制御処理の流れを示すフローチャート
【図１６】行動回数カウンタ更新処理の流れを示すフローチャート
【図１７】通信モード処理の流れを示すフローチャート
【図１８】ＮＰＣ間影響処理の流れを示すフローチャート
【符号の説明】
【０１４２】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
３３  ワイヤレス通信部
３４  リアルタイムクロック
４０  ゲームプログラム
４１  画像データ
４２  ＰＣデータ
４３  行動回数カウンタ
４４  ブーム値
４５  ブーム初期値
４６  現在ブーム
４７  ブーム変化日時
４８  ＰＣに対する親密度
４９  ブーム補正係数テーブル
５０  ＮＰＣ補正係数テーブル
５１  無趣味行動時間カウンタ
【図１】
0004799144.tif 000002
【図２】
0004799144.tif 000003
【図３】
0004799144.tif 000004
【図４】
0004799144.tif 000005
【図５】
0004799144.tif 000006
【図６】
0004799144.tif 000007
【図７】
0004799144.tif 000008
【図８】
0004799144.tif 000009
【図９】
0004799144.tif 000010
【図１０】
0004799144.tif 000011
【図１１】
0004799144.tif 000012
【図１２】
0004799144.tif 000013
【図１３】
0004799144.tif 000014
【図１４】
0004799144.tif 000015
【図１５】
0004799144.tif 000016
【図１６】
0004799144.tif 000017
【図１７】
0004799144.tif 000018
【図１８】
0004799144.tif 000019