(57)【要約】【課題】プレイヤーにゲームをなるべく飽きさせないようにする。【解決手段】ゲーム装置５００は、第１キャラクターと第２キャラクターが含まれるゲームを実行する。ゲーム装置５００において、入力受付部５０１は、プレイヤーから指示入力を受け付ける。ゲーム進行部５０２は、受け付けられた指示入力に基づいて第１キャラクターを動作させ、ゲームを進行する。記録部５０３は、ゲーム進行部５０２による第１キャラクターの動作経過を記録する。修正部５０４は、動作経過が記録されてから現在までの経過に応じて、記録部５０３によって記録された動作経過を修正する。そして、ゲーム進行部５０２は、修正部５０４によって修正された動作経過に基づいて第２キャラクターを更に動作させる。【選択図】図５
2011188920.tif 000002
【特許請求の範囲】
【請求項１】
第１キャラクターと第２キャラクターとが含まれるゲームを実現するゲーム装置であって、
プレイヤーから指示入力を受け付ける入力受付部と、
前記受け付けられた指示入力に基づいて前記第１キャラクターを動作させて前記ゲームを進行するゲーム進行部と、
前記ゲーム進行部による前記第１キャラクターの動作経過を記録する記録部と、
前記動作経過が記録されてから現在までの経過に応じて、前記記録された動作経過を修正する修正部と、
を備え、
前記ゲーム進行部は、前記修正された動作経過に基づいて前記第２キャラクターを更に動作させて前記ゲームを進行する、
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記修正部は、前記経過の長さが長くなるほど、前記動作経過の修正量を大きくする、
ことを特徴とするゲーム装置。
【請求項３】
請求項２に記載のゲーム装置であって、
前記記録される動作経過は、前記受け付けられた指示入力と、前記指示入力が受け付けられた時刻と、を対応付ける履歴を表し、
前記修正部は、前記指示入力が受け付けられた時刻を変化させる量を前記修正量とし、前記記録された動作経過を修正する、
ことを特徴とするゲーム装置。
【請求項４】
請求項２に記載のゲーム装置であって、
前記記録される動作経過は、前記受け付けられた指示入力と、前記指示入力が受け付けられた時刻と、を対応付ける履歴を表し、
前記修正部は、前記記録された動作経過が示す履歴のうち前記受け付けられた指示入力を修正する履歴の割合を前記修正量とし、前記記録された動作経過を修正する、
ことを特徴とするゲーム装置。
【請求項５】
請求項１乃至４のいずれか１項に記載のゲーム装置であって、
前記ゲーム進行部は、前記ゲームにおける前記第１キャラクターの成績と前記第２キャラクターの成績を判定し、
前記記録部は、前記判定された第１キャラクターの成績が、前記判定された第２キャラクターの成績よりも優れている場合に、前記第１キャラクターの動作経過を記録する、
ことを特徴とするゲーム装置。
【請求項６】
請求項５に記載のゲーム装置であって、
前記記録部は、前記判定された第１キャラクターの成績が、前記判定された第２キャラクターの成績よりも優れている場合に、前記第２キャラクターの動作経過を削除する、
ことを特徴とするゲーム装置。
【請求項７】
請求項１乃至６のいずれか１項に記載のゲーム装置であって、
前記ゲーム進行部は、前記受け付けられた指示入力に基づいて前記第１キャラクターの動作結果を画面に表示し、前記修正された動作経過に基づいて前記第２キャラクターの動作結果を当該画面に表示する、
ことを特徴とするゲーム装置。
【請求項８】
入力受付部、ゲーム進行部、記録部、修正部を有し、第１キャラクターと第２キャラクターとが含まれるゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、
前記入力受付部が、プレイヤーから指示入力を受け付ける入力受付ステップと、
前記ゲーム進行部が、前記受け付けられた指示入力に基づいて前記第１キャラクターを動作させて前記ゲームを進行するゲーム進行ステップと、
前記記録部が、前記ゲーム進行ステップによる前記第１キャラクターの動作経過をメモリに記録する記録ステップと、
前記修正部が、前記動作経過が記録されてから現在までの経過に応じて、前記記録された動作経過を修正する修正ステップと、
を備え、
前記ゲーム進行ステップでは、前記ゲーム進行部は、前記修正された動作経過に基づいて前記第２キャラクターを更に動作させて前記ゲームを進行する、
ことを特徴とするゲーム処理方法。
【請求項９】
第１キャラクターと第２キャラクターとが含まれるゲームを実現するコンピュータを、
プレイヤーから指示入力を受け付ける入力受付部、
前記受け付けられた指示入力に基づいて前記第１キャラクターを動作させて前記ゲームを進行するゲーム進行部、
前記ゲーム進行部による前記第１キャラクターの動作経過を記録する記録部、
前記動作経過が記録されてから現在までの経過に応じて、前記記録された動作経過を修正する修正部、
として機能させ、
前記ゲーム進行部は、前記修正された動作経過に基づいて前記第２キャラクターを更に動作させて前記ゲームを進行する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
プレイの度にプレイヤーの操作履歴を記録し、次回以降のプレイ時に、記録された操作履歴に基づいて、いわゆる“ゴースト”を表示するゲームがある。このゴーストは、プレイヤーにとっての“過去の自分”の記録や“過去の他のプレイヤー”の記録を表すキャラクターである。例えば、自動車レースゲームの場合、現在プレイヤーが操作しているレーシングカーに加えて、過去に自分がプレイしたときの様子を表すゴーストカーが表示される。プレイヤーは、過去の自分の記録から見て、現在の自分の操作が向上しているかどうかを把握することができる。特許文献１には、現在プレイヤーが操作しているキャラクターを表示しつつ、ゴーストを分かりやすく提示するゲーム装置が開示されている。
【０００３】
また、記録された操作履歴に従って動作するキャラクターを、同じゲーム内における協力相手や対戦相手に選べるゲームがある。プレイヤーは、１人でプレイするときであっても、仮想的なキャラクターと協力してミッションを達成すべくゲームをプレイしたり、仮想的なプレイヤーを相手に対戦するゲームをプレイしたりすることが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３０８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のゲーム装置では、上述のゴーストや、協力相手や対戦相手となる仮想的なキャラクターは、過去の操作履歴をそのまま再現するため、プレイヤーがゲームを何度プレイしても相手が同じ動作をすることになり、プレイヤーのゲームへの関心を薄めてしまう恐れがあった。
【０００６】
本発明はこのような課題を解決するものであり、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００８】
本発明の第１の観点に係るゲーム装置は、第１キャラクターと第２キャラクターとが含まれるゲームを実現するゲーム装置であって、入力受付部、ゲーム進行部、記録部、修正部を備える。
入力受付部は、プレイヤーから指示入力を受け付ける。
ゲーム進行部は、受け付けられた指示入力に基づいて第１キャラクターを動作させてゲームを進行する。
記録部は、ゲーム進行部による第１キャラクターの動作経過を記録する。
修正部は、動作経過が記録されてから現在までの経過に応じて、記録された動作経過を修正する。
そして、ゲーム進行部は、修正された動作経過に基づいて第２キャラクターを更に動作させてゲームを進行する。
【０００９】
本発明のゲーム装置にて行われるゲームのプレイヤーは、人間、又は、ゲーム装置自体が制御する仮想プレイヤーである。ゲームに含まれるキャラクターには、第１プレイヤーが動作を指示する第１キャラクターと、第２プレイヤーが動作を指示する第２キャラクターとがある。第１プレイヤーが人間のプレイヤーであり、第２プレイヤーが仮想プレイヤーである。第１プレイヤーは、第２プレイヤーが指示を与える第２キャラクターを相手に第１キャラクターを対戦させたり、第２キャラクターと協力して第１キャラクターにミッションを達成させるべくゲームを進めたりする。
【００１０】
第１プレイヤーがゲームをプレイすると、そのゲームにおける第１キャラクターの動作経過が記録される。例えば、プレイヤーが指示された通りにマットを踏むとダンスを踊る感覚を体験できるダンスゲームにおいて、どのタイミングにマットのどの部分を踏んだかを示す情報が記録される。また、例えば、カーレーシングゲームにおいて、レーシングカーのコース取りやラップタイム等を示す情報が記録される。
【００１１】
第１プレイヤー（人間）には第１キャラクターが対応付けられ、第２プレイヤー（仮想プレイヤー）には第２キャラクターが対応付けられる。第１キャラクターは、第１プレイヤーからの指示入力に従って動作する。第２キャラクターは、以前に記録された動作経過に従ってゲーム装置が指示を与えることにより動作する。第２キャラクターの動作は、以前に記録された動作経過をそのまま再現する動作ではなく、以前に記録された動作経過を何らかの形で修正した動作である。
【００１２】
動作経過の修正の仕方は様々である。典型的には、動作経過は、動作経過が記録されてから経過した時間や、対戦相手もしくは協力相手として使用された回数や、対戦相手もしくは協力相手として使用されたときの第１プレイヤー（人間）の成績などに応じて、修正される。
例えば、ダンスゲームにおいて、仮想プレイヤーがマットを踏んだと見なされるタイミングが、動作経過が示すタイミングの前後にずれる。あるいは、仮想プレイヤーが踏んだと見なされるマット内の位置が、動作経過が示す位置の周辺にずれる。
例えば、カーレーシングゲームにおいて、仮想プレイヤーがアクセルやブレーキを踏んだと見なされるタイミングが、動作経過が示すタイミングの前後にずれる。あるいは、仮想プレイヤーが行ったとみなされるハンドル操作が、動作経過が示すハンドル操作と異なったものに変わる。
【００１３】
従って、第１プレイヤーは、単純に“過去の自分”と一緒にゲームができるだけではなく、時間の経過と共に“過去の自分”から成長したり劣化したりした“修正された過去の自分”と一緒にゲームができるのである。ただし、修正対象の動作経過は、“過去の自分”の記録を表すものであってもよいし、“自分以外の過去の誰か”の記録を表すものであってもよい。本発明によれば、プレイヤーは、自分の向上度合いの目安を把握できるだけでなく、常に違った（仮想の）相手とゲームを楽しむことができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【００１４】
修正部は、経過の長さが長くなるほど、動作経過の修正量を大きくしてもよい。
【００１５】
すなわち、動作経過が記録されてから時間が経つほど、“過去の自分”が大きく成長したり劣化したりする。本発明によれば、（仮想の）相手が進化していくので、プレイヤーにゲームをなるべく飽きさせないようにする効果が増す。
【００１６】
記録される動作経過は、受け付けられた指示入力と、指示入力が受け付けられた時刻と、を対応付ける履歴を表してもよい。
そして、修正部は、指示入力が受け付けられた時刻を変化させる量を修正量とし、記録された動作経過を修正してもよい。
【００１７】
つまり、時間の経過とともに、仮想プレイヤーの指示タイミングがだんだんとずれていく。例えばダンスゲームにおいて、マットを踏んだと見なされるタイミングが前後にずれていく。例えばカーレーシングゲームにおいて、アクセルやブレーキを踏むタイミングやハンドルを切るタイミングが前後にずれていく。タイミングは、遅くなるように修正されてもよいし、早くなるように修正されてもよい。本発明によっても、プレイヤーにゲームをなるべく飽きさせないようにする効果が増す。
【００１８】
記録される動作経過は、受け付けられた指示入力と、指示入力が受け付けられた時刻と、を対応付ける履歴を表してもよい。
そして、修正部は、記録された動作経過が示す履歴のうち受け付けられた指示入力を修正する履歴の割合を修正量とし、記録された動作経過を修正してもよい。
【００１９】
つまり、時間の経過とともに、仮想プレイヤーの指示内容がだんだんと変化していく。例えばダンスゲームにおいて、仮想プレイヤーが踏んだと見なされるマットの位置が、その周辺にずれていく。例えばカーレーシングゲームにおいて、アクセルやブレーキの踏み込み量やハンドルを切る量が増減する。指示内容は、既に記録された動作経過と異なる内容であれば、どのような内容に修正されてもよい。本発明によっても、プレイヤーにゲームをなるべく飽きさせないようにする効果が増す。
【００２０】
ゲーム進行部は、ゲームにおける第１キャラクターの成績と第２キャラクターの成績を判定してもよい。
そして、記録部は、判定された第１キャラクターの成績が、判定された第２キャラクターの成績よりも優れている場合に、第１キャラクターの動作経過を記録してもよい。
【００２１】
つまり、人間のプレイヤーが操作する第１キャラクターが、仮想プレイヤーが操作する第２キャラクターよりも優れた成績を収めると、その第１キャラクターの今回の動作経過が保存される。本発明によれば、既に記録された動作経過よりも成績が優れた新たな動作経過が追加されていくので、プレイヤーは、自分の腕に合ったレベルの仮想の相手とゲームができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【００２２】
記録部は、判定された第１キャラクターの成績が、判定された第２キャラクターの成績よりも優れている場合に、第２キャラクターの動作経過を削除してもよい。
【００２３】
つまり、人間のプレイヤーが操作する第１キャラクターが、仮想プレイヤーが操作する第２キャラクターよりも優れた成績を収めると、その第１キャラクターの今回の動作経過が保存され、代わりに、その第２キャラクターの動作の基となった動作経過が削除される。本発明によれば、プレイヤーは、自分の腕に合ったレベルの仮想の相手とゲームができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【００２４】
ゲーム進行部は、受け付けられた指示入力に基づいて第１キャラクターの動作結果を画面に表示し、修正された動作経過に基づいて第２キャラクターの動作結果を当該画面に表示してもよい。
【００２５】
すなわち、プレイヤーは、今回のゲーム成績やゲーム状況だけでなく、協力相手もしくは対戦相手となる“過去の自分”等のゲーム成績やゲーム経過も把握できるので、自分の上達度の目安を簡単に把握することができる。本発明によれば、ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【００２６】
本発明のその他の観点に係るゲーム処理方法は、入力受付部、ゲーム進行部、記録部、修正部を有し、第１キャラクターと第２キャラクターとが含まれるゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、入力受付ステップ、ゲーム進行ステップ、記録ステップ、修正ステップを備える。
入力受付ステップでは、入力受付部が、プレイヤーから指示入力を受け付ける。
ゲーム進行ステップでは、ゲーム進行部が、受け付けられた指示入力に基づいて第１キャラクターを動作させてゲームを進行する。
記録ステップでは、記録部が、ゲーム進行ステップによる第１キャラクターの動作経過をメモリに記録する。
修正ステップでは、修正部が、動作経過が記録されてから現在までの経過に応じて、記録された動作経過を修正する。
そして、ゲーム進行ステップでは、ゲーム進行部は、修正された動作経過に基づいて第２キャラクターを更に動作させてゲームを進行する。
【００２７】
本発明によれば、プレイヤーは、自分の向上度合いの目安を把握できるだけでなく、常に違った（仮想の）相手とゲームを楽しむことができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【００２８】
本発明のその他の観点に係るプログラムは、第１キャラクターと第２キャラクターとが含まれるゲームを実現するコンピュータを、入力受付部、ゲーム進行部、記録部、修正部として機能させる。
入力受付部は、プレイヤーから指示入力を受け付ける。
ゲーム進行部は、受け付けられた指示入力に基づいて第１キャラクターを動作させてゲームを進行する。
記録部は、ゲーム進行部による第１キャラクターの動作経過を記録する。
修正部は、動作経過が記録されてから現在までの経過に応じて、記録された動作経過を修正する。
そして、ゲーム進行部は、修正された動作経過に基づいて第２キャラクターを更に動作させてゲームを進行する。
【００２９】
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３０】
本発明によれば、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】コントローラの構成を説明するための図である。
【図３】シングルプレイにおけるゲームの画面の構成例を示す図である。
【図４】マルチプレイにおけるゲームの画面の構成例を示す図である。
【図５】ゲーム装置の機能的な構成を説明するための図である。
【図６】（ａ），（ｂ）はキャラクターを説明するための図である。
【図７】経過時間と動作経過の修正量との関係の例を示す図である。
【図８】経過時間と動作経過の修正量との関係の他の例を示す図である。
【図９】動作経過の記録処理を説明するためのフローチャートである。
【図１０】ゲーム処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００３２】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００３３】
図１は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。以下、本図を参照して説明する。
【００３４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００３５】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００３６】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３７】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３８】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３９】
インターフェース１０４を介して接続されたコントローラ１０５は、プレイヤーがダンスゲームやレーシングゲームなどのゲームの実行の際に行う操作入力を受け付ける。インターフェース１０４には、複数のコントローラ１０５が接続されていてもよい。
【００４０】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームのプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。プレイヤーは、コントローラ１０５を介して操作入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００４１】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００４２】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニター（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００４３】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００４４】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００４５】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００４６】
また、ゲームの画像などの情報をＤＶＤ−ＲＯＭに用意しておき、これをフレームメモリに展開することによって、ゲームの様子などを画面に表示することができるようになる。
【００４７】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカー（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカーから出力させる。
【００４８】
音声処理部１０９では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩ（Musical Instrument Digital Interface）データである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭ（Pulse Code Modulation）データに変換する。また、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカーに出力することにより、音声出力が可能となる。
【００４９】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５０】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５１】
図２は、上記構成を有する情報処理装置１００によって実現されるゲーム装置に接続されるコントローラ１０５の概略図である。コントローラ１０５は、床の上などに敷くマット型コントローラである。コントローラ１０５には、左ボタン２０１、下ボタン２０２、上ボタン２０３、右ボタン２０４等が配置されている。コントローラ１０５には、一般にプレイヤーが足で踏むことによって指示が入力される。ただし、プレイヤーは手で各ボタンを押圧することにより指示を入力することも可能である。
【００５２】
図３は、本実施形態のゲーム装置において行われるダンスゲームの画面３００の構成例である。画面３００は、１人でプレイするとき（以下「シングルプレイ」という。）のゲーム画面を表している。画面３００には、画面３００内の所定位置に固定して描画される静止マーク３０１〜３０４、描画位置が時間の経過と共に移動する踏み位置指示マーク３１０（本図中では３１０Ａ，３１０Ｂ，３１０Ｃ，３１０Ｄの４種類）、プレイヤー（又はキャラクター）がゲームで獲得した点数３２０、プレイヤー（又はキャラクター）のゲーム成績を表すゲージ３３０、その他の背景画像などが表示される。
【００５３】
まず、本実施形態のゲーム装置で行われるゲームについて説明する。本ゲームでは、ゲーム装置により音楽が再生される。プレイヤーは踏み位置指示マーク３１０に合わせて指示を入力することにより、再生される音楽に合わせてダンスをしている感覚を味わうことができる。
【００５４】
踏み位置指示マーク３１０は、再生される音楽に合わせてスクロール表示される。踏み位置指示マーク３１０には、ボタン２０１〜２０４に対応する上下左右のいずれかの矢印が描かれている。踏み位置指示マーク３１０が音楽に合わせて移動することによって、ボタン２０１〜２０４を押圧すべきタイミングがプレイヤーに提示される。
【００５５】
静止マーク３０１〜３０４は、それぞれ、ボタン２０１〜２０４をプレイヤーが押圧すべきタイミング（以下「課題時刻」ともいう。）を指示するマークである。静止マーク３０１〜３０４には、上下左右のいずれかの矢印の画像が描かれている。
【００５６】
踏み位置指示マーク３１０は、静止マーク３０１〜３０４が描画されている位置に向かって音楽の再生速度に合わせて移動していく。静止マーク３０１〜３０４と同じ位置に踏み位置指示マーク３１０が移動してきたときに、静止マーク３０１〜３０４に描かれる矢印の向きに対応するボタン２０１〜２０４のいずれかをプレイヤーが押圧すると、プレイヤーの点数３２０に所定点数が加算されたり、ゲージ３３０が示す値（ダンスメーター）がアップしたりする。
【００５７】
ＣＰＵ  １０１は、予め対応付けられる課題時刻に予め決められたゲーム課題をプレイヤーが達成したと判別すると、プレイヤーのゲーム成績が優れていると評価し、ゲージ３３０が示す値を増加させたり点数３２０が示す値を増加させたりする。また、ＣＰＵ  １０１は、ゲーム課題が達成された時刻が課題時刻に近いほど、ゲーム成績がより優れていると評価する。
【００５８】
例えば、踏み位置指示マーク３１０が静止マーク３０１〜３０４のいずれかと重なる位置に移動してきたときに、移動してきた踏み位置指示マーク３１０に示される矢印に対応するボタン（ボタン２０１〜２０４のいずれか）をプレイヤーが片足で押圧すると、再生されている音楽に合った模範的なダンスステップを踏むことができるようになっている。
【００５９】
課題時刻とその課題時刻に押圧すべきボタンを指定する情報との組み合わせを「ゲーム課題」と呼ぶ。１つのゲーム課題は［数１］のように表される。
【００６０】
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（ｘ））      ・・・［数１］
【００６１】
ただし、本実施形態のゲームにはＮ個（Ｎは１以上の整数）のゲーム課題が存在することとし、Ｐ（ｉ）は先頭からｉ番目（ｉは１以上Ｎ以下の整数）のゲーム課題を表し、Ｔ（ｉ）はゲーム課題Ｐ（ｉ）に対応する課題時刻を表し、Ｂ（ｘ）は課題内容を表す。
【００６２】
課題内容Ｂ（ｘ）には、ボタン２０１を示す値Ｂ（Ｌ）、ボタン２０２を示す値Ｂ（Ｄ）、ボタン２０３を示す値Ｂ（Ｕ）、ボタン２０４を示す値Ｂ（Ｒ）のいずれかが指定される。
【００６３】
例えば、あるゲーム課題が、［数２］のように表されるとする。
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（Ｌ））      ・・・［数２］
このとき、ゲームのｉ番目のゲーム課題は「課題時刻Ｔ（ｉ）にコントローラ１０５の左ボタン２０１を押圧すること」である。プレイヤーは、通常、ゲーム内の時間がＴ（ｉ）になったとき、左ボタン２０１を足で踏めばよい。
【００６４】
１つの課題時刻に、複数の課題内容を対応付けることも可能である。ただし、１つの課題時刻には、最大でも２つまでの課題内容を対応付けることが望ましい。例えば課題時刻Ｔ（ｉ）に２つの課題内容Ｂ（ｘ１），Ｂ（ｘ２）を対応付ける場合、ゲーム課題は［数３］のように表される。
【００６５】
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（ｘ１），Ｂ（ｘ２））  ・・・［数３］
【００６６】
あるいは、［数４］と［数５］に示すように、２つの異なるゲーム課題として表してもよい。
【００６７】
Ｐ（ｉ）      ＝  （Ｔ（ｉ），Ｂ（ｘ１））      ・・・［数４］
Ｐ（ｉ＋１）  ＝  （Ｔ（ｉ），Ｂ（ｘ２））      ・・・［数５］
【００６８】
例えば、あるゲーム課題が、［数６］のように表されるとする。
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（Ｌ），Ｂ（Ｒ））      ・・・［数６］
このとき、ゲームのｉ番目のゲーム課題は「課題時刻Ｔ（ｉ）に、コントローラ１０５の左ボタン２０１を押圧し、且つ、コントローラ１０５の右ボタン２０４を押圧すること」である。プレイヤーは、ゲーム内の時間がＴ（ｉ）になったとき、左ボタン２０１と右ボタン２０４の両方を足で踏めばよい。
【００６９】
ＣＰＵ  １０１は、ボタン２０１〜２０４のうち課題内容によって示されるボタンが課題時刻にどの程度近いタイミングで押圧されたかに基づいて、それぞれのゲーム課題についてのプレイヤー（又はキャラクター）の成績を判定する。例えば、ＣＰＵ  １０１は、課題内容によって示されるボタンが課題時刻と同じタイミングで押圧されると“ＰＥＲＦＥＣＴ”（最も優れている）、課題内容によって示されるボタンが課題時刻の前後の所定余裕幅以内のタイミングで押圧されると“ＧＯＯＤ”（まあまあ合っている）、その他のタイミングで押圧されるかもしくは押圧されなかったときは“ＢＯＯ”（間違っている）、などのように判定する。
【００７０】
図４は、本実施形態のゲーム装置において行われるゲームの画面４００の他の構成例である。画面４００は、同一ゲームを複数人（本図では２人）でプレイする（以下「マルチプレイ」という。）ときのゲーム画面を表している。マルチプレイでは、参加するすべてのプレイヤーが人間であってもよいし、参加するプレイヤーの一部又は全部が、ＣＰＵ  １０１によって制御される仮想プレイヤー（ＮＰＣ；Non Player Character）であってもよい。
【００７１】
複数の人間のプレイヤーがゲームに参加する場合、インターフェース１０４には、少なくともそれらのプレイヤーの人数分のコントローラ１０５が接続され、コントローラ１０５が各人に１つずつ割り当てられる。ゲームに仮想プレイヤーが参加する場合、その仮想プレイヤーにはコントローラ１０５が割り当てられなくてもよい。
【００７２】
画面４００の左側エリア４４０は、第１プレイヤーに割り当てられる表示エリアである。左側エリア４４０には、所定位置に固定して描画される静止マーク４０１〜４０４、描画位置が時間の経過と共に移動する踏み位置指示マーク４１０（本図中では４１０Ａ，４１０Ｂ，４１０Ｃ，４１０Ｄの４種類）、第１プレイヤー（又は第１キャラクター）がゲームで獲得した点数４２０、第１プレイヤー（又は第１キャラクター）のゲーム成績を表すゲージ４３０、その他の背景画像などが表示される。
【００７３】
第１プレイヤーが人間である場合、その第１プレイヤーは、左側エリア４４０を見ながらゲームをプレイする。静止マーク４０１〜４０４が表示される位置に踏み位置指示マーク４１０Ａ〜４１０Ｄが移動してきたときに、移動してきた踏み位置指示マーク４１０Ａ〜４１０Ｄに示される矢印に対応するボタン（ボタン２０１〜２０４のいずれか）が第１プレイヤーによって押圧されると、ＣＰＵ  １０１は、点数４２０に所定点数を加算したり、ゲージ４３０が示す値をアップしたりする。
【００７４】
第１プレイヤーが仮想プレイヤーである場合、後述するように、ＣＰＵ  １０１は、外部メモリ１０６等に記憶されている過去のプレイ記録に基づいてボタン２０１〜２０４が押圧されたとみなして成績を判定し、点数４２０に所定点数を加算したり、ゲージ４３０が示す値をアップしたりする。
【００７５】
画面４００の右側エリア４９０は、第２プレイヤーに割り当てられる表示エリアである。右側エリア４９０には、左側エリア４４０と同様に、所定位置に固定して描画される静止マーク４５１〜４５４、描画位置が時間の経過と共に移動する踏み位置指示マーク４６０（本図中では４６０Ａ，４６０Ｂ，４６０Ｃ，４６０Ｄの４種類）、第２プレイヤー（又は第２キャラクター）がゲームで獲得した点数４７０、第２プレイヤー（又は第２キャラクター）のゲーム成績を表すゲージ４８０、その他の背景画像などが表示される。
【００７６】
第２プレイヤーが人間である場合、その第２プレイヤーは、右側エリア４９０を見ながらゲームをプレイする。静止マーク４５１〜４５４が表示される位置に踏み位置指示マーク４６０Ａ〜４６０Ｄが移動してきたときに、移動してきた踏み位置指示マーク４６０Ａ〜４６０Ｄに示される矢印に対応するボタン（ボタン２０１〜２０４のいずれか）が第２プレイヤーによって押圧されると、ＣＰＵ  １０１は、点数４７０に所定点数を加算したり、ゲージ４８０が示す値をアップしたりする。
【００７７】
第２プレイヤーが仮想プレイヤーである場合、後述するように、ＣＰＵ  １０１は、外部メモリ１０６等に記憶されている過去のプレイ記録に基づいてボタン２０１〜２０４が押圧されたとみなして成績を判定し、点数４７０に所定点数を加算したり、ゲージ４８０が示す値をアップしたりする。
【００７８】
第１プレイヤーと第２プレイヤーは、いずれも、人間であってもよいし、仮想プレイヤーであってもよい。
【００７９】
第１プレイヤーと第２プレイヤーの両方が人間である場合、ゲームモードは「マルチプレイ」モードである。マルチプレイモードには、例えば、第１プレイヤーと第２プレイヤーが協力して共通のミッションを達成するような「協力モード」や、第１プレイヤーと第２プレイヤーがスコアを競い合う「対戦モード」がある。
【００８０】
第１プレイヤーと第２プレイヤーの両方が仮想プレイヤーである場合、ゲームモードは「デモンストレーション」モードである。例えば、一定時間以上ゲームを開始する旨の指示がなされずに放置された場合、ＣＰＵ  １０１は、第１プレイヤーと第２プレイヤーを共に仮想プレイヤーに設定したゲームのデモンストレーションを実行し、ゲームの説明や紹介などを行う。
【００８１】
第１プレイヤーと第２プレイヤーのどちらか一方が人間であり、もう片方が仮想プレイヤーである場合、ゲームモードは「仮想マルチプレイ」モードである。仮想マルチプレイモードでは、ＣＰＵ  １０１は、人間のプレイヤー（例えば第１プレイヤー）については、コントローラ１０５が受け付けた指示入力に基づいて成績を判定し、仮想プレイヤー（例えば第２プレイヤー）については、外部メモリ１０６等に記憶されている過去のプレイ記録に基づいて成績を判定して、ゲームを進行する。人間のプレイヤーは、１人でゲームをプレイしつつも、あたかも他の人間と協力したり他の人と対戦したりするかのように、ゲームを楽しむことができる。
【００８２】
次に、上記構成を有する情報処理装置１００により実現される、本実施形態のゲーム装置５００の機能的な構成等について説明する。図５は、ゲーム装置５００の機能的な構成を示す図である。ゲーム装置５００は、入力受付部５０１、ゲーム進行部５０２、記録部５０３、修正部５０４を備える。
【００８３】
本実施形態では、ゲーム装置５００にて行われるゲームは、仮想マルチプレイモードで行われるゲームである。説明を分かりやすくするため、２人のプレイヤーがゲームに参加するものとし、一方のプレイヤー（以下「第１プレイヤー」という。）が人間であり、他方のプレイヤー（以下「第２プレイヤー」という。）がＣＰＵ  １０１によって制御される仮想プレイヤーである。
【００８４】
入力受付部５０１は、第１プレイヤーから指示入力を受け付ける。プレイヤー（ただし、仮想プレイヤーを除く。）は、コントローラ１０５のボタン２０１〜２０４を押圧することにより、所望の指示を入力することができる。ＣＰＵ  １０１とコントローラ１０５が協働して、入力受付部５０１として機能する。
【００８５】
ゲーム進行部５０２は、入力受付部５０１により受け付けられた第１プレイヤーからの指示入力に基づいて自身のキャラクター（以下「第１キャラクター」という。）を動作させ、ゲームを進行する。ＣＰＵ  １０１がゲーム進行部５０２として機能する。
【００８６】
ゲーム装置５００にて行われるゲームに含まれるキャラクターには、入力受付部５０１により受け付けられた第１プレイヤーからの指示入力に基づいて動作する第１キャラクターと、ＣＰＵ  １０１が制御する第２プレイヤー（仮想プレイヤー）からの指示に基づいて動作するキャラクター（以下「第２キャラクター」という。）とがある。各プレイヤーには１つのキャラクターが対応付けられる。キャラクターは、プレイヤーの指示によって動作したり、プレイヤーの指示によって属性パラメータが変化したりする、プレイヤーの指示対象である。
【００８７】
本実施形態におけるキャラクターは、上述のダンスゲームにおいて、プレイヤーに対応付けられ、プレイヤーの指示に基づいて変化する成績やプレイヤー（あるいはキャラクター）に関する情報等が格納されるデータ構造体である。
【００８８】
図６（ａ）に、データ構造体の構成例を示す。第１プレイヤーに対応付けられる第１キャラクター６０１は、例えば、第１プレイヤーに対応付けて、現在プレイ中のゲームのスコア、現在のゲージ４３０が示す値、現在プレイ中のゲームのコンボ数（判定「ＧＲＥＡＴ」を連続して獲得した回数）、過去のプレイを含めたハイスコア、過去のプレイ結果による第１プレイヤーのランク、などを格納するデータ構造体が、第１キャラクター６０１である。同様に、第２プレイヤーに対応付けてスコア等を格納するデータ構造体が、第２キャラクター６０２である。
【００８９】
本実施形態でいうデータ構造体とは、例えば、コンピュータプログラムを記述する上で用いられるＣ言語等における構造体（struct）に相当する。構造体に含まれるデータ（メンバー）の数、型、具体的な内容は、本発明によって限定されない。
【００９０】
本実施形態のように、キャラクターは、人間のプレイヤーが容易にそれと視認できる画像を伴わない抽象的な概念であってもよいが、仮想的なダンサーの画像などのようにプレイヤーが容易に視認できる画像データを伴うものであってもよい。
【００９１】
例えば、レーシングゲームでは、プレイヤーの指示によってコース取りやスピード等が変化する仮想的なレーシングカーや、そのレーシングカーを運転する仮想的なドライバーなどが、キャラクターとなり得る。図６（ｂ）に、レーシングゲームにおけるキャラクターを示す。第１キャラクター６１１は、第１プレイヤーの指示対象であるレーシングカーを表す画像である。第２キャラクター６１２は、第２プレイヤーの指示対象であるレーシングカーを表す画像である。
【００９２】
また、ゲーム進行部５０２は、修正部５０４によって修正された動作経過に基づいて第２キャラクターを動作させるのであるが、詳細は後述する。
【００９３】
次に、記録部５０３は、ゲーム進行部５０２による第１キャラクターの動作経過を記録する。ＣＰＵ  １０１と外部メモリ１０６が協働して、記録部５０３として機能する。
【００９４】
より詳細には、ＣＰＵ  １０１は、ゲーム中、第１プレイヤーからの指示入力に基づいて動作した第１キャラクターの動作経過をいったんＲＡＭ  １０３に記憶しておき、ゲーム終了後、ＲＡＭ  １０３に一次記憶した動作経過を、ゲームが行われた時刻（タイムスタンプ）と対応付けて、外部メモリ１０６に保存する。１件の動作経過は、１つのゲームが開始されてから終了されるまでの第１キャラクターの振る舞いを表す。外部メモリ１０６に保存される動作経過の件数は任意である。
【００９５】
動作経過は、受け付けられた指示入力"P"と、その指示入力"P"が受け付けられた時刻"Q"と、の対応付け{P,Q}を１つの配列要素とし、少なくとも受け付けられた指示入力の数以上の配列数"X"を有する構造体配列変数"ARRAY"を用いて表される。
【００９６】
ARRAY  ＝  {ARRAY[0], ARRAY[1], ARRAY[2],・・・,  ARRAY(X-1)}
ARRAY[n]  ＝  { P(n), Q(n) }                                ・・・［数７］
ただし、nは0以上X-1以下の整数。
P(n)：受け付けられた指示入力を示す情報。
Q(n)：時刻。
【００９７】
時刻"Q"は、典型的には、現実の年月日(yyyymmdd)と時刻(hhmmss)とで表される。
【００９８】
なお、受け付けられた指示入力"P"の代わりに、受け付けられた指示入力"P"によって変化した後のキャラクターの状態"R"が用いられてもよい。
【００９９】
ARRAY  ＝  {ARRAY[0], ARRAY[1], ARRAY[2],・・・, ARRAY(X-1)}
ARRAY[n]  ＝  { R(n), Q(n) }                                ・・・［数８］
ただし、nは0以上X-1以下の整数。
R(n)：指示入力によって変化した後のキャラクターの状態を表す情報。
Q(n)：時刻。
【０１００】
キャラクターの状態は、例えば、レーシングゲームにおけるレーシングカーの位置座標や移動速度、ダンスゲームにおける足譜ごとの成績、格闘ゲームにおけるキャラクターの体力値、などである。
【０１０１】
記録される動作履歴は、仮想プレイヤーによってなされたものとして扱われる指示入力を決定する際に用いられる。プレイヤーが仮想プレイヤーを相手にマルチプレイでゲームをする場合、そのプレイヤーは、例えば“過去の自分”の記録を基に作られた仮想プレイヤーと一緒にゲームをすることができる。
【０１０２】
なお、ＣＰＵ  １０１は、動作履歴と対応付けて、ゲームをプレイしたプレイヤーを識別する情報（例えばユーザ名等）あるいはキャラクターを識別する情報（例えばキャラクター名）を外部メモリ１０６に記録してもよい。
【０１０３】
次に、修正部５０４は、記録部５０３によって動作経過が記録されてから現在までの経過に応じて、記録されたその動作経過を修正する。第２キャラクターは、修正された動作経過に基づいて動作することになる。ＣＰＵ  １０１が、修正部５０４として機能する。
【０１０４】
動作履歴の修正の仕方には様々なバリエーションがあり、以下に幾つか例示する。
【０１０５】
（１）時刻"Q"を変化させる手法：
ＣＰＵ  １０１は、動作経過が外部メモリ１０６に記録された時刻からの経過時間に応じて、指示入力が受け付けられた時刻"Q"を変化させる。より詳細には、ＣＰＵ  １０１は、動作経過が外部メモリ１０６に記録された時刻からの経過時間が長ければ長いほど、時刻"Q"を変化させる時間の幅を大きくする。
【０１０６】
図７に示すように、ＣＰＵ  １０１は、経過時間の増加に対して、時刻"Q"の修正量を単調増加させる。例えばダンスゲームにおいて、指示入力「ボタン２０１を押圧する」がゲーム内時刻「音楽再生開始からＸ秒後の時刻」になされた旨が、動作経過に記録されている場合、この動作経過が記録された日時から現在行っているゲームの開始日時までに時間ＴＡだけ経過していると、ＣＰＵ  １０１は、その指示入力「ボタン２０１を押圧する」が、ゲーム内時刻「音楽再生開始からＸ＋Ｔ１秒後の時刻」になされたものと修正する。つまり、第１プレイヤーの協力相手もしくは対戦相手となる第２プレイヤー（仮想プレイヤー）が指示を入力する時刻が、時間Ｔ１だけ遅れる。
【０１０７】
更に、その動作経過が記録された日時から現在行っているゲームの開始日時までに時間ＴＢ（ＴＡ＜ＴＢ）だけ経過すると、ＣＰＵ  １０１は、その指示入力「ボタン２０１を押圧する」が、ゲーム内時刻「音楽再生開始からＸ＋Ｔ２秒後の時刻」（ただしＴ１＜Ｔ２）になされたものと修正する。つまり、第１プレイヤーの協力相手もしくは対戦相手となる第２プレイヤー（仮想プレイヤー）が指示を入力する時刻が、更に時間（Ｔ２−Ｔ１）だけ遅れ、トータルで時間Ｔ２だけ遅れる。このように、ＣＰＵ  １０１は、第２プレイヤーが指示を入力する時刻をだんだんと遅くすることにより、仮想プレイヤーがより“のろまな性格”になるように育成してもよい。
【０１０８】
ＣＰＵ  １０１は、第２プレイヤーが指示をする時刻を、遅くする代わりに、早くしてもよい。すなわち、ＣＰＵ  １０１は、その指示入力「ボタン２０１を押圧する」が、ゲーム内時刻「音楽再生開始からＸ−Ｔ１秒後の時刻」になされたものと修正してもよい。つまり、第１プレイヤーの協力相手もしくは対戦相手となる第２プレイヤー（仮想プレイヤー）が指示を入力する時刻が、時間Ｔ１だけ早まる。このように、ＣＰＵ  １０１は、第２プレイヤーが指示を入力する時刻をだんだんと早くすることによって、仮想プレイヤーがより“せっかちな性格”になるように育成してもよい。
【０１０９】
あるいは、ＣＰＵ  １０１は、第２プレイヤーが指示を入力する時刻を早くするか遅くするかをランダムに決定してもよい。
【０１１０】
仮に、人間のプレイヤーが仮想プレイヤーを相手に仮想マルチプレイでゲームをするときに、仮想プレイヤーの行動パターンが常に決まっていると、ゲームを重ねるたびに新鮮さが失われていき、最終的にゲームへの関心が薄れてしまう恐れがある。しかし、本実施形態のように、仮想プレイヤーの強さ（ゲームの上手さ）が時間の経過と共に変化するようにすれば、プレイヤーは、ゲームをプレイするたびに、異なった面白さを体験することができる。ゲーム装置５００は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【０１１１】
（２）指示入力"P"を変化させる手法：
ＣＰＵ  １０１は、動作経過が記録された時刻からの経過時間に応じて、指示入力"P"を変化させる。より詳細には、ＣＰＵ  １０１は、動作経過が記録された時刻からの経過時間が長ければ長いほど、動作経過に含まれるすべての指示入力"P"のうち変化させる対象の指示入力の割合を大きくする。
【０１１２】
図８に示すように、ＣＰＵ  １０１は、経過時間の増加に対して、指示入力"P"の修正量を単調増加させる。ただし、修正量は、最終的に１００％に収束する。
例えばダンスゲームにおいて、動作経過にＸ個の指示入力が含まれている場合、この動作経過が記録された日時から現在行っているゲームの開始日時までに時間ＴＣだけ経過していると、ＣＰＵ  １０１は、Ｘ個のすべての指示入力のうち、割合Ｒ１の個数の指示入力について、指示入力を修正する。ＣＰＵ  １０１は、例えば、Ｘ個のすべての指示入力のうちの２０％を修正し、残りの８０％は修正しない、といったように、修正対象となる指示入力の個数を調整する。
【０１１３】
更に、その動作経過が記録された日時から現在行っているゲームの開始日時までに時間ＴＤ（ＴＣ＜ＴＤ）だけ経過していると、ＣＰＵ  １０１は、Ｘ個のすべての指示入力のうち、割合Ｒ２（Ｒ１＜Ｒ２））の指示入力について、指示入力を修正する。つまり、時間が経つほど、第２プレイヤーが指示する内容が大きく変わっていく。
【０１１４】
上述のダンスゲームでは、ゲーム課題ごとに、プレイヤーが達成すべき課題内容Ｂ（ｘ）が決まっている。言い換えれば、ゲーム課題ごとに、最もふさわしい“正解”が定義されている。ＣＰＵ  １０１は、動作経過が記録された時刻から現在までの経過時間が長いほど、第２プレイヤーによる指示内容が“正解”からだんだん大きく外れていくように、修正してもよい。このように、ＣＰＵ  １０１は、第２プレイヤーの成績が徐々に悪くなるように第２プレイヤーの指示内容を変えることによって、仮想プレイヤーがより“下手”になるように育成してもよい。
【０１１５】
ＣＰＵ  １０１は、第２プレイヤーの成績が悪くなるように第２プレイヤーの指示内容を変える代わりに、第２プレイヤーの成績が良くなるように第２プレイヤーの指示内容を変えてもよい。すなわち、ＣＰＵ  １０１は、動作経過が記録された時刻から現在までの経過時間が長いほど、第２プレイヤーによる指示内容が“正解”に近づいていくように、修正してもよい。このように、ＣＰＵ  １０１は、第２プレイヤーの成績が良くなるように第２プレイヤーの指示内容を変えるによって、仮想プレイヤーがより“上手”になるように育成してもよい。
【０１１６】
この（２）の手法によっても、プレイヤーは、ゲームをプレイするたびに、異なった面白さを体験することができるようになる。ゲーム装置５００は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【０１１７】
（３）その他の手法：
ＣＰＵ  １０１は、動作経過が記録された時刻からの経過時間に応じて指示入力"P"や時刻"Q"を変化させる代わりに、対戦相手もしくは協力相手として一緒にプレイした回数に応じて指示入力"P"や時刻"Q"を変化させてもよい。この場合、ＣＰＵ  １０１は、対戦相手もしくは協力相手として選択された回数と対応付けて動作経過を記録すればよく、必ずしもゲームが行われた時刻と対応付けて動作経過を記録しなくてもよい。
【０１１８】
例えば、ＣＰＵ  １０１は、選択された回数が多ければ多いほど、時刻"Q"を変化させる時間の幅を大きくしてもよい。また、例えば、ＣＰＵ  １０１は、選択された回数が多ければ多いほど、動作経過に含まれるすべての指示入力"P"のうち修正する指示入力の割合を大きくしてもよい。
【０１１９】
ＣＰＵ  １０１は、動作経過が記録された時刻からの経過時間に応じて指示入力"P"や時刻"Q"を変化させる代わりに、対戦相手もしくは協力相手として一緒にプレイしたときにプレイヤーが相対的に良い成績を収められなかった回数に応じて指示入力"P"や時刻"Q"を変化させてもよい。この場合、ＣＰＵ  １０１は、人間のプレイヤーが相対的に良い成績を収められなかった回数（つまり勝てなかった回数）をカウントし、このカウントした回数と対応付けて動作経過を記録すればよく、必ずしもゲームが行われた時刻と対応付けて動作経過を記録しなくてもよい。
【０１２０】
例えば、ＣＰＵ  １０１は、相対的に良い成績を収められなかった回数が多ければ多いほど、時刻"Q"を変化させる時間の幅を大きくしてもよい。また、例えば、ＣＰＵ  １０１は、相対的に良い成績を収められなかった回数が多ければ多いほど、動作経過に含まれるすべての指示入力"P"のうち修正する指示入力の割合を大きくしてもよい。
【０１２１】
ＣＰＵ  １０１は、動作経過が記録された時刻からの経過時間に応じて指示入力"P"や時刻"Q"を変化させる代わりに、所定期間内に対戦相手もしくは協力相手として一緒にプレイした頻度に応じて指示入力"P"や時刻"Q"を変化させてもよい。この場合、ＣＰＵ  １０１は、所定期間内に選択された頻度を計算し、この計算された頻度と対応付けて動作経過を記録すればよく、必ずしもゲームが行われた時刻と対応付けて動作経過を記録しなくてもよい。
【０１２２】
例えば、ＣＰＵ  １０１は、計算された頻度が高ければ高いほど、時刻"Q"を変化させる時間の幅を大きくしてもよい。また、例えば、ＣＰＵ  １０１は、計算された頻度が高ければ高いほど、動作経過に含まれるすべての指示入力"P"のうち修正する指示入力の割合を大きくしてもよい。
【０１２３】
次に、本実施形態のゲーム装置５００の上記各部が実行する、動作経過の記録処理と、ゲーム処理と、について説明する。記録処理とゲーム処理は、ゲーム装置５００がゲームを実行する際、並行して行われる。ここでは、ダンスゲームを例にとって記録処理とゲーム処理を説明する。
【０１２４】
図９は、動作経過の記録処理を説明するためのフローチャートである。
図１０は、ゲーム処理を説明するためのフローチャートである。
【０１２５】
まず、記録処理について説明する。記録処理は、ゲームモードがシングルプレイモードかマルチプレイモードかに関わらず実行される。
【０１２６】
ＣＰＵ  １０１は、第１プレイヤー（人間のプレイヤー）からの指示入力に応じて、ゲームを開始する（ステップＳ９０１）。例えば、第１プレイヤーは、コントローラ１０５を操作することにより、再生する楽曲（課題曲）を選択し、選択した楽曲を用いたダンスゲームを開始する旨の指示を入力する。
【０１２７】
ゲーム開始後、ＣＰＵ  １０１は、コントローラ１０５を用いた第１プレイヤーからの指示入力の内容を、その指示入力が受け付けられた時刻と対応付けて、ＲＡＭ  １０３に一時記憶する。ＣＰＵ  １０１は、ゲーム中に受け付けられた指示入力のそれぞれについて、受け付けられた時刻と対応付けてＲＡＭ  １０３に一時記憶する。つまり、ＣＰＵ  １０１は、ゲーム中の動作経過を記憶する（ステップＳ９０２）。
【０１２８】
ＣＰＵ  １０１は、ステップＳ９０１で開始したゲームが終了したか否かを判別する（ステップＳ９０３）。例えば、ＣＰＵ  １０１は、課題曲の再生が終了した場合や、ゲージ３３０が示す値が所定の閾値（典型的にはゼロ）以下になった場合に、ゲームが終了したと判別する。
【０１２９】
ゲームが終了していないと判別した場合（ステップＳ９０３；ＮＯ）、ＣＰＵ  １０１は、ステップＳ９０２〜Ｓ９０３の処理を繰り返す。一方、ゲームが終了したと判別した場合（ステップＳ９０３；ＹＥＳ）、ＣＰＵ  １０１は、ＲＡＭ  １０３に一時記憶した動作経過を、現在日時と対応付けて外部メモリに保存し（ステップＳ９０４）、ゲームを終了する。
【０１３０】
ここでの現在日時とは、ゲームが終了し、動作経過を記録するときの日時である。ただし、ゲームを開始した日時やゲームを終了した日時を現在時刻としてもよい。
【０１３１】
なお、ステップＳ９０４において、ＣＰＵ  １０１は、今回行われたゲームによる第１プレイヤーもしくは第１キャラクターの成績（例えば点数３２０の値）が、既に外部メモリ１０６に保存された動作経過が示すプレイヤーの成績よりも優れている場合にのみ、ＲＡＭ  １０３に一時記憶した動作経過を、現在日時と対応付けて外部メモリ１０６に保存するようにしてもよい。
【０１３２】
また、ＣＰＵ  １０１は、外部メモリ１０６に保存できる動作経過の件数に上限を設けてもよい。そして、ＣＰＵ  １０１は、ステップＳ９０４で動作経過を外部メモリ１０６に保存する際、既に保存されている動作経過の件数が上限に達している場合には、外部メモリ１０６に保存されている動作経過のうち最も成績の劣った動作経過を削除してもよい。
【０１３３】
次に、ゲーム処理について説明する。このゲーム処理は、ゲームモードが仮想マルチプレイモードである場合を想定している。
【０１３４】
まず、ＣＰＵ  １０１は、ゲームに登場する第１キャラクターと第２キャラクターを決定する（ステップＳ１００１）。
【０１３５】
例えば、本実施形態のゲーム装置５００にて実行されるダンスゲームにおいて、第１キャラクターは第１プレイヤーに対応付けられる成績等を格納するデータ構造体であり、第２キャラクターは第２プレイヤーに対応付けられる成績等を格納するデータ構造体である。
あるいは、例えば、レースゲームにおいて、第１キャラクターは第１プレイヤー（人間のプレイヤー）の操作対象であるレーシングカーであり、第２キャラクターは第２プレイヤー（仮想プレイヤー）の操作対象であるレーシングカーである。
【０１３６】
仮想マルチプレイモードでは、ＣＰＵ  １０１は、外部メモリ１０６に保存された動作経過の中から任意に１つを選択して読み出す（ステップＳ１００２）。
【０１３７】
ここで、ＣＰＵ  １０１は、第１プレイヤーと対応付けて外部メモリ１０６に記憶されている動作経過を読み出すようにしてもよい。このようにすれば、プレイヤーは、“過去の自分”と一緒にプレイすることができる。また、ＣＰＵ  １０１がランダムに動作経過を読み出すこととすれば、プレイヤーは、“過去にプレイした誰か”と一緒にプレイすることができる。
【０１３８】
ＣＰＵ  １０１は、ステップＳ１００２で読み出した動作経過を、例えば上述した時刻"Q"を変化させる手法や指示入力"P"を変化させる手法により、修正する（ステップＳ１００３）。ここで修正された動作経過が、第１キャラクターの協力相手もしくは対戦相手である第２キャラクターがとる動作になる。
【０１３９】
ＣＰＵ  １０１は、第１キャラクターと第２キャラクターを含むゲームを開始する（ステップＳ１００４）。第１キャラクターの協力相手（又は対戦相手）の行動パターンは、かつて第１キャラクターがとった行動パターンと全く同一なのではなく、かつて第１キャラクターがとった行動パターンを基に修正された行動パターンである。第１プレイヤーは、まるで何らかの形で“成長”もしくは“劣化”した“過去の自分”などと協力（又は対戦）するかのように、ゲームをプレイできる。
【０１４０】
ゲーム実行中、ＣＰＵ  １０１は、第１キャラクターの成績と第２キャラクターの成績を判定する。また、ＣＰＵ  １０１は、画像処理部１０８を制御して、入力受付部５０１によって受け付けられた指示入力に基づく第１キャラクターの動作結果と、修正部５０４によって修正された動作経過に基づく第２キャラクターの動作結果を、画面に表示する。
【０１４１】
動作結果は、具体的には、例えば図４に示す点数４２０，４７０や、ゲージ４３０，４８０や、「ＰＥＲＦＥＣＴ」「ＢＯＯ」などのように成績判定結果を示すメッセージなどである。
【０１４２】
なお、ＣＰＵ  １０１は、動作結果を画面に表示するだけでなく、あるいは、動作結果を画面に表示するのに代えて、音声処理部１０９を制御して動作結果を示す音声を出力してもよい。
【０１４３】
ＣＰＵ  １０１は、ゲームが終了したか否かを判別する（ステップＳ１００５）。例えば、ＣＰＵ  １０１は、課題曲の再生が終了した場合や、ゲージ４３０，４８０が示す値が所定の閾値（典型的にはゼロ）以下になった場合に、ゲームが終了したと判別する。
【０１４４】
ゲームが終了していないと判別した場合（ステップＳ１００５；ＮＯ）、ＣＰＵ  １０１は、ゲームを続行し、ステップＳ１００５の判別を繰り返す。一方、ゲームが終了したと判別した場合（ステップＳ１００５；ＹＥＳ）、ＣＰＵ  １０１は、第１プレイヤー（又は第１キャラクター）の成績が第２プレイヤー（又は第２キャラクター）の成績より優れているか否かを判別する（ステップＳ１００６）。すなわち、今回ゲームをプレイした人間のプレイヤーが、仮想の協力相手（又は対戦相手）よりも優れた成績を収めたか否かが判別される。
【０１４５】
例えば、第１プレイヤーの点数４２０が示す値が、第２プレイヤーの点数４７０が示す値よりも大きい場合に、ＣＰＵ  １０１は、第１プレイヤーの成績が第２プレイヤーの成績よりも優れていると判別する。
【０１４６】
第１プレイヤーの成績が第２プレイヤーの成績より優れていない（劣っているか、もしくは同じである）場合（ステップＳ１００６；ＮＯ）、ＣＰＵ  １０１は、ゲーム処理を終了する。
【０１４７】
一方、第１プレイヤーの成績が第２プレイヤーの成績より優れている場合（ステップＳ１００６；ＹＥＳ）、ＣＰＵ  １０１は、ステップＳ１００２で読み出した動作経過を外部メモリ１０６から削除し（ステップＳ１００７）、今回の第１プレイヤーの動作経過を外部メモリ１０６に保存する（ステップＳ１００８）。
【０１４８】
すなわち、第１プレイヤーが自分の協力相手（又は対戦相手）である第２プレイヤーに勝てば、外部メモリ１０６に保存される動作経過が入れ替わり、勝たなければ、外部メモリ１０６に保存される動作経過は維持される。従って、外部メモリ１０６には、第１プレイヤーにとって有益な協力相手と推測される動作経過や、第１プレイヤーにとって実力相応な対戦相手と推測される動作経過が、優先的に保存されることになる。
【０１４９】
以上のように、本実施形態によれば、現実のプレイヤーの協力相手や対戦相手となる仮想プレイヤーによって動作が指示されるキャラクターの行動パターンが、時間の経過と共に変化していくので、ゲーム装置５００は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。例えば、１回目の対戦時に第１プレイヤーが第１キャラクターの対戦相手として第２キャラクターを指定したものの第１キャラクターが負け、その後、２回目の対戦時に第１プレイヤーが再び同じキャラクターを第２キャラクターに指定した場合、１回目の対戦時の第２キャラクターの強さと、２回目の対戦時の第２キャラクターの強さは、同じではなく、強くなったり弱くなったりする。対戦を繰り返すごとに第２キャラクターを強くすれば、第１キャラクター（もしくは第１プレイヤー）の腕が上達するように手助けする機能を実現できる。また、対戦を繰り返すごとに第２キャラクターを弱くすれば、第１キャラクター（もしくは第１プレイヤー）の腕があたかも上達していくかのように思わせ、ゲームへの関心度をなるべく損なわせなくする機能を実現することができる。
【０１５０】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１５１】
上記実施形態ではダンスゲームを例にとって説明したが、本発明は、複数のキャラクターが登場するゲームであれば、ダンスゲーム以外の様々なゲームに適用することができる。
【０１５２】
ゲーム装置５００の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１５３】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１５４】
以上説明したように、本発明によれば、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１５５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２０１  左ボタン
２０２  下ボタン
２０３  上ボタン
２０４  右ボタン
３００，４００  画面
３０１〜３０４，４０１〜４０４，４５１〜４５４  静止マーク
３１０Ａ〜３１０Ｄ，４１０Ａ〜４１０Ｄ，４６０Ａ〜４６０Ｄ  踏み位置指示マーク
３２０，４２０，４７０  点数
３３０，４３０，４８０  ゲージ（ダンスメーター）
５００  ゲーム装置
５０１  入力受付部
５０２  ゲーム進行部
５０３  記録部
５０４  修正部
６０１，６１１  第１キャラクター
６０２，６１２  第２キャラクター
【図１】
2011188920.tif 000003
【図２】
2011188920.tif 000004
【図３】
2011188920.tif 000005
【図４】
2011188920.tif 000006
【図５】
2011188920.tif 000007
【図６】
2011188920.tif 000008
【図７】
2011188920.tif 000009
【図８】
2011188920.tif 000010
【図９】
2011188920.tif 000011
【図１０】
2011188920.tif 000012