(57)【要約】【課題】ＮＰＣのより活き活きとした多彩な動作制御をより簡単に実現すること。【解決手段】自動制御対象のＮＰＣの周囲に配置されているオブジェクトから注目オブジェクトを選択し、当該ＮＰＣから各注目オブジェクトに対して持つマップ内注目度を算出する。マップ内注目度は、注目度初期値を元に、注目オブジェクトの動作状態や相対位置関係、制御対象ＮＰＣと当該注目オブジェクトとの相性などに基づいて随時補正される。そして、最大のマップ内注目度を有する注目オブジェクトを、制御対象のＮＰＣの行動対象の候補とし、注目度の大きさに応じて予め定義されている中から行動種類を選択する。【選択図】図３
2010279460.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、ゲーム空間に配置された複数のキャラクタそれぞれを制御して所定のゲームを実行させるためのプログラムであって、
前記複数のキャラクタそれぞれに注目度を設定する注目度設定手段、
前記注目度に基づいて、前記複数のキャラクタのうちの制御対象キャラクタ以外のキャラクタの中から当該制御対象キャラクタに影響を与える誘因キャラクタを選択する選択手段、
前記誘因キャラクタの注目度に基づいて、前記制御対象キャラクタの動作、移動及び放音のうちの少なくとも１つ（以下「アクション」という。）を制御する制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記選択手段及び前記制御手段が、前記複数のキャラクタのうち、一部又は全部のキャラクタそれぞれを前記制御対象キャラクタとして処理を実行するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記制御手段が、同一の前記制御対象キャラクタに対する新たなアクションの適用間隔を制御するように前記コンピュータを機能させるための請求項１又は２に記載のプログラム。
【請求項４】
前記注目度設定手段が、当該キャラクタの注目度を、当該キャラクタ自身のアクションの実行度合いに応じて変更する自身原因変更手段を有する、ように前記コンピュータを機能させるための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記自身原因変更手段が、当該キャラクタがアクションを開始したことを検出するアクション開始検出手段を有し、当該検出時に、当該キャラクタの注目度の大きさを一時的に大きくするように変更する、ように前記コンピュータを機能させるための請求項４に記載のプログラム。
【請求項６】
前記注目度変更手段が、当該キャラクタの注目度の大きさを、当該キャラクタと前記制御対象キャラクタとの相対位置関係に応じて変更する手段を有する、ように前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
前記各キャラクタには相性に関する属性が定められており、
前記制御手段が、前記制御対象キャラクタの属性と前記誘因キャラクタの属性との相性に基づいて、前記制御対象キャラクタのアクションを可変に制御するように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
前記制御手段が、前記制御対象キャラクタの属性と前記誘因キャラクタの属性との相性が不良の場合に前記誘因キャラクタから遠ざかる方向に前記制御対象キャラクタを移動制御し、良好の場合に前記誘因キャラクタに近づく方向に前記制御対象キャラクタを移動制御する移動制御手段を有する、ように前記コンピュータを機能させるための請求項７に記載のプログラム。
【請求項９】
前記移動制御手段が、前記誘因キャラクタの注目度の大きさに応じた速度で前記制御対象キャラクタを移動制御するように前記コンピュータを機能させるための請求項８に記載のプログラム。
【請求項１０】
前記制御手段が、前記各キャラクタに定められた視線方向を変化させる視線方向制御を前記アクションの１つとして実行する視線方向制御手段を有し、
更に、前記視線方向制御手段が、前記制御対象キャラクタの属性と前記誘因キャラクタの属性との相性が不良の場合に前記誘因キャラクタから視線をそらすように前記制御対象キャラクタの視線方向を変化させ、良好の場合に前記誘因キャラクタに視線を向けるように前記制御対象キャラクタの視線方向を変化させる、
ように前記コンピュータを機能させるための請求項７〜９の何れか一項に記載のプログラム。
【請求項１１】
前記キャラクタ設定手段が、変更した注目度を時間経過に応じて変更前の値に戻す注目度復帰制御手段を有するように前記コンピュータを機能させるための請求項１〜１０の何れか一項に記載のプログラム。
【請求項１２】
請求項１〜１１の何れか一項に記載のプログラムを記憶するコンピュータ読取可能な情報記憶媒体。
【請求項１３】
ゲーム空間に配置された複数のキャラクタそれぞれを制御して所定のゲームを実行するゲーム装置であって、
前記複数のキャラクタそれぞれに注目度を設定する注目度設定手段と、
前記注目度に基づいて、前記複数のキャラクタのうちの制御対象キャラクタ以外のキャラクタの中から当該制御対象キャラクタに影響を与える誘因キャラクタを選択する選択手段と、
前記誘因キャラクタの注目度に基づいて、前記制御対象キャラクタのアクションを制御する制御手段と、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、ゲーム空間に配置された複数のキャラクタそれぞれを制御して所定のゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
キャラクタが登場するビデオゲームの多くには、プレーヤによる操作入力に応じて動作制御されるプレーヤキャラクタ（以下「ＰＣ」とも言う。）や、コンピュータが自動的に動作制御するノンプレイアブルキャラクタ（以下「ＮＰＣ」とも言う。）が登場するのが一般的である。
【０００３】
ＮＰＣは、プレーヤキャラクタをサポートする仲間であったり、或いは一般的な村人、魔法で呼び出される式神や召還獣などと言った具合に、ゲーム世界での役割に応じた設定が与えられ、それぞれその設定に応じてそれらしく見えるように動作制御される。
この「それらしく見えるように動作制御する」ことによって、ＮＰＣはより活き活きとした存在感を生み出し、ゲームの興趣を高める。
【０００４】
また、プレーヤキャラクタについても、移動や攻撃、会話など大まかなアクションはプレーヤの操作入力に基づいて制御されるが、各アクションにおける細かな動作（例えば、表情や視線の向きなど細やかな動作）はＮＰＣと同様に自動制御の対象とされ、その制御次第でプレーヤキャラクタがより活き活きとした存在感を放つようになる。
【０００５】
この「それらしく見えるように動作制御する」ための技術としては、例えば、瞳を有する特定キャラクタと、この特定キャラクタが注目する注視オブジェクト（例えば、敵キャラクタ）とを仮想３次元空間に配置し、移動させるゲームにおいて、特定キャラクタからこの注視オブジェクトまでの相対方向を求め、瞳や首を相対方向に向けるように制御する技術が知られている（例えば、特許文献１参照）。この技術によれば、あたかも特定キャラクタに意志があって注視オブジェクトを自ら認識し注目しているかのように動作させることができる。特定キャラクタがプレーヤキャラクタでもＮＰＣでも、より活き活きとした存在感を放つであろう。
【０００６】
また例えば、プレーヤキャラクタの最大検知距離以内に検知可能なオブジェクトがある場合に、その内最も近いオブジェクトを特定し、この特定されたオブジェクトが位置する相対方向に応じてプレーヤキャラクタがそちらの方向を向いている画像に更新する技術がある（例えば、特許文献２参照）。この技術によれば、例えばＲＰＧのように、プレーヤキャラクタが情報を収集するための村や攻略ポイントとしての目的地を探しながら広大なマップ上を移動する状況において、ゲーム画面外に存在する目的地をプレーヤに教えることができるとともに、目的地を探して旅するプレーヤキャラクタの目的地らしきものをめざとく見つけたかのようにそれらしい動作をさせることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１４１４２１号公報
【特許文献２】特開２００２−２５３８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のように、ゲームに登場するキャラクタの視線の動きなど細やかな動作を制御する技術は知られるところであるが、ＮＰＣの大まかな動作を自動制御する手法は、想定される様々な条件分岐をもとに思考パターンを予め設定しておかなければならなかった。
【０００９】
例えば、とある村人のＮＰＣの行動を制御する場合、プレーヤキャラクタが所定範囲内に近接した場合に最初は挨拶する。２回目に近接したら最近の天気について話す。３回目以降は、村はずれのお宝伝説について話す。それ以外は、農機具を持って村敷地内をランダム移動・・・と言った具合に設定するならば、当該ＮＰＣの役柄と存在場所に応じて、想定され得る状況別に、条件分岐と分岐先の行動を事細かに設定しなければならない。（勿論、この例で言う「それ以外」の条件での行動は単なるランダム移動であり、当該ＮＰＣをプレーヤが注視し続けその動作を観察すると、とても一人の人間らしい動作とは感じないであろう。）
【００１０】
この村人のＮＰＣをより活き活きとした存在とするためには、例えば、好みの女性を見かけたら畑に行くことをそっちのけに話し込んだり、犬に吠えられたら逃げたり、教会の鐘が鳴れば鐘の方を向くと言った具合に、移動、会話、逃げる、顔を向けるなど、大まかな動作は勿論、注意を惹き付けた対象に応じたより細かくそれでいて人として自然な動作をするように制御されるのが望ましい。しかし、それを従来のように条件分岐と分岐先の行動の設定で実現していては、膨大なゲーム製作労力を要することになる。そのため、プレーヤキャラクタの仲間のように重要なＮＰＣ等の少数に対してのみ行動設定を行い、それ以外のＮＰＣに対しては２〜３の大まかな設定のみ、或いはランダム移動といった設定のみで済ますのが一般的であった。そのため、望むような活き活きとした村人ＮＰＣがゲームに登場することはなかった。
【００１１】
本発明は、こうした事情を鑑みてなされたものであり、ＮＰＣのより活き活きとした多彩な動作制御を、より簡単に実現することを目的としている。
【課題を解決するための手段】
【００１２】
以上の課題を解決するための第１の形態は、コンピュータに、ゲーム空間に配置された複数のキャラクタそれぞれを制御して所定のゲームを実行させるためのプログラムであって、
前記複数のキャラクタそれぞれに注目度を設定する注目度設定手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、注目オブジェクト選択部２１４、マップ内注目度算出部２１６、図１８のステップＳ２２、図１９のステップＳ５２）、
前記注目度に基づいて、前記複数のキャラクタのうちの制御対象キャラクタ以外のキャラクタの中から当該制御対象キャラクタに影響を与える誘因キャラクタを選択する選択手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、行動対象オブジェクト選択部２１８、図１９のステップＳ２２２、図２６のステップＳ２２８）、
前記誘因キャラクタの注目度に基づいて、前記制御対象キャラクタの動作、移動及び放音のうちの少なくとも１つ（以下「アクション」という。）を制御する制御手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、アクション選択部２２４、図２６のステップＳ２３４〜Ｓ２４０、図１９のステップＳ２５０）として前記コンピュータを機能させるためのプログラムである。
【００１３】
また、別形態として、ゲーム空間に配置された複数のキャラクタそれぞれを制御して所定のゲームを実行するゲーム装置であって、
前記複数のキャラクタそれぞれに注目度を設定する注目度設定手段（例えば、図１の制御ユニット１４５０、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、注目オブジェクト選択部２１４、マップ内注目度算出部２１６、図１８のステップＳ２２、図１９のステップＳ５２）と、
前記注目度に基づいて、前記複数のキャラクタのうちの制御対象キャラクタ以外のキャラクタの中から当該制御対象キャラクタに影響を与える誘因キャラクタを選択する選択手段（例えば、図１の制御ユニット１４５０、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、行動対象オブジェクト選択部２１８、図１７のオブジェクトステータスデータ５２６、行動対象オブジェクトＩＤ５２６ｊ、図１９のステップＳ２２２、図２６のステップＳ２２８）と、
前記誘因キャラクタの注目度に基づいて、前記制御対象キャラクタのアクションを制御する制御手段（例えば、図１の制御ユニット１４５０、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、アクション選択部２２４、図２６のステップＳ２３４〜Ｓ２４０、図１９のステップＳ２５０）と、
を備えたゲーム装置（例えば、図１の携帯型ゲーム装置１４００）を構成することができる。
【００１４】
第１の形態によれば、ゲームに登場する複数のキャラクタそれぞれについて注目度を設定することができる。そして、ある自動動作制御の制御対象であるキャラクタを制御する場合、当該制御対象キャラクタ以外のキャラクタの中から、当該制御対象キャラクタに影響を与える誘因キャラクタを選択し、この誘因キャラクタの注目度に基づいて制御対象キャラクタのアクションを制御することができる。ここで言う「誘因キャラクタ」とは、その誘因キャラクタの注目度故に、当該制御対象キャラクタが興味（ポジティブな興味、ネガティブな興味何れも含む）を惹かれて何らかのアクションを起こすきっかけとなるキャラクタのことである。「アクション」とは、移動、振り向き、攻撃、会話などの身体的動作を伴う行動は勿論、好みや心象の変化など心理的反応を含む意味である。
つまり、制御対象キャラクタが周囲のもの個々に抱く注目度という内部パラメータ（換言すると興味の惹かれ具合パラメータ）に応じて、行動対象（＝誘因キャラクタ）を決定しアクションを決定することができるので、従来のようにＮＰＣのゲームにおける役柄や活動範囲を考慮した膨大で複雑な条件分岐を設定する必要はない。
【００１５】
更には、注目度の大きさに応じてアクションの種類を選択する構成とするならば、例えば、注目度が比較的低い段階では、目線を送る程度であるが、ある閾値を越えると近寄るように移動し、更に有る閾値を越えると声をかけるといった具合に、興味の惹かれ度合いに応じてアクションが自然に選択されるように、よりそれらしく見える行動制御を多彩且つ簡単に実現できるようになる。
【００１６】
第２の形態は、前記選択手段及び前記制御手段が、前記複数のキャラクタのうち、一部又は全部のキャラクタそれぞれを前記制御対象キャラクタとして処理を実行するように前記コンピュータを機能させるための第１の形態のプログラムである。
【００１７】
第２の形態によれば、第１の形態と同様の効果を奏するとともに、ゲームに登場するキャラクタの全部又は一部を自動動作制御の対象とすることができる。
【００１８】
第３の形態は、前記制御手段が、同一の前記制御対象キャラクタに対する新たなアクションの適用間隔を制御する（例えば、図１７の思考タイミングタイマ５２６ｆ、図１９のステップＳ５０、Ｓ２５２）ように前記コンピュータを機能させるための第１又は第２の形態のプログラムである。
【００１９】
第３の形態によれば、第１又は第２の形態と同様の効果を奏するとともに、制御対象キャラクタのアクション適用間隔を制御できる。よって、注目度の設定を１／３０秒程度の制御サイクル毎に行って、細やかな注目度の変化を実現しつつも、制御対象キャラクタのアクションがめまぐるしく変化するといった事態を回避できる。
【００２０】
第４の形態は、前記注目度設定手段が、当該キャラクタの注目度を、当該キャラクタ自身のアクションの実行度合いに応じて変更する自身原因変更手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、マップ内注目度算出部２１６、図２０のステップＳ９０、Ｓ１１０）を有する、ように前記コンピュータを機能させるための第１〜第３の何れかの形態のプログラムである。
【００２１】
更に、第５の形態として、前記自身原因変更手段が、当該キャラクタがアクションを開始したことを検出するアクション開始検出手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、マップ内注目度算出部２１６、図２１のステップＳ９４の「動き始め」分岐）を有し、当該検出時に、当該キャラクタの注目度の大きさを一時的に大きくするように変更する、ように前記コンピュータを機能させるための第４の形態のプログラムが実現できる。
【００２２】
第４の形態によれば、第１〜第３の形態の何れかと同様の効果を奏するとともに、注目度が設定されるキャラクタのアクションの実行度合いに応じてその注目度を変更することができる。
【００２３】
そして、第５の形態によれば、動き始めの物体にはより強く注目する人間の特性を上手く注目度というパラメータ値に反映されることができる。より具体的には、例えば「移動」アクションをするキャラクタについて注目度が設定される場合、移動開始と、移動中と、停止と言った具合にアクションの段階に応じて注目度を変更できる。この例では、前者ほど高く後者ほど低くなるように注目度を変更すると、動き始めの物体にはより強く注目するが、移動している状態の物体にはそれほどは注目せず、停止している物体には更に注目しない、といった注目する側の人間の特性を上手く反映させることができる。
【００２４】
第６の形態は、前記注目度変更手段が、当該キャラクタの注目度の大きさを、当該キャラクタと前記制御対象キャラクタとの相対位置関係に応じて変更する手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、マップ内注目度算出部２１６、図２０のステップＳ１４０、Ｓ１６０）を有する、ように前記コンピュータを機能させるための第１〜第５の何れかの形態のプログラムである。
【００２５】
第６の形態によれば、第１〜第５の形態の何れかと同様の効果を奏するとともに、自動制御される制御対象キャラクタと、注目度を設定するキャラクタとの相対位置関係に応じて変更することができる。ここで言う「相対位置関係」は、例えばゲーム空間内における相対距離、相対方向、制御対象キャラクタからみて見える／見えない、を含む。
よって、注目度を設定するキャラクタが制御対象キャラクタに対してどれだけ近いか、どの方向に見えるか、見えるか／見えないかといった状況に応じて注目度を細かく設定することができる。例えば、相対距離が遠くなるほど注目度を減ずるように設定するならば、遠くのモノには気づきにくい人間の特性を注目度に上手く反映させることができる。
【００２６】
第７の形態は、前記各キャラクタには相性に関する属性が定められており、前記制御手段が、前記制御対象キャラクタの属性と前記誘因キャラクタの属性との相性に基づいて、前記制御対象キャラクタのアクションを可変に制御するように前記コンピュータを機能させるための第１〜第６の何れかの形態のプログラムである。
【００２７】
第７の形態によれば、第１〜第６の形態の何れかと同様の効果を奏するとともに、制御対象キャラクタの属性と前記誘因キャラクタの属性との相性に基づいて、制御対象キャラクタのアクションを可変できる。
【００２８】
第８の形態は、前記制御手段が、前記制御対象キャラクタの属性と前記誘因キャラクタの属性との相性が不良の場合に前記誘因キャラクタから遠ざかる方向に前記制御対象キャラクタを移動制御し、良好の場合に前記誘因キャラクタに近づく方向に前記制御対象キャラクタを移動制御する移動制御手段を有する、ように前記コンピュータを機能させるための第７の形態のプログラムである。
【００２９】
第８の形態によれば、第７の形態と同様の効果を奏するとともに、制御対象キャラクタと誘因キャラクタとの相性とが良ければ近づくが、相性が悪ければ近づくよりむしろ遠ざかるように制御対象キャラクタを制御することができる。
【００３０】
第９の形態は、前記移動制御手段が、前記誘因キャラクタの注目度の大きさに応じた速度で前記制御対象キャラクタを移動制御するように前記コンピュータを機能させるための第８の形態のプログラムである。
【００３１】
第９の形態によれば、第８の形態と同様の効果を奏するとともに、制御対象キャラクタと誘因キャラクタとの相性が良くて近づく場合や、相性が悪くて遠ざかる場合に誘因キャラクタの注目度に応じてその移動速度を変えることができる。例えば、注目度が高いほど速く移動するように制御すれば、相性の良い誘因キャラクタに飛びつくように近づくし、相性が悪い誘因キャラクタから逃げ出すといった具合に、より一層人間らしい動作制御を実現できる。
【００３２】
第１０の形態は、前記制御手段が、前記各キャラクタに定められた視線方向を変化させる視線方向制御を前記アクションの１つとして実行する視線方向制御手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、アクション選択部２２４、図１３の基礎アクションリストデータ５０６、図２６のステップＳ２３４）を有し、
更に、前記視線方向制御手段が、前記制御対象キャラクタの属性と前記誘因キャラクタの属性との相性が不良の場合に前記誘因キャラクタから視線をそらすように前記制御対象キャラクタの視線方向を変化させ、良好の場合に前記誘因キャラクタに視線を向けるように前記制御対象キャラクタの視線方向を変化させる、ように前記コンピュータを機能させるための第７〜第９の何れか形態のプログラムである。
【００３３】
第１０の形態によれば、第７〜第９の形態の何れかと同様の効果を奏するとともに、制御対象キャラクタの属性と誘因キャラクタの属性との相性が悪ければ、誘因キャラクタから意図的に視線をそらすように制御対象キャラクタの視線方向を変化させる制御ができる一方、相性が良い場合に誘因キャラクタに積極的に視線を向けるように視線方向を変化させることができる。視線方向の制御１つにしても、より人間らしい動作を、複雑な条件分岐の設定無しに簡単に実現できる。
【００３４】
第１１の形態は、前記キャラクタ設定手段が、変更した注目度を時間経過に応じて変更前の値に戻す注目度復帰制御手段（例えば、図１２の処理部２００、ゲーム演算部２１０、ＮＰＣ自動制御部２１２、注目度時限補正制御部２２２、図１７の時限補正対象オブジェクトＩＤ５２６ｍ、時限補正開始システム時刻５２６ｎ、図２５のステップＳ１８４〜Ｓ１８６、図１９のステップＳ４４）を有するように前記コンピュータを機能させるための第１〜第１０の何れかの形態のプログラムである。
【００３５】
第１１の形態によれば、第１〜第１０の形態の何れかと同様の効果を奏するとともに、変更した注目度を時間経過に応じて変更前の値に戻すことができる。
【００３６】
第１２の形態は、第１〜第１１の何れかの形態のプログラムを記憶するコンピュータ読取可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１２の形態によれば、第１〜第１１の形態のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第１１の形態の何れかと同様の効果を発揮させることができる。
【図面の簡単な説明】
【００３７】
【図１】携帯型ゲーム装置の構成例を示す図。
【図２】ゲーム世界の概要を示す図。
【図３】ＮＰＣの自動制御の概要を説明する概念図。
【図４】速度補正値の概念を説明するための図。
【図５】音量補正値の概念を説明するための図。
【図６】距離補正値の概念を説明するための図。
【図７】視界補正値の概念を説明するための図。
【図８】注目タイプ補正値とアクション傾向の概念を説明するための図。
【図９】マップ外注目度の概念を説明するための図。
【図１０】ゲーム世界内時間に応じたマップ外注目度の設定例を示す概念図。
【図１１】アクション種類の選択における注目度とアクション傾向の関与を示す概念図。
【図１２】機能構成例を示す機能ブロック図。
【図１３】オブジェクト初期設定データのデータ構成例を示す図。
【図１４】注目タイプ設定データのデータ構成例を示す図。
【図１５】マップ外注目度設定データのデータ構成例を示す図。
【図１６】イベント設定データのデータ構成例を示す図。
【図１７】オブジェクトステータスデータのデータ構成例を示す図。
【図１８】主たる処理の流れを説明するためのフローチャート。
【図１９】ＮＰＣ自動制御処理の流れを説明するためのフローチャート。
【図２０】マップ内注目度算出処理の流れを説明するためのフローチャート。
【図２１】速度補正値算出処理の流れを説明するためのフローチャート。
【図２２】音量補正値算出処理の流れを説明するためのフローチャート。
【図２３】距離補正値算出処理の流れを説明するためのフローチャート。
【図２４】視界補正値算出処理の流れを説明するためのフローチャート。
【図２５】注目タイプ補正値算出処理の流れを説明するためのフローチャート。
【図２６】アクション選択処理の流れを説明するためのフローチャート。
【発明を実施するための形態】
【００３８】
〔第１実施形態〕
本発明を適用した実施形態として、携帯型ゲーム装置においてアドベンチャーゲームを実行する例を説明する。
【００３９】
［ゲーム装置の構成］
図１は、携帯型ゲーム装置の構成例を説明するための外観図である。本実施形態における携帯型ゲーム装置１４００は、プレーヤがゲーム操作を入力するための方向入力キー１４０２及びボタンスイッチ１４０４と、第１液晶ディスプレイ１４０６と、第２液晶ディスプレイ１４０８と、スピーカ１４１０と、制御ユニット１４５０とを、ヒンジ１４１４で開閉自在なフリップフロップ型の装置本体１４０１に備えている。
そして、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表示面上には、スタイラスペン１４１６などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル１４０７、１４０９がそれぞれ装着されている。
【００４０】
また、装置本体１４０１には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード１４４０にデータを読み書きできるメモリカード読取装置１４１８が備えられている。メモリカード１４４０には、携帯型ゲーム装置１４００の制御ユニット１４５０がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体１４０１には図示されていない内臓バッテリーや電源スイッチ、音量調節ボタン等が設けられている。
【００４１】
タッチパネル１４０７、１４０９は、表示画面を遮蔽することなくそれぞれ第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表示画面のほぼ全域を被い、プレーヤがスタイラスペン１４１６（或いは指など）で触れる接触操作を行うと、左上を原点とする直交Ｘｔ，Ｙｔ軸座標系における接触位置座標を制御ユニット１４５０へ出力することができる。
【００４２】
制御ユニット１４５０は、ゲーム装置の制御基板に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種ＩＣメモリを搭載する。
また、制御ユニット１４５０は、無線通信モジュール１４１２や、３軸加速度センサ１４２２、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８のドライバ回路、タッチパネル１４０７及びタッチパネル１４０９のドライバ回路、方向入力キー１４０２及びボタンスイッチ１４０４からの信号を受信する回路、スピーカ１４１０へ音声信号を出力するためのアンプ回路、メモリカード読取装置１４１８への信号入出力回路と言った所謂Ｉ／Ｆ回路（インターフェース回路）を搭載する。これら制御ユニット１４５０に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【００４３】
３軸加速度センサ１４２２は、携帯型ゲーム装置１４００の姿勢変化や位置変化を検出するために直交するＸ軸・Ｙ軸・Ｚ軸の３軸方向の加速度を検出し、検出信号を制御ユニット１４５０へ出力する。尚、加速度センサの代わり、又は更なる機能追加としてジャイロセンサを備える構成としても良い。或いは地磁気を基準として位置や姿勢変化を検出する磁気センサを更に機能追加してもよい。
【００４４】
そして制御ユニット１４５０は、メモリカード読取装置１４１８によってメモリカード１４４０に格納されているプログラムやデータを読み出して、搭載するＩＣメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー１４０２やボタンスイッチ１４０４、タッチパネル１４０７及び１４０９からの操作入力に応じて携帯型ゲーム装置１４００の各部を制御して、音楽ゲームを実行する。
【００４５】
尚、本実施形態では、携帯型ゲーム装置１４００は必要なプログラムや各種設定データをメモリカード１４４０から読み出す構成としているが、無線通信モジュール１４１２を介して、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などの有線／無線の通信回線１に接続して外部の装置からダウンロードする構成としても良い。
【００４６】
［ゲームの概要］
本実施形態におけるアドベンチャーゲームは、ＮＰＣが住まうゲーム世界で、プレーヤキャラクタがＮＰＣから情報を得てこの世界のナゾを解くゲームである。
【００４７】
図２は、本実施形態におけるゲーム世界の概要を示す図である。ゲーム世界は複数のマップ（ＭＡＰ０１〜ＭＡＰ０９）から構成されており、プレーヤキャラクタ２の他にＮＰＣ３が多数住んでいる設定である。ゲーム世界の各地には、プレーヤキャラクタ２の住居４や、ＮＰＣ３の住居２６、プレーヤキャラクタ２が通う学校６、ショッピング街８、公園１０等が配置されている。
【００４８】
プレーヤキャラクタ２はゲーム世界のマップを移動して、移動の先々でさまざまなイベントをクリアしてナゾ解きを進める。イベントの基本は、プレーヤキャラクタ２がＮＰＣ３に声をかけたり、ＮＰＣ３から声をかけられたりすることで発動する「会話」である。プレーヤが会話内で提示される選択肢を選ぶことで、プレーヤキャラクタ２のゲーム世界での行動やポジション（例えば、能力、職業、他のＮＰＣ３に対する印象など）の一部が変化し、選択肢の選び方で異なるエンディングに導かれる。従って、本実施形態のゲームは、所謂マルチエンディング型のアクションゲームに類する。
【００４９】
［ＮＰＣの自動制御についての原理］
図３は、本実施形態におけるＮＰＣの自動制御の概要を説明するための概念図であって、ゲーム世界を構成する複数のマップの内の一部を示している。
【００５０】
ＮＰＣ３の動作は、コンピュータによって自動制御される。所謂ＡＩ制御が行われる。
ＮＰＣ自動制御では、制御対象とされるＮＰＣ３ｓについて、ゲーム世界に配置された様々なオブジェクト（例えば、プレーヤキャラクタ２、自動車１４、キツネ１６、ヘビ１８、他のＮＰＣ３を含む。その他、適宜、建物、立木、モンスターなどを設定可能。）の中から当該ＮＰＣの行動対象の候補を選択し、選択した行動対象の候補それぞれに対して当該ＮＰＣの抱く注目度（関心度、優先度と見なせる部分もある）を決定する。そして、最も注目度の高い行動対象に応じて、その注目度の大きさに応じた行動（アクション）を決定し実行するように制御される。
【００５１】
より具体的には、ＮＰＣ自動制御では先ず、ゲーム世界に配置されたオブジェクトの中から、制御対象とされるＮＰＣ３ｓの周囲に存在するオブジェクトであって、行動対象の候補として注目するオブジェクト（以下、単に「注目オブジェクト」と言う。）を選択する。
【００５２】
本実施形態では、図３に示すように、図３の中央のＮＰＣ３ｓを制御対象オブジェクト（制御対象キャラクタ）とした場合、プレーヤキャラクタ２と制御対象であるＮＰＣ３ｓとがともに存在するマップ２０内に存在するオブジェクトを注目オブジェクトとして選択する。注目オブジェクトには、プレーヤキャラクタ２も含まれれば、自動車１４やキツネ１６、ヘビ１８、その他のＮＰＣ３も含まれ得る。勿論、ゲーム空間の設定によっては信号機やポスト、灯台、街路樹などのオブジェクトも含まれ得る。また、注目オブジェクトの選択範囲は、マップ単位とせず、処理対象であるＮＰＣ３ｓを中心とした視界範囲のような所定範囲を基準とし、同範囲内に存在するオブジェクトを注目オブジェクトとしても良いのは勿論である。
【００５３】
さて、注目オブジェクトを選択したならば、次に選択された注目オブジェクトそれぞれについて、ＮＰＣ３ｓから見た各注目オブジェクトに対する関心度・優先度を表す内部パラメータ値として「マップ内注目度」を計算する。
【００５４】
マップ内注目度は、注目オブジェクトそれぞれにゲーム設定上の重要度に応じて予め定められている注目度初期値を基準として、ゲーム進行状況に応じて可変する注目オブジェクト自身の状態に依存する「速度補正値」及び「音量補正値」と、制御対象であるＮＰＣ３ｓと注目オブジェクトとの相対的な状態に依存する「距離補正値」「視界補正値」「注目タイプ」との各種補正値を算出・加算することで算出する。
【００５５】
具体的には、例えば図４は、速度補正値の概念を説明するための図である。速度補正値は、動く物に注意を向け易い人の特性を表現する。本実施形態では、注目オブジェクトが動き始めの場合と、動作継続中と、停止又は見えない場合との３段階に分け、動き始めの補正値を最も大きく設定し、停止又は見えない場合に「０」とする。そして、動作継続中の補正値をその中間とする。
【００５６】
こうした速度補正値の設定によって、例えば図４の例では、キツネ１６は、停止状態から動き始めると高い速度補正値が加算されて一時的にＮＰＣ３ｓの注目を受けやすくなるが、動き始めてしまうと中程度の速度補正値しか加算されず、動き始めた時より注目を受けなくなり、止まったり視界外に達すると速度補正値は加算されず、本来の注目度に戻ることになる。
つまり、「動き始めでは思わず注目する。動いたものの正体を知ってしまうと（その頃には当のキツネ１６は動作継続状態になっている）興味を失うが、そのものへの本来持っている興味以上は持たなくなる。」と言った、人間の動くものへの注目の仕方を上手くモデル化することができる。
【００５７】
図５は、音量補正値の概念を説明するための図である。音量補正値は、大きな音を出すものに対して注目する人の特性を表現する。本実施形態では、注目オブジェクトが基準値以上の音量を発していて、且つ放音開始した場合と、基準値以上の音量で放音継続中と、基準値未満の音量の場合の３段階に分け、放音開始の補正値を最も大きく設定し、基準値未満の音量の場合を「０」とする。そして、放音継続中の補正値をその中間とする。
【００５８】
こうした音量補正値の設定によれば、例えば図５に示すように、ＮＰＣ３ｓに向けて自動車１４からクラクション（ある程度大きな音）が発せられたケースでは、自動車１４の注目度の変化を時系列で見ると、クラクションが鳴らされた当初は高い音量補正値が加算されることにより一時的にＮＰＣ３ｓの注目を得る。しかし、鳴りつづけると中程度の音量補正値しか加算されず、クラクションが鳴らされた当初より注目を受けなくなる。そして、そもそも音が聞こえなかったり、クラクションが止まると音量補正値は加算されず、ＮＰＣ３ｓが自動車１４に対して本来抱いている以上の注目が受けられなくなる。
【００５９】
つまり、音量補正値によって、「音が鳴り始めた当初は音源に注目するが、鳴り続けると興味を失い、そもそも音が小さかったり音が止まる頃には音源そのものへの本来持っている興味以上は持たなくなる」と言った、人間の音源への注目の仕方を上手くモデル化することができる。
【００６０】
よって、速度補正値及び音量補正値の導入により、制御対象であるＮＰＣ３ｓが他キャラクタに対して抱く注目度を、当該他キャラクタのアクションの実行度合いに応じて変更することができる。
【００６１】
図６は、距離補正値の概念を説明するための図である。距離補正値は、注目する対象との距離が行動に与える影響を表現する。本実施形態では、制御対象のＮＰＣ３ｓから注目オブジェクト（図６の例ではヘビ１８）との直線距離Ｌに応じて注目度に負の補正がかかるように設定されている。
【００６２】
これによって、例えばヘビ１８が遠い位置にいれば、ＮＰＣ３ｓがヘビ１８に対して本来持っている興味以上には注目されないが、より近くに居ればより高い注目を得るようになる。つまり、「同じものでも距離が近いほど注目しやすく、遠いと注目を失い易い」と言った、人が抱く注目度合いが対象との距離により変化する様子を上手くモデル化することができる。
【００６３】
図７は、視界補正値の概念を説明するための図である。視界補正値は、視界前方の対象には注目し易いが、視界の外（つまりは後方）に向かう程注目し難くなる様子を表現する。本実施形態では、注目オブジェクトへの相対方向ベクトルＶｓが、現在のＮＰＣ３ｓの正面方向（視線方向）を基準として、ズレが±０°〜３０°であれば高い視界補正値を加算し、正面方向を基準にしてズレが±７６°以上では視界に入らないと判断して視界補正値を「０」とする。そして、その中間範囲（正面方向からのズレ±３１°〜７５°）では中程度の大きさの視界補正値を加算するように設定する。
【００６４】
こうした視界補正値の設定により、図７の例では、見かけ上は月より小さい星であっても正面方向にあれば高い注目を得られる一方で、背面側に有って視界に入らなければ、星より大きく明るい月でも本来月に抱いている興味以上の注目は得られないこととなる。このように、「視界補正値によって視界前方の対象には注目し易いが、視界の外のものには注目し難い」と言った人間の特性を上手くモデル化することができる。
尚、本実施形態では注目オブジェクトへの相対方向ベクトルＶｓと正面方向ベクトルとのズレに基づいて視界補正値を決定するが、上下角度又は左右角度の何れかのみを採用して演算処理負荷を軽減する構成としても良い。
【００６５】
図８は、注目タイプ補正値の概念を説明するための図である。注目タイプ補正値は、制御対象のＮＰＣ３ｓの好みや注目オブジェクトとの相性が注目度に与える影響を表現する値である。本実施形態では、注目オブジェクトとされるオブジェクトには、それぞれゲーム設定上の属性と、アクション傾向とがセットで予め設定されている。
【００６６】
アクション傾向とは、制御対象のＮＰＣ３ｓが注目オブジェクトに対してアクションを行う場合に、注目オブジェクトに対して好意的な行動をとるか、敵対的或いは嫌悪する行動をするかを示すパラメータである。本実施形態では前者に相当する「ポジティブ」と後者に相当する「ネガティブ」の何れかが設定される。注目タイプ補正は、注目オブジェクトの属性によってＮＰＣ３ｓがどの程度興味をそそられる、或いは興味を失うかの度合いを表す。
【００６７】
例えば図８の例では、写真趣味を有する男性のＮＰＣ３ｓは、同じ写真趣味を有するＮＰＣ３ｇに対しては、「ポジティブ」のアクション傾向で「２５」の注目タイプ補正値が適用され、大変高い注目を得る。また、反社会的グループの構成員とおぼしきＮＰＣ３ｙに対しては、アクション傾向「ネガティブ」で、注目タイプ補正「５０」が適用され、ＮＰＣ３ｓから悪い意味で高い注目を得ることになる。また例えば、プレーヤキャラクタ２の服装をプレーヤが変更可能な設定としたゲーム設定が有るならば、上手くＮＰＣ３ｓの好みの服装にプレーヤキャラクタ２を着替えさせると、注目を得ることができることになる。
このように、注目タイプ補正値によって、制御対象であるＮＰＣ３ｓの好みによる注目度の変化を上手くモデル化することができる。
【００６８】
本実施形態では、オブジェクト毎にゲーム設定上の他オブジェクトとの相性や相対的な位置づけ（兄弟、姉妹、親子、上下関係、友人関係、好敵手、恋人関係、赤の他人など）、役柄等に基づいて予め注目タイプ補正値とアクション傾向とが設定される。
【００６９】
以上のように、各オブジェクトに所定の注目度初期値を基礎として、上述のような各種補正値でＮＰＣ自動制御対象のＮＰＣ３ｓの状態や、当該ＮＰＣ３ｓと他オブジェクトとの相対関係に基づいてその時々のゲーム状況がＮＰＣ３ｓの行動に与える影響を適切に反映するように補正することができる。
そして、全ての注目オブジェクトについてマップ内注目度が算出されたならば、最も高いマップ内注目度の注目オブジェクトが、制御対象のＮＰＣ３ｓにとっての行動対象となるオブジェクト、つまりは何らかのアクションを起こす誘因となる誘因オブジェクトの第１の候補として選択される。
【００７０】
［マップ外注目度について］
次に、図９に示すように、制御対象のＮＰＣ３ｓの居るマップ２０とは別マップに配置されたオブジェクトであって、マップ外注目度（図中、ハッチングが施された吹き出し）が設定されている特定オブジェクトを、制御対象のＮＰＣ３ｓの行動対象となる第２の候補として選択する。
【００７１】
マップ外注目度は、制御対象のＮＰＣと同じマップ上への有無に関わらず設定される。本実施形態では、例えば図１０に示すように、ＮＰＣ３ｓが一日の行動の中で向かうべき場所のオブジェクト（自宅２６、職場２８、公園１０、ショッピング街８：図９参照）に対して、それぞれゲーム世界内時間に応じてマップ外注目度が設定される。例えば、自宅２６は、朝８時までと夜９時以降は高い値が設定されているが、それ以外は低い値となっている。同じように、職場２８は、朝８時以降から夕方５時までは高い値が設定されているが、それ以外では低い値となっている。公園１０は、夕方５時から夜７時までは高い値が設定されているがそれ以外では低い値となっている。そして、ショッピング街８は夜７時から夜９時まで高い値が設定されているが、それ以外では低い値となっている。
【００７２】
例えば、制御対象であるＮＰＣ３ｓがゲーム世界時間でその時々に最もマップ外注目度が高いオブジェクトに向けて「移動」するように行動設定すると、図中の丸囲み数字の順にＮＰＣ３ｓはゲーム世界内を移動する。すなわち、一日の始めは自宅２６に居て、朝８時に職場２８に向けて移動して仕事をし、夕方５時には公園に移動して息抜きし、夜７時にはショッピング街８に移動してお買い物をして、夜９時には自宅２６に帰ると言った行動をとらせることができる。
つまり、マップ内の特定オブジェクトにマップ外注目度をゲーム世界時間別に設定し、それらオブジェクトが行動対象に選択された場合に、ＮＰＣ３ｓが当該オブジェクトの場所に移動するように制御すると、ＮＰＣ３ｓを、人が一日のスケジュールに従って活動場所に移動するように動作制御することが可能になる。
【００７３】
［アクションの選択］
さて、最も高いマップ内注目度と、制御対象のＮＰＣ３ｓが建物や場所に対して持っているマップ外注目度を比較して、最も高い注目度を有するオブジェクトを最終的な行動対象のオブジェクトとして選択する。オブジェクトがキャラクタであれば、ＮＰＣ３ｓのアクションを誘う誘因キャラクタに相当する。
【００７４】
そして、その注目度の大きさとアクション傾向に基づいて行動種類を選択する。具体的には、例えば図１１に示すように、行動対象の注目度（マップ内注目度又はマップ外注目度）の大きさに応じて、二つのアクション傾向別に選択される行動が予め定義されており、制御対象のＮＰＣ３ｓが行動対象として選択された注目オブジェクトに対して、どちらのアクション傾向を有し、どれだけの注目度を有しているかによって行動が選択・決定される。
【００７５】
より具体的には、アクション傾向「ネガティブ（−）」には、注目度が低い方から順に、「無視」「見る（或いは、見て見ぬふりとか、視線をそらすなど）」「避ける」「逃げる」と言った基礎的なアクション（基礎アクション）の行動が対応づけられている。
【００７６】
つまり、図１１に示すようにヘビ１８が注目オブジェクトであった場合、ＮＰＣ３ｓから遠く離れていたり視界外にヘビ１８が居る場合には、ＮＰＣ３ｓは無視したり単に目線をおくるだけの行動をするように制御される。しかし、急に動き出したり有る程度近づいたりすると注目度が高くなって、避けたり逃げると言った行動をするように制御されることとなる。それはあたかも、ＮＰＣ３ｓが一般人のそれと同じくヘビ１６をあまり好ましい存在、できれば近づきたくない、近づきすぎると危険な存在と認識して、状況に応じて自発的に行動しているかのように見える。
【００７７】
一方、アクション傾向「ポジティブ（＋）」では、注目度が低い方から順に「無視」「見る」「近づく」と言った基礎アクション、「上位アクション」が対応づけて設定されている。上位アクションは、「見る」「避ける」など注目オブジェクトの種類に係わらず一様な単純動作とは異なり、注目オブジェクトの種類に応じて具体的なアクションの種類が変化する行動である。
【００７８】
例えば、図１１に示すように注目対象がキツネ１６のような動物の場合、アクション傾向が「ポジティブ（＋）」でＮＰＣ３ｓが注目オブジェクトに対して好意的に注目し、さらにその注目度がかなり高いので、「エサをやる」「撫でる」などの人が動物に対して示す好意的な行動が設定されている。また、例えば、注目オブジェクトが人物ならば、「あいさつ」「会話」など人が他人に対して示す好意的な行動が定義されている。
【００７９】
こうした注目度とアクション傾向とに応じた行動の選択によれば、例えば、図８の例でＮＰＣ３ｇ或いはＮＰＣ３ｙがそれぞれ行動対象に選択されたとすると、ＮＰＣ３ｓはＮＰＣ３ｇに対して「ポジティブ」のアクション傾向で注目度を有するので、最初は「見る」事から始まる。視線を行動対象を向けることで、視界正面にＮＰＣ３ｇが入り、視界補正値により更に注目度が高くなってＮＰＣ３ｓはＮＰＣ３ｇに「近づく」。行動対象に近づくことで、距離補正値により注目度は相対的に更に高くなり、ある一線をこえると「上級アクション（この場合例えば「あいさつ」など）」と言った行動をするように制御される。つまり、好みの相手を見つけると、最初は視線を向けることがから始まり、そばに寄って話しかけると言った人間らしい動作を、複雑な条件分岐の設定などせずに簡易な制御で実現することができる。
【００８０】
反対にＮＰＣ３ｙに対しては「ネガティブ」のアクション傾向で注目度を有するので、最初は行動対象に選択される程度に注目度が高くなり、ＮＰＣ３ｓは視線をＮＰＣ３ｙに向け「見る」動作をする。見ることでＮＰＣ３ｙは視界正面に入るので視界方正値により注目度は高くなり、ＮＰＣ３ｓは「避ける」動作をする。もし、視界正面に入ることで上昇した注目度が有る一線を越えると「避ける」を通りこして「逃げる」と言った行動をするように制御される。つまり、近づくのが剣呑な人物に気づいて視線を向け、相手を認識して避けたり、気づいて視線を向けたら直ぐそばにいたために即座に逃げると言った行動をする、と言った人間らしい動作を実現することができる。
【００８１】
［機能ブロックの説明］
次に、上述のようなＮＰＣ自動制御を実行するための機能構成例について説明する。
図１２は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００８２】
操作入力部１００は、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサユニット、傾斜センサユニット、などによって実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。図１の方向入力キー１４０２やボタンスイッチ１４０４はこれに該当する。
【００８３】
処理部２００は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００を含む携帯型ゲーム装置１４００の各機能部との間でデータの入出力を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置１４００の動作を制御する。図１では制御ユニット１４５０がこれに該当する。そして本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００８４】
ゲーム演算部２１０は、ゲームの進行に関する各種処理を実行する。例えば、３ＤＣＧを用いる場合には仮想３次元空間に背景や登場人物等の各種オブジェクトを配置してゲーム空間を生成する処理、操作入力に応じてプレーヤキャラクタをゲーム空間内で移動させるなどの動作を実行する処理、プレーヤキャラクタとＮＰＣとの会話或いはＮＰＣ同士の会話などのイベントを実行する処理、イベントの結果に応じたストーリの分岐判定処理、仮想カメラの制御処理、などが実行される。
また、本実施形態のゲーム演算部２１０は、所謂ＡＩ制御を実行するＮＰＣ自動制御部２１２を含む。ＮＰＣ自動制御部２１２は更に注目オブジェクト選択部２１４と、マップ内注目度算出部２１６と、行動対象オブジェクト選択部２１８と、注目度変更部２２０と、注目度時限補正制御部２２２と、アクション選択部２２４とを含む。
【００８５】
注目オブジェクト選択部２１４は、制御対象とされるＮＰＣの行動対象オブジェクトの候補とされる注目オブジェクトを選択する。本実施形態では、制御対象のＮＰＣ３ｓはプレーヤキャラクタ２が居るマップ上に配置されているＮＰＣから選択されるので、結果的に制御対象であるＮＰＣ３ｓの居るマップ上のオブジェクトを注目オブジェクトとして選択することとなる。
尚、マップが単一であったり、マップ上に多数のオブジェクトが配置されている場合には、制御対象のＮＰＣ３ｓから視認可能範囲及び可聴可能範囲に相当するサーチ領域を設定し、当該サーチ領域内に含まれるオブジェクトを選択し、更にそのオブジェクト内から特定の種類（例えば、人物オブジェクト）を選択することで選りすぐる構成としても良いのは勿論である。
【００８６】
マップ内注目度算出部２１６は、注目オブジェクト選択部２１４によって選択された注目オブジェクトそれぞれのマップ内注目度を算出する。具体的には、制御対象とされるＮＰＣ３ｓに予め設定されている注目度初期値を参照し、注目オブジェクトの状態（動作状態や放音状態と言った実行中のアクションの度合い、相対位置など）や、当該制御対象のＮＰＣと注目オブジェクトとの属性の相性に関する各種補正値を加算或いは減算してマップ内注目度を算出する。
【００８７】
行動対象オブジェクト選択部２１８は、注目オブジェクト選択部２１４によって選択された注目オブジェクトと、マップ外注目度を持っている特定オブジェクトとの中から、最も高い注目度（マップ内注目度及びマップ外注目度を含む）のオブジェクトを、当該ＮＰＣ３ｓの行動対象オブジェクトとして選択する。
【００８８】
注目度変更部２２０は、イベントの結果などゲーム進行状況に応じて制御対象のＮＰＣ３ｓが他のオブジェクトに対してもつ注目度を変更する。
【００８９】
注目度時限補正部２２２は、行動対象オブジェクトとして選択されたオブジェクトに対して制御対象のＮＰＣが抱く注目度を一時的に低減するように時限補正する処理をする。これによって、人が行動対象になんらかのアクションをすると、アクション前よりも興味が下がる様子を上手くモデル化する。これによって、ある１つのオブジェクトが不自然に頻繁に行動対象とならず、第１のオブジェクトに対して何らかの行動をしたら、当該第１のオブジェクトの注目度を相対的に下げて、その他のオブジェクトが行動対象オブジェクトとして選ばれ易くする。
【００９０】
アクション選択部２２４は、制御対象のＮＰＣが抱く注目度の内、最大注目度とアクション傾向とに基づいて行動種類（アクション種類）を選択する。
【００９１】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）、音声合成ＩＣなどのプロセッサや、音声ファイル再生可能なオーディオコーデックによって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００９２】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではスピーカ１４１０がこれに該当する。
【００９３】
画像生成部２６０は、例えば、ＧＰＵ（Graphics Processing Unit）、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、ビデオ信号ＩＣ、ビデオコーデック、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（例えば１／６０秒）で１枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部３６０に出力する。
【００９４】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイと言った画像表示装置によって実現できる。図１では第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８がこれに該当する。
【００９５】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００９６】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１の無線通信モジュール１４１２がこれに該当する。
【００９７】
記憶部５００は、処理部２００に携帯型ゲーム装置１４００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図１では制御ユニット１４５０が搭載するＩＣメモリやメモリカード１４４０がこれに該当する。
【００９８】
本実施形態では、記憶部５００はシステムプログラム５０１と、ゲームプログラム５０２とを記憶している。システムプログラム５０１は、携帯型ゲーム装置１４００の基本機能を実現するためのプログラムであり、各機能部をアプリケーションソフト側で呼び出して利用可能な各種ファームウェアを含む。ゲームプログラム５０２は、処理部２００が読み出して実行することによってゲーム演算部２１０としての機能を実現させるためのアプリケーションソフトである。
【００９９】
また、記憶部５００には、予め用意されるデータとして、マップデータライブラリ５０３と、複数のオブジェクト初期設定データ５０４と、注目タイプ設定データ５１０と、マップ外注目度設定データ５１２と、複数のイベント設定データ５１４とを記憶する。
更にゲームの準備や進行に伴って随時生成や更新が行われるデータとして、複数のオブジェクトステータスデータ５２６を記憶する。また、ゲームの進行に係る処理を実行するにあたり必要となるデータ（例えば、タイマ値やカウンタ）なども適宜記憶されるものとする。
【０１００】
マップデータライブラリ５０３は、ゲーム世界を構成する複数のマップ（ＭＡＰ０１〜ＭＡＰ０９；図２参照）それぞれを定義する情報を複数含む。例えば、背景やＮＰＣとして配置されるオブジェクトＩＤや、その配置される位置などを定義する情報を含む。公知のアドベンチャーゲームやＲＰＧにおけるマップデータと同様に実現することができる。
【０１０１】
オブジェクト初期設定データ５０４は、ゲーム世界に配置されるオブジェクトの種類毎に、当該オブジェクトをゲーム世界に配置、表示、動作させるための情報を定義する。
例えば図１３に示すように、１つのオブジェクト初期設定データ５０４は、オブジェクトＩＤ５０４ａと、当該オブジェクトの種類（例えば、キャラクタ、動物、機械、静物、建造物、アイテムなど）を示す情報を格納するオブジェクト種類５０４ｂと、表示モデルデータ５０４ｃと、テクスチャデータ５０４ｄと、各種動作をさせるためのモーションデータ５０４ｅとを含む。
【０１０２】
また、オブジェクト初期設定データ５０４は、ＮＰＣの自動動作制御に関連して注目度初期値５０４ｆと、基礎アクションリストデータ５０６と、上位アクションリストデータ５０８とを含む。
【０１０３】
注目度初期値５０４ｆは、当該オブジェクトのゲーム設定上の重要度に応じて設定される注目度の基礎となる値である。本実施形態では、ゲーム設定上の重要度に加えて当該オブジェクトの周囲に対する相対輝度差（周囲に対して特別に輝度の高い部分を含んでいるか否か）による注目の惹きやすさの観点も加味されて値が設定されているものとする。
【０１０４】
基礎アクションリストデータ５０６は、行動対象オブジェクトに対する当該オブジェクトの基礎アクションの種類を定義する情報である。
例えば、図１３の例では、制御対象であるＮＰＣが行動対象オブジェクトに抱く最大注目度範囲５０６ａを複数設け、各範囲毎にアクション傾向（ネガティブ、ポジティブ）別に基礎アクション種類５０６ｂを設定する。
尚、図１３の例は、オブジェクトが人間（または人相当の擬人）であることを想定した例であるが、その他の種類である場合には図示された内容に限らない。例えば、オブジェクトが「動物」であれば、「よける」に代えて「警告音（唸り声など）を出す」、「逃げる」に代えて「攻撃する」などを設定することもできる。
【０１０５】
上位アクションリストデータ５０８は、基礎アクションとして「上位アクション」が設定されている場合に参照される情報であり、最大注目度範囲５０８ａの範囲別に行動対象オブジェクトのオブジェクト種類毎の具体的な上位アクション種類５０８ｂを定義する。
【０１０６】
例えば、図１３の例では、当該オブジェクトは行動対象オブジェクトが「キャラクタ」の場合には、最大注目度範囲５０８ａの大きさに応じて「あいさつ」「世間話」「深い話」と言った具合に、最大注目度範囲５０８ａが高値になるほどより親密な間柄で交わされるレベルの会話をするように行動が設定されている。尚、本実施形態では、会話は１つのイベントとして扱われ、公知のアドベンチャーゲームと同様に、プレーヤキャラクタ２と行動対象オブジェクトとの間で交わされる会話がイベント形式で発動するように制御される。
【０１０７】
また、行動対象オブジェクトが「本」の場合、最大注目度範囲５０８ａがより高値になるほどその本への興味のレベルが高い時の行動となるように、「眺める」「斜め読み」「熟読」と言った行動が順に定義されている。この場合は、制御対象であるＮＰＣはモーションデータによって、それらしい動作をするように表示モデルが制御される。また、図示はされていないが、行動対象オブジェクトが「動物」の場合、最大注目度範囲５０８ａが高値になるほどその動物への興味のレベルが高い時の行動となるように、「なでる」「エサをやる」「抱きつく」と言った行動が定義されている。この場合の各動作も、制御対象であるＮＰＣはモーションデータによって、それらしい動作をするように表示モデルが制御されるものとする。
つまり、上位アクションリストデータ５０８によって、行動対象オブジェクトに対して当該オブジェクトがどういった行動をとるか、その行動にまつわる傾向などが定義され、その人となりが定義される。
【０１０８】
注目タイプ設定データ５１０は、行動する側のオブジェクトから見た、行動を受ける側のオブジェクト別の注目タイプ補正値とアクション傾向とを定義する。
例えば、図１４に示すように、行動をする側の主体オブジェクト５１０ａ毎に、行動を受ける側のオブジェクト、つまり注目オブジェクト５１０ｄ別にアクション傾向５１０ｂと注目タイプ補正値５１０ｃとを対応づけて格納している。尚、図中のアクション傾向５１０ｂでは、「ポジティブ」の設定を「＋」、「ネガティブ」の設定を「−」で示している。
【０１０９】
具体的なところでは、例えばＮＰＣ０１のプレーヤキャラクタ（ＰＣ）に対するアクション傾向５１０ｂと注目タイプ補正値５１０ｃからすると、ＮＰＣ０１はＰＣに大変好意的に注目しているが、ＮＰＣ０２に対するアクション傾向５１０ｂと注目タイプ補正値５１０ｃとからすると、ＮＰＣ０２に対してはあまり良くない印象を持っていると言える。ところが、ＮＰＣ０２のＮＰＣ０１に対するアクション傾向５１０ｂと注目タイプ補正値５１０ｃからすると、大変好意的に注目している。つまり、ここではＮＰＣ０２がＮＰＣ０１に片思いしている状況が表現されていると言える。
【０１１０】
マップ外注目度設定データ５１２は、ゲーム世界の特定のオブジェクトに対して制御されるＮＰＣが現在居るマップ外にあっても、その行動対象の候補として選択する際の注目度を定義する。
【０１１１】
例えば、図１５に示すように、行動をする側の主体オブジェクト５１２ａ毎に、ゲーム世界内時間５１２ｄに応じた特定オブジェクト５１２ｂとそのマップ外注目度５１２ｃとを対応づけて格納する。
特定オブジェクト５１２ｂには、マップ外注目度５１２ｃを有するオブジェクトの内、そのゲーム世界時間５１２ｄにおいて当該主体オブジェクト５１２ａから見て最も高いマップ外注目度を有するオブジェクトが設定されている。
【０１１２】
例えば、図１５の例で説明すると、ＮＰＣ０１は、１時〜６時台までは「自宅」に最も高いマップ外注目度が設定されている。もし、マップ内注目度の値よりもこのマップ外注目度が高ければ、ＮＰＣ０１は「自宅」に向かって移動することになる。しかし、７時〜１７時台までは「職場Ａ」に、１８時台には「商店」にそれぞれ最も高いマップ外注目度が設定されている。従って、同じようにマップ内注目度の値よりもこのマップ外注目度が高い場合には、ＮＰＣ０１は７時〜１７時台ならば「職場Ａ」に、１８時台であれば「商店」に移動するように動作制御される。つまり、マップ外注目度データ５１２を適切に設定することで、一日の時間帯別に主体オブジェクト５１２ａのスケジュールを設定することができる。
尚、本実施形態では特定オブジェクト５１２ｂとして、特定の建物や場所のオブジェクトを設定しているが、これらに限らず特定の人物や乗物、特定の食べ物などを適宜設定することができる。
【０１１３】
イベント設定データ５１４は、ゲームストーリ上展開される各種イベントを定義する。
１つのイベント設定データ５１４は、例えば、図１６に示すように、イベントＩＤ５１４ａと、当該イベントが適用される適用オブジェクト５１４ｂと、当該イベントが発生し得るマップを示す適用マップ５１４ｃと、アクション種類５１４ｄと、優先順位５１４ｅの情報を含む。
【０１１４】
適用オブジェクト５１４ｂと、適用マップ５１４ｃ及びアクション種類５１４ｄは、いわば当該イベントの発動条件の一部をなし、優先順位５１４ｅは同じ発動条件において実行されるべき優先順位を設定している。例えば、ＭＡＰ０７において、ＮＰＣ０３の行動対象としてプレーヤキャラクタ（ＰＣ）が選択され、行動種類として「深い話」が選択された場合には、当該イベントが最初に発動されることになる。勿論、当該イベントが実行済みの場合に、同じような条件でイベントが発動されると、優先順位５１４ｅが「２」のイベントが選択・発動されることとなる。
【０１１５】
また、イベント設定データ５１４は、イベント実行データ５１６と、注目タイプ補正値変更データ５１８とを含む。
【０１１６】
イベント実行データ５１６は、１つのイベントを実行させるための各種情報を含み、公知のアドベンチャーゲームやＲＰＧ等のイベント実行のためのデータと同様に実現される。図１６の例は会話イベントを定義する例であり、話者５１６ａと、その発言テキスト５１６ｂと、その時画面表示される画像データ５１６ｃと、再生される音声データ５１６ｄと、プレーヤに提示される選択肢５１６ｅなどが、会話進行順に対応づけて格納されている。イベントの内容によっては、単に再生される動画データであったり、オブジェクトに特別な動作をさせるためのモーションデータやそれを撮影する仮想カメラの制御データなどを格納することができる。
【０１１７】
注目タイプ補正値変更データ５１８は、当該イベントの結果に応じた注目度の変更を定義する。例えば、イベント結果５１８ａ別に、変更対象５１８ｂと変更内容５１８ｃとを対応づけて格納する。変更対象５１８ｂには、注目タイプ設定データ５１０（図１４参照）における主体オブジェクト５１０ａと注目オブジェクト５１０ｄとの組み合わせを設定している。尚、イベントによって変更される値は、注目タイプ補正値に限らず、マップ外注目度などその他の注目度や補正値などを適宜設定することができる。
【０１１８】
オブジェクトステータスデータ５２６は、オブジェクトそれぞれに設けられ、当該オブジェクトの現在の状態や行動選択や制御に必要な情報が格納される。
例えば、図１７に示すように、オブジェクトＩＤ５２６ａと、現在の位置座標５２６ｂと、速度履歴５２６ｃと、加速度履歴５２６ｄと、実行中アクション制御データ５２６ｅと、を含む。
【０１１９】
速度履歴５２６ｃ及び加速度履歴５２６ｄは、それぞれ過去所定フレーム前までの速度と加速度の履歴情報を格納する。実行中アクション制御データ５２６ｅは、現在実行中の動作制御に関する情報を格納する。例えば、モーションデータに基づく動作であれば現在のモーションフレーム番号を格納することができる。また、会話イベントであれば実行中のイベントＩＤや会話の進行状況を示すデータなどを格納することができる。アクションに伴い再生される音データの管理情報なども格納することもできる。
【０１２０】
また、オブジェクトステータスデータ５２６は、対応するオブジェクトがＮＰＣの場合、思考タイミングタイマ５２６ｆを含む。思考タイミングタイマ５２６ｆは、ＮＰＣの行動対象と行動種類の選択を実行するタイミングを計る。
【０１２１】
もし、制御サイクル毎（例えばディスプレイのリフレッシュレートと同等又はそれより短いサイクル；１／３０秒）に行動対象と行動種類の決定を行うと、不自然に短いタイミングでＮＰＣの動作が切り替わってしまう不具合が生じることがある。しかし、思考タイミングタイマ５２６ｆによって例えば３０秒を計時する毎に行動対象と行動種類の選択を実行することによって、ＮＰＣが人間らしいリズムで行動の選択をするように調整できる。
尚、本実施形態では、思考タイミングタイマ５２６ｆによる計時時間を固定としているが、ランダムに可変することによって思考タイミングに揺らぎを与える構成とすると、よりＮＰＣの行動のリズムを人間のそれらしく見せることができて好適である。
【０１２２】
当該ＮＰＣについてのＮＰＣ自動制御処理に際して抽出された注目オブジェクトの識別情報は注目オブジェクトＩＤ５２６ｇとしてリスト登録され、それぞれのマップ内注目度５２６ｈと対応づけられる。
そして、ＮＰＣ自動制御によって、最終的に選択された行動対象オブジェクトの識別情報及び選択された基礎アクションや上位アクションの行動種類は、それぞれ行動対象オブジェクトＩＤ５２６ｊ及び行動種類５２６ｋに格納される。
【０１２３】
また、オブジェクトステータスデータ５２６は、時限補正対象オブジェクトＩＤ５２６ｍと対応づけて時限補正開始システム時刻５２６ｎを含む。
本実施形態では、ＮＰＣが今回のＮＰＣ自動制御処理によってある行動対象オブジェクトに対して行動を開始したならば、当該行動対象オブジェクトに対する注目度を一定時間だけ強制的に下げる処理を行う。これを時限補正と言う。時限補正対象オブジェクトＩＤ５２６ｍは時限補正されるオブジェクトの識別情報を格納し、時限補正開始システム時刻５２６ｎには時限補正の開始時刻が格納される。
【０１２４】
行動対象オブジェクトも、今回のＡＩ制御された時点では最も高い注目度であったが、次のＡＩ制御のタイミング（思考タイミングが到来したのと同義）では時限補正によって強制的に注目度が下げられるので、次のタイミングでは前回注目度が第２位のオブジェクトが今度の行動対象オブジェクトとして選ばれる可能性が生まれる。
これによって、人が強く惹かれた対象に対して何らかの行動（例えば、見る、触る、話しかける等）をすると、有る程度興味を失い、結果次に惹かれる対象に行動を移すといった習性が上手くＮＰＣの動作制御において再現されることとなる。
【０１２５】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。ここで説明する一連の処理の流れは、処理部２００がゲームプログラム５０２を読み出して実行することによって実現される。尚、ここではゲーム音の再生に関する説明は省略するが、公知のビデオゲームと同様に適当なタイミングで再生処理されるものとする。
【０１２６】
図１８は、主たる処理の流れを説明するためのフローチャートである。処理部２００は先ず、マップデータライブラリ５０３から初期マップのデータを参照し、３次元仮想空間内に各種オブジェクトを配置してゲーム空間を形成し（ステップＳ２）、そのゲーム空間にプレーヤキャラクタ２やＮＰＣ３、仮想カメラを配置する（ステップＳ４）。
そして、仮想カメラでプレーヤキャラクタ２の様子を撮影するように自動制御を開始する（ステップＳ６）。
【０１２７】
ゲームを開始したならば（ステップＳ８）、処理部２００はゲーム画面のリフレッシュレートに応じた所定の制御サイクル（例えば１／３０秒）でステップＳ１０〜Ｓ２６０を繰り返し実行する。
【０１２８】
具体的には、先ずプレーヤキャラクタ２がアクション実行中であるか否かを判定する（ステップＳ１０）。ここで言う「アクション実行中」と言う意味には、移動などプレーヤキャラクタの表示モデル自体が何らかのモーションを実行中、つまり動作中であることは勿論、会話イベントなどのイベントが発動中である状態も含まれる
【０１２９】
もし、アクション実行中で無く（ステップＳ１０のＮＯ）、且つプレーヤキャラクタを操作する操作入力を検知した場合には（ステップＳ１２のＹＥＳ）、処理部２００は検知した操作入力に応じてプレーヤキャラクタの動作制御を開始する（ステップＳ１４）。移動であったり、攻撃であったり、ものを拾ったり、会話したりである。
【０１３０】
もし、アクション実行中であれば（ステップＳ１０のＹＥＳ）、処理部２００は今回の制御サイクル分だけ実行中のアクションに関する処理を継続する（ステップＳ１６）。もし実行中と判定されたアクションがイベントであれば、例えば、処理部２００は当該イベントのイベント実行データ５１６に従ってイベントを実行する。そして、今制御サイクルで実行中のイベントが終了する場合（ステップＳ１８のＹＥＳ）、処理部２００は当該イベントの注目タイプ補正値変更データ５１８（図１６参照）に従って注目タイプ補正値を変更する（ステップＳ２０）。
【０１３１】
次に、処理部２００はＮＰＣ自動制御処理を実行する（ステップＳ２２）。
図１９は、本実施形態におけるＮＰＣ自動制御処理の流れを説明するためのフローチャートである。同処理においては、先ずプレーヤキャラクタ２と同じマップ内に存在するＮＰＣを自動制御処理の対象として抽出し（ステップＳ４２）、抽出した全てのＮＰＣに対してループＡの処理を実行する（ステップＳ４４〜Ｓ２５６）。
【０１３２】
具体的にループＡでは先ず、処理部２００は処理対象であるＮＰＣ３のオブジェクトステータスデータ５２６を参照し（図１７参照）、登録されている時限補正対象オブジェクトＩＤ５２６ｍのうち、時限補正期間が過ぎているものを登録抹消処理する（ステップＳ４６）。すなわち、時限補正対象オブジェクトＩＤ５２６ｍ毎の時限補正開始システム時刻５２６ｎと現在のシステム時刻を参照し、開始システム時刻から所定時間経過していると判断されるものを時限補正期限が過ぎていると判断する。時限補正期限は、本実施形態では標準３０秒とするが、当該処理対象であるＮＰＣのゲーム世界における特性に応じて適宜決定できる。例えば、気が多く好奇心旺盛なタイプの設定であれば短く設定し（例えば２０秒程度）、周りの様子を慎重に観察してから行動するタイプや、のんびり屋のタイプに設定するのであれば時限補正期限を長く（例えば、５０秒）設定すると良い。
【０１３３】
次に処理部２００は、処理対象であるＮＰＣが現在アクション実行中でなければ（ステップＳ４８のＮＯ）、当該ＮＰＣのオブジェクトステータスデータ５２６の思考タイミングタイマ５２６ｆの値を参照し（図１７参照）、所定の思考タイミング間隔値（例えば、２０〜３０秒程度）が計時されたかを判定する（ステップＳ５０）。つまり、前回行動を起こしてから所定時間経過しているかを判定する。そして、肯定の場合（ステップＳ５０のＹＥＳ）、処理部２００は処理対象であるＮＰＣ３ｓの新たな行動対象と行動種類を選択するために、先ずはマップ内注目度算出処理を実行する（ステップＳ５２）。
【０１３４】
図２０は、本実施形態におけるマップ内注目度算出処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は処理対象であるＮＰＣ３ｓにとっての注目オブジェクトを抽出する（ステップＳ６０）。抽出されたオブジェクトの識別情報は、当該ＮＰＣ３ｓのオブジェクトステータスデータ５２６の注目オブジェクトＩＤ５２６ｇ（図１７参照）に登録される。
【０１３５】
本実施形態では、プレーヤキャラクタ２と同マップ上のオブジェクトを全て注目オブジェクトとして抽出するが、例えば処理対象のＮＰＣ３ｓからゲーム世界内距離で所定距離（例えば、５０ｍ以内）のオブジェクトを注目オブジェクトとして選択する構成としても良い。勿論、その場合の所定距離は当該ＮＰＣ３ｓのゲーム世界内での設定に応じて変更可能である。例えば、当該ＮＰＣ３ｓのオブジェクト種類が、特定種類（例えば、レーダーを備えて遠く離れた相手を認識し易いロボット、千里眼能力者など）に該当するか、或いは視界を広げるアイテムを所持しているかを判定し、肯定であれば、他のＮＰＣよりもより広い範囲から注目オブジェクトを抽出処理する構成とすることができる。
反対に、処理対象であるＮＰＣ３ｓが、ステータスの異常状態（例えば、目つぶし攻撃を受けて視力が低下している、痺れている、毒や眠気で朦朧としている、など）や、ヒットポイントが基準値以下に低下して行動力が大幅に低下している状態であるかを判定し、肯定の場合に標準より狭い範囲から注目オブジェクトを抽出するように処理する構成とすることもできる。
【０１３６】
さて、注目オブジェクトを抽出したならば、処理部２００は抽出された全ての注目オブジェクトについてループＢの処理を実行する（ステップＳ６２〜Ｓ２０２）。
ループＢでは、最初に処理対象の注目オブジェクトのオブジェクト初期設定データ５０４（図１３参照）から注目度初期値５０４ｆを取得し（ステップＳ６４）、速度補正値算出処理を実行する（ステップＳ９０）。
【０１３７】
図２１に示すように、速度補正値算出処理では最初に、処理対象である注目オブジェクトについてのオブジェクトステータスデータ５２６の速度履歴５２６ｃ及び加速度履歴５２６ｄ（図１７参照）を参照して（ステップＳ９２）、当該注目オブジェクトの移動状態を判定する（ステップＳ９４）。
【０１３８】
もし、当該注目オブジェクトが今制御サイクルで動き始めたと判定される場合には（ステップＳ９４の「動き始め」）、速度補正値を「５０」に設定し、速度補正値算出処理を終了する。等速度運動であったり基準値未満の加速度で加速／減速していると判定される場合には（ステップＳ９４の「移動継続中」）、速度補正値を「２０」とする。該注目オブジェクトが今制御サイクルで動きを止めたと判定される場合や、処理対象であるＮＰＣ３ｓと当該注目オブジェクとの間に他のオブジェクトが介在して見えなくなったと判定される場合には（ステップＳ９４の「停止又は見えなくなった」）、速度補正値を「０」に設定し、速度補正値算出処理を終了する。
【０１３９】
速度補正値算出処理を終了したならば、図２０のフローチャートに戻って処理部２００は次に音量補正値算出処理を実行する（ステップＳ１１０）。
音量補正値算出処理では、図２２に示すように、処理対象である注目オブジェクトについてのオブジェクトステータスデータ５２６の実行中アクション制御データ５２６ｅ（図１７参照）を参照して、当該注目オブジェクトについて再生中の音が有るかを判定する（ステップＳ１１４）。
【０１４０】
もし、再生中の音が無ければ（ステップＳ１１４の「なし」）、処理部２００は音量補正値を「０」に設定して（ステップＳ１２０）、音量補正値算出処理を終了する。再生中の音が有ったとしても所定の基準値未満の音量に過ぎず、処理対象であるＮＰＣ３ｓの注意をひけないと判断される場合（ステップＳ１１６の「基準値未満」）、同様に音量補正値を「０」に設定する（ステップＳ１２０）。
【０１４１】
もし、再生中の音が有って、且つ音量が所定基準値以上であれば（ステップＳ１１６の「基準値以上」）、処理部２００は再生されている音の放音状態を判定する（ステップＳ１１８）。具体的は、例えば再生中の音データの再生時間を参照する。
その結果、今回の制御サイクルで放音が開始されたと判断できる場合には（ステップＳ１１８の「放音開始」）、処理部２００は音量補正値を「３０」に設定して（ステップＳ１２２）、音量補正値算出処理を終了する。一方、再生して既に有る程度の時間が経っていて放音が続いている状態と判断できる場合には（ステップＳ１１８の「放音継続中」）、音量補正値を「１０」に設定して（ステップＳ１２４）、音量補正値算出処理を終了する。
【０１４２】
音量補正値算出処理を終了したならば、図２０のフローチャートに戻って、処理部２００は距離補正値算出処理を実行する（ステップＳ１４０）。
距離補正値算出処理では、図２３に示すように、先ずループＡの処理対象であるＮＰＣ３ｓと、ループＢの処理対象である注目オブジェクトとの相対距離Ｌを算出する（ステップＳ１４２）。そして、所定の関数に基づいて算出した相対距離Ｌから距離補正値を算出し（ステップＳ１４４）、距離補正値算出処理を終了する。本実施形態では、相対距離Ｌ（単位は、例えばゲーム世界内のメートルなど）をそのままマイナスの距離補正値とするが、換算レートは適宜設定可能である。
【０１４３】
距離補正値算出処理を終了したならば、図２０のフローチャートに戻って、次に処理部２００は視界補正値算出処理を実行する（ステップＳ１６０）。
視界補正値算出処理では、図２４に示すように、先ず処理対象であるＮＰＣ３ｓから処理対象である注目オブジェクトへのベクトルＶｓ（図７参照）を求め（ステップＳ１６６）、相対方向ベクトルＶｓと正面方向ベクトルとのなす角度（ズレ）を判定する（ステップＳ１６８）。
具体的には、正面方向のベクトルとのズレ量が±０〜３０°の範囲ならば（ステップＳ１６８の「±０〜３０°」）、処理部２００は当該注目オブジェクトが処理対象であるＮＰＣ３ｓのほぼ正面方向にあって、注目され易いと判断して、視界補正値を「３０」に設定して視界補正値算出処理を終了する。
一方、ズレ量が±３１〜７５°の範囲ならば（ステップＳ１６８の「±３１〜７５°」）、視界における位置に関してとりたてて注目されるほどでないが、かといって見え難いとまでは言えないと判断して視界補正値を「１０」に設定し（ステップＳ１７２）、ズレ量が±７６〜１８０°の範囲ならば（ステップＳ１６８の「±７６〜１８０°」）、背中側なので視界外にあって見え難く注目され難いと判断して視界補正値を「０」に設定し（ステップＳ１７４）、視界補正値算出処理を終了する。
尚、ズレ量が±７６〜１８０°の範囲の場合、視界補正値を「−１５」といった具合にマイナス値に設定すると、視界外のものにより気づきにくい状況を作り出すことができる。
【０１４４】
視界補正処理を終了したならば、図２０のフローチャートに戻って、処理部２００は次に注目タイプ補正値算出処理を実行する（ステップＳ１８０）。
図２５に示すように、注目タイプ補正値算出処理では処理部２００は注目タイプ設定データ５１０（図１４参照）を参照して、ループＡの処理対象であるＮＰＣ３ｓが主体オブジェクトＩＤ５１２ａで、ループＢの処理対象である注目オブジェクト５１０ｄとの組み合わせに設定されている注目タイプ補正値５１０ｃを取得する（ステップＳ１８２）。
【０１４５】
次いで、処理部２００は、ループＡの処理対象であるＮＰＣ３ｓのオブジェクトステータスデータ５２６を参照し、時限補正対象オブジェクトＩＤ５２６ｍに処理対象である注目オブジェクトの識別情報が登録されているかを判定する（ステップＳ１８４）。
そして、肯定の場合には（ステップＳ１８４のＹＥＳ）、参照した注目タイプ補正値を「−２０」変更して（ステップＳ１８６）、注目タイプ補正値算出処理を終了する。処理対象の注目オブジェクトが時限補正対象オブジェクトとして登録されていなければ、参照した注目タイプ補正値は変更せずに注目タイプ補正値算出処理を終了する。
【０１４６】
尚、ステップＳ１８６における変更量は固定値に限らず、例えば処理対象であるＮＰＣ３ｓの時限補正開始システム時刻５２６ｎと現在のシステム時刻を比較して、その差分に応じた大きさの変更量を算出して適用する構成とし、時限補正開始からの経過時間に応じて変更量が徐々に少なくなるようにしても良い。
【０１４７】
注目タイプ補正値算出処理を終了したならば、図２０のフローチャートに戻って、処理部２００はこれまでに算出した各補正値をステップＳ６４で取得した注目初期値に加算して、ループＡの処理対象のＮＰＣ３ｓがループＢの処理対象である注目オブジェクトに抱くマップ内注目度を算出し（ステップＳ２００）、当該注目オブジェクトに対するループＢの処理を終了する（ステップＳ２０２）。
尚、算出された、マップ内注目度は、処理対象であるＮＰＣ３ｓのオブジェクトステータスデータ５２６にて当該注目オブジェトの識別情報を格納する注目オブジェクトＩＤ５２６ｇと対応づけて格納される（図１７のマップ内注目度５２６ｈ）。
【０１４８】
ステップＳ６０で抽出された全ての注目オブジェクトに対してループＢの処理を実行したならば、処理部２００はマップ内注目度算出処理を終了し、図１９のフローチャートに戻る。
そして、次にマップ外注目度設定データ５１２を参照し、ループＡの処理対象であるＮＰＣ３ｓに該当する主体オブジェクト５１２ａに対応づけられ、今現在のゲーム世界内時刻に対応するマップ外注目度５１２ｃを取得する（ステップＳ２２０）。
【０１４９】
ステップＳ５２及びＳ２２０によって、ループＡの処理対象であるＮＰＣ３ｓにとって注目の対象となる全てのオブジェクトについて注目度（マップ内注目度又はマップ外注目度）を取得できたことになるので、処理部２００はいよいよループＡの処理対象であるＮＰＣ３ｓの行動種類の選択をするためにアクション選択処理を実行する（ステップＳ２２２）。
【０１５０】
図２６は、本実施形態におけるアクション選択処理の流れを説明するためのフローチャートである。同処理では、処理部２００は先ず、ステップＳ６０で抽出された注目オブジェクトの中から最大のマップ内注目度の注目オブジェクトを１つ選択する（ステップＳ２２８）。もし、最大のマップ内注目度の注目オブジェクトが複数ある場合には、何れかを抽選で選択すると良い。
【０１５１】
次に、処理部２００は、この選択された注目オブジェクトの最大マップ内注目度と、ステップＳ２２０で取得したマップ外注目度（図１９参照）とを比較する（ステップＳ２３０）。その結果、最大マップ内注目度の方が大きい場合（ステップＳ２３０のＹＥＳ）、処理部２００は注目タイプ設定データ５１０（図１４参照）を参照して、処理対象であるＮＰＣ３ｓが最大マップ内注目度の注目オブジェクトに対して持つアクション傾向５１０ｂを取得する（ステップＳ２３２）。
【０１５２】
そして、処理部２００は、最大マップ内注目度と取得したアクション傾向とに対応する基礎アクション種類を選択する（ステップＳ２３４）。
具体的には、処理対象であるＮＰＣ３ｓのオブジェクト初期設定データ５０４（図１３参照）の基礎アクションリストデータ５０６を参照して、最大マップ内注目度が該当する最大注目度範囲５０６ａと、ステップＳ２３２で取得したアクション傾向との組み合わせに対応する基礎アクション種類５０６ｂを選択する。
【０１５３】
選択された基礎アクション種類５０６ｂが「上位アクション」でなければ（ステップＳ２３６のＮＯ）、処理部２００はこの選択された基礎アクション種類を、処理対象であるＮＰＣ３ｓの行動種類として決定し、アクション選択処理を終了する。
【０１５４】
一方、選択された基礎アクション種類５０６ｂとして「上位アクション」が設定されている場合には（ステップＳ２３６のＹＥＳ）、処理部２００は更に同オブジェクト初期設定データの上位アクションリストデータ５０８を参照する。そして、最大マップ内注目度が該当する最大注目度範囲５０８ａと、ステップＳ２３２で取得したアクション傾向との組み合わせに対応する上位アクション種類５０８ｂを、先に選択された基礎アクション種類５０６ｂに代えて選択する（ステップＳ２３８）。処理部２００は、これを処理対象であるＮＰＣ３ｓの新たに選んだ行動種類として決定し、アクション選択処理を終了する。
【０１５５】
尚、ステップＳ２３０で選択された最大マップ内注目度よりもマップ外注目度が大きい場合には（ステップＳ２３０のＮＯ）、処理部２００はステップＳ２２０で選択されたマップ外注目度に対応する特定オブジェクト５１２ｂ（図１５参照）に向けて移動するように処理対象であるＮＰＣ３ｓの新たな行動種類を「移動」とし、アクション選択処理を終了する。これは、同じマップ内には処理対象であるＮＰＣ３ｓの注目を集めるものが無いので一日のスケジュールに従って行動すべきと判断されたのに相当する。
【０１５６】
アクション選択処理を終了したならば、図１９のフローチャートに戻って、処理部２００は次に、処理対象であるＮＰＣ３ｓを選択された種類のアクションをするように動作制御を開始する（ステップＳ２５０）。そして、行動が決まったので処理対象であるＮＰＣ３ｓの思考タイミングタイマ５２６ｆ（図１７参照）をリセットし再スタートさせ（ステップＳ２５２）、当該ＮＰＣ３ｓに対するループＡの処理を終了する（ステップＳ２５６７）。
【０１５７】
一方、ステップＳ４８において、処理対象のＮＰＣ３ｓがアクション実行中であると判断された場合には（ステップＳ４８のＹＥＳ）、実行中のアクションを今回の制御サイクルの分だけ継続して（ステップＳ２５４）、当該ＮＰＣに対するループＡの処理を終了する（ステップＳ２５６）。
【０１５８】
そして、ステップＳ４２で抽出された全てのＮＰＣについてループＡの処理を実行したならば、処理部２００は、ＮＰＣ自動制御処理を終了し、図１８のフローチャートに戻る。
【０１５９】
次に処理部２００は、所定のゲーム終了条件を満たすか否かを判定する。そして、満たしていなければ（ステップＳ２６０のＮＯ）、ステップＳ１０に移行する。もし、ゲーム終了条件を満たしていれば（ステップＳ２６０のＹＥＳ）、所定のエンディング画面を表示するなどのゲーム終了処理を実行して（ステップＳ２６２）、一連の処理を終了する。
【０１６０】
以上、本実施形態によれば、制御対象のＮＰＣが、ゲーム空間に配置された他のオブジェクトそれぞれに抱く注目度を設定し、この注目度の大きさに基づいて制御対象のＮＰＣの行動対象と行動の種類を選択できる。従来のように、複雑な条件分岐をプログラムで記述する必要はない。
【０１６１】
しかも、算出される注目度は、オブジェクトの輝度や、移動の状態、放音の状態、視界範囲における位置、相対距離、そして制御対象のＮＰＣと注目するオブジェクトとの相性などに応じて変更・補正される。それらの補正によって、注目度はより人間が興味を惹きやすいものほど高められるように変更される。
【０１６２】
そうして変更・補正された注目度のなかから最大の注目度を有するオブジェクトが行動対象として選択されるので、人間が自身の周囲にあるあらゆるモノのうち、その時々によって最も注目するモノに対して行動するといった、より人間らしい行動をＮＰＣにさせることができる。
【０１６３】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な実施形態はこの構成に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【０１６４】
例えば、本発明が適用されるゲームはアドベンチャーゲームに限らず、ＮＰＣが登場するゲームであればどのようなジャンルであっても構わない。
【０１６５】
また、上記実施形態では注目タイプ補正値はイベントの結果に応じて可変される構成としているが、同補正値を可変する条件はイベントの実行に限らない。
例えば、プレーヤキャラクタ２やＮＰＣ３の服装や武器、防具、装飾品と言ったアイテムや属性などがプレーヤ操作或いはゲーム進行に応じて変更される設定の場合、それらアイテムや属性の変化に応じて変更するとしても良い。例えば、ゲーム設定上、主人公であるプレーヤキャラクタ２が好む服装に変更されたＮＰＣ３の注目タイプ値を加算することができる。更に同時に、アクション傾向を変更することもできる。
【０１６６】
また、上記実施形態では、基礎アクションリストデータ５０６及び上位アクションリストデータ５０８に基づくアクション選択の際、アクション種類は１種類のみ選択する構成としているがこれに限らない。例えば、身体全体としてのアクションと、身体部分としてのアクションの２種類と言った具合に複数のアクション種類を選択する構成としても良い。後者の例では、例えば口の開け方を最大注目度範囲がより高値を含む範囲であるほど、開口面積が大きくなるように複数の開口アクションを設定することができる。この場合、注目の度合いに応じて思わず声が大きくなってしまう様子を実現し、ＮＰＣの動作をより自然に、より人間らしく見せることができるようになる。
【０１６７】
また例えば、上記実施形態におけるゲーム装置を携帯型ゲーム装置１４００として例示したが、据え置き型の家庭用ゲーム装置や業務用ゲーム装置は勿論のこと、“ゲーム装置”として販売されている電子機器に限らず、アプリケーションソフトが実行可能な携帯電話機やコンパクトデジタルカメラ、音楽プレーヤ、パソコンと言った電子機器も、ゲームプログラムを実行することでゲーム装置として機能するため、本発明を実現するゲーム装置とすることができる。
【符号の説明】
【０１６８】
２  プレーヤキャラクタ
３  ＮＰＣ（ノン・プレイアブル・キャラクタ）
３ｓ  （自動制御対象となっている）ＮＰＣ
２０  マップ
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２１２  ＮＰＣ自動制御部
２１４  注目オブジェクト選択部
２１６  マップ内注目度算出部
２１８  行動対象オブジェクト選択部
２２０  注目度変更部
２２２  注目度時限補正制御部
２２４  アクション選択部
３６０  画像表示部
５００  記憶部
５０２  ゲームプログラム
５０３  マップデータライブラリ
５０４  オブジェクト初期設定データ
５１０  注目タイプ設定データ
５１２  マップ外注目度設定データ
５１４  イベント設定データ
５１６  イベント実行データ
５１８  注目タイプ補正値変更データ
５２６  オブジェクトステータスデータ
１４００  携帯型ゲーム装置
１４０１  装置本体
１４０４  ボタンスイッチ
１４０６  第１液晶ディスプレイ
１４０７  タッチパネル
１４０８  第２液晶ディスプレイ
１４０９  タッチパネル
１４５０  制御ユニット
【図１】
2010279460.tif 000003
【図２】
2010279460.tif 000004
【図３】
2010279460.tif 000005
【図４】
2010279460.tif 000006
【図５】
2010279460.tif 000007
【図６】
2010279460.tif 000008
【図７】
2010279460.tif 000009
【図８】
2010279460.tif 000010
【図９】
2010279460.tif 000011
【図１０】
2010279460.tif 000012
【図１１】
2010279460.tif 000013
【図１２】
2010279460.tif 000014
【図１３】
2010279460.tif 000015
【図１４】
2010279460.tif 000016
【図１５】
2010279460.tif 000017
【図１６】
2010279460.tif 000018
【図１７】
2010279460.tif 000019
【図１８】
2010279460.tif 000020
【図１９】
2010279460.tif 000021
【図２０】
2010279460.tif 000022
【図２１】
2010279460.tif 000023
【図２２】
2010279460.tif 000024
【図２３】
2010279460.tif 000025
【図２４】
2010279460.tif 000026
【図２５】
2010279460.tif 000027
【図２６】
2010279460.tif 000028