(57)【要約】 【課題】リズムゲーム等において、表示遅延や通信遅延等を考慮して成績を判定するゲーム装置等を提供する。【解決手段】ゲーム装置２０１において、提示部２０２は、現在時刻が複数の課題時刻のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示し、受付部２０３は、ユーザからの操作入力を受け付け、平均部２０４は、操作入力が受け付けられるごとに、複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた入力時刻直近の課題時刻であって、当該入力時刻との間隔が所定の抽出閾値以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求め、判定部２０５は、抽出された課題時刻に求められた平均値を加算した時刻と、入力時刻と、の間隔が、所定の判定閾値以下であれば、当該入力時刻にされた操作入力を成功したものと判定する。【選択図】図２
2010184088.tif 000002
【特許請求の範囲】
【請求項１】
現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示する提示部、
前記ユーザからの操作入力を受け付ける受付部、
前記操作入力が受け付けられるごとに、前記複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める平均部、
前記抽出された課題時刻に前記求められた平均値を加算した時刻と、前記入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する判定部
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記判定閾値は前記抽出閾値以下であり、
前記判定閾値は前記複数の課題時刻の間隔の最小値の半分未満である
ことを特徴とするゲーム装置。
【請求項３】
請求項１または２に記載のゲーム装置であって、
前記平均部は、現在時刻に近いものほど重みを大きくした減衰平均を用いることにより、前記平均値を求める
ことを特徴とするゲーム装置。
【請求項４】
請求項３に記載のゲーム装置であって、
前記平均部は、既に求められている平均値と、新たに抽出された課題時刻に係る差と、の重み付き平均を求め、当該重み付き平均値を、新たな平均値とする
ことを特徴とするゲーム装置。
【請求項５】
提示部、受付部、平均部、判定部を有するゲーム装置の制御方法であって、
現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、前記提示部が、ユーザに、操作入力を与えるべき旨を提示する提示工程、
前記受付部が、前記ユーザからの操作入力を受け付ける受付工程、
前記操作入力が受け付けられるごとに、前記平均部が、前記複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める平均工程、
前記判定部が、前記抽出された課題時刻に前記求められた平均値を加算した時刻と、前記入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する判定工程
を備えることを特徴とする制御方法。
【請求項６】
コンピュータを、
現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示する提示部、
前記ユーザからの操作入力を受け付ける受付部、
前記操作入力が受け付けられるごとに、前記複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める平均部、
前記抽出された課題時刻に前記求められた平均値を加算した時刻と、前記入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する判定部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リズムゲーム等において、表示遅延や通信遅延等を考慮して成績を判定するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、ＢＧＭ（Back Ground Music）に合わせて画面に表示される図形によってタイミングが提示され、そのタイミングにユーザが操作入力を与えることによって、ユーザのリズム感を競うゲーム装置が提案されている。
【０００３】
たとえば、以下に掲げる特許文献１では、このようなゲーム装置において、ＢＧＭの時系列と、操作入力の時系列と、の相関値を求め、この相関値が一定の値以上になった場合に、操作入力が成功したものであると判定することとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２８３２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、液晶ディスプレイやＡＶ（Audio Visual）セレクターなどを利用した場合、ゲーム装置から出力される音声信号や映像信号が実際に出力されるまでに時間遅延が生じることがある。
【０００６】
また、ネットワーク対戦を行う場合にも、通信遅延が生じることがある。この場合の遅延量は、曜日や時間帯等に応じて大きく変化する。
【０００７】
このように時間遅延の量は、プレイ環境によって変化するものである。したがって、このような変化に対応して、プレイヤーの直観に合わせた判定を行うことが求められている。
【０００８】
さらに、成績判定においては、プレイヤーが操作入力を行うごとに、成功か失敗かが判定されることが望ましい。
【０００９】
本発明は、上記のような課題を解決するもので、リズムゲーム等において、表示遅延や通信遅延等を考慮して成績を判定するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１１】
本発明の第１の観点に係るゲーム装置は、提示部、受付部、平均部、判定部を備え、以下のように構成する。
【００１２】
ここで、提示部は、現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示する。
【００１３】
典型的なリズムゲームでは、ユーザが達成すべき課題は、画面内をオブジェクトと呼ばれる画像が等速度で移動し、オブジェクトが照準位置に達した瞬間に、当該オブジェクトに対応するボタンやスイッチを手や足で押圧することである。この例では、課題時刻とは、オブジェクトが照準位置に達する時刻を意味する。なお、現在時刻や課題時刻は、ゲームが開始された時点からの相対的な経過時間によって表現されるのが一般的である。
【００１４】
一方受付部は、ユーザからの操作入力を受け付ける。
【００１５】
上記のリズムゲームでは、手や足で押圧操作されるコントローラのボタンやフットスイッチなどが、受付部に相当する。
【００１６】
さらに、平均部は、操作入力が受け付けられるごとに、複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める。
【００１７】
すなわち、ユーザが操作入力を行った時点（入力時刻）で、平均部は、その操作入力が直近の課題時刻に呼応するものと解釈する。そして、その課題時刻と入力時刻の間隔が抽出閾値であるもののみについて、入力時刻と課題時刻の差を、平均していく。
【００１８】
ここで「直近の課題時刻」とは、あらかじめ用意されている課題時刻のうち、入力時刻との時間差が最も短いものをいう。
【００１９】
ここで得られる平均値は、当該ユーザのプレイ環境における遅延時間に相当するもので、この遅延時間は、マルチメディア情報の出力遅延、通信遅延や、ユーザ自身の操作入力の癖などに起因するものである。
【００２０】
さらに、判定部は、抽出された課題時刻に求められた平均値を加算した時刻と、入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する。
【００２１】
本発明では、課題時刻そのものを用いて成功判定を行うのではなく、課題時刻に、ユーザの環境に応じた平均値、すなわち、遅延時間の推定値を加算することで、補正を行ってから、補正後の時刻と入力時刻とを対比する。
【００２２】
したがって、本発明によれば、ユーザのプレイ環境に依存して変化する時間遅延を考慮して成績を判定することができるようになる。
【００２３】
また、本発明のゲーム装置において、判定閾値は抽出閾値以下であり、判定閾値は複数の課題時刻の間隔の最小値の半分未満であるように構成することができる。
【００２４】
本発明は上記発明の好適実施形態に係るものであり、判定閾値の好適な範囲を示すものである。本発明によれば、適切な判定基準によって、ユーザの操作入力の成否を判定することができるようになる。
【００２５】
また、本発明のゲーム装置において、平均部は、現在時刻に近いものほど重みを大きくした減衰平均を用いることにより、平均値を求めるように構成することができる。
【００２６】
マルチメディア情報の出力遅延は、一定の時間だけ遅延するのが一般的であるが、通信遅延は同じ環境下であっても時間が経過するにつれて変動するのが一般的であるし、ユーザ自身の操作入力の癖も、ユーザが上達するにつれて変化していく。
【００２７】
本発明によれば、減衰平均を用いることで、時間遅延の最近の状況に適応することができるようになる。
【００２８】
また、本発明のゲーム装置において、平均部は、既に求められている平均値と、新たに抽出された課題時刻に係る差と、の重み付き平均を求め、当該重み付き平均値を、新たな平均値とするように構成することができる。
【００２９】
すなわち、一時的な記憶領域に最新の平均値を記憶することとして、新たな入力時刻と課題時刻との差が抽出されたら、その差と、記憶されている平均値と、の重み付き平均を計算して、計算結果で当該記憶領域を更新するのである。
【００３０】
本発明は上記発明の好適実施形態に係るものであり、現在時刻に近いものほど重みを大きくした減衰平均を、簡易な計算によって計算することができるようになる。
【００３１】
本発明のその他の観点に係る制御方法は、提示部、受付部、平均部、判定部を有するゲーム装置を制御し、提示工程、受付工程、平均工程、判定工程を備え、以下のように構成する。
【００３２】
ここで、提示工程では、現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、提示部が、ユーザに、操作入力を与えるべき旨を提示する。
【００３３】
一方、受付工程では、受付部が、ユーザからの操作入力を受け付ける。
【００３４】
さらに、平均工程では、操作入力が受け付けられるごとに、平均部が、複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める。
【００３５】
そして、判定工程では、判定部が、抽出された課題時刻に求められた平均値を加算した時刻と、入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する。
【００３６】
本発明のその他の観点に係るプログラムは、コンピュータを上記のゲーム装置の各部として機能させるように構成する。
【００３７】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００３８】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３９】
本発明によれば、リズムゲーム等において、表示遅延や通信遅延等を考慮して成績を判定するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００４０】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係るゲーム装置の概要構成を示す説明図である。
【図３】本実施形態に係るゲーム装置の表示例を示す説明図である。
【図４】入力時刻、課題時刻、遅延時間、抽出閾値A、抽出閾値Bの関係を示す説明図である。
【図５】本実施形態に係るゲーム装置を制御する制御処理の流れを示すフローチャートである。
【図６】入力時刻、課題時刻、遅延時間、抽出閾値A、判定閾値Bの関係を示す説明図である。
【発明を実施するための形態】
【００４１】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【００４２】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００４３】
図１は、プログラムを実行することにより、本実施形態のゲーム装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、として機能させるように構成することができる。各種の入出力装置は、適宜省略することができる。
【００４５】
ゲーム用プログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００４６】
また、携帯型のゲーム装置においては、携帯可能とするために、ＤＶＤ−ＲＯＭドライブ１０８を利用するのではなく、ＲＯＭカセット用スロットを利用することも可能である。この場合、プログラムが記録されたＲＯＭカセットを挿入して、当該プログラムを実行することで、本実施形態のゲーム装置が実現される。
【００４７】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００４８】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４９】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００５０】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００５１】
なお、コントローラ１０５は、必ずしも情報処理装置１００に対して外付けにされている必要はなく、一体に形成されていても良い。
【００５２】
携帯可能なゲーム装置のコントローラ１０５は、各種のボタンやスイッチから構成され、これらの押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置１００では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。
【００５３】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００５４】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５５】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００５６】
携帯可能なゲーム装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的であり、コントローラ１０５としてタッチスクリーンを利用する場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶためのゲーム装置やサーバ装置のモニタとしては、ＣＲＴ（Cathode Ray Tube）やプラズマディスプレイなどの表示装置を利用することも可能である。
【００５７】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００５８】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５９】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００６０】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮを構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００６１】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン（図示せず）、イヤフォン（図示せず）から出力させる。
【００６２】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００６３】
さらに、情報処理装置１００には、インターフェース１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００６４】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６５】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。
【００６６】
以上で説明した情報処理装置１００は、コンシューマ向けゲーム装置に相当するものであるが、各種の入出力処理が可能な電子機器であれば、本発明のゲーム装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明のゲーム装置を実現することが可能である。
【００６７】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣとして機能させ、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００６８】
（ゲーム装置）
図２は、本実施形態に係るゲーム装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００６９】
本実施形態に係るゲーム装置２０１は、提示部２０２、受付部２０３、平均部２０４、判定部２０５を備える。
【００７０】
提示部２０２は、現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示する。
【００７１】
これらの機能は、ＣＰＵ  １０１の制御の下、課題時刻の情報をＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭ等からＲＡＭ  １０３に読み出し、これに基づいて画像処理部１０７や音声処理部１１０を制御して、画像や音声により、課題時刻をユーザに提示することによって実現される。
【００７２】
多くのリズムゲームでは、ユーザが達成すべき課題は、画面内をオブジェクトと呼ばれる画像が等速度で移動し、オブジェクトが照準位置に達した瞬間に、当該オブジェクトに対応するボタンやスイッチを手や足で押圧することとされている。
【００７３】
オブジェクトは、楽譜でいう音符に相当するものであり、照準位置は、その楽譜における現在演奏中の場所に相当し、表示手法は、楽譜をスクロール表示することに相当する。「課題時刻」は、オブジェクトが照準位置に達する時刻、すなわち、その音符を演奏すべき時刻を意味する。一方、実際に操作入力がされた時刻は、「入力時刻」ということとする。
【００７４】
なお、現在時刻や課題時刻は、ゲームが開始された時点からの相対的な経過時間によって表現されるのが一般的である。
【００７５】
図３は、このようなリズムゲームを実現するゲーム装置の表示例を示す説明図である。以下、本図を参照して説明する。
【００７６】
本図に示すように、画面３０１には、照準位置を表す照準矢印３０２と、操作すべきボタンやスイッチの種類を表す課題矢印３０３と、が表示されている。
【００７７】
照準矢印３０２は、画面３０１の上方に配置され、その位置は固定されている。
【００７８】
課題矢印３０３は、画面３０１の下方から上方へ一定の速度で進み、照準矢印３０２の上を通過する。
【００７９】
本ゲームの基本的な規則では、照準矢印３０２に課題矢印３０３が重なった瞬間（これは、課題時刻に一致する。）に、両矢印によって示されるユーザがボタンやスイッチを操作することが求められる。すなわち、受付部２０３は、ユーザからの操作入力を受け付ける。
【００８０】
本図では、照準矢印３０２ａと課題矢印３０３ａとが重なりつつある様子が示されている。あと少しだけ時間が経過すると、課題矢印３０３ａは上方に進み、照準矢印３０２ａと完全に重なる。その瞬間にユーザが操作入力をすれば（これは、入力時刻に一致する）、その操作入力は成功と判定されることになる。
【００８１】
照準矢印３０２ａ、３０２ｂ、３０２ｃ、３０３ｄは、コントローラ１０５が備える矢印ボタン（図１に示されるコントローラ１０５では、左側に十字状に配置されている。）や左前後右の４方向にスイッチを備えるフットスイッチのそれぞれに割り当てられている。
【００８２】
フットスイッチ（コントローラ１０５）で考えた場合、課題矢印３０３ａは、左スイッチを踏む（左キーを押す）ことを、課題矢印３０３ｂは、前スイッチを踏む（上キーを押す）ことを、課題矢印３０３ｃは、後スイッチを踏む（下キーを押す）ことを、課題矢印３０３ｄは、右スイッチを踏む（右キーを押す）ことを、課題矢印３０３ｅ、３０３ｆは、前後のスイッチを同時に踏む（上キー、下キーを同時に押す）ことを、課題矢印３０３ｇ、３０３ｈは、左右のスイッチを同時に踏む（左キー、右キーを同時に押す）ことを、それぞれ意味する。
【００８３】
これらの６つの課題矢印３０３のセットは、画面３０１では等間隔に配置されている。したがって、ユーザは、これらの操作を一定の時間間隔で行う必要がある。
【００８４】
受付部２０３の機能は、ＣＰＵ  １０１の制御の下、コントローラ１０５のボタンやフットスイッチなどにより実現される。ボタンやスイッチが手や足で押圧操作されると、受付部２０３が操作入力を受け付けたことになる。
【００８５】
さらに、平均部２０４は、操作入力が受け付けられるごとに、複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた入力時刻に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める。
【００８６】
この機能は、ＣＰＵ  １０１が、現在時刻と、コントローラ１０５の状態と、ＲＡＭ  １０３などに読み出された課題時刻の情報を参照することによって、実現される。計算された平均値は、典型的にはＲＡＭ  １０３に書き込まれる。
【００８７】
図４は、入力時刻、課題時刻、遅延時間、抽出閾値Aの関係を示す説明図である。
【００８８】
本図には、あるスイッチ・キーについての課題時刻T1，T2，T3と、それに対してされた操作入力の入力時刻t1，t2，t3と、抽出閾値Aと、遅延時間と、が、示されている。
【００８９】
本図では、時間軸３５１を水平にとり、理解を容易にするため、各寸法は誇張して描いてある。
【００９０】
時間の経過を示す時間軸３５１と対比すると、課題時刻３５２は、時刻T1、T2、T3であることがわかる。
【００９１】
すなわち、ユーザが操作入力を行った入力時刻３５３を見ると、時刻Ｔ１の近傍の入力時刻t1、時刻Ｔ２の近傍の入力時刻t2、時刻Ｔ３の近傍の入力時刻t3で、それぞれ１回行われている。
【００９２】
平均部２０４は、課題時刻から、直近の課題時刻を探す。本図に示す例では、入力時刻t1の直近の課題時刻は、課題時刻T1であり、入力時刻t2の直近の課題時刻は、課題時刻T2であり、入力時刻t3の直近の課題時刻は、課題時刻T3である。
【００９３】
そして、その課題時刻と入力時刻の間隔が抽出閾値A以下であるものを抽出する。本図に示す例では、T1とt1の差は、Aより小さく、T2とt2の差は、Aより小さく、T3とt3の差は、Aより大きい。したがって、抽出される入力時刻と課題時刻の組み合わせは、T1とt1、ならびに、T2とt2になる。
【００９４】
そして、平均部２０４は、抽出された入力時刻と課題時刻の差を、平均する。これは、「ユーザの操作の平均的な時間ずれ」を求めることに相当する。本図に示す例では、入力時刻t1と課題時刻T1の差はt1-T1、入力時刻t2と課題時刻T2の差はt2-T2であり、これらを平均計算の対象とすることになる。
【００９５】
入力時刻t3と課題時刻T3は、差が、抽出閾値Aよりも大きいので、「ユーザの操作の平均的な時間ずれ」を計算する際には、無視する。
【００９６】
ここで得られる平均値は、当該ユーザのプレイ環境における遅延時間を推測した値に相当するものである。この遅延時間Dは、マルチメディア情報の出力遅延、通信遅延や、ユーザ自身の操作入力の癖などに起因するものである。
【００９７】
さらに、判定部２０５は、抽出された課題時刻に求められた平均値を加算した時刻と、入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する。
【００９８】
上記の例では、入力時刻t1，t2，t3は、いずれも、課題時刻に対して遅れ気味である。そこで、求められた平均値、遅延時間Dによって、課題時刻T1，T2，T3を修正するのである。
【００９９】
遅延時間Dは、入力がなされるごと、より正確には、抽出がなされるごとに変化する値である。
【０１００】
そして、修正された課題時刻と、入力時刻と、の間隔が、判定閾値B以下であれば、入力成功とみなすのである。判定閾値Bに基づく判断の詳細については、後述する。
【０１０１】
この機能は、ＣＰＵ  １０１が、現在時刻と、コントローラ１０５の状態と、ＲＡＭ  １０３に格納された課題時刻および平均値の情報を参照することによって実現され、判定の結果に応じた画像や音声が、画像処理部１０７や音声処理部１１０を介して、ユーザに提示される。
【０１０２】
すなわち、課題時刻そのものを用いて成功判定を行うのではなく、課題時刻に、ユーザの環境に応じた平均値、すなわち、遅延時間の推定値を加算することで、補正を行ってから、補正後の時刻と入力時刻とを対比する。
【０１０３】
このように、本実施形態によれば、ユーザのプレイ環境に依存して変化する時間遅延を考慮して成績を判定することができるようになる。以下、さらに詳細に説明する。
【０１０４】
図５は、本実施形態に係るゲーム装置２０１を制御する制御処理の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１０５】
本処理が開始されると、ＣＰＵ  １０１は、ＤＶＤ−ＲＯＭドライブ１０８から、課題時刻や、これと合わせて演奏される楽曲情報、表示される動画情報を含む各種の情報を、ＲＡＭ  １０３に読み出す（ステップＳ３０１）。
【０１０６】
本実施形態では、課題時刻は、楽曲の演奏を開始した時点からの経過時間で表現されるものとし、その具体的な数値は、
T[1]，T[2]，…，T[N]
のような、N個の要素からなる単調増加数列であるものとする。したがって、楽曲の演奏に要する総時間は、T[N]より長いことになる。
【０１０７】
また、本実施形態では、コントローラ１０５のボタンを１個だけ用いる単純なリズムゲームを想定しているが、課題時刻の数列をボタンやスイッチの種類に応じて増やすことにより、複数のボタンやスイッチを操作するリズムゲームに対応することも可能である。
【０１０８】
ついで、ＣＰＵ  １０１は、ＲＡＭ  １０３内に確保した遅延時間領域Dを０にクリアする（ステップＳ３０２）。以下、代入演算を「D←0」のように表記することとする。
【０１０９】
次に、ＣＰＵ  １０１は、音声処理部１１０を制御して楽曲情報の演奏を開始させる（ステップＳ３０３）。一般に、楽曲情報の演奏は、割込処理や並列処理によって実現されるため、、音声処理部１１０による音声出力の処理は、以降の処理とは並行して行われる。
【０１１０】
ついで、ＣＰＵ  １０１は、音声処理部１１０を参照して、楽曲情報の演奏を開始してからの経過時間、すなわち、現在時刻tを取得して、現在時刻tと課題時刻T[1]，T[2]，…，T[N]との関係を図示する画像をＲＡＭ  １０３内に生成する（ステップＳ３０４）。
【０１１１】
なお、現在時刻は、音声処理部１１０から情報を得るのではなく、適宜リアルタイムクロック等を参照することによって、現在時刻を得ることとしても良い。
【０１１２】
そして、ＣＰＵ  １０１は、垂直同期割込が生じるまで待機する（ステップＳ３０５）。この待機中には、他の計算処理をコルーチン的に並行して実行することができる。
【０１１３】
その後、ＣＰＵ  １０１は、画像処理部１０７を制御して、当該画像をモニタに転送させることによって、画像を表示する（ステップＳ３０６）。
【０１１４】
ついで、ＣＰＵ  １０１は、コントローラ１０５の所定のボタンが開放状態から押圧状態へと変化したか否かを調べる（ステップＳ３０７）。変化していなければ（ステップＳ３０７；Ｎｏ）、ステップＳ３１３に進む。
【０１１５】
一方、コントローラ１０５のボタンが開放状態から押圧状態へと変化していれば（ステップＳ３０７；Ｙｅｓ）、すなわち、ボタンがまさに今押された瞬間（の直後）であれば、遅延時間の推測、ならびに、成績判定の処理へと進む。
【０１１６】
まず、ＣＰＵ  １０１は、現在時刻t（これは、入力が受け付けられた時刻に等しい。以下「入力時刻」という。）に直近の課題時刻を、T[1]，T[2]，…，T[N]から探す（ステップＳ３０８）。見つかった直近の課題時刻が、i番目のもの、すなわち、T[i]であるものとすると、以下の論理式が成り立つことになる。
∀j∈｛1，2，…，N｝ |t-T[i]|≦|t-T[j]| 
【０１１７】
なお、
T[1]<T[2]<…<T[N]
が成立するから、前回のステップＳ３０８の処理において見つかった添字iを別途ＲＡＭ  １０３内に保存しておき、次回の処理では、保存された添字iの値から検索を開始することとしても良い。
【０１１８】
次に、見つかった入力時刻t、課題時刻T[i]、所定の抽出閾値Aが、以下の関係を満たすか否かを調べる（ステップＳ３０９）。
|t-T[i]|≦A
【０１１９】
抽出閾値Aは、遅延時間として最長どの程度までを許容するか、を表す定数である。抽出閾値Aは、０.５秒〜数秒程度の値とし、楽曲のテンポには依存しないように設定するのが典型的であるが、想定されるユーザのプレイ環境に合わせて、適宜変更が可能である。
【０１２０】
この関係が満たされる場合（ステップＳ３０９；Ｙｅｓ）、ＣＰＵ  １０１は、ＲＡＭ  １０３内に記憶されている遅延時間D、入力時刻t、課題時刻T[i]と、０より大きく１より小さい定数αを用いて、以下の代入演算を行う（ステップＳ３１０）。
D←(1-α)D + α(t-T[i])
【０１２１】
この演算により、遅延時間Dに、現在の状況を反映させるもので、最新の値の重みがα、直前の値の重みがα(1-α)、その前の値の重みがα(1-α)2、のように、現在時刻tに近いものほど重みを大きくした減衰平均が得られることになる。
【０１２２】
αとしては、０.５以上の値を採用するのが典型的であり、０.８〜０.９５程度であっても、事前の状況と現在の状況を両方反映した遅延時間の減衰平均が得られる。
【０１２３】
このほか、最近検出された入力時刻と、その入力時刻に直近の課題時刻との組を所定個数記憶することとして、最近の所定個数における遅延時間の平均を求める、等の手法を採用しても良い。
【０１２４】
ついで、ＣＰＵ  １０１は、入力時刻t、課題時刻T[i]、遅延時刻D、所定の判定閾値Bについて、以下の関係
|t - (T[i]+D)|≦B
が満たされるか否かを調べる（ステップＳ３１１）。
【０１２５】
これは、表示遅延や通信遅延、ユーザの癖等によって生ずる遅延時間Dを考慮して、操作入力が成功したか否かを判定するものである。
【０１２６】
判定閾値Bは、操作入力の成否を判定するための基準となる値であり、抽出閾値A以下とするのが典型的である。
【０１２７】
また、判定閾値Bは、
T[2]-T[1]，T[3]-T[2]，…，T[N]-T[N-1]
の最小値の半分、すなわち、課題時間の間隔の最小値の半分よりも小さくなければならない。これは、ある入力時刻が２つ以上の課題時刻と対比されるのを防止するためである。
【０１２８】
もっとも典型的には、同時に演奏される楽曲のテンポに応じて定めることとなる。たとえば、１分間に６０拍の音楽では、判定閾値の最大値は1/120分、すなわち、0.5秒となるが、これよりも短くするのが典型的である。
【０１２９】
判定閾値Bの長さは、ゲームの難易度などに応じて適宜変更することが望ましい。
【０１３０】
さて、判定に用いた関係が成立すれば（ステップＳ３１１；Ｙｅｓ）、操作入力が成功したものと判断する（ステップＳ３１２）。この際に、たとえば、ユーザの得点を増加させるなどの処理を行う。そして、ステップＳ３１３に進む。一方、成立しなければ（ステップＳ３１１；Ｎｏ）、そのままステップＳ３１３に進むこととし、ユーザには得点を与えない。
【０１３１】
なお、遅延時間の更新処理と、操作入力の成否判定処理と、の順序は、入れ換えることとしても良い。
【０１３２】
図６は、入力時刻、課題時刻、遅延時間、抽出閾値A、判定閾値Bの関係を示す説明図である。以下、本図を参照して説明する。
【０１３３】
なお、本図は、図４と同様の状況を示すもので、時間経過を表す時間軸４００を水平方向にとることとし、理解を容易にするため、各寸法は誇張して描いてある。
【０１３４】
グラフ４０１は、元の成功判定、すなわち、時間遅延を考慮しない場合の成功判定の範囲を示すグラフであり、グラフが立ち上がっている間は成功、立ち下がっている間は失敗に相当する。
【０１３５】
本図では、課題時刻T1，T2，T3の３つが図示されており、その±Bの範囲が、操作入力の成功範囲となっている。
【０１３６】
グラフ４０２は、操作入力の入力時刻を表すグラフであり、操作入力は、グラフの立ち上がりによって表現されている。各入力時刻は、t1，t2，t3であり、それぞれの直近の課題時刻は、T1，T2，T3となっている。
【０１３７】
そして、入力時刻t1は、直近の課題時刻T1に対して±Aの範囲に入っており、入力時刻t2も、直近の課題時刻T2に対して±Aの範囲に入っているが、入力時刻t3は、直近の課題時刻T3に対して±Aの範囲に入っていない。
【０１３８】
したがって、遅延時間D1は、t1-T1を反映して更新されており、遅延時間D2は、t2-T2を反映して更新されているが、遅延時間D3は、更新されていないため、D2とD3は等しい値となっている。
【０１３９】
グラフ４０３は、遅延時間を考慮した成功判定の範囲を示すグラフであり、グラフが立ち上がっている間は成功、立ち下がっている間は失敗に相当する。
【０１４０】
グラフ４０３は、グラフ４０１に対して課題時刻T1については遅延がD1であり、課題時刻T2，T3については、これよりも大きい遅延D2=D3だけ、時間がずれている。
【０１４１】
このため、本図の例では、遅延時間を考慮しない場合には、入力時刻t1，t2は成功、t3は失敗となるが、遅延時間を考慮すると、成功判定の範囲が移動するため、入力時刻t1，t2，t3は、いずれも入力成功となる。
【０１４２】
なお、ステップＳ３０９における条件が成立しない場合（ステップＳ３０９；Ｎｏ）は、ユーザの操作入力は失敗したこととなるので、得点を与えないため、そのままステップＳ３１３に進む。
【０１４３】
なお、ステップＳ３１１やステップＳ３０７において、ユーザの操作入力が失敗したと判定された場合には、ユーザの得点を減少させるような態様を採用しても良い。
【０１４４】
さて、判定処理等が完了した後は、ＣＰＵ  １０１は、楽曲の演奏が完了したか否かを調べ（ステップＳ３１３）、終了していなければ（ステップＳ３１３；Ｎｏ）、ゲームは完了していないので、ステップＳ３０４に戻る。
【０１４５】
一方、楽曲の演奏が完了していれば（ステップＳ３１３；Ｙｅｓ）、ユーザの得点を画面に表示して（ステップＳ３１４）、本処理を終了する。
【０１４６】
なお、ユーザについつい先走って入力してしまう癖がある場合には、遅延時間Dは、負となることもありうる。このような場合も含め、ユーザのリズムの刻み幅が正確であれば、各課題時刻ごとに遅延時間Dが更新の対象となり、その値は急速に収束する。
【０１４７】
したがって、本実施形態によれば、ユーザのリズムの刻み方と、課題時刻のリズムの刻み方と、が、一定値だけずれているような状況においては、操作入力は成功したものと判定されることになり、ユーザの直観に適合した判定結果が得られることになる。
【産業上の利用可能性】
【０１４８】
以上説明したように、本発明によれば、リズムゲーム等において、表示遅延や通信遅延等を考慮して成績を判定するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【０１４９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２０１  ゲーム装置
２０２  提示部
２０３  受付部
２０４  平均部
２０５  判定部
４００  時間軸
４０１  元の成功判定のグラフ
４０２  操作入力のグラフ
４０３  成功判定のグラフ
【図１】
2010184088.tif 000003
【図２】
2010184088.tif 000004
【図３】
2010184088.tif 000005
【図４】
2010184088.tif 000006
【図５】
2010184088.tif 000007
【図６】
2010184088.tif 000008
【手続補正書】
【提出日】平成22年4月12日(2010.4.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示する提示部、
前記ユーザからの操作入力を受け付ける受付部、
前記操作入力が受け付けられるごとに、前記複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める平均部、
前記平均値が求められるごとに、前記抽出された課題時刻に前記求められた平均値を加算した時刻と、前記入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する判定部、
前記判定がされるごとに、当該判定の結果を画面に表示し、ゲームが終了すると、前記判定の結果のそれぞれに基づいて計算される得点を画面に表示する表示部
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記判定閾値は前記抽出閾値以下であり、
前記判定閾値は前記複数の課題時刻の間隔の最小値の半分未満である
ことを特徴とするゲーム装置。
【請求項３】
請求項１または２に記載のゲーム装置であって、
前記平均部は、現在時刻に近いものほど重みを大きくした減衰平均を用いることにより、前記平均値を求める
ことを特徴とするゲーム装置。
【請求項４】
請求項３に記載のゲーム装置であって、
前記平均部は、既に求められている平均値と、新たに抽出された課題時刻に係る差と、の重み付き平均を求め、当該重み付き平均値を、新たな平均値とする
ことを特徴とするゲーム装置。
【請求項５】
提示部、受付部、平均部、判定部、表示部を有するゲーム装置の制御方法であって、
現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、前記提示部が、ユーザに、操作入力を与えるべき旨を提示する提示工程、
前記受付部が、前記ユーザからの操作入力を受け付ける受付工程、
前記操作入力が受け付けられるごとに、前記平均部が、前記複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める平均工程、
前記平均値が求められるごとに、前記判定部が、前記抽出された課題時刻に前記求められた平均値を加算した時刻と、前記入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する判定工程、
前記判定がされるごとに、前記表示部が、当該判定の結果を画面に表示し、ゲームが終了すると、前記判定の結果のそれぞれに基づいて計算される得点を画面に表示する表示工程
を備えることを特徴とする制御方法。
【請求項６】
コンピュータを、
現在時刻が所定の複数の時刻（以下「課題時刻」という。）のいずれかに至るごとに、ユーザに、操作入力を与えるべき旨を提示する提示部、
前記ユーザからの操作入力を受け付ける受付部、
前記操作入力が受け付けられるごとに、前記複数の課題時刻のいずれかのうち、当該操作入力が受け付けられた時刻（以下「入力時刻」という。）に直近の課題時刻であって、当該入力時刻との間隔が所定の閾値（以下「抽出閾値」という。）以下である課題時刻を抽出し、当該入力時刻と当該抽出された課題時刻との差の平均値を求める平均部、
前記平均値が求められるごとに、前記抽出された課題時刻に前記求められた平均値を加算した時刻と、前記入力時刻と、の間隔が、所定の閾値（以下「判定閾値」という。）以下であれば、当該入力時刻にされた操作入力を成功したものと判定する判定部、
前記判定がされるごとに、当該判定の結果を画面に表示し、ゲームが終了すると、前記判定の結果のそれぞれに基づいて計算される得点を画面に表示する表示部
として機能させることを特徴とするプログラム。