(57)【特許請求の範囲】
【請求項１】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する記憶部と、
当該仮想空間内に出現している敵キャラクタについて、当該経過時間を計測して前記記憶部に記憶させる計測部と、
前記記憶されている経過時間に対して単調増加する距離を計算する計算部と、
当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断部と、
当該仮想空間内に出現している敵キャラクタを消滅させると前記消滅判断部により判断された場合に、当該仮想空間内に新たな敵キャラクタを出現させると判断する出現判断部と、
前記出現判断部により当該新たな敵キャラクタを出現させると判断された場合、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定部と、
を備えることを特徴とするゲーム装置。
【請求項２】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する記憶部と、
当該仮想空間内に出現している敵キャラクタについて、当該経過時間を計測して前記記憶部に記憶させる計測部と、
前記記憶されている経過時間に対して単調増加する距離を計算する計算部と、
当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断部と、
当該仮想空間内に出現している敵キャラクタの総数が所定の上限値より少ない場合に、当該仮想空間内に新たな敵キャラクタを出現させると判断する出現判断部と、
前記出現判断部により当該新たな敵キャラクタを出現させると判断された場合、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定部と、
を備えることを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置であって、
前記計算部は、当該仮想空間内に出現している敵キャラクタに対応付けられている経過時間の平均値を計算し、当該計算された平均値に対して単調増加する距離を計算する、
ことを特徴とするゲーム装置。
【請求項４】
請求項１又は２に記載のゲーム装置であって、
前記計算部は、当該仮想空間内に出現している敵キャラクタに対応付けられている経過時間のうち最も長い経過時間に対して単調増加する距離を計算する、
ことを特徴とするゲーム装置。
【請求項５】
請求項１又は２に記載のゲーム装置であって、
前記計算部は、当該仮想空間内に出現している敵キャラクタに対応付けられている経過時間のうち最も短い経過時間に対して単調増加する距離を計算する、
ことを特徴とするゲーム装置。
【請求項６】
請求項２に記載のゲーム装置であって、
当該敵キャラクタの位置が当該プレイヤーキャラクタの位置から所定距離範囲内にある場合に当該プレイヤーキャラクタを戦闘状態に設定し、そうでない場合に当該プレイヤーキャラクタを非戦闘状態に設定する状態設定部と、
前記消滅判断部により当該敵キャラクタを消滅させると判断された場合に、当該仮想空間内から当該敵キャラクタを消滅させる消滅設定部と、
を更に備え、
前記消滅判断部は、当該プレイヤーキャラクタが当該戦闘状態である場合に、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する、
ことを特徴とするゲーム装置。
【請求項７】
請求項２に記載のゲーム装置であって、
前記出現判断部は、当該上限値を、前記ゲーム装置にて実行されるゲームにおける時間の経過に応じて変化させる、
ことを特徴とするゲーム装置。
【請求項８】
請求項６に記載のゲーム装置であって、
前記出現判断部は、当該上限値を、前記消滅設定部により消滅された敵キャラクタの数に応じて変化させる、
ことを特徴とするゲーム装置。
【請求項９】
プレイヤーの指示により仮想空間内を移動し戦闘状態又は非戦闘状態に設定されるプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該プレイヤーキャラクタが当該戦闘状態に設定されてから当該敵キャラクタが当該仮想空間内から消滅するまでの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する記憶部と、
当該経過時間を計測して前記記憶部に記憶させる計測部と、
前記記憶されている経過時間に対して単調増加する距離を計算する計算部と、
当該仮想空間内に新たな敵キャラクタを出現させるか否かを判断する出現判断部と、
前記出現判断部により当該新たな敵キャラクタを出現させると判断された場合、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定部と、
当該敵キャラクタの位置が当該プレイヤーキャラクタの位置から所定距離範囲内にある場合に当該プレイヤーキャラクタを当該戦闘状態に設定し、そうでない場合に当該プレイヤーキャラクタを当該非戦闘状態に設定する状態設定部と、
当該プレイヤーキャラクタが当該戦闘状態である場合に、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断部と、
前記消滅判断部により当該敵キャラクタを消滅させると判断された場合に、当該仮想空間内から当該敵キャラクタを消滅させる消滅設定部と、
を備えることを特徴とするゲーム装置。
【請求項１０】
請求項１乃至９のいずれか１項に記載のゲーム装置であって、
当該プレイヤーキャラクタの位置と当該敵キャラクタの位置との距離が所定値以内である場合、当該敵キャラクタの位置を当該プレイヤーキャラクタの位置に近づけるように移動させ、前記記憶部に記憶される当該敵キャラクタの位置を更新する移動部を更に備える、
ことを特徴とするゲーム装置。
【請求項１１】
請求項１乃至９のいずれか１項に記載のゲーム装置であって、
当該プレイヤーキャラクタの位置と当該敵キャラクタの位置との距離が、
（ａ）所定値以内である場合、当該敵キャラクタの位置から当該プレイヤーキャラクタの位置への方向に当該敵キャラクタが移動する確率（以下「第１の確率」という。）を、他の方向に当該敵キャラクタが移動する確率（以下「第２の確率」という。）より相対的に大きくし、
（ｂ）そうでない場合、当該第１の確率と、当該第２の確率と、を等しくして、
当該第１の確率と当該第２の確率に基づいて当該敵キャラクタの位置をランダムに移動させ、前記記憶部に記憶される当該敵キャラクタの位置を更新する移動部を更に備える、
ことを特徴とするゲーム装置。
【請求項１２】
請求項１０又は１１に記載のゲーム装置であって、
前記移動部は、当該敵キャラクタを、所定の最大移動速度以下で移動させる、
ことを特徴とするゲーム装置。
【請求項１３】
請求項１０乃至１２のいずれか１項に記載のゲーム装置であって、
前記移動部は、当該敵キャラクタを、所定の最小移動速度以上で移動させる、
ことを特徴とするゲーム装置。
【請求項１４】
記憶部、計測部、計算部、消滅判断部、出現判断部、出現設定部を有するゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部には、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、が記憶され、
前記計測部が、当該仮想空間内に出現している敵キャラクタについて、当該経過時間を計測して前記記憶部に記憶させる計測ステップと、
前記計算部が、前記記憶されている経過時間に対して単調増加する距離を計算する計算ステップと、
前記消滅判断部が、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断ステップと、
当該仮想空間内に出現している敵キャラクタを消滅させると前記消滅判断ステップで判断された場合に、前記出現判断部が、当該仮想空間内に新たな敵キャラクタを出現させると判断する出現判断ステップと、
前記出現判断ステップにおいて当該新たな敵キャラクタを出現させると判断された場合、前記出現設定部が、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項１５】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する記憶部と、制御部と、を有するコンピュータを、
前記制御部が、当該仮想空間内に出現している敵キャラクタについて、当該経過時間を計測して前記記憶部に記憶させる計測部、
前記制御部が、前記記憶されている経過時間に対して単調増加する距離を計算する計算部、
前記制御部が、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断部、
当該仮想空間内に出現している敵キャラクタを消滅させると前記消滅判断部により判断された場合に、前記制御部が、当該仮想空間内に新たな敵キャラクタを出現させると判断する出現判断部、
前記出現判断部により当該新たな敵キャラクタを出現させると判断された場合、前記制御部が、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定部、
として機能させることを特徴とするプログラム。
【請求項１６】
記憶部、計測部、計算部、消滅判断部、出現判断部、出現設定部を有するゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部には、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、が記憶され、
前記計測部が、当該仮想空間内に出現している敵キャラクタについて、当該経過時間を計測して前記記憶部に記憶させる計測ステップと、
前記計算部が、前記記憶されている経過時間に対して単調増加する距離を計算する計算ステップと、
前記消滅判断部が、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断ステップと、
当該仮想空間内に出現している敵キャラクタの総数が所定の上限値より少ない場合に、前記出現判断部が、当該仮想空間内に新たな敵キャラクタを出現させると判断する出現判断ステップと、
前記出現判断ステップにおいて当該新たな敵キャラクタを出現させると判断された場合、前記出現設定部が、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項１７】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する記憶部と、制御部と、を有するコンピュータを、
前記制御部が、当該仮想空間内に出現している敵キャラクタについて、当該経過時間を計測して前記記憶部に記憶させる計測部、
前記制御部が、前記記憶されている経過時間に対して単調増加する距離を計算する計算部、
前記制御部が、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断部、
当該仮想空間内に出現している敵キャラクタの総数が所定の上限値より少ない場合に、前記制御部が、当該仮想空間内に新たな敵キャラクタを出現させると判断する出現判断部、
前記出現判断部により当該新たな敵キャラクタを出現させると判断された場合、前記制御部が、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定部、
として機能させることを特徴とするプログラム。
【請求項１８】
記憶部、計測部、計算部、出現判断部、出現設定部、状態設定部、消滅判断部、消滅設定部を有するゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部には、プレイヤーの指示により仮想空間内を移動し戦闘状態又は非戦闘状態に設定されるプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該プレイヤーキャラクタが当該戦闘状態に設定されてから当該敵キャラクタが当該仮想空間内から消滅するまでの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、が記憶され、
前記計測部が、当該経過時間を計測して前記記憶部に記憶させる計測ステップと、
前記計算部が、前記記憶されている経過時間に対して単調増加する距離を計算する計算ステップと、
前記出現判断部が、当該仮想空間内に新たな敵キャラクタを出現させるか否かを判断する出現判断ステップと、
前記出現判断ステップにおいて当該新たな敵キャラクタを出現させると判断された場合、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定ステップと、
前記状態設定部が、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置から所定距離範囲内にある場合に当該プレイヤーキャラクタを当該戦闘状態に設定し、そうでない場合に当該プレイヤーキャラクタを当該非戦闘状態に設定する状態設定ステップと、
当該プレイヤーキャラクタが当該戦闘状態にある場合に、前記消滅判断部が、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断ステップと、
前記消滅判断ステップにおいて当該敵キャラクタを消滅させると判断された場合に、前記消滅設定部が、当該仮想空間内から当該敵キャラクタを消滅させる消滅設定ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項１９】
プレイヤーの指示により仮想空間内を移動し戦闘状態又は非戦闘状態に設定されるプレイヤーキャラクタの位置と、当該仮想空間内に出現している敵キャラクタの位置と、当該プレイヤーキャラクタが当該戦闘状態に設定されてから当該敵キャラクタが当該仮想空間内から消滅するまでの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する記憶部と、制御部と、を有するコンピュータを、
前記制御部が、当該経過時間を計測して前記記憶部に記憶させる計測部、
前記制御部が、前記記憶されている経過時間に対して単調増加する距離を計算する計算部、
前記制御部が、当該仮想空間内に新たな敵キャラクタを出現させるか否かを判断する出現判断部、
前記出現判断部により当該新たな敵キャラクタを出現させると判断された場合、前記制御部が、前記記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が前記計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として前記記憶部に記憶させて、新たな敵キャラクタを出現させる出現設定部、
前記制御部が、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置から所定距離範囲内にある場合に当該プレイヤーキャラクタを当該戦闘状態に設定し、そうでない場合に当該プレイヤーキャラクタを当該非戦闘状態に設定する状態設定部、
当該プレイヤーキャラクタが当該戦闘状態にある場合に、前記制御部が、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する消滅判断部、
前記消滅判断部により当該敵キャラクタを消滅させると判断された場合に、前記制御部が、当該仮想空間内から当該敵キャラクタを消滅させる消滅設定部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤーにとってゲームが難しすぎたり易しすぎたりしないように調節するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
仮想ゲーム空間内において、プレイヤーがプレイヤーキャラクタを操作して敵キャラクタを仮想の銃や刀を使って倒すゲームがある。例えば、プレイヤーは、敵キャラクタが出現すると、その位置までプレイヤーキャラクタを移動させて、あるいはその位置を狙って、敵キャラクタを倒す。また、プレイヤーキャラクタが敵キャラクタに見つかると、その敵キャラクタを倒さないと前に進めないこともある。多くのゲームでは、ある敵キャラクタを倒すと別の敵キャラクタが新たに出現するので、プレイヤーは次々と現れる敵キャラクタを倒さないとゲームをクリアできない。ゲーム装置は、プレイヤーキャラクタの位置やレベル等に応じて適宜新たな敵キャラクタを出現させ、より面白いゲーム展開にしてプレイヤーの興味を引きつける。例えば、特許文献１には、ゲームに参加しているプレイヤーの人数やプレイヤーキャラクタのレベルに基づいて敵キャラクタの数、強さ等を制御することによって、ゲームバランスを大きく損ねることなくゲームを面白くすることができるゲームシステムが開示されている。
【０００３】
また、特許文献２には、プレイヤーキャラクタの行動履歴を参照し、エネミーキャラクタの出現頻度を位置によって変えるゲーム装置が開示されている。例えば特定の孔にプレイヤーキャラクタが待機開始したときから現在までの時間が長いと、エネミーキャラクタのその孔の出現確率を減少させる。
【特許文献１】特開２００４−１６００５９号公報
【特許文献２】特開平１１−５３５７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のゲーム装置では、敵キャラクタが新たに出現する場所は予め決められた場所であったりランダムに選ばれた場所であったりするため、敵キャラクタが続けざまにプレイヤーキャラクタ近辺に出現することがある。そうすると、初心者のプレイヤーは、ゲームのレベルやストーリー展開に関係なく難易度が高い（敵キャラクタが強い）と感じたり不公平感を抱いたりしてしまい、結果としてゲームへの興味を削ぐことになってしまう。また、敵キャラクタがプレイヤーキャラクタから遠く離れた場所ばかりに出現することもある。そうすると、上級者のプレイヤーは、ゲームのレベルやストーリー展開に関係なく難易度が低い（敵キャラクタが弱い）と感じてしまい、結果としてゲームへの興味を削ぐことになってしまう。
【０００５】
本発明はこのような課題を解決するものであり、プレイヤーにとってゲームが難しすぎたり易しすぎたりしないように調節するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係るゲーム装置は、記憶部、計測部、計算部、出現判断部、出現設定部を備える。
記憶部は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する。
計測部は、当該経過時間を計測して記憶部に記憶させる。
計算部は、記憶されている経過時間に対して単調増加する距離を計算する。
出現判断部は、当該仮想空間内に新たな敵キャラクタを出現させるか否かを判断する。
出現設定部は、出現判断部により当該新たな敵キャラクタを出現させると判断された場合、記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が、計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として記憶部に記憶させて、新たな敵キャラクタを出現させる。
【０００８】
プレイヤーは、プレイヤーキャラクタを操作して、例えば敵キャラクタと戦闘するゲームを行う。敵キャラクタは仮想空間内を移動しプレイヤーキャラクタに攻撃してくるいわゆるモンスターのようなキャラクタでもよいし、地雷のように移動しないものでもよい。敵キャラクタの出現タイミングは様々である。例えば、ゲーム中に出現する敵キャラクタの総数の上限値が予め決められており、この上限値を超えない範囲で、ゲーム中の任意のタイミングに敵キャラクタは出現する。また例えば、既に仮想空間内に出現している敵キャラクタがプレイヤーキャラクタとの戦闘に負けて消えると、新たな別の敵キャラクタが出現する。また例えば、プレイヤーキャラクタが成長したり所定の場所にたどり着いたりすると、敵キャラクタが出現することがあってもよい。
本発明のゲーム装置は、プレイヤーキャラクタの位置を示すプレイヤーキャラクタ情報と、敵キャラクタの位置を示す敵キャラクタ情報を記憶する。更に、ゲーム装置は、敵キャラクタを仮想空間内に出現させてから現在まで経過した時間を計測して記憶している。複数の敵キャラクタが存在する場合には、それぞれの敵キャラクタについてこの経過時間を記憶する。この経過時間は、それぞれの敵キャラクタがどのくらい出現し続けているか（生き続けているか）を示す時間である。敵キャラクタの出現タイミングになると、ゲーム装置は記憶されている経過時間を読み出し、読み出した経過時間が長いほど大きくなる距離（以下「基準距離」と呼ぶ）を計算する。基準距離は、プレイヤーキャラクタの現在位置にどのくらい近い場所に敵キャラクタを出現させるかの判断基準になる。具体的には、敵キャラクタを出現させる位置の候補が予め決められており、ゲーム装置は、予め決められた候補のうち、プレイヤーキャラクタまでの距離が基準距離に最も近い候補の位置に、新たな敵キャラクタを出現させる。
すなわち、既に出現している敵キャラクタが長い時間生き残っているほど、新たな敵キャラクタはプレイヤーキャラクタから遠い位置に出現するようになる。逆に既に出現している敵キャラクタが生き残っている時間が短いほど、新たな敵キャラクタはプレイヤーキャラクタに近い位置に出現するようになる。
例えば、プレイヤーのゲームの上達度が低い場合や、プレイヤーキャラクタの攻撃力が弱い場合、一般に敵キャラクタの寿命は長くなる傾向にある。そこで、本発明によれば、プレイヤー（又はプレイヤーキャラクタ）の上達度が低いと推定される場合には新たな敵キャラクタをプレイヤーキャラクタから遠くの位置に出現しやすくすることによって、プレイヤーの上達度がまだ低いうちに敵キャラクタが次々と近くにばかり出現してしまってゲームが初心者にとって難しすぎるようなことがないように制御できるようになる。
また例えば、プレイヤーのゲームの上達度が高い場合や、プレイヤーキャラクタの攻撃力が強い場合、一般に敵キャラクタの寿命は短くなる傾向にある。そこで、本発明によれば、プレイヤー（又はプレイヤーキャラクタ）の上達度が高いと推定される場合には新たな敵キャラクタをプレイヤーキャラクタの近くの位置に出現しやすくすることによって、プレイヤーの上達度が高いときに敵キャラクタが遠くにばかり出現してしまってゲームが上級者にとって易しすぎるようなことがないように制御できるようになる。
【０００９】
計算部は、当該仮想空間内に出現している敵キャラクタに対応付けられている経過時間の平均値を計算し、当該計算された平均値に対して単調増加する距離を計算してもよい。
【００１０】
例えば、複数の敵キャラクタが出現している（まだ生き残っている）状況において、敵キャラクタのそれぞれの経過時間のうちのいずれかに基づいて基準距離を計算してもよいが、いくつかの敵キャラクタの経過時間の平均値に基づいて基準距離を計算してもよい。例えば、出現タイミング直前の１つの敵キャラクタだけを考慮すると、プレイヤーが全体として各敵キャラクタを倒すのに手こずっているものの、直近に倒した敵キャラクタについてはたまたま運良く短時間で倒せたものであった場合でも、新たな敵キャラクタはすぐ近くに出現してしまう可能性がある。つまり、ある敵キャラクタの寿命が統計上の特異点とみなせるときには、その敵キャラクタの経過時間の代わりに、平均時間を元に基準距離を計算したほうがよい場合がある。そこで本発明によれば、特異点の影響度を抑え、プレイヤーのゲーム上達度の傾向に合わせて敵キャラクタを出現させることができる。
【００１１】
計算部は、当該仮想空間内に出現している敵キャラクタに対応付けられている経過時間のうち最も長い経過時間に対して単調増加する距離を計算してもよい。
【００１２】
例えば、複数の敵キャラクタが出現している状況で、最も長い時間生き残っている（寿命が長い）敵キャラクタの経過時間、すなわち出現している敵キャラクタの生存時間のうちの最長生存時間が長いほど、新たな敵キャラクタはより遠くに出現するようになる。つまりプレイヤーが長い間倒せないでいる敵キャラクタが存在すると、新たな敵キャラクタはより遠くに出現する。よって、プレイヤーのゲーム上達度の傾向に合わせてゲームの難易度を調節することができる。
【００１３】
計算部は、当該仮想空間内に出現している敵キャラクタに対応付けられている経過時間のうち最も短い経過時間に対して単調増加する距離を計算してもよい。
【００１４】
例えば、複数の敵キャラクタが出現している状況で、最も短い時間生き残っている（寿命が短い）敵キャラクタの経過時間、すなわち出現している敵キャラクタの生存時間のうちの最短生存時間が長いほど、新たな敵キャラクタはより遠くに出現するようになる。例えば、最も現在に近い時刻に（直近に）出現した敵キャラクタの生存時間が短ければ、プレイヤーはよりゲームが上手と推定できるので、新たな敵キャラクタはより近くに出現するようになる。また、直近に出現した敵キャラクタの生存時間が長ければ、プレイヤーはよりゲームが下手と推定できるので、新たな敵キャラクタはより遠くに出現するようになる。よって、プレイヤーのゲーム上達度の傾向に合わせてゲームの難易度を調節することができる。
【００１５】
ゲーム装置は、状態設定部、消滅判断部、消滅設定部を更に備えてもよい。
状態設定部は、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置から所定距離範囲内にある場合に当該プレイヤーキャラクタを戦闘状態とし、そうでない場合に当該プレイヤーキャラクタを非戦闘状態とする。
消滅判断部は、当該プレイヤーキャラクタが当該戦闘状態にある場合に、当該プレイヤーからの指示入力に基づいて、当該敵キャラクタを消滅させるか否かを判断する。
消滅設定部は、消滅判断部により当該敵キャラクタを消滅させると判断された場合に、当該仮想空間内から当該敵キャラクタを消滅させる。
【００１６】
ゲームには、プレイヤーキャラクタと敵キャラクタとの戦闘状態と、それ以外の非戦闘状態とがある。例えば、ある敵キャラクタの位置がプレイヤーキャラクタの位置から所定距離範囲内になると、プレイヤーキャラクタはその敵キャラクタとの戦闘状態になり、ゲームは戦闘モードになる。戦闘モードでは、プレイヤーからの指示入力やプレイヤーキャラクタの攻撃力・防御力・生命力などといった属性パラメータの大小に応じて戦闘の勝敗が決まる。
仮想空間内に出現させた敵キャラクタの消滅タイミングは様々である。例えばプレイヤーキャラクタとの戦闘の結果、敵キャラクタの所定の属性パラメータ（いわゆる生命力、体力、ヒットポイントなど）が先にゼロになると、敵キャラクタの負けとなり、敵キャラクタは消滅する。また例えば敵キャラクタとして時限爆弾のように所定時間経過後に（作動して）消滅するものを採用すると、敵キャラクタ（時限爆弾）が設置されてから所定時間が経過したとき、敵キャラクタは（爆発して）消滅する。また例えば仮想空間内をプレイヤーキャラクタが移動した結果、既に出現している敵キャラクタがプレイヤーキャラクタと容易には接触できないほどあるいは画面に映らないほど遠くに離れてしまうと、もはやその敵キャラクタを出現させている意味が薄れてしまうため、その敵キャラクタを消滅させてもよい。よって、本発明によれば、ゲームの展開やストーリーに合わせて適宜敵キャラクタを消すことができる。また、プレイヤーにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタの数を調整することができる。
【００１７】
出現判断部は、消滅設定部が当該敵キャラクタを消滅させた場合に、当該新たな敵キャラクタを出現させると判断してもよい。
【００１８】
つまり、敵キャラクタが出現するタイミングの一つの例として、既に出現している敵キャラクタが消滅した後に新たな敵キャラクタが出現するという手法を採用できる。例えば、プレイヤーキャラクタが敵キャラクタとの戦闘に勝利して敵キャラクタが消滅すると、別の敵キャラクタが仮想空間内に出現する。よって、プレイヤーはいつ敵キャラクタを倒すのが戦略上相応しいかを考慮しながらゲームを進めることになるので、ゲーム装置はプレイヤーの立てた戦略をゲームに反映させつつ、難易度を調整することができる。
【００１９】
出現判断部は、当該新たな敵キャラクタを出現させるか否かを乱数を用いて判断してもよい。
【００２０】
つまり、敵キャラクタの出現タイミングを、乱数を元に判断される任意のタイミングとしてもよい。乱数は、例えば時刻等をシードに用いてその都度発生させたものでもよいし、予め作成した乱数テーブル等を用いたものでもよい。よって、ゲーム装置はプレイヤーの立てた戦略とは関係なく難易度を調整することもできる。
【００２１】
出現判断部は、当該仮想空間内に出現している敵キャラクタの総数が所定の上限値より少ない場合に、当該新たな敵キャラクタを出現させると判断してもよい。
【００２２】
例えば、仮想空間内に出現させてもよい敵キャラクタ数を無制限にすると、プレイヤーにとって難しすぎるゲームになってしまう可能性がある。しかし、所定の上限値を設けることによって、ゲームの難易度を調節できるようになる。
【００２３】
出現判断部は、当該上限値を、ゲーム装置にて実行されるゲームにおける時間の経過に応じて変化させてもよい。
【００２４】
仮想空間内に出現させてもよい敵キャラクタ数の上述の上限値は、固定値にすることもできるが、可変値にすることもできる。可変値にする際の一つの例として、実行されるゲームにおける時間が経過するほど、上限値を大きくしたり小さくしたりする手法がある。実行されるゲームにおける時間を、現実の時間と一致させれば、ゲームの現実のプレイ時間が長いほど、出現しうる敵キャラクタ数が増えたり減ったりすることになる。例えば、プレイ時間が長くなることが想定される初心者に対しては上限値を減少させ、プレイ時間が短くなることが想定される上級者に対しては上限値を増加させる。よって、プレイヤーの上達度に応じてゲームの難易度を調節することができる。なお、初心者に対してもプレイ時間が長いほど上限値を増加させることとしてもよい。
【００２５】
出現判断部は、当該上限値を、消滅設定部により消滅された敵キャラクタの数に応じて変化させてもよい。
【００２６】
上述の上限値を可変値にする際の他の一つの例として、プレイヤーキャラクタが倒した敵キャラクタの数が多いほど、上限値を大きく（あるいは小さく）する手法もある。例えば、所定時間内に倒せる敵キャラクタ数が多いことが想定される上級者に対しては上限値を増加させ、所定時間内に倒せる敵キャラクタ数が少ないことが想定される初心者に対しては上限値を減少させる。よって、プレイヤーの上達度に応じてゲームの難易度を調節することができる。
【００２７】
記憶部は、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間を記憶する代わりに、当該敵キャラクタを状態設定部が当該戦闘状態に設定してから消滅設定部が消滅させるまでの経過時間を記憶してもよい。
【００２８】
ここで、敵キャラクタが当該仮想空間内に出現してから現在までの経過時間とは、上述のように敵キャラクタがどれだけ長く生き続けているかを示す生存時間である。一方、状態設定部が戦闘状態に設定してから消滅設定部が消滅させるまでの経過時間とは、プレイヤーキャラクタと敵キャラクタの戦闘時間である。つまり、本発明によれば、新たな敵キャラクタは、戦闘時間の長さに応じてプレイヤーキャラクタの近くに出現したり遠くに出現したりする。例えば、プレイヤーキャラクタと敵キャラクタとの戦闘が長引くほど、新たな敵キャラクタは遠くに出現するようになる。また、戦闘時間が短くて済むほど、新たな敵キャラクタは近くに出現するようになる。戦闘時間の長さによってプレイヤー（又はプレイヤーキャラクタ）のゲーム上達度を推定できるので、ゲーム装置はゲームがプレイヤーにとって易しすぎないようにあるいは難しすぎないように調整することができる。
【００２９】
ゲーム装置は、当該プレイヤーキャラクタの位置と当該敵キャラクタの位置との距離が所定値以内である場合、当該敵キャラクタの位置を当該プレイヤーキャラクタの位置に近づけるように移動させ、記憶部に記憶される当該敵キャラクタの位置を更新する移動部を更に備えてもよい。
【００３０】
例えば仮想空間内を自由に移動する敵キャラクタは、プレイヤーキャラクタから敵キャラクタまでの距離が所定距離以下になると、その敵キャラクタはプレイヤーキャラクタに近づくように移動する。本発明によれば、ゲームがプレイヤーにとって易しすぎないようにあるいは難しすぎないように調整することができる。上級者にとってはゲームをクリアしづらくする要因が過度に少なくなってしまうことがなく、初級者にとってはゲームをクリアしづらくする要因が過度に多くなってしまうことがない。
【００３１】
当該プレイヤーキャラクタの位置と当該敵キャラクタの位置との距離が、
（ａ）所定値以内である場合、当該敵キャラクタの位置から当該プレイヤーキャラクタの位置への方向に当該敵キャラクタが移動する確率を、他の方向に当該敵キャラクタが移動する確率より相対的に大きくし、
（ｂ）そうでない場合、当該敵キャラクタの位置から当該プレイヤーキャラクタの位置への方向に当該敵キャラクタが移動する確率と、当該他の方向に当該敵キャラクタが移動する確率と、を等しくして、
当該敵キャラクタの位置をランダムに移動させ、記憶部に記憶される当該敵キャラクタの位置を更新する移動部を更に備えてもよい。
【００３２】
例えば敵キャラクタは仮想空間内をランダムウォークで移動することができる。プレイヤーキャラクタから敵キャラクタまでの距離が所定距離以下の場合には、すべての移動可能な方向について、移動する確率は等確率である。一方、プレイヤーキャラクタから敵キャラクタまでの距離が所定距離より大きい場合には、敵キャラクタの位置からプレイヤーキャラクタの位置への方向へ移動する確率が、他の方向より相対的に高くなる。本発明によれば、ゲームがプレイヤーにとって易しすぎないようにあるいは難しすぎないように調整することができる。上級者にとってはゲームをクリアしづらくする要因が過度に少なくなってしまうことがなく、初級者にとってはゲームをクリアしづらくする要因が過度に多くなってしまうことがない。
【００３３】
移動部は、当該敵キャラクタを、所定の最大移動速度以下で移動させてもよい。
【００３４】
すなわち、移動可能な敵キャラクタの移動速度に上限値を設けてもよい。例えば敵キャラクタの出現時間や敵キャラクタとの戦闘時間が長いため、新たな敵キャラクタがプレイヤーキャラクタからより遠くに出現したとしても、敵キャラクタが向かってくる移動速度がとても速いと、初心者にとって返って難しいゲームになってしまうことがある。また例えば敵キャラクタの出現時間や敵キャラクタとの戦闘時間が短いため、新たな敵キャラクタがプレイヤーキャラクタの近くに出現し、しかも敵キャラクタが向かってくる移動速度が速いと、上級者にとって理不尽に難しすぎるゲームになってしまうことがある。しかし、本発明によれば、敵キャラクタの出現時間や敵キャラクタとの戦闘時間が長い（短い）ほど戦闘開始までの時間も長く（短く）なるようにできるので、ゲームがプレイヤーにとって易しすぎないようにあるいは難しすぎないように調整することができる。
【００３５】
移動部は、当該敵キャラクタを、所定の最小移動速度以上で移動させてもよい。
【００３６】
すなわち、移動可能な敵キャラクタの移動速度に下限値を設けてもよい。例えば敵キャラクタの出現時間や敵キャラクタとの戦闘時間が長いため、新たな敵キャラクタがプレイヤーキャラクタからより遠くに出現し、しかも敵キャラクタが向かってくる移動速度がとても遅いと、初心者にとっても易しすぎるゲームになってしまうことがある。また例えば敵キャラクタの出現時間や敵キャラクタとの戦闘時間が短いため、新たな敵キャラクタがプレイヤーキャラクタの近くに出現しても、敵キャラクタが向かってくる移動速度が遅いと、上級者にとって易しすぎるゲームになってしまうことがある。しかし、本発明によれば、敵キャラクタの出現時間や敵キャラクタとの戦闘時間が長い（短い）ほど戦闘開始までの時間も長く（短く）なるようにできるので、ゲームがプレイヤーにとって易しすぎないようにあるいは難しすぎないように調整することができる。
【００３７】
本発明のその他の観点に係るゲーム処理方法は、記憶部、計測部、計算部、出現判断部、出現設定部を有するゲーム装置にて実行されるゲーム処理方法であって、計測ステップ、計算ステップ、出現判断ステップ、出現設定ステップを備える。
記憶部には、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、が記憶される。
計測ステップは、計測部が、当該経過時間を計測して記憶部に記憶させる。
計算ステップは、計算部が、記憶されている経過時間に対して単調増加する距離を計算する。
出現判断ステップは、出現判断部が、当該仮想空間内に新たな敵キャラクタを出現させるか否かを判断する。
出現設定ステップは、出現判断部により当該新たな敵キャラクタを出現させると判断された場合、出現設定部が、記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が、計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として記憶部に記憶させて、新たな敵キャラクタを出現させる。
【００３８】
すなわち、既に出現している他の敵キャラクタが長い時間生きて残っているほど、新たな敵キャラクタはプレイヤーキャラクタから遠い位置に出現するようになる。逆に既に出現している他の敵キャラクタが残っている時間が短いほど、新たな敵キャラクタはプレイヤーキャラクタに近い位置に出現するようになる。
例えば、プレイヤーのゲームの上達度が低い場合や、プレイヤーキャラクタの攻撃力が弱い場合、一般に敵キャラクタの寿命は長くなる傾向にある。そこで、本発明によれば、新たな敵キャラクタをプレイヤーキャラクタから遠くの位置に出現しやすくすることによって、プレイヤーの上達度がまだ低いうちに敵キャラクタが次々と近くにばかり出現してしまってゲームが初心者にとって難しすぎるようなことがないように制御できるようになる。
また例えば、プレイヤーのゲームの上達度が高い場合や、プレイヤーキャラクタの攻撃力が強い場合、一般に敵キャラクタの寿命は短くなる傾向にある。そこで、本発明によれば、新たな敵キャラクタをプレイヤーキャラクタの近くの位置に出現しやすくすることによって、プレイヤーの上達度が高いときに敵キャラクタが遠くにばかり出現してしまってゲームが上級者にとって易しすぎるようなことがないように制御できるようになる。
【００３９】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、計測部、計算部、出現判断部、出現設定部として機能させる。
記憶部は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタの位置と、敵キャラクタの位置と、当該敵キャラクタが当該仮想空間内に出現してから現在までの経過時間と、当該仮想空間内に新たな敵キャラクタを出現させる候補の位置と、を記憶する。
計測部は、当該経過時間を計測して記憶部に記憶させる。
計算部は、記憶されている経過時間に対して単調増加する距離を計算する。
出現判断部は、当該仮想空間内に新たな敵キャラクタを出現させるか否かを判断する。
出現設定部は、出現判断部により当該新たな敵キャラクタを出現させると判断された場合、記憶されている敵キャラクタを新たに出現させる位置の候補のうち、当該プレイヤーキャラクタまでの距離が、計算された距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として記憶部に記憶させて、新たな敵キャラクタを出現させる。
【００４０】
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４１】
本発明によれば、プレイヤーにとってゲームが難しすぎたり易しすぎたりしないように調節するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００４２】
（実施例１）
本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４３】
図１は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００４５】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施例のゲーム装置が実現される。
【００４６】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００４７】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４８】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行う処理や、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００４９】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがサッカーゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【００５０】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、対戦ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００５１】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５２】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニター（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００５３】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００５４】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５５】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。
【００５６】
また、対戦ゲームの画像やトランプゲームのカードの画像などの情報をＤＶＤ−ＲＯＭに用意しておき、これをフレームメモリに展開することによって、対戦の様子や手札などを画面に表示することができるようになる。
【００５７】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００５８】
音声処理部１０９では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００５９】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００６０】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６１】
次に、本実施例のゲーム装置２００が行う処理について説明する。以下の説明では、ゲーム装置２００は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタオブジェクト（以下、単に「プレイヤーキャラクタ」と呼ぶ）と、敵キャラクタオブジェクト（以下、単に「敵キャラクタ」と呼ぶ）と、の対戦ゲームを想定する。敵キャラクタは、ゲーム装置２００によって動作指示がなされるものとする。プレイヤーキャラクタと敵キャラクタは、この仮想空間内で移動可能である。ただし、ゲーム内容は一例に過ぎない。
【００６２】
図２はゲーム装置２００の構成を示す図である。ゲーム装置２００は、記憶部２０１、計測部２０２、計算部２０３、出現設定部２０４、受付部２０５、移動部２０６、削除部２０７、出力部２０８を備える。
【００６３】
記憶部２０１は、（１）仮想空間内におけるプレイヤーキャラクタの位置、（２）敵キャラクタの位置、（３）敵キャラクタの出現時の位置の候補、を記憶する。それぞれの位置は、例えば仮想空間内に設定された座標系を用いた空間座標値として表される。座標系の決め方は任意であり、例えば、互いに直交する３軸による直交座標系を用いることができるほか、１個の動径と２個の偏角を用いた球座標のような極座標系を用いることもできる。記憶部２０１は、これらの情報をＲＡＭ  １０３内の所定の記憶領域に記憶する。外部メモリ１０６に記憶するように構成してもよい。
【００６４】
プレイヤーは、コントローラ１０５を操作してプレイヤーキャラクタに指示を与えて移動させたり敵キャラクタと戦わせたりすることができる。例えば、プレイヤーキャラクタが敵キャラクタを攻撃し、この攻撃による敵キャラクタの損害レベル（いわゆる「ダメージ」）あるいはダメージの合計が所定値以上になると、敵キャラクタを倒してプレイヤーキャラクタの勝利となる。敵キャラクタは、出現した時刻から所定期間経過すると、プレイヤーキャラクタによる攻撃に関わらず消滅する（仮想空間内から消えて無くなる）ことがあってもよい。ゲーム装置２００は、ゲームの展開に応じて適宜敵キャラクタを出現させる。例えば、ゲーム装置２００は、敵キャラクタが倒されたり消滅したりすると、この仮想空間内に新たな敵キャラクタを出現させる。敵キャラクタの新たな出現位置は、記憶部２０１に記憶された候補の中から、後述する出現設定部２０４により選択される。この選択方法の詳細については後述する。なお、以下の説明において、「プレイヤーキャラクタが敵キャラクタを倒す」とは、「プレイヤーキャラクタが敵キャラクタに勝利する」あるいは「敵キャラクタの所定の属性パラメータが戦闘によってプレイヤーキャラクタの属性パラメータよりも先に所定値以下になる」という意味である。
【００６５】
図３（ａ）は、記憶部２０１に記憶される、プレイヤーキャラクタの位置を示すデータの構成例であり、図３（ｂ）は、敵キャラクタの位置を示すデータの構成例である。敵キャラクタの位置は、仮想空間内に存在する敵キャラクタの数の分だけ記憶される。識別情報は、敵キャラクタの種類や個体を識別するための情報である。例えば、数字、文字、記号等を用いて表される。なお、本実施例では、この対戦ゲームのプレイヤーとプレイヤーキャラクタはそれぞれ１人であるが、複数のプレイヤーが参加したり複数のプレイヤーキャラクタが存在したりしてもよい。この場合には、記憶部２０１は、プレイヤーキャラクタの位置を示す情報として、プレイヤーキャラクタを識別するための識別情報と、そのプレイヤーキャラクタの位置とを対応づけて記憶すればよい。なお、以下の説明では、敵キャラクタの識別情報と、敵キャラクタの位置との組み合わせを「レコード」と呼ぶこととする。
【００６６】
図３（ｃ）は、記憶部２０１に記憶される、敵キャラクタの出現時の位置の候補を示すデータの構成例である。識別情報は、図３（ｂ）と同様、敵キャラクタの種類や個体を識別するための情報である。候補リストは、この敵キャラクタを新たに出現させる場合の出現場所の候補であり、１つに限らず複数の候補でもよい。これらの候補は予め設定されている。例えば、本図では、識別情報「０００１」で識別される敵キャラクタには、新たに出現させる位置の１番目の候補として座標値（Ｘ１，Ｙ１，Ｚ１）、２番目の候補として座標値（Ｘ２，Ｙ２，Ｚ２）、などのように設定されている。このように候補がＮ個（Ｎは１以上の整数）存在すると、出現設定部２０４はＮ個の中からいずれか１つを選択して、その位置に敵キャラクタを配置するように、記憶部２０１に記憶される敵キャラクタの位置を更新する。それぞれの候補の位置は、座標値を用いる代わりに、「領域１」「領域２」のように予め決められた複数の領域のうちいずれの領域に属するかによって指定されてもよい。この場合、選択された領域内のいずれかの１つの位置が新たな敵キャラクタの出現位置となる。なお、図３（ａ）乃至（ｃ）は一例に過ぎず、これらの情報のうちの一部のみを含んでもよいし、これらの情報に加えて他の情報を記憶するようにしてもよい。
なお、ＣＰＵ  １０１とＲＡＭ  １０３が協働して動作することにより、記憶部２０１として機能する。
【００６７】
計測部２０２は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計測した経過時間をＲＡＭ  １０３の所定記憶領域に記憶する。計測部２０２は、ゲーム装置２００が備える内部時計（図示せず）により経過時間を計測する。計測部２０２は、時間、分、秒などを単位とした正確な時刻を計測して経過時間を得てもよいし、モニターの垂直同期割り込み（一般には６０分の１秒）など定期的な割り込み処理の回数をカウントして、このカウントした回数を経過時間としてもよい。また、計測部２０２は、この対戦ゲームの任意のタイミングから現在までの経過時間なども計測できる。
なお、ＣＰＵ  １０１が計測部２０２として機能する。
【００６８】
本実施例では、計測部２０２は、この対戦ゲームが開始されてからの経過時間を求めているが、ゲーム中の任意のタイミングからの経過時間を求めてもよい。例えば、ゲームがシナリオの進行度によって複数のステージやシーンから構成されている場合、それぞれのステージやシーンが開始されてからの経過時間を用いることができる。計測部２０２は、それぞれのステージやシーンごとに経過時間をリセットして時間を計測し直す。また、ゲーム内で所定のイベントが発生すると、そのイベント発生から現在までの経過時間を計測してもよい。
【００６９】
計算部２０３は、計測部２０２によって計測された経過時間が長くなるにつれて増大する距離（以下、「基準距離」と呼ぶ）を計算する。この基準距離は、出現設定部２０４が敵キャラクタを新たに出現させる位置を決定するために用いられる。用いられる単位は任意である。典型的には、この対戦ゲームが行われる仮想空間内に設定された座標系で定められた単位長さを用いた２点間の距離（プレイヤーキャラクタの位置座標と敵キャラクタの位置座標との間の距離）が用いられる。
【００７０】
基準距離は、この対戦ゲームが開始されてからの経過時間が長いほど大きくなる。すなわち、基準距離は、例えば図４に示すように、ゲームの経過時間に対して単調増加する。本図では、この関係は直線関数で描かれているが、これに限られず任意の曲線関数でもよい。また、基準距離は階段関数のような非連続な関数で表されてもよい。あるいは、複数の経過時間に対応して基準距離を記憶するテーブルで表されてもよい。この場合、計算部２０３は各点間をスプライン補間して、任意の経過時間に対して基準距離が一意に求まるようにすればよい。補間方法は任意である。
なお、ＣＰＵ  １０１が計算部２０３として機能する。
【００７１】
出現設定部２０４は、記憶部２０１に記憶された敵キャラクタの出現時の位置の候補のうち、候補の位置と記憶部２０１に記憶されたプレイヤーキャラクタの位置との距離が、計算部２０３により計算された基準距離に最も近い候補の位置を、新たな敵キャラクタの位置とするように、記憶部２０１に記憶させる。
なお、ＣＰＵ  １０１とＲＡＭ  １０３が協働して動作することにより、出現設定部２０４として機能する。
【００７２】
図５は、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。本図に示したそれぞれの星印は、敵キャラクタを新たに出現させる位置の候補の位置を示し、この例では３つの候補が示されている。すなわち、記憶部２０１は、敵キャラクタを新たに出現させる位置の候補として第１から第３候補の３つの位置を含む候補リストを記憶している。
まず、計測部２０２は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部２０３は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部２０４は、第１から第３候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択して、新たな敵キャラクタの位置とする。この例では、出現設定部２０４は第２候補を新たな敵キャラクタの位置とすることになる。
なお、この例では、本発明をより容易に理解できるように仮想空間を２次元で表現しているが、３次元空間でもよい。３次元の場合には円の代わりに球面を用いればよい。本図には候補の位置が星印で示され、基準距離を示す円が点線で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。本図は一例に過ぎず、画面レイアウト、候補の位置、候補の数などを任意に変更できる。
【００７３】
受付部２０５は、プレイヤーキャラクタの位置を取得して記憶部２０１に記憶させる。例えば、受付部２０５は、コントローラ１０５を用いてユーザにより入力された指示入力を受け付けてプレイヤーキャラクタの位置を求め、求めたプレイヤーキャラクタの位置を記憶部２０１に記憶させる。プレイヤーはコントローラ１０５を用いて任意の方向にプレイヤーキャラクタを移動させる指示を行うことができるが、指示した方向に動かない固定オブジェクト（例えば岩、木、建築物など）があると指示通りにプレイヤーキャラクタを移動できない場合もある。
なお、ＣＰＵ  １０１とＲＡＭ  １０３とコントローラ１０５とが協働して動作することにより、出現設定部２０４として機能する。
【００７４】
移動部２０６は、敵キャラクタの位置を移動させる。すなわち、記憶部２０１に記憶された敵キャラクタの位置を更新する。移動部２０６は、対戦ゲームのゲーム展開に応じて変化する敵キャラクタの位置を、例えばモニターの垂直同期割り込みのタイミングなど、定期的なタイミングで更新する。
なお、ＣＰＵ  １０１とＲＡＭ  １０３が協働して動作することにより、移動部２０６として機能する。
【００７５】
削除部２０７は、プレイヤーキャラクタが敵キャラクタを倒したり敵キャラクタが消滅したりすると、その敵キャラクタに対応するレコードを記憶部２０１から削除する。これにより、倒された敵キャラクタはこの対戦ゲームから削除される。
ここで、削除部２０７は、プレイヤーキャラクタが敵キャラクタを倒すと、記憶部２０１に記憶された敵キャラクタの位置に、この敵キャラクタが倒されたことを示すフラグを対応づけて記憶させてもよい。出現設定部２０４は、敵キャラクタを出現させる際、敵キャラクタの位置に、この敵キャラクタが生きている（プレイヤーキャラクタがまだ倒していない）ことを示すフラグを記憶させる。出力部２０８は、このフラグを参照して、敵キャラクタをゲーム画面に表示させるか否かを判別して敵キャラクタを出力する（又は出力しない）。あるいは、出力部２０８は、生きている画像を表示するか死んでいる画像を表示するか、を判別して敵キャラクタの画像を出力する。
なお、ＣＰＵ  １０１とＲＡＭ  １０３が協働して動作することにより、削除部２０７として機能する。
【００７６】
出力部２０８は、記憶部２０１に記憶されたプレイヤーキャラクタと敵キャラクタの位置を読み出して、プレイヤーキャラクタや敵キャラクタの画像をその位置に出力する。プレイヤーキャラクタや敵キャラクタの位置が記憶部２０１に設定されると、ＣＰＵ  １０１は、プレイヤーキャラクタの画像データをＤＶＤ−ＲＯＭドライブ１０７に装着されたＤＶＤ−ＲＯＭから読み出して、画像処理部１０８を制御して、記憶部２０１に記憶されたプレイヤーキャラクタの位置にプレイヤーキャラクタの画像を出力させる。同様に、ＣＰＵ  １０１は、敵キャラクタの画像データをＤＶＤ−ＲＯＭドライブ１０７に装着されたＤＶＤ−ＲＯＭから読み出して、画像処理部１０８を制御して、記憶部２０１に記憶された敵キャラクタの位置に敵キャラクタの画像を出力させる。ＣＰＵ  １０１は、ゲーム中の他のキャラクタオブジェクトの画像データ、テキストデータ等もＤＶＤ−ＲＯＭから読み出して、ＤＶＤ−ＲＯＭに格納された所定のゲームプログラムに従ってゲーム画面を生成し、画像処理部１０８に接続されたモニターに出力させる。これによって、ユーザは画面を見ながらコントローラ１０５を操作してゲームをすることができる。プレイヤーキャラクタや敵キャラクタなどの画像データは、典型的には、表面を微小な多角形（典型的には三角形や四角形など）のポリゴンに分割して数値データ化されて表されるデータであるが、ビットマップデータ等他の形式のデータでもよく、本発明によって限定されない。
なお、ＣＰＵ  １０１とＲＡＭ  １０３と画像処理部１０８が協働して動作することにより、出力部２０８として機能する。
【００７７】
（出現設定処理）
次に、本実施例のゲーム装置２００の各部が行う出現設定処理について図６のフローチャートを用いて説明する。この出現設定処理は、ゲーム装置２００が新たな敵キャラクタを出現させる際に行われる処理である。以下の説明では、一例として、対戦ゲームにおいて、コントローラ１０５を用いてプレイヤーが操作するプレイヤーキャラクタが敵キャラクタにダメージを与えて倒した後、ゲーム装置２００が新たな敵キャラクタを出現させると判断したタイミングで実行されるものとする。ただし、これは一例に過ぎず、ゲーム装置２００は任意のタイミングでこの出現設定処理を行うことができる。
【００７８】
受付部２０５は、ユーザにより操作されるコントローラ１０５から、指定した方向にプレイヤーキャラクタを移動する旨の指示入力、プレイヤーキャラクタに特定の動作をさせる旨の指示入力（例えば、プレイヤーキャラクタに刀や盾を装着させる指示入力など）、その他のゲームに関わる指示入力を受け取る。受付部２０５は、これらの指示入力に従って、記憶部２０１にプレイヤーキャラクタの位置を示すデータを記憶させる。受付部２０５は、モニターの垂直同期割り込みなど所定の定期的なタイミングでこの処理を実行する。これにより、記憶部２０１にはプレイヤーキャラクタの最新の位置が記憶される。
【００７９】
また、移動部２０６は、ゲーム展開に応じて変化する敵キャラクタの位置を更新する処理を、モニターの垂直同期割り込みなど所定の定期的なタイミングで実行する。これにより、記憶部２０１には敵キャラクタの最新の位置が記憶される。
【００８０】
まず、計測部２０２は、対戦ゲームが開始されてからの経過時間を求める（ステップＳ６０１）。例えば、計測部２０２は、対戦ゲームを開始した時刻と、現在の時刻とをＲＡＭ  １０３の所定記憶領域に記憶し、これらの時刻の差分から経過時間を求める。
【００８１】
計算部２０３は、ステップＳ６０１で求められた経過時間から、新たな敵キャラクタを出力する位置を決めるために用いる上述の基準距離を求める（ステップＳ６０２）。例えば、計算部２０３は、図４に示すような経過時間と基準距離との関係を表す関数を用いて、基準距離を求める。
【００８２】
出現設定部２０４は、現在のプレイヤーキャラクタの位置と、新たな敵キャラクタを出力する候補となる位置とを記憶部２０１から取得する（ステップＳ６０３）。候補となる位置が複数ある場合には、それらすべてを取得する。
【００８３】
さらに、出現設定部２０４は、ステップＳ６０３で取得した候補の中から、ステップＳ６０２で求めた基準距離に最も近い候補を１つ選択する（ステップＳ６０４）。ここで選択した候補の位置が、新たな敵キャラクタを出力する位置となる。
【００８４】
そして、出現設定部２０４は、ステップＳ６０４で選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部２０１を更新する（ステップＳ６０５）。具体的には、例えば図３（ｂ）に示されるデータに、新たに出現させる敵キャラクタの識別情報と、新たに出現させる敵キャラクタの位置との組み合わせを示す新たなレコードを追加する。
【００８５】
出力部２０８は、記憶部２０１に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得し、それぞれのキャラクタを配置したゲーム画面を生成して出力する（ステップＳ６０６）。
【００８６】
本実施例では、出現設定部２０４は、記憶部２０１に記憶された候補の中から基準距離に最も近い候補を選んで新たな敵キャラクタの出現位置に決めているが、基準距離よりも離れた位置にある候補の中から選んでもよい。例えば、出現設定部２０４は、基準距離よりも離れた位置に候補が複数存在する場合、少なくとも基準距離以上離れている候補の中からランダムに選択することができる。出現設定部２０４は、基準距離との差異が大きくなると選択確率が小さくなるように重み付けを行ってランダムに選択してもよい。
【００８７】
一つの例として、初心者プレイヤーは、敵キャラクタを倒すまでに上級者よりも長い時間を要することが多い。もし、敵キャラクタを出現させる位置が全くのランダムで決められたり固定位置だったりすると、敵キャラクタを倒した直後にまたプレイヤーキャラクタのすぐ近くに新たな敵キャラクタが出現してしまう場合もある。そうすると、初心者プレイヤーにとっては、このゲームがとても難しく感じられ、不公平感を抱いたり難しすぎてこのゲームへの関心が無くなってしまったりする可能性がある。しかし、本発明によれば、新たに敵キャラクタが出現する位置を、敵キャラクタを倒すまでの時間が長いほどプレイヤーキャラクタから遠くにするので、初心者プレイヤーでも理不尽に難しく感じることがないようにすることができる。
また、上級者プレイヤーは、敵キャラクタを倒すまでに初心者よりも短い時間で済むことが多い。敵キャラクタを倒した後プレイヤーキャラクタから遠くの場所ばかりに新たな敵キャラクタが出現してしまうと、上級者プレイヤーにとっては、このゲームがとても易しく感じられ、つまらなくなってこのゲームへの関心が薄れてしまう可能性がある。しかし、本発明によれば、新たに敵キャラクタが出現する位置を、敵キャラクタを倒すまでの時間が短いほどプレイヤーキャラクタの近くにするので、上級者プレイヤーにとっても不満足感を抱かせることがないようにすることができる。
【００８８】
本実施例によれば、ゲーム装置２００は、あるゲームの開始直後では、敵キャラクタを倒したとき次の新たな敵キャラクタをプレイヤーキャラクタの近くに出現させ、ゲーム開始後しばらくすると、敵キャラクタを倒したとき次の新たな敵キャラクタをプレイヤーキャラクタから遠い位置に出現させることができる。これにより、敵キャラクタがすぐ近くに立て続けに出現してゲームの難易度が理不尽に上がってしまうことがなくなる。
【００８９】
上述した出現設定処理によって出現位置が制御される敵キャラクタと、そうでない敵キャラクタとがゲーム内に混在していてもよい。
【００９０】
このように、ゲーム装置２００は、新たな敵キャラクタを出現させる際、ゲームの経過時間に応じて出現させる位置を変化させることによって、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【００９１】
（実施例２）
次に、本発明の他の実施例について図７のフローチャートを用いて説明する。本実施例は、この対戦ゲームに出現する敵キャラクタの総数が所定量より多くならないようにする点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【００９２】
記憶部２０１は、ゲームに同時に出現させることができる敵キャラクタの総数のしきい値（上限値）をさらに記憶する。しきい値は、ＤＶＤ−ＲＯＭに格納されるゲームプログラムに予め格納されており、ＣＰＵ  １０１がゲームを開始する際に読み出して記憶部２０１に記憶する。例えば、しきい値は、ゲームのステージごと、シーンごとに予め決められている。ゲーム全体で共通の１つの上限値として設定されていてもよい。
【００９３】
まず、出現設定部２０４は、既にゲーム中に登場している敵キャラクタの総数を取得する（ステップＳ７０１）。出現設定部２０４は、記憶部２０１に記憶された敵キャラクタの位置を示すデータのレコード数をカウントすることにより総数を得ることができる。
【００９４】
出現設定部２０４は、ゲームに出現する敵キャラクタの総数のしきい値を記憶部２０１から取得する（ステップＳ７０２）。
【００９５】
出現設定部２０４は、ステップＳ７０１で取得した敵キャラクタの総数が、ステップＳ７０２で取得したしきい値に達しているか否かを判別する（ステップＳ７０３）。
【００９６】
しきい値に達していないと判別された場合（ステップＳ７０３；ＮＯ）、ゲーム装置２００は図６に示す上述の出現設定処理を実行する（ステップＳ７０４）。一方、しきい値に達していると判別された場合（ステップＳ７０３；ＹＥＳ）、ゲーム装置２００は処理を終了する。なお、ステップＳ７０４で行う出現設定処理は上述の実施例で述べた処理と同じであるので説明を省略する。
【００９７】
なお、削除部２０７は、プレイヤーキャラクタが敵キャラクタに所定レベル以上のダメージを与えた場合や、敵キャラクタが自然消滅するまでの所定時間が経過した場合などに、敵キャラクタの位置を示すデータを記憶部２０１から消去して、出力部２０８はゲーム画面から敵キャラクタを消すことができる。
【００９８】
このように、本実施例によれば、ゲーム装置２００は、ゲーム中に存在している現在の敵キャラクタの総数が予め決められたしきい値を超えないように制御する。すなわち、ゲーム装置２００は、新たな敵キャラクタを出現させる際、敵キャラクタの総数がしきい値に達していなければ、ゲームの経過時間に応じて出現させる位置を変化させて敵キャラクタを出現させることによって、ゲームが難しすぎることがないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【００９９】
（実施例３）
次に、本発明の他の実施例について図８のフローチャートと図９とを用いて説明する。本実施例は、ゲーム中に敵キャラクタがプレイヤーキャラクタのいる場所に近づくように制御される点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【０１００】
まず、移動部２０６は、現在行われている対戦ゲーム内に敵キャラクタが存在するか否かを判別する（ステップＳ８０１）。移動部２０６は、記憶部２０１に記憶された敵キャラクタの位置を示すデータのレコード数をカウントし、レコード数が１以上であれば存在すると判別し、それ以外であれば存在しないと判別する。
【０１０１】
敵キャラクタが存在しないと判別された場合（ステップＳ８０１；ＮＯ）、出現設定部２０４は、後述するステップＳ８０５以降の処理を行う。
【０１０２】
一方、敵キャラクタが存在すると判別された場合（ステップＳ８０１；ＹＥＳ）、移動部２０６は、現在のプレイヤーキャラクタの位置と敵キャラクタの位置を取得する（ステップＳ８０２）。敵キャラクタが複数存在する場合には、それらすべての位置を取得する。
【０１０３】
さらに、移動部２０６は、プレイヤーキャラクタと敵キャラクタが所定距離以上離れているか否かを判別する（ステップＳ８０３）。所定距離とは、出力部２０８がゲーム画像を出力する際、プレイヤーキャラクタと敵キャラクタとが重ならないようにするために十分な距離のことである。この所定距離は、ＤＶＤ−ＲＯＭに格納されるゲームプログラムに予め格納されており、ＣＰＵ  １０１がゲームを開始する際に読み出して記憶部２０１に記憶する。
【０１０４】
所定距離以上離れていないと判別された場合（ステップＳ８０３；ＮＯ）、ゲーム装置２００は後述するステップＳ８０５の処理に進む。なおこの場合、移動部２０６は、プレイヤーキャラクタと敵キャラクタとが所定距離以上離れるように、敵キャラクタの位置を変更して記憶部２０１に記憶させてもよい。
【０１０５】
所定距離以上離れていると判断された場合（ステップＳ８０３；ＹＥＳ）、移動部２０６は、敵キャラクタの位置がプレイヤーキャラクタの位置に近づくように移動させ（ステップＳ８０４）、移動した後の位置を記憶部２０１に記憶させる。例えば図９に示すように、ある時刻に敵キャラクタが位置Ｅ１に存在するとき、この敵キャラクタを単位時間あたり距離Ｌａだけプレイヤーキャラクタに近づくように位置Ｅ２に移動させ、移動後の敵キャラクタの位置座標を求めて記憶部２０１に記憶させる。単位時間とは、例えばモニターの垂直同期割り込みの回数を用いた時間間隔である。単位時間あたりに移動させる距離Ｌａは、敵キャラクタの種類や個体の違いによって異なる値に設定することができる。この距離Ｌａは敵キャラクタごとに設定される移動速度に相当し、ＣＰＵ  １０１がゲームプログラムを実行してゲームを進行させる際に計算する。距離Ｌａは固定値にしてもよいし、敵キャラクタによっては全く動かない（Ｌａ＝０）ものとしてもよい。敵キャラクタが複数存在する場合には、移動部２０６は、ステップＳ８０２で取得した位置に基づいて、すべての敵キャラクタについて位置を移動させる処理を行う。
【０１０６】
さらに、出現設定部２０４は、仮想空間内に新たな敵キャラクタを配置するか否かを判別する（ステップＳ８０５）。例えば、出現設定部２０４は、上述した実施例におけるステップＳ７０１乃至Ｓ７０３の処理を行って判別する。すなわち、現在の敵キャラクタの総数を取得し（ステップＳ７０１）、敵キャラクタを配置できるしきい値（上限値）を取得し（ステップＳ７０２）、総数がしきい値を超えているか否かを判別する（ステップＳ７０３）ことにより、この判別を行う。
【０１０７】
新たな敵キャラクタを配置すると判別された場合（ステップＳ８０５；ＹＥＳ）、出現設定部２０４は上述した出現設定処理を行う（ステップＳ８０６）。一方、新たな敵キャラクタを配置しないと判別された場合（ステップＳ８０５；ＮＯ）、ゲーム装置２００は敵キャラクタの位置を移動させる処理を終了する。なお、ステップＳ８０５で新たに敵キャラクタを配置すると、新たに配置された敵キャラクタは、次回の処理において位置を移動させる対象となる。
【０１０８】
このように、本実施例によれば、ゲーム装置２００は、ゲーム中に存在している敵キャラクタがプレイヤーキャラクタのいる位置に向かって移動させて、プレイヤーにとってゲームが易しすぎることがないようにできる。例えば、ゲームの上級者でも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【０１０９】
（実施例４）
次に、本発明の他の実施例について図１０と図１１を用いて説明する。本実施例は、新たな敵キャラクタの候補のうち、基準距離と同じ距離だけ離れている候補が複数存在する場合に、候補をどのように選択するかを考慮した点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【０１１０】
図１０は、本実施例のゲーム装置２００が行う出現設定処理を説明するためのフローチャートである。
【０１１１】
図１１（ａ）と（ｂ）は、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。本図には候補の位置が星印で示され、基準距離を示す円が点線で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。本図は一例に過ぎない。
【０１１２】
上述のように、記憶部２０１は敵キャラクタの出現時の位置の候補を記憶するが、候補は複数設定できる。そのため、記憶部２０１に記憶された敵キャラクタの出現時の位置の候補には、その候補の位置と記憶部２０１に記憶されたプレイヤーキャラクタの位置との距離が計算部２０３により計算された基準距離に最も近いものが、複数存在する場合がある。例えば、図１１（ａ）では、第２候補と第３候補の２箇所が、基準距離に最も近い候補である。また、敵キャラクタの出現時の位置の候補は、座標ではなく領域として指定することもできる。例えば、図１１（ｂ）では、第１候補の領域と第２候補の領域のうち、第２候補の領域には計算部２０３により計算された基準距離をもつ点が無数に存在することになる。すなわち、基準距離を示す円のうち、第２領域と重なる弧の上の点は、すべて敵キャラクタの出現時の位置の候補となりうる。
【０１１３】
このような場合、出現設定部２０４は、これらの複数の候補の中からランダムに１つ選択して、選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させる。例えば図１１（ａ）の場合、出現設定部２０４は、第２候補と第３候補のどちらかをランダムに１つ選択する。例えば図１１（ｂ）の場合、出現設定部２０４は、第２領域と重なる弧の上の点の中からランダムに１つ選択する。
【０１１４】
なお、出現設定部２０４は、記憶部２０１に記憶された候補のうち、候補の位置とプレイヤーキャラクタの位置との距離が基準距離に最も近いものが複数ある場合、それらの候補が選択される確率に偏り（重み付け）を設定して、ランダムに選択するようにしてもよい。例えば、草原地帯に設定された候補よりも森林地帯に設定された候補のほうにより大きい重みを設定することによって、同じ距離であっても森林地帯の候補のほうが選択されやすくなる。
【０１１５】
また、敵キャラクタの出現時の位置の候補に予め優先度を設定し、出現設定部２０４は優先度に従って候補を選択してもよい。例えばこの場合、記憶部２０１は、敵キャラクタの出現時の位置の候補に対応して、所定段階数の優先度を記憶する。そして、基準距離に最も近いものが複数ある場合、出現設定部２０４はそれらの中で最も高い優先順位が設定された候補を選択する。
【０１１６】
次に、本実施例の出現設定処理について図１０を用いて説明する。なお、本図において、ステップＳ１００１乃至Ｓ１００４の処理は、それぞれ上述のステップＳ６０１乃至Ｓ６０４と同じであるため説明を省略する。
【０１１７】
ステップＳ１００５において、出現設定部２０４は、ステップＳ１００４で選択した基準距離に最も近い候補が複数か否かを判別する。
【０１１８】
複数であると判別された場合（ステップＳ１００５；ＹＥＳ）、出現設定部２０４は、それらの中からランダムに１つ選択する（ステップＳ１００６）。候補ごとに選択確率の重み付けや優先度を設定した上でランダムに選択してもよい。そして、出現設定部２０４は、選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部２０１を更新する（ステップＳ１００７）。出力部２０８は、記憶部２０１に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得して、それぞれのキャラクタを配置したゲーム画面を生成して出力する（ステップＳ１００８）。
【０１１９】
一方、複数ではないと判別された場合（ステップＳ１００５；ＮＯ）、出現設定部２０４はステップＳ１００４で選択された候補の位置を新たな敵キャラクタの出力位置とするように記憶部２０１を更新し（ステップＳ１００７）、出力部２０８はそれぞれのキャラクタを配置したゲーム画面を生成して出力する（ステップＳ１００８）。
【０１２０】
このように、本実施例によれば、ゲーム装置２００は、基準距離と同じ距離だけ離れている候補が複数存在しても、適宜１つを選択して敵キャラクタを出現させて、プレイヤーにとってゲームが難しすぎたり易しすぎたりすることがないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【０１２１】
（実施例５）
次に、本発明の他の実施例について説明する。本実施例は、敵キャラクタの出現時の位置のいくつかの候補の中からいずれかを選択する際の選択の仕方を変えた変形例である。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【０１２２】
出現設定部２０４は、記憶部２０１に記憶された敵キャラクタの出現時の位置の候補のうち、計算部２０３により計算された基準距離に最も近い候補の位置を含む所定の許容範囲の中からランダムに１つの位置を選択して、選択された位置を新たな敵キャラクタの位置として記憶部２０１に記憶させる。
【０１２３】
図１２は、基準距離と、新たに敵キャラクタを出現させる位置の候補と、許容範囲との関係の例を示す図である。本図に示したそれぞれの星印は、敵キャラクタを新たに出現させる位置の候補の位置を示し、この例では３つの候補がある。まず、計測部２０２は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部２０３は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部２０４は、第１から第３候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択する。本図では第２候補である。さらに、出現設定部２０４は、選択した候補の位置を含む所定の許容範囲を設定する。本図では第２候補の位置を中心とした所定長さの半径の円内を許容範囲とする。そして、出現設定部２０４は、設定した許容範囲内からランダムに１つの位置を選択して、新たな敵キャラクタの出現位置とする。
【０１２４】
この例では、許容範囲の形状は、記憶部２０１に記憶された候補の位置を中心とする所定長さの半径の円内としたが、これは一例に過ぎず、任意の形状でよい。また、本図には候補の位置が星印で示され、基準距離を示す円が点線で示され、許容範囲を示す斜線領域が示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。
【０１２５】
例えば、記憶部２０１に記憶された、敵キャラクタを新たに出現させる候補の位置に、既に他のキャラクタオブジェクトが配置されている場合、出現設定部２０４は、候補の位置の周辺に許容範囲を設定し、既に他のキャラクタオブジェクトが配置された位置を避けて、その近くに設定した許容範囲内からランダムに１つの位置を選択することができる。
【０１２６】
具体的には、上述の実施例のステップＳ１００５において、出現設定部２０４は、選択した候補の位置に既に他のキャラクタオブジェクトが配置されているか否かを判別する。既に配置されている場合、出現設定部２０４はステップＳ１００６で、選択した候補の位置を含む所定の許容範囲を設定し、この許容範囲内から１つの位置を選択し、新たな敵キャラクタの出現位置に設定する。配置されていない場合、出現設定部２０４は、ステップＳ１００４で選択した候補の位置を、新たな敵キャラクタの出現位置に設定する。他のステップにおける処理は上述の実施例と同様であるため詳細は省略する。このように、キャラクタオブジェクト同士が同じ位置に重なってしまうことはない。
【０１２７】
例えば、記憶部２０１に記憶された、敵キャラクタを新たに出現させる候補の位置を、１つの点の座標値ではなく、ある程度幅をもった領域によって指定するように構成する場合にも、本実施例は有効である。つまり、絶対的な座標値を用いなくても、敵キャラクタを出現させる位置を設定することができる。
【０１２８】
また、許容範囲内の領域に予め優先度を設定し、出現設定部２０４は優先度に従って候補を選択してもよい。この場合、記憶部２０１は、許容範囲内の領域の各位置に対応して、所定段階数の優先度を記憶する。そして、優先度が高い位置ほど選択確率が大きいようにする。例えば、出現設定部２０４は、ある候補の位置を中心とした半径Ｒ０の円内を許容範囲に設定する。また、０＜Ｒ１＜Ｒ２＜Ｒ０の関係を満たす長さＲ１とＲ２を設定する。出現設定部２０４は、その候補の位置を中心とした半径Ｒ１の同心円内の点の選択確率をＰ１とし、半径Ｒ２の同心円内で且つ半径Ｒ１の同心円に含まれない部分の選択確率をＰ２とし、半径Ｒ０の同心円内で且つ半径Ｒ２の同心円に含まれない部分の選択確率を（１−Ｐ１−Ｐ２）にする。ただし、０≦Ｐ１，Ｐ２≦１、且つ、Ｐ１＋Ｐ２≦１である。なお、この例では３つの同心円を用いたが、任意の形状の図形、任意の数の図形を用いることができる。
【０１２９】
このように、本実施例によれば、ゲーム装置２００は、敵キャラクタを新たに出現させる候補の位置に敵キャラクタを配置できない状況であっても、適切に敵キャラクタの出現位置を選択して、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者や上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。本実施例は、上述の他の実施例と容易に組み合わせて実施することができる。
【０１３０】
（実施例６）
次に、本発明の他の実施例について説明する。本実施例は、敵キャラクタの出現時の位置のいくつかの候補の中からいずれかを選択する際の選択の仕方を変えた他の変形例である。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【０１３１】
出現設定部２０４は、現在時間から所定期間内にプレイヤーキャラクタが移動した移動方向を求める。そして、求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに１つの位置を選択して、選択された候補の位置を新たな敵キャラクタの位置として記憶部２０１に記憶させる。
【０１３２】
具体的には、出現設定部２０４は、モニターの垂直同期割り込みなどの周期的なタイミングで、プレイヤーキャラクタの位置を履歴情報としてＲＡＭ  １０３に記憶する。そして、出現設定部２０４は、この履歴情報から、プレイヤーキャラクタの移動方向を求める。例えば、ある時刻Ｔ１におけるプレイヤーキャラクタの位置が点ＰＡ（Ｘ１，Ｙ１，Ｚ１）で、時刻Ｔ１より後の時刻Ｔ２におけるプレイヤーキャラクタの位置が点ＰＢ（Ｘ２，Ｙ２，Ｚ２）であったとすると、点ＰＡから点ＰＢに向かう方向ベクトル（Ｘ２−Ｘ１，Ｙ２−Ｙ１，Ｚ２−Ｚ１）の向きを、プレイヤーキャラクタの移動方向とする。
【０１３３】
なお、移動方向の決定方法は上記方法に限られず、他の手法を用いてもよい。例えば、プレイヤーキャラクタの位置の履歴として３つ以上の点の位置を記憶し、これらの点の分散の度合いから移動方向を求めてもよい。位置の履歴を取得する時間間隔は一定間隔が望ましく、時間の長さは任意である。
【０１３４】
図１３は、基準距離と、新たに敵キャラクタを出現させる位置の候補と、プレイヤーキャラクタの移動方向との関係の例を示す図である。図中の矢印Ｙ１は、出現設定部２０４が求めたプレイヤーキャラクタの移動方向である。まず、計測部２０２は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部２０３は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部２０４は、第１から第３候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択する。本図では第２候補と第３候補の２つである。さらに、出現設定部２０４は、基準距離に最も近い候補のうち、移動方向に近い候補ほど選択される確率が大きくなるように重み付けを設定し、新たな敵キャラクタの出現位置としてランダムに１つ選択する。そして、出現設定部２０４は、選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部２０１を更新し、出力部２０８は、記憶部２０１に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得して、それぞれのキャラクタを配置したゲーム画面を生成して出力する。
なお、本図には候補の位置が星印で示され、基準距離を示す円が点線で示され、移動方向が矢印で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。
【０１３５】
さらに、出現設定部２０４は、プレイヤーキャラクタを移動方向に近い候補ほど選択される確率が大きくなり、且つ、基準距離に近い候補ほど選択される確率が大きくなるように、重み付けを行って、ランダムに選択することもできる。
【０１３６】
なお、出現設定部２０４は、選択される確率に重み付けをしてランダムに１つ選択するのではなく、最も移動方向に近い候補を新たな敵キャラクタの出現位置として選択することもできる。また、出現設定部２０４は、移動方向に近い候補ほど選択される確率が小さくなるように重み付けを設定してもよい。あるいは、敵キャラクタが出現可能なエリアの種別（例えば、森林、草むら、池など）の違いによって重み付けを設定してもよい。
【０１３７】
本実施例の変形例として、プレイヤーキャラクタの移動方向の代わりに、プレイヤーキャラクタの視線方向を用いることもできる。ＣＰＵ  １０１は、仮想空間内に配置されたプレイヤーキャラクタが仮想空間内の様子を観測する点として、視点を設定する。この視点から視線方向に見た仮想映像は、例えば３Ｄグラフィックスの表示に用いられる。視線方向は、プレイヤーによるコントローラ１０５の操作により任意に変更することができる。そして、出現設定部２０４は、ユーザによって設定された視線方向を取得して、プレイヤーキャラクタの視線方向に近い候補ほど選択される確率が大きくなるように重みを設定して、新たな敵キャラクタの出現位置としてランダムに１つ選択する。この場合においても、最も移動方向に近い候補を新たな敵キャラクタの出現位置として選択することもできる。このように視線方向を用いると、プレイヤーキャラクタの視点から視線方向に見たゲーム画面内（視界内）に敵キャラクタを出現しやすくすることができるので、初心者プレイヤー向けに難易度を下げたゲーム設定にすることができる。また、プレイヤーキャラクタの視界の外に敵キャラクタを出現しやすくすることもできるので、上級者プレイヤー向けに難易度を上げたゲーム設定にすることができる。
【０１３８】
このように、本実施例によれば、ゲーム装置２００は、プレイヤーキャラクタが移動する方向に敵キャラクタを出現させて、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。本実施例は、上述の他の実施例と容易に組み合わせて実施することができる。
【０１３９】
（実施例７）
次に、本発明の他の実施例について説明する。本実施例では、出現設定部２０４は、敵キャラクタが仮想空間内に出現してから現在までの時間に応じて、次の新たな敵キャラクタの出現位置をプレイヤーキャラクタの近くにしたり遠くにしたりして変化させることによって、ゲームの難易度をプレイヤーの上達度に合うように制御できる。以下詳述する。
【０１４０】
図１４は、本実施例のゲーム装置２００の機能的な構成を説明するための図である。ゲーム装置２００は、記憶部２０１、計測部２０２、計算部２０３、出現設定部２０４、受付部２０５、移動部２０６、削除部２０７、出力部２０８、出現判断部２０９、消滅判断部２１０、消滅設定部２１１、状態設定部２１２を備える。
【０１４１】
まず、本実施例のゲーム装置２００にて実行される典型的なゲームについて、図１５を用いて説明する。ゲーム内の仮想空間は例えば２次元マップを用いて表現される。以下、２次元の仮想空間を用いて説明するが、３次元の仮想空間でもよい。本図は仮想空間全体のうちの一部領域であってモニター等に表示される表示領域を示しており、プレイヤーキャラクタ１５１０の移動に伴って表示領域は上下左右にスクロールする。つまり本図は仮想空間の一部分だけを表している。プレイヤーは、コントローラ１０５のボタン等を操作して、例えばプレイヤーキャラクタ１５１０の位置を移動させたり敵キャラクタ１５２０との戦闘を指示したりすることができる。
【０１４２】
仮想空間には、プレイヤーによって操作されるプレイヤーキャラクタ１５１０と、ＣＰＵ  １０１によって動作が指示される敵キャラクタ１５２０（本図中では１５２０Ａ，１５２０Ｂの２つ）が配置される。プレイヤーキャラクタ１５１０には、例えば、敵キャラクタ１５２０との戦闘における攻撃力や防御力、生命力や体力（いわゆるヒットポイント）等を数値で表したパラメータなどの属性パラメータが対応付けられている。同様に各々の敵キャラクタ１５２０にも攻撃力、防御力、生命力などの属性パラメータが対応付けられている。属性パラメータが異なる何種類かの敵キャラクタ１５２０が存在していてもよい。
【０１４３】
ここで、本実施例で想定しているゲームにおける、プレイヤーキャラクタと敵キャラクタとの“戦闘”について説明する。
例えばロールプレイングゲームや格闘ゲーム等において、プレイヤーキャラクタ及び／又は敵キャラクタは、剣、矢、盾、防具などの武器やアイテムを装備できる。プレイヤーキャラクタは、プレイヤーからの指示により、例えば剣を振って敵キャラクタに攻撃したり盾で防御したりする。例えば自分（プレイヤーキャラクタ）が剣を振って相手（敵キャラクタ）に当たると、攻撃が成功し、相手のヒットポイントが下がったり自分の勝ちになったりする。一方、自分が剣を振ったものの相手に当たらないと、攻撃が失敗し、自分のヒットポイントが下がったり（あるいは不変でもよい）自分の負けになったりする。また例えば、プレイヤーキャラクタと敵キャラクタがぶつかると、両方又は一方のヒットポイントが下がる。
例えばシューティングゲームにおいて、プレイヤーキャラクタは、プレイヤーからの指示により、銃やミサイル等を発射したり相手からの攻撃をよけたりする。例えば自分が銃を撃って相手に当たると、相手のヒットポイントが下がったり自分の勝ちになったりする。例えば自分が相手の周りの所定範囲内で爆弾を爆発させると、相手のヒットポイントが下がったり自分の勝ちになったりする。
なお、“自分”を敵キャラクタに置き換え、“相手”をプレイヤーキャラクタに置き換えても、同様である。ここに記載したゲーム内容あるいは戦闘の定義は、あくまでも例示であり、本発明によって制限されるものではなく、一般に知られたゲームのルール等を採用できることは言うまでもない。
【０１４４】
移動部２０６は、ゲームの進行に応じて敵キャラクタ１５２０の位置を移動させることができる。移動部２０６は、プレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が第１の所定値Ｒ１以内になると、プレイヤーキャラクタ１５１０の位置に近づくように敵キャラクタ１５２０の位置を移動させる。典型的には、プレイヤーキャラクタ１５１０の位置を中心とする所定半径Ｒ１の円１５１１内に敵キャラクタ１５２０が入ると、その敵キャラクタ１５２０はプレイヤーキャラクタ１５１０に近づいてくる。
【０１４５】
あるいは、移動部２０６は、敵キャラクタ１５２０をランダムウォークで移動させてもよい。例えば、プレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が第１の所定値Ｒ１より大きい場合、敵キャラクタ１５２０を移動させることができる各方向について、移動確率を等確率にしてランダムに移動させる。一方、プレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が第１の所定値Ｒ１以下の場合、敵キャラクタ１５２０の位置からプレイヤーキャラクタ１５１０の位置への方向の移動確率を相対的に大きくして移動確率に偏りをもたせ、敵キャラクタをランダムに移動させる。つまり、敵キャラクタ１５２０がプレイヤーキャラクタ１５１０に近づきやすくなる。
【０１４６】
本実施例で想定するゲームには、ある地点でプレイヤーキャラクタ１５１０と敵キャラクタ１５２０とが戦闘を行う戦闘状態と、それ以外の非戦闘状態（例えばプレイヤーキャラクタ１５１０が仮想空間のフィールドや建物等を移動可能な状態）と、がある。非移動状態においてプレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が第２所定値Ｒ２以内（ただしＲ２≦Ｒ１）になると、ＣＰＵ  １０１はゲームを戦闘状態に移行する。典型的には、プレイヤーキャラクタ１５１０の位置を中心とする所定半径Ｒ２の円１５１２内に敵キャラクタ１５２０が入ると、プレイヤーキャラクタ１５１０と敵キャラクタ１５２０との戦闘が始まる。戦闘状態では、キャラクタ同士の属性パラメータやプレイヤーによる操作入力によって戦闘の勝敗が決まる。例えば敵キャラクタ１５２０の生命力が先にゼロになるとプレイヤーキャラクタ１５１０の勝ちとなり敵キャラクタ１５２０は仮想空間内から消滅する。
【０１４７】
第１の所定値Ｒ１と第２の所定値Ｒ２は、Ｒ２≦Ｒ１を条件として任意に変更でき、記憶部２０１に記憶される。複数種類の敵キャラクタ１５２０をフィールドに配置し、第１の所定値Ｒ１及び／又は第２の所定値Ｒ２として、敵キャラクタ１５２０ごとに異なる値を設定することができる。また、ゲーム中に第１の所定値Ｒ１及び／又は第２の所定値Ｒ２を変更することもできる。
【０１４８】
移動部２０６が敵キャラクタ１５２０の位置を移動させる際の移動速度は可変でも不変でもよいが、可変にする場合には上限値を設けることが望ましい。上限値を設けないと、敵キャラクタ１５２０が出現してからプレイヤーキャラクタ１５１０が敵キャラクタ１５２０と戦闘状態になる（戦闘を開始する）までの時間は、必ずしもプレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が大きいほど長くなるとは限らず、出現後すぐに敵キャラクタ１５２０がプレイヤーキャラクタ１５１０に接近して戦闘状態に入ってしまう可能性がある。しかし、上限値を設けると、敵キャラクタ１５２０が出現してからプレイヤーキャラクタ１５１０と敵キャラクタ１５２０が戦闘状態になるまでの時間が、プレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が大きいほど長くなるように制御することができる。よって、戦闘状態に突入するまでに時間的な余裕が出来やすくなるので、初心者にとっては難しすぎるゲームにならず好都合である。
【０１４９】
同様に、移動速度に下限値を設けてもよい。下限値を設けないと、出現後いつまで経っても敵キャラクタ１５２０がプレイヤーキャラクタ１５１０に接近せず戦闘状態にならない可能性がある。しかし、下限値を設けると、敵キャラクタ１５２０が出現してからプレイヤーキャラクタ１５１０と敵キャラクタ１５２０が戦闘状態になるまでの時間が、プレイヤーキャラクタ１５１０と敵キャラクタ１５２０との距離が小さいほど短くなるように制御することができる。よって、上級者にとってゲームが易しすぎることにならず好都合である。
【０１５０】
次に、ゲーム装置２００の各部の構成について説明する。
記憶部２０１は、図１６（ａ）に示すように、敵キャラクタ情報として、敵キャラクタの識別情報と敵キャラクタの位置に加えて、計測部２０２によって計測された、敵キャラクタを仮想空間内に出現させてから現在までの経過時間を更に対応付けて記憶する。例えば、経過時間は、年，月，日，時，分，秒を単位として記憶されてもよいし、垂直同期割り込み（ＶＳＹＮＣ）やＸミリ秒割り込み等、ゲーム装置２００のＣＰＵ  １０１が定期的に発生させる割り込み処理の発生回数を単位として記憶されてもよい。敵キャラクタが消滅するときの記憶部２０１に記憶される経過時間は、この敵キャラクタの寿命に相当する。
【０１５１】
また、上述の実施例と同様に、記憶部２０１は、プレイヤーキャラクタ情報として、プレイヤーキャラクタの仮想空間内における現在位置を記憶し、候補情報として、敵キャラクタを新たに出現させるときの候補の位置を記憶する。
【０１５２】
なお、後述するように、消滅設定部２０９が仮想空間内から敵キャラクタを消滅させると、記憶部２０１に記憶されるレコードのうち、消滅した敵キャラクタに対応するレコードは、削除部２０７によって削除される。ＣＰＵ  １０１とＲＡＭ  １０３が協働して、記憶部２０１として機能する。
【０１５３】
計測部２０２は、敵キャラクタのそれぞれについて、敵キャラクタを仮想空間内に出現させてから現在までの経過時間を計測し、計測した経過時間を記憶部２０１に記憶させる。ＣＰＵ  １０１が計測部２０２として機能する。
【０１５４】
例えば、出現設定部２０４が新たに出現させる敵キャラクタの位置を含む敵キャラクタ情報を記憶部２０１に記憶させて仮想空間内に新たな敵キャラクタを出現させると、計測部２０２は、その新たな敵キャラクタを仮想空間内に出現させてから現在までの経過時間をゼロ秒とする新たなレコードを追加する。そして、計測部２０２は、ＶＳＹＮＣなどの定期的な割り込み処理が発生するタイミングで、各レコードの経過時間に所定時間（例えばＶＳＹＮＣであれば１／６０秒）を加算していく。この結果、記憶部２０１には敵キャラクタごとに出現してから現在までの経過時間が記憶される。
【０１５５】
ここで、図１６（ｂ）に示すように、記憶部２０１は、敵キャラクタを仮想空間内に出現させてから現在までの経過時間を記憶する代わりに、出現設定部２０４が敵キャラクタを仮想空間内に出現させた時刻など、いつ敵キャラクタを仮想空間内に出現させたかを示す情報を記憶するようにしてもよい。この場合、敵キャラクタを仮想空間内に出現させた時刻と現在時刻との差分を計算すれば、敵キャラクタを仮想空間内に出現させてから現在までの経過時間を得ることができるので、計測部２０２が各レコードの経過時間に所定時間を加算する処理を省略することができる。
【０１５６】
計算部２０３は、上述の実施例と同様に、新たな敵キャラクタを出現させるための基準距離として、記憶部２０１に記憶された経過時間が長くなるにつれて増大する距離を計算する。ＣＰＵ  １０１が計算部２０３として機能する。
【０１５７】
状態設定部２１２は、ゲーム装置２００で実行されるゲームが上述の戦闘状態か非戦闘状態かを設定し、設定した状態を示す情報（ゲーム状態情報）を記憶部２０１に記憶させる。例えば、状態設定部２１２は、プレイヤーキャラクタと敵キャラクタとの距離が第２所定値Ｒ２以内である場合、戦闘状態とし、それ以外の場合、非戦闘状態とする。ＣＰＵ  １０１とＲＡＭ  １０３が協働して状態設定部２１２として機能する。
【０１５８】
出現判断部２０９は、仮想空間内に新たな敵キャラクタを出現させるか否かを判断する。ＣＰＵ  １０１が出現判断部２０９として機能する。
【０１５９】
出現判断部２０９が新たな敵キャラクタを出現させると判断するタイミングの一つは、既に出現している敵キャラクタを、戦闘によりあるいは制限時間の経過により、後述の消滅設定部２１１が消滅させたタイミングである。すなわち、消滅設定部２１１が少なくとも１つの敵キャラクタを消滅させると、出現判断部２０９が少なくとも１つの新たな敵キャラクタを出現させると判断する。
【０１６０】
出現判断部２０９は、既に仮想空間内に出現している敵キャラクタの総数が、仮想空間内に出現させてもよい所定の上限値（最大個数）に達していない場合に、新たな敵キャラクタを出現させると判断してもよい。出現判断部２０９は、例えば乱数を用いて、任意のタイミングでランダムに出現させると判断してもよい。乱数は、例えば時刻等をシードに用いてその都度発生させたものでもよいし、予め作成した乱数テーブル等を用いたものでもよい。
【０１６１】
出現判断部２０９は、プレイヤーキャラクタの属性パラメータの値が変化したタイミングで敵キャラクタを出現させると判断してもよい。例えば、プレイヤーキャラクタが成長して攻撃力や防御力がアップしたタイミングで、所定の上限値を超えない範囲で、敵キャラクタを出現させると判断してもよい。
【０１６２】
また、出現判断部２０９は、この上限値を変化させてもよい。
【０１６３】
例えば出現判断部２０９は、ゲーム装置２００の各部が協働することにより実行されているゲームにおける時間の経過に応じて上限値を変化させる。具体的には、ゲームの開始直後では第１の上限値Ｖ１とするが、ゲームを開始してから時間Ｔ１が経過すると第２の上限値Ｖ２にし、更に時間Ｔ２が経過すると第３の上限値にする、といったように、時間が経過するにつれて上限値を大きくしたり小さくしたりする。時間の経過に対して単調増加又は単調減少させてもよい。
【０１６４】
例えば、プレイ時間が長くなることが想定される初心者に対しては上限値を減少させ、プレイ時間が短くなることが想定される上級者に対しては上限値を増加させることによって、プレイヤーの上達度に応じてゲームの難易度を調節することができる。なお、例えば初心者の腕を上げさせるように導くために、初心者に対してもプレイ時間が長いほど上限値を増加させることとしてもよい。
【０１６５】
ここで、時間の経過は、現実の時間の経過でもよいし、ゲーム内においてプログラム等により設定される現実の日時とは異なる仮想日時を用いた時間の経過でもよい。例えば、ゲームを一時中断するコマンド（ポーズ）をプレイヤー等から受け付けるとゲーム内における時間が一旦停止し、再開するコマンドをプレイヤー等から受け付けるとゲーム内における時間がまた進み始める、といった機能を備えたゲームにおいて、ポーズ期間中でなければ上限値を大きくしたり小さくしたり変化させるが、ポーズ期間中では上限値を変化させないようにしてもよい。
【０１６６】
出現判断部２０９は、消滅設定部２１１によって消滅した敵キャラクタの数に応じて上限値を変えてもよい。具体的には、戦闘ゲームにおいて、所定時間内に戦闘によって消滅した敵キャラクタの数が増えるほど、上限値を大きくする。つまり、単位時間あたりに消滅させた敵キャラクタの総数が多いほど、プレイヤーのゲーム上達度は高いと推定できるので、より多くの敵キャラクタを出現させてもよいこととする。逆に単位時間あたりに消滅させた敵キャラクタの総数が少ないほど、プレイヤーのゲーム上達度は低いと推定できるので、出現させる敵キャラクタの数を抑えることとする。
【０１６７】
また、出現判断部２０９は、プレイヤーキャラクタが成長して攻撃力や防御力などプレイヤーにとって有利な属性パラメータがアップしたタイミングで上限値を増加させ、この増加させた最大個数を超えない範囲で敵キャラクタを出現させると判断してもよい。あるいは、プレイヤーキャラクタがダメージを受けて攻撃力や防御力などの属性パラメータがダウンしたタイミングで上限値を減少させ、この減少させた上限値を超えない範囲で敵キャラクタを出現させると判断してもよい。上限値を減少させた結果、既に出現している敵キャラクタの総数が新たな上限値を超えてしまう場合には、消滅設定部２０９が超えた分の数の敵キャラクタを消滅させたり、移動部２０６が超えた分の数の敵キャラクタをプレイヤーキャラクタの位置から遠ざけるように移動させたりしてもよい。このようにプレイヤーの上達度に合わせて敵キャラクタ数の上限値を変化させることによってゲームの難易度を調節することができる。
【０１６８】
また、出現判断部２０９は、敵キャラクタを出現させるタイミングを、プレイヤーの上達度に合わせて変化させてもよい。例えば、出現判断部２０９は、記憶部２０１に記憶された経過時間（敵キャラクタの寿命）が長いほど、新たな敵キャラクタを出現させるタイミングを遅らせる。具体的には、直近に消滅設定部２１１が消滅させた敵キャラクタに対応するレコードが示す経過時間Ｔが第１の所定範囲内（Ｔ１≦Ｔ＜Ｔ２）であれば、敵キャラクタを消滅設定部２１１が消滅させた後すぐに新たな敵キャラクタを出現させ、第２の所定範囲内（Ｔ２≦Ｔ＜Ｔ３、ただしＴ１＜Ｔ２＜Ｔ３）であれば、１つの敵キャラクタを消滅設定部２１１が消滅させた後の所定の猶予時間が経過したときに新たな敵キャラクタを出現させる。すなわち、記憶部２０１に記憶された経過時間が長い場合は、プレイヤーの上達度が高くないかあるいはプレイヤーキャラクタが強くないと推定できるので、敵キャラクタを倒した後しばらく経ってから新たな敵キャラクタを出現させる。一方、記憶部２０１に記憶された経過時間が短い場合は、プレイヤーの上達度が高いかあるいはプレイヤーキャラクタが強いと推定できるので、敵キャラクタを倒した後すぐに新たな敵キャラクタを出現させる。
【０１６９】
出現設定部２０４は、出現判断部２０９により新たな敵キャラクタを出現させると判断されると、記憶部２０１に記憶された候補情報が示す敵キャラクタを出現させる候補の位置のうち、記憶部２０１に記憶されたプレイヤーキャラクタの位置までの距離が、計算部２０３により計算された基準距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として記憶部２０１に記憶させて、新たな敵キャラクタを出現させる。ＣＰＵ  １０１とＲＡＭ  １０３が協働して、出現設定部２０４として機能する。
【０１７０】
例えば、フィールドやダンジョン等に敵キャラクタが存在し、プレイヤーキャラクタが特定のアイテムを入手したり出口に到達したりするまで戦闘を行いながら進んでいくロールプレイングゲームにおいて、既に出現している敵キャラクタＣ１がプレイヤーキャラクタとの戦闘によって消滅すると、計算部２０３は、消滅した敵キャラクタＣ１に対応するレコードが削除部２０７によって削除される前に、敵キャラクタＣ１に対応付けられている経過時間を読み出して一時記憶する。この経過時間は、消滅した敵キャラクタＣ１の寿命に相当する。さらに計算部２０３は、読み出した経過時間が長いほど大きくなるように（経過時間に対して単調増加するように）基準距離を計算する。そして、出現設定部２０４は、計算部２０３により計算された基準距離に最も近い候補の位置に、新たな敵キャラクタを出現させる。
【０１７１】
つまり、敵キャラクタの寿命が長いほど、次の敵キャラクタの出現位置がプレイヤーキャラクタの位置から遠くになる。例えば、初心者のようにプレイヤーのゲームの上達度が低い場合（ゲームが下手な場合）や、プレイヤーキャラクタの攻撃力が弱い場合、一般に敵キャラクタの寿命は長くなる傾向にあるので、新たな敵キャラクタはプレイヤーキャラクタから遠くの位置に出現しやすくなる。したがって、ゲーム装置２００は、プレイヤーの上達度がまだ低いうちに敵キャラクタが次々と近くにばかり出現してしまって実行中のゲームが初心者にとって難しすぎることがないように制御できる。
【０１７２】
また、敵キャラクタの寿命が短いほど、次の敵キャラクタの出現位置がプレイヤーキャラクタの位置の近くになる。例えば、上級者のようにプレイヤーのゲームの上達度が高い場合（ゲームが上手な場合）や、プレイヤーキャラクタの攻撃力が強い場合、一般に敵キャラクタの寿命は短くなる傾向にあるので、敵キャラクタはプレイヤーキャラクタの近くの位置に出現しやすくなる。したがって、ゲーム装置２００は、プレイヤーの上達度が高いときに敵キャラクタが遠くにばかり出現してしまって実行中のゲームが上級者にとって易しすぎることがないように制御できる。
【０１７３】
例えば、計算部２０３は、現在時刻に最も近い時刻に（最も直近に）消滅した敵キャラクタに対応付けられている経過時間が長いほど、基準距離を大きくする。現在時刻に最も近い時刻に消滅した敵キャラクタが１つであれば、その敵キャラクタに対応付けられている経過時間を用いて基準距離を計算すればよいし、複数であれば、それらのうちのいずれか１つの敵キャラクタに対応付けられている経過時間を用いたりあるいは平均値を用いたりして基準距離を計算すればよい。
【０１７４】
例えば、計算部２０３は、直近に消滅した所定個数の敵キャラクタに対応付けられている経過時間の平均値を計算する。ここで計算される値は、直近に消滅した所定個数分の敵キャラクタの平均寿命に相当する。そして、計算された平均寿命が長いほど、基準距離を大きくしてもよい。
【０１７５】
受付部２０５は、コントローラ１０５を用いてユーザにより入力された指示入力を受け付ける。例えばプレイヤーキャラクタの位置を移動させる指示入力を受け付けると、受け付けた指示入力を移動部２０６に通知する。ＣＰＵ  １０１とＲＡＭ  １０３とコントローラ１０５とが協働して、受付部２０５として機能する。
【０１７６】
移動部２０６は、受付部２０５が受け付けた指示入力に応じてプレイヤーキャラクタの位置を移動させ、記憶部２０１に記憶されたプレイヤーキャラクタの位置を更新する。また、移動部２０６は、ゲーム展開に応じて敵キャラクタの位置を移動させる。例えば上述のように移動部２０６は、プレイヤーキャラクタと敵キャラクタとの距離が第１の所定値Ｒ１以内になると、プレイヤーキャラクタの位置に近づくように敵キャラクタの位置を移動させる。ＣＰＵ  １０１とＲＡＭ  １０３が協働して、移動部２０６として機能する。
【０１７７】
消滅判断部２１０は、出現している敵キャラクタのそれぞれについて、仮想空間内から消滅させるか否かを判断する。仮想空間内に出現させた敵キャラクタの消滅タイミングは様々である。例えば、戦闘状態においてプレイヤーキャラクタが戦闘に勝つと、負けた敵キャラクタを消滅させると判断する。つまり、プレイヤーキャラクタとの戦闘の結果、敵キャラクタの所定の属性パラメータ（いわゆる生命力、体力、ヒットポイントなど）が先にゼロになると、敵キャラクタの負けとなり、敵キャラクタを消滅させると判断する。
【０１７８】
また例えば、消滅判断部２１０は、仮想空間内をプレイヤーキャラクタが移動した結果、既に出現している敵キャラクタがプレイヤーキャラクタと容易には接触できないほどあるいは画面に映らないほど遠くに離れてしまうと、もはやその敵キャラクタを出現させている意味がなくなってしまうため、その敵キャラクタを消滅させると判断する。
【０１７９】
敵キャラクタとして、時限爆弾のように出現後（作動後）に制限時間が経過すると爆発して無くなったり、仮想空間内から消えたりするキャラクタを設定することもできる。消滅判断部２１０は、このような自動消滅型の敵キャラクタについては、計測部２０２によって計測される出現してから現在までの経過時間が制限時間に達すれば、画面から消滅させると判断する。ＣＰＵ  １０１が、消滅判断部２１０として機能する。
【０１８０】
消滅設定部２１１は、消滅判断部２１０により敵キャラクタを消滅させると判断されると、敵キャラクタを画面から消滅させる。ＣＰＵ  １０１とＲＡＭ  １０３と画像処理部１０８が協働して動作することにより、消滅設定部２１１として機能する。
【０１８１】
削除部２０７は、記憶部２０１に記憶された敵キャラクタ情報の中から、消滅設定部２１１が消滅させた敵キャラクタに対応するレコードを削除する。ＣＰＵ  １０１とＲＡＭ  １０３が協働して、削除部２０７として機能する。
【０１８２】
出力部２０８は、記憶部２０１に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を読み出して、プレイヤーキャラクタと敵キャラクタの画像を、読み出した位置にそれぞれ出力する。ＣＰＵ  １０１とＲＡＭ  １０３と画像処理部１０８が協働して、出力部２０８として機能する。
【０１８３】
次に、本実施例における出現・消滅設定処理について、図１７のフローチャートを用いて説明する。このフローチャートは敵キャラクタが出現してから消滅するまでの敵キャラクタの“一生”を表すとも言える。
【０１８４】
まず、出現設定部２０４は、仮想空間内に敵キャラクタを出現させるか否かを判別する（ステップＳ１７０１）。例えば、上述したように、既に出現している敵キャラクタが戦闘などによって消滅したか否か、既に出現している敵キャラクタの総数が所定の最大個数に達しているか否か、等に応じて、判別する。
【０１８５】
出現させないと判別した場合（ステップＳ１７０１；ＮＯ）、出現させるタイミングになるまで待機する。
【０１８６】
出現させると判別した場合（ステップＳ１７０１；ＹＥＳ）、計算部２０３は、記憶部２０１に記憶された経過時間に基づいて基準距離を計算する（ステップＳ１７０２）。
【０１８７】
出現設定部２０４は、計算部２０３によって計算された基準距離に最も近い出現候補位置を敵キャラクタの出現位置とするレコードを、敵キャラクタ情報に追加し（ステップＳ１７０３）、敵キャラクタを出現させる（ステップＳ１７０４）。新規に出現させた直後の敵キャラクタに対応する経過時間の初期値はゼロとし、後述の処理において随時カウントアップしていく。この経過時間は、敵キャラクタが出現してから現在に至るまでに経過した時間である。
【０１８８】
移動部２０６は、記憶部２０１の敵キャラクタ情報が示す経過時間を更新し、且つ、敵キャラクタの位置を移動させる（ステップＳ１７０５）。また、移動部２０６は、プレイヤーキャラクタの位置と敵キャラクタの位置との距離が上述の第１の所定値Ｒ１以内か否かを判別する（ステップＳ１７０６）。上述のように第１の所定値Ｒ１は、出現している敵キャラクタの位置をプレイヤーキャラクタの位置に近づけるように移動させるか否かを判別するために用いる値である。
【０１８９】
例えば、ステップＳ１７０５〜ステップＳ１７０６の処理を、ＶＳＹＮＣごとに定期的に実行し、移動部２０６は敵キャラクタに対応付けられた経過時間と位置をＶＳＹＮＣごとに更新する。
【０１９０】
プレイヤーキャラクタの位置と敵キャラクタの位置との距離が第１の所定値Ｒ１以内ではない場合（ステップＳ１７０６；ＮＯ）、ステップＳ１７０５に戻る。
【０１９１】
一方、プレイヤーキャラクタの位置と敵キャラクタの位置との距離が第１の所定値Ｒ１以内である場合（ステップＳ１７０６；ＹＥＳ）、移動部２０６は、敵キャラクタの位置をプレイヤーキャラクタの位置に近づけるように移動させ（ステップＳ１７０７）、敵キャラクタ情報が示す位置を更新する。
【０１９２】
次に移動部２０６は、プレイヤーキャラクタの位置と敵キャラクタの位置との距離が上述の第２の所定値Ｒ２以内か否かを判別する（ステップＳ１７０８）。上述のように第２の所定値Ｒ２は、出現している敵キャラクタとプレイヤーキャラクタとが戦闘状態に入るか否かを判別するために用いる値である。
【０１９３】
例えば、ステップＳ１７０７〜ステップＳ１７０８の処理を、ＶＳＹＮＣごとに定期的に実行し、移動部２０６は敵キャラクタに対応付けられた経過時間と位置とをＶＳＹＮＣごとに更新する。
【０１９４】
プレイヤーキャラクタの位置と敵キャラクタの位置との距離が第２の所定値Ｒ２以内ではない場合（ステップＳ１７０８；ＮＯ）、ステップＳ１７０７に戻る。
【０１９５】
一方、プレイヤーキャラクタの位置と敵キャラクタの位置との距離が第２の所定値Ｒ２以内である場合（ステップＳ１７０８；ＹＥＳ）、ＣＰＵ  １０１はゲームを戦闘状態に移行しプレイヤーキャラクタと敵キャラクタの戦闘を開始する（ステップＳ１７０９）。この戦闘によって、プレイヤーキャラクタの勝敗が決まる。なお、戦闘状態でゲーム装置２００がどのような演出を実行するのかについては、本発明では限定されない。
【０１９６】
戦闘の結果、プレイヤーキャラクタが勝った場合（ステップＳ１７１０；ＹＥＳ）、消滅設定部２１１は、仮想空間内から相手の敵キャラクタ（負けた敵キャラクタ）を消滅させる（ステップＳ１７１１）。そして、削除部２０７は、消滅させた敵キャラクタに対応するレコードを記憶部２０１の敵キャラクタ情報から削除する（ステップＳ１７１２）。
【０１９７】
プレイヤーキャラクタが勝たなかった場合（ステップＳ１７１０；ＮＯ）、ＣＰＵ  １０１は、プレイヤーキャラクタの敗北あるいは引き分けの演出、ゲーム終了、ゲームやり直し等、所定のゲーム処理を実行する（ステップＳ１７１３）。
【０１９８】
このように本実施例によれば、敵キャラクタが出現してから倒されるまでの時間すなわち敵キャラクタの寿命の長さに応じて、プレイヤーのゲームの上達度を推定し、新たな敵キャラクタが出現する場所をプレイヤーキャラクタの近くにしたり遠くにしたりする。よって、ゲームが初心者にとっては難しくなり過ぎず、上級者にとっては簡単過ぎないように調節することができる。
【０１９９】
本実施例は２次元の仮想空間を考慮したが、３次元でも１次元でもよい。図１８に示すように、例えば３次元デカルト座標系を用いる場合、プレイヤーキャラクタ１８１０の位置と敵キャラクタ１８２０の位置との距離として、３軸方向のすべてを考慮した距離ＤＸＹＺを用いてもよいし、距離ＤＸＹＺの特定方向成分ＤＸ，ＤＹ，ＤＺ，ＤＸＹ，ＤＸＺ，ＤＹＺのいずれかを用いてもよい。
【０２００】
（実施例８）
次に、本発明の他の実施例について説明する。本実施例では、プレイヤーキャラクタと敵キャラクタの戦闘時間（対戦時間）が長いほど、次に出現させる新たな敵キャラクタの位置をプレイヤーキャラクタの近くにしたり遠くにしたりして変化させる。以下詳述する。
【０２０１】
本実施例の記憶部２０１は、図１９に示すように、敵キャラクタ情報として、敵キャラクタの識別情報と敵キャラクタの位置に加えて、プレイヤーキャラクタがその敵キャラクタとの戦闘状態に入った時刻（戦闘開始時刻）を更に対応付けて記憶する。移動部２０６は、プレイヤーキャラクタの位置と敵キャラクタの位置との距離が上述の第２の所定値Ｒ２以下になるようにプレイヤーキャラクタ及び／又は敵キャラクタを移動させた時刻を、戦闘開始時刻として記憶部２０１に記憶させる。
【０２０２】
計算部２０３は、新たな敵キャラクタを出現させるための基準距離として、戦闘状態に入ってからプレイヤーキャラクタが敵キャラクタに勝つまでに要した時間が長くなるにつれて増大する距離を計算する。すなわち、戦闘状態になってから戦闘状態が終わるまでの戦闘時間が長いほど基準距離を大きくし、戦闘時間が短いほど基準距離を小さくする。
【０２０３】
プレイヤーキャラクタが敵キャラクタに勝つまでに要した時間は、移動部２０６がプレイヤーキャラクタの位置と敵キャラクタの位置との距離が上述の第２の所定値Ｒ２以下になるように移動させた時刻（記憶部２０１に記憶されている戦闘開始時刻）と、消滅設定部２１１がその敵キャラクタを消滅させた時刻と、の差分として求めることができる。
【０２０４】
例えば、計算部２０３は、プレイヤーキャラクタと、現在時刻に最も近い時刻に（最も直近に）消滅した敵キャラクタと、の戦闘時間が長いほど、基準距離を大きくする。
【０２０５】
例えば、計算部２０３は、プレイヤーキャラクタと、直近に消滅した所定個数の敵キャラクタと、の戦闘時間の平均値（平均戦闘時間）を計算する。そして、計算された平均戦闘時間が長いほど、基準距離を大きくしてもよい。
【０２０６】
出現設定部２０４は、記憶部２０１に記憶された候補情報が示す敵キャラクタを出現させる候補の位置のうち、記憶部２０１に記憶されたプレイヤーキャラクタの位置までの距離が、計算部２０３により計算された基準距離に最も近い候補の位置を、新たに出現させる敵キャラクタの位置として記憶部２０１に記憶させて、新たな敵キャラクタを出現させる。
【０２０７】
つまり、戦闘を始めてから敵キャラクタを倒して消滅させるまでの時間が長いほど、次に出現する敵キャラクタの初期位置がプレイヤーキャラクタの位置から遠くになる。例えば、初心者のようにプレイヤーのゲームの上達度が低い場合（ゲームが下手な場合）や、プレイヤーキャラクタの攻撃力が弱い場合、戦闘を始めてから敵キャラクタを倒すまでの時間は長くなる傾向にあるので、新たな敵キャラクタはプレイヤーキャラクタから遠くの位置に出現しやすくなる。したがって、ゲーム装置２００は、プレイヤーの上達度がまだ低いうちに敵キャラクタが次々と近くにばかり出現してしまい、ゲームが初心者にとって難しすぎることがないように調節できる。
【０２０８】
また、戦闘を始めてから敵キャラクタを倒して消滅させるまでの時間が短いほど、次に出現する敵キャラクタの初期位置がプレイヤーキャラクタの位置の近くになる。例えば、上級者のようにプレイヤーのゲームの上達度が高い場合（ゲームが上手な場合）や、プレイヤーキャラクタの攻撃力が強い場合、敵キャラクタの寿命は短くなる傾向にあるので、敵キャラクタはプレイヤーキャラクタの近くの位置に出現しやすくなる。したがって、ゲーム装置２００は、プレイヤーの上達度が高いときに敵キャラクタが遠くにばかり出現してしまい、ゲームが上級者にとって易しすぎることがないように調節できる。
【０２０９】
本実施例のように戦闘状態と非戦闘状態とが存在するゲームの場合、計算部２０３は、いずれかの敵キャラクタと戦闘状態にある時間の合計（又は非戦闘状態でない時間の合計）を、プレイヤーキャラクタと敵キャラクタの戦闘時間（対戦時間）とみなして取り扱ってもよい。
【０２１０】
例えば、ゲームを一時中断する所定のコマンドをプレイヤー等から受け付けるとゲーム内における時間が一旦停止（ポーズ）し、再開する所定のコマンドをプレイヤー等から受け付けるとゲーム内における時間がまた進み始める、といった機能を備えたゲームにおいて、ポーズ期間中を非戦闘状態とし、それ以外を戦闘状態としてもよい。つまり戦闘によって属性パラメータが変化しうるゲーム時間内を戦闘状態としてもよい。
【０２１１】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例の各構成要素を自由に組み合わせることも可能である。
【０２１２】
上述の各実施例では、出現設定部２０４は敵キャラクタの出現位置を選択しているが、本発明は敵キャラクタに限らず他の任意のキャラクタオブジェクトを出現させる場合の出現位置の選択方法としても用いることができる。上述した敵キャラクタには、例えば地雷、落とし穴、ワナ、障害物など、プレイヤーキャラクタに対して何らかの悪い影響を及ぼす可能性のあるキャラクタオブジェクトも含めることができる。
【０２１３】
上述の各実施例では、出現設定部２０４は敵キャラクタの出現位置として１つの位置を選択しているが、Ｍ個以上（Ｍは２以上で候補数以下の整数）の位置を選択することもできる。この場合、出現設定部２０４は、ステップＳ６０４において、記憶部２０１に記憶された候補の中から基準距離に近いものの上位Ｍ個を選択し、これらＭ個の位置を新たな敵キャラクタの出現位置とすればよい。選択したＭ個の位置どうしは、敵キャラクタを配置するときに互いに重ならないように十分離れていることが望ましい。
【０２１４】
上述の各実施例では、プレイヤーキャラクタが１つであるとしているが、複数のプレイヤーが参加できるゲームのように複数のプレイヤーキャラクタがあってもよい。
【０２１５】
ゲーム装置２００を装置の全部又は一部として動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０２１６】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０２１７】
以上説明したように、本発明によれば、プレイヤーにとってゲームが難しすぎたり易しすぎたりしないように調節するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【０２１８】
【図１】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】ゲーム装置の各部が行う処理を説明するための図である。
【図３】（ａ）〜（ｃ）は記憶部に記憶される情報の構成例である。（ａ）はプレイヤーキャラクタの位置を示すデータの構成例である。（ｂ）は敵キャラクタの位置を示すデータの構成例である。（ｃ）は敵キャラクタの出現時の位置の候補を示すデータの構成例である。
【図４】ゲームの経過時間と、新たな敵キャラクタの出現位置を求めるための基準距離との関係の一例を示す図である。
【図５】基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。
【図６】ゲーム装置が行う出現設定処理を説明するためのフローチャートである。
【図７】実施例２において、ゲーム装置が行う処理を説明するためのフローチャートである。
【図８】実施例３において、ゲーム装置が行う処理を説明するためのフローチャートである。
【図９】敵キャラクタを移動させる位置の例を示す図である。
【図１０】実施例４において、ゲーム装置が行う出現設定処理を説明するためのフローチャートである。
【図１１】（ａ）（ｂ）共に、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。
【図１２】基準距離と、新たに敵キャラクタを出現させる位置の候補と、許容範囲との関係の例を示す図である。
【図１３】基準距離と、新たに敵キャラクタを出現させる位置の候補と、プレイヤーキャラクタの移動方向との関係の例を示す図である。
【図１４】実施例７のゲーム装置の機能的な構成を説明するための図である。
【図１５】プレイヤーキャラクタと敵キャラクタの位置関係を説明するための図である。
【図１６】（ａ）と（ｂ）はそれぞれ、記憶部に記憶される敵キャラクタ情報の構成例を示す図である。
【図１７】出現・消滅設定処理を説明するためのフローチャートである。
【図１８】プレイヤーキャラクタの位置と敵キャラクタの位置との距離を説明するための図である。
【図１９】実施例８において、記憶部に記憶される敵キャラクタ情報の構成例を示す図である。
【符号の説明】
【０２１９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００  ゲーム装置
２０１  記憶部
２０２  計測部
２０３  計算部
２０４  出現設定部
２０５  受付部
２０６  移動部
２０７  削除部
２０８  出力部
２０９  出現判断部
２１０  消滅判断部
２１１  消滅設定部
２１２  状態設定部
【図１】
0004392446.tif 000002
【図２】
0004392446.tif 000003
【図３】
0004392446.tif 000004
【図４】
0004392446.tif 000005
【図５】
0004392446.tif 000006
【図６】
0004392446.tif 000007
【図７】
0004392446.tif 000008
【図８】
0004392446.tif 000009
【図９】
0004392446.tif 000010
【図１０】
0004392446.tif 000011
【図１１】
0004392446.tif 000012
【図１２】
0004392446.tif 000013
【図１３】
0004392446.tif 000014
【図１４】
0004392446.tif 000015
【図１５】
0004392446.tif 000016
【図１６】
0004392446.tif 000017
【図１７】
0004392446.tif 000018
【図１８】
0004392446.tif 000019
【図１９】
0004392446.tif 000020