説明

プログラム、情報記憶媒体、画像生成方法及び画像生成システム

【課題】表示領域の解像度が低い場合でも表示物が滑らかに移動する画像を生成可能なプログラム、情報記憶媒体、画像生成方法及び画像生成システムを提供すること。
【解決手段】表示物の所定の基準位置からの移動差分に基づいて、当該表示物の描画位置を算出する。そして、表示物の基準位置からの移動差分と基準位置から描画位置までの差分との差が、所定範囲内であれば、当該表示物に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて複数の画像データから所定の画像データ以外のいずれか1つの画像データを選択する。そして、選択した画像データを描画位置に描画し、表示物を含む画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、画像生成方法及び画像生成システムに関する。
【背景技術】
【0002】
従来から、楽曲の進行に合わせたタイミングで所定の入力操作を行わせる音楽ゲームシステムが知られている。このような音楽ゲームシステムでは、表示部に表示させる画像において、所定の指示標識を楽曲の進行に合わせた基準タイミングで所定の位置に到達するように移動させることにより、プレーヤに楽曲の進行に合わせた操作タイミングを指示する。そして、プレーヤの操作タイミングと基準タイミングとを比較して、プレーヤの入力を評価する処理を行っている。さらに、近年のCPUの小型化・高性能化に伴い、携帯型のゲーム装置や携帯電話でこのような音楽ゲームを楽しむことができるようになっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−264297号公報
【特許文献2】特開2009−131360号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような音楽ゲームでは、プレーヤが操作タイミングを的確に把握するために、指示標識の移動表示ができるだけ滑らかに行われることが望ましい。そのため、ゲーム装置によっては描画できない位置に描画したい場合もあり、描画フレームごとに計算で求められる指示標識の望ましい描画位置と実際の描画位置の誤差が発生し、この誤差により、指示標識がカクカクと不自然に移動するように見えたり必ずしも滑らかな移動表示とならない。特に、携帯型のゲーム装置や携帯電話等のディスプレイは解像度が低い(画素数が少ない)ため、この誤差による影響が大きい。望ましい描画位置と実際の描画位置が必ず一致するように各指示標識の移動速度を設定することもできるが、設定可能な移動速度に制約が生じるため速度設定の精度が不十分なケースも生じ得る。また、例えば、ゲームの難易度を向上させるために指示標識毎に異なる移動速度を設定したい場合などには必ずしも適切な設定ができないケースもある。
【0005】
音楽ゲームに限らず、表示領域の解像度が低い場合は、例えば、パチンコゲームやパチスロゲームの画面上にリールの回転が停止する直前に低速で移動する絵柄を表示する場合など、種々の表示物が移動する画像を生成する場合にも同様の問題が起こりうる。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、本発明のいくつかの態様によれば、表示領域の解像度が低い場合でも表示物が滑らかに移動する画像を生成可能なプログラム、情報記憶媒体、画像生成方法及び画像生成システムを提供することができる。
【課題を解決するための手段】
【0007】
(1)本発明は、
所与の表示物が移動する画像を生成するためのプログラムであって、
前記表示物の所定の基準位置からの移動差分に基づいて、当該表示物の描画位置を算出する描画位置算出部と、
前記表示物の前記基準位置からの移動差分と前記基準位置から前記描画位置までの差分との差が、所定範囲内であれば、当該表示物に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて前記複数の画像データから前記所定の画像データ以外のいずれか1つの画像データを選択する画像データ選択部と、
前記画像データ選択部が選択した画像データを前記描画位置に描画し、前記表示物を含む画像を生成する画像生成部としてコンピュータを機能させることを特徴とする。
【0008】
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶している情報記憶媒体に関する。また、本発明は、上記各部を含む画像生成システムに関する。
【0009】
本発明によれば、フレーム毎に複数の画像データから所定の条件に合致する1つの画像データを選択することで、フレーム毎の表示物の画像を変更することができる。従って、適切な複数の画像データを設定することで、表示領域の解像度が低い場合でも表示物が滑らかに移動する画像を生成することができる。
【0010】
(2)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記表示物の前記基準位置からの移動差分は、
前記表示物の前記基準位置からの移動距離又は前記表示物の前記基準位置からの移動時間であるようにしてもよい。
【0011】
表示物の基準位置からの移動距離とは、例えば、表示物が基準位置から現在の位置まで移動した距離である。また、表示物の基準位置からの移動時間とは、例えば、表示物が基準位置から描画位置まで移動するのに要する時間である。
【0012】
(3)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記基準位置から前記描画位置までの差分は、
前記基準位置と前記描画位置との距離又は前記表示物が前記基準位置に描画されてから前記描画位置に描画されるまでの時間であるようにしてもよい。
【0013】
(4)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
1つの表示物に対応づけて前記複数の画像データを記憶する画像データ記憶部としてさらにコンピュータを機能させる(画像データ記憶部をさらに含む)ようにしてもよい。
【0014】
このようにすれば、フレーム毎に画像データを生成する必要がないので、処理負荷を軽減することができる。
【0015】
(5)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
表示物の元画像の画像データを記憶する画像データ記憶部と、
前記表示物の元画像の画像データに基づいて、画像データ選択部が選択した画像データを生成する選択画像データ生成部としてさらにコンピュータを機能させる(画像データ記憶部と、選択画像データ生成部と、をさらに含む)ようにしてもよい。
【0016】
このようにすれば、記憶する画像データのデータ量を軽減することができる。
【0017】
(6)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
一列になって移動する複数の表示物を移動順に分割した複数のグループ毎に、各グループに含まれる表示物の移動を制御する移動制御情報が定義され、
前記描画位置算出部は、
前記グループ毎の前記移動制御情報に基づいて、各表示物の描画位置を算出し、
前記画像データ選択部は、
前記グループ毎の前記移動制御情報に基づいて、各表示物について、前記所定の画像データ又は前記所定の画像データ以外のいずれか1つの画像データを選択するようにしてもよい。
【0018】
移動制御情報は、例えば、表示物が所定の時間に移動する距離の情報(速度情報)であってもよいし、表示物が所定の距離を移動するのに要する時間の情報であってもよい。
【0019】
このようにすれば、すべての表示物が同じ移動速度で移動する場合だけでなく、個々の表示物がグループ単位で別々の速度で移動する場合においても、すべての表示物が滑らかに移動する画像を生成することができる。
【0020】
(7)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前回のフレームにおける前記表示物の前記基準位置からの移動距離と当該表示物の速度情報とに基づいて、今回のフレームにおける前記表示物の前記基準位置からの移動距離を算出する移動距離算出部としてさらにコンピュータを機能させる(移動距離算出部をさらに含む)ようにしてもよい。
【0021】
(8)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記所定の画像データは、前記表示物の基本画像の画像データであり、
前記所定の画像データ以外の画像データは、
前記基本画像を前記表示物の移動方向又はその反対方向にずらしたように見える画像の画像データであるようにしてもよい。
【0022】
例えば、前記所定の画像データ以外の画像データは、基本画像を表示物の移動方向又はその反対方向に1ドット未満の距離だけずらしたように見える画像の画像データであってもよい。
【0023】
例えば、表示物を同じ描画位置に描画した場合に1/Nドットずつずれた位置に描画されているかのように見えるN個の画像データから、所定の条件に合致する1つの画像データを選択することで、移動方向の解像度(画素数)を擬似的にN倍にすることができるので、表示領域の解像度が低い場合でも表示物が滑らかに移動する画像を生成することができる。
【0024】
(9)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記描画位置算出部は、
互いの一部が重なるように移動する2つの表示物の各々の描画位置を算出し、
前記画像データ選択部は、
前記2つの表示物の各々について、当該表示物に対応づけられた前記複数の画像データから前記所定の画像データ又は前記所定の画像データ以外のいずれか1つの画像データを選択し、
前記画像生成部は、
前記2つの表示物の各々について前記画像データ選択部が選択した画像データを前記描画位置に描画し、当該2つの表示物を含む画像を生成するようにしてもよい。
【0025】
一般に、表示領域の解像度が低い場合、2つの表示物が重なり合う部分では特にカクカクとした不自然な動きが目立つ。しかし、この発明によれば、表示領域の解像度(画素数)が擬似的に増えたように見えるので、2つの表示物の重なり部分の不自然な動きが軽減され、2つの表示物が重なりながら滑らかに移動する画像を生成することができる。
【0026】
(10)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記2つの表示物の各々に対応づけられた前記複数の画像データは、当該表示物の輪郭部分の画素が半透明で定義され、
前記画像生成部は、
一方の表示物の輪郭部分の画素と、当該画素と重なる他方の表示物の画素とを半透明合成で描画するようにしてもよい。
【0027】
このようにすれば、2つの表示物の重なり部分の動きをより滑らかに描画することができる。
【0028】
(11)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記画像データ選択部は、
前記表示物に対応づけられる、互いに異なる数の画像データを含む複数の画像データセットから、処理負荷に応じて1つの画像データセットを選択し、選択した画像データセットに含まれる複数の画像データから前記所定の画像データ又は前記所定の画像データ以外のいずれか1つの画像データを選択するようにしてもよい。
【0029】
このようにすれば、例えば、処理負荷が比較的軽い時は画像データ数が多い画像データセットから画像データを選択することで表示物がより滑らかに移動する画像を生成することができるとともに、処理負荷が比較的重い時は画像データ数が少ない画像データセットから画像データを選択することで画像データの選択処理の負荷を軽減させることができる。
【0030】
(12)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
記憶部に格納された楽曲データの再生を行う楽曲再生部と、
前記楽曲データに合わせた複数の基準タイミングの各々を指示する指示標識を前記表示物として、各指示標識を、当該指示標識に対応する基準タイミングで所定位置に位置するように、移動経路上を移動させる移動制御部と、
各指示標識に対応する基準タイミングと、プレーヤの入力タイミングとを比較して、プレーヤの入力を評価する評価部としてさらにコンピュータを機能させる(楽曲再生部と、移動制御部と、評価部と、をさらに含む)ようにしてもよい。
【0031】
このようにすれば、表示領域の解像度が低い場合でも、指示標識を滑らかに移動表示する音楽ゲームを実現することができる。これにより、プレーヤが入力タイミングをより把握しやすくすることができる。
【0032】
(13)また、本発明は、
所与の表示物が移動する画像を生成するための画像生成方法であって、
前記表示物の所定の基準位置からの移動差分に基づいて、当該表示物の描画位置を算出する描画位置算出ステップと、
前記表示物の前記基準位置からの移動差分と前記基準位置から前記描画位置までの差分との差が、所定範囲内であれば、当該表示物に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて前記複数の画像データから前記所定の画像データ以外のいずれか1つの画像データを選択する画像データ選択ステップと、
前記画像データ選択ステップで選択した画像データを前記描画位置に描画し、前記表示物を含む画像を生成する画像生成ステップと、を含むことを特徴とする。
【0033】
本発明によれば、フレーム毎に複数の画像データから所定の条件に合致する1つの画像データを選択することで、フレーム毎の表示物の画像を変更することができる。従って、適切な複数の画像データを設定することで、表示領域の解像度が低い場合でも表示物が滑らかに移動する画像を生成することができる。
【図面の簡単な説明】
【0034】
【図1】本実施形態のシステムの概略外観の一例を示す図。
【図2】本実施形態で表示される画像の一例を示す図。
【図3】指示標識の移動表示と操作入力のタイミングの評価について説明するための図。
【図4】音符の種類の一例を示す図。
【図5】画像データの一例を示す図。
【図6】画像データの作成例について説明するための図。
【図7】本実施形態の指示標識の描画の一例を示すタイムチャート図。
【図8】本実施形態の指示標識の描画の他の一例を示すタイムチャート図。
【図9】本実施形態の指示標識の描画の他の一例を示すタイムチャート図。
【図10】本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す図。
【図11】本実施形態の位置指定操作の判定処理の一例を示すフローチャート図。
【図12】本実施形態の指示標識の移動表示処理の一例を示すフローチャート図。
【図13】本実施形態の指示標識の移動表示処理の具体例を示すフローチャート図。
【図14】本実施形態の指示標識の移動表示処理の変形例を示すフローチャート図。
【図15】本実施形態を実現できるハードウェア構成の例を示す図。
【発明を実施するための形態】
【0035】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【0036】
以下では、本実施形態の画像生成システムの一例である音楽ゲームシステムを例にとり説明するが、本発明の適用範囲はこれに限られるものではない。
【0037】
1.本実施形態の手法
(1)音楽ゲームシステムの概要
図1に本実施形態の音楽ゲームシステムの外観図を示す。図1の例では本実施形態の音楽ゲームシステムを携帯型ゲームシステム10により構成している。図1に示すように本実施形態の携帯型ゲームシステム10は、本体上部2と本体下部4とがヒンジ部6により接合されており、本体上部2と本体下部4とがヒンジ軸回りに回動可能に形成されている。そして本体上部2には、第1のディスプレイ11が設けられ、本体下部4には、第2のディスプレイ12が設けられている。また本体上部2と本体下部4の中間部中央付近には、プレーヤが音入力(音声入力)を行うための音入力装置40(マイク)が設けられている。また本体下部4には、十字キー14、操作ボタン16などの操作部が設けられている。更に第1のディスプレイ11の両横には、音楽ゲームで用いる楽曲音などを出力するためのスピーカ42が設けられている。
【0038】
特に本実施形態では、第2のディスプレイ12は、画像を表示する液晶ディスプレイと接触位置を検出できるタッチパネルとが積層されたタッチパネルディスプレイとされており、第2のディスプレイ12の表示領域に対してプレーヤが接触した位置を検出できるようになっている。本実施形態では、プレーヤにタッチペン20を操作させ、タッチペン20の先端部を第2のディスプレイ12に接触させることにより、第2のディスプレイ12の表示領域(検出領域)における任意の位置を指定する入力操作(位置指定操作)を行わせ、その操作位置を検出する。
【0039】
そして、本実施形態では、音楽ゲームが開始されると、スピーカ42から楽曲音を出力させるとともに、第1のディスプレイ11に、楽曲の進行状況に合わせて表示領域の右側から左方向に移動する複数の指示標識26(表示物の一例)を表示させ、第2のディスプレイ12に、プレーヤが位置指定操作を行うべき操作領域を表示させる。この指示標識26は、第2のディスプレイ12の操作領域に対してプレーヤが位置指定操作を行うべき操作タイミング(基準タイミング)をプレーヤに認知させるための表示である。本実施形態では、第1のディスプレイ11の表示領域の左側中央部に基準標識30を固定的に表示させ、楽曲データに合わせて予め定められた指示標識26ごとの基準タイミングで各指示標識26が基準標識30に到達するように、各指示標識26を所定の移動経路32に沿って移動させる。
【0040】
本実施形態では、指示標識26を表示させ、さらに、指示標識26の下部には当該指示標識26と同じ移動速度で「ドン」又は「カッ」の文字を移動表示させる。また、第2のディスプレイ12の操作領域には、「ドン」の文字とともに移動する指示標識26が基準標識30に位置(到達)したときに位置指定操作を行うべき領域であって和太鼓の皮面を示す円形状の操作領域22と、「カッツ」の文字とともに移動する指示標識26が基準標識30に位置(到達)したときに位置指定操作を行うべき領域であって操作領域22以外の領域である操作領域24とを表示させる。
【0041】
そして、図2(A)に示すように、「ドン」の文字とともに移動する指示標識26が基準標識30又はその近傍に到達したタイミング(実際には基準タイミングを含む所定の基準期間)において、プレーヤが操作領域22に位置指定操作を行うことができると、スピーカ42から「ドン」という効果音が出力されるとともに、得点が加算されていく。また、図2(B)に示すように、「カッ」の文字とともに移動する指示標識26が基準標識30又はその近傍に到達したタイミング(実際には基準タイミングを含む所定の基準期間)において、プレーヤが操作領域24に位置指定操作を行うことができると、スピーカ42から「カッ」という効果音が出力されるとともに、得点が加算されていく。一方、基準タイミング又はその近傍(実際には基準タイミングを含む所定の基準期間)において、指示標識26に応じて操作領域22又は操作領域24に位置指定操作を行うことができないと、スピーカ42から音が出力されず、得点も加算されない。
【0042】
図3は、指示標識26の移動表示と操作入力のタイミングの評価について説明するための図である。本実施形態の携帯型ゲームシステム10は、楽曲音を出力するための楽曲データを記憶部に格納しているとともに、1曲分の操作タイミング(基準タイミング)を表すデータとして譜面データ50を、楽曲ごとに記憶部に格納している。この操作タイミングは、元曲の特徴的なリズムを再現してもよいし、ゲーム性から変則的にしてもよく、また、外部入力された曲データに合わせてリアルタイムに生成してもよい。
【0043】
そして、本実施形態のような音楽ゲームの場合、表示開始位置から基準標識30までの距離が決まっているため、指示標識26が所定時間でどれだけ移動するかを表す速度情報を設定すれば指示標識26の移動制御が可能である。そこで、本実施形態では、譜面データ50に各指示標識26の移動速度(速度情報)が設定されている。
【0044】
また、本実施形態では、各操作タイミングに応じた指示標識26毎に、表示する音符の種類を識別するための識別データが関連づけられており、識別データに応じた音符のテクスチャを適用して指示標識26を表示する。本実施形態では、音符の種類は、基本音符と特殊音符に分類される。図4(A)〜図4(C)に、音符の種類の一例を示す。図4(A)は基本音符であり、図4(B)は強く叩くことを指示する大音符(特殊音符の一例)であり、図4(C)は連続操作を指示する連打音符(特殊音符の一例)である。
【0045】
本実施形態では、譜面データ50は、複数の小節52−1、52−2、52−3、52−4、・・・に区切って操作タイミングが定義されている。図3の例では、第2小節52−2では2つの指示標識26aと26bの操作タイミングが定義されている。また、第3小節52−3では5つの指示標識26c、26b、26d、26e、26f、26gの操作タイミングが定義されている。また、第4小節52−4では4つの指示標識26h、26i、26j、26kの操作タイミングが定義されている。なお、図3の例では、第1小節52−1は、楽曲データの前奏部分にあたり、操作タイミングが定義されていない。
【0046】
本実施形態の携帯型ゲームシステム10は、図3に示すように、楽曲データの再生を開始してから0秒後に、第1のディスプレイ11の表示領域(例えば、縦192ドット×横256ドット)において、第1番目の小節52−1の先端を基準標識30の位置に表示し、第2番目の小節52−2の先頭を右端に表示する。そして、携帯型ゲームシステム10は、譜面データ50に応じて、指示標識26を先頭から順に、楽曲データの再生に連動させて、第1のディスプレイ11の表示領域において右端から基準標識30に向けて移動表示させる。その結果、第3番目の小節52−3の先頭(指示標識26c)は、楽曲データの再生を開始してから4秒後に第1のディスプレイ11の表示領域の右端に表示され、第4番目の小節52−4の先頭(指示標識26h)は、楽曲データの再生を開始してから8秒後に第1のディスプレイ11の表示領域の右端に表示される。
【0047】
本実施形態では、各譜面データ50に元曲(もしくはBGM)に基づくBPM(Beats Per Minute)が設定されており、このBPMから各曲、各小節ごとに指示標識26の移動速度(速度情報)が定義されている。図3の例では、第1小節52−1、第2小節52−2、第4小節52−4には0.05ドット/msの移動速度が定義されており、第3小節52−3には0.1ドット/msの移動速度が定義されている。従って、例えば、第1のディスプレイ11の表示領域の右端から基準標識30までの距離を200ドットとすると、第2小節52−2の2つの指示標識26a、26bと第4小節52−4の4つの指示標識26h、26i、26j、26kは、第1のディスプレイ11の表示領域の右端に表示されてから基準標識30に到達するまでに4秒かかる。一方、第3小節52−3の5つの指示標識26c、26d、26e、26f、26gは、第1のディスプレイ11の表示領域の右端に表示されてから基準標識30に2秒で到達する。
【0048】
例えば、第2小節52−2の2つの指示標識26aと26bは、楽曲データの再生を開始してからそれぞれ0秒後と1.2秒後に第1のディスプレイ11の右端に表示されて0.05ドット/msで移動し、それぞれ4秒後と5.2秒後に基準標識30に到達する。また、例えば、第3小節52−3の5つの指示標識26c、26d、26e、26f、26gは、楽曲データの再生を開始してからそれぞれ4秒後、4.8秒後、5.6秒後、6.4秒後、7.2秒後に第1のディスプレイ11の右端に表示されて0.1ドット/msで移動し、それぞれ6秒後、6.8秒後、7.6秒後、8.4秒後、9.2秒後に基準標識30に到達する。
【0049】
携帯型ゲームシステム10は、楽曲データの再生と、指示標識26の移動表示と、経過時間のカウントとを同時に開始する。そして、「ドン」の文字とともに移動する指示標識26の基準タイミングが到来したときに、第2のディスプレイ12の操作領域22に位置指定操作が行われると、「ドン」という効果音をスピーカ42から出力させるとともに、第1のディスプレイ11の表示領域に「Great!」とプレーヤを評価する表示を行い、相対的に高い得点を加算する。同様に、「カッ」の文字とともに移動する指示標識26の基準タイミングが到来したときに、第2のディスプレイ12の操作領域24に位置指定操作が行われると、「カッ」という効果音をスピーカ42から出力させるとともに、第1のディスプレイ11の表示領域に「Great!」とプレーヤを評価する表示を行い、相対的に高い得点を加算する。
【0050】
また、基準タイミングと位置指定操作のタイミングとが厳密に一致しなくても、「ドン」の文字とともに移動する指示標識26の基準タイミングの前後の所定の短い期間(例えば0.2秒間)に、操作領域22に位置指定操作が行われると、「ドン」という効果音をスピーカ42から出力させるとともに、第1のディスプレイ11の表示領域に「Good」とプレーヤを評価する表示を行い、相対的に低い得点を加算する。同様に、「カッ」の文字とともに移動する指示標識26の基準タイミングの前後の所定の短い期間に、操作領域24に位置指定操作が行われると、「カッ」という効果音をスピーカ42から出力させるとともに、第1のディスプレイ11の表示領域に「Good」とプレーヤを評価する表示を行い、相対的に低い得点を加算する。
【0051】
一方、基準タイミングの前後の所定の短い期間に、操作領域22又は操作領域24に位置指定操作が行われない、或いは指示標識26が指示する位置指定操作とは異なる位置指定操作が行われると、スピーカ42から音が出力させず、第1のディスプレイ11の表示領域に「Bad」とプレーヤを評価する表示を行い、得点は加算しない。
【0052】
図3の例では、例えば、譜面データ50の第2小節52−2の先頭に配置された「ドン」の文字とともに移動する指示標識26aの基準タイミング(楽曲再生開始から4秒後)が到来したときに、操作領域22に位置指定操作が行われたため、「ドン」という効果音がスピーカ42から出力され、第1のディスプレイ11の表示領域に「Great!」が表示され、相対的に高い得点が加算されている。また、例えば、譜面データ50の第2小節52−2の2番目に配置された「カッ」の文字とともに移動する指示標識26bの基準タイミング(楽曲再生開始から5.2秒後)が到来した後に、わずかに遅れて操作領域24に位置指定操作が行われたため、「カッ」という効果音がスピーカ42から出力され、第1のディスプレイ11の表示領域に「Good」が表示され、相対的に低い得点が加算されている。また、例えば、譜面データ50の第3小節52−3の先頭に配置された指示標識26cの基準タイミング(楽曲再生開始から6秒後)の前後の所定の短い期間に、操作領域22と操作領域24のいずれに対しても位置指定操作が行われなかったため、スピーカ42から音が出力されずに第1のディスプレイ11の表示領域に「Bad」が表示され、得点が加算されていない。また、例えば、譜面データ50の第3小節52−3の2番目に配置された「カッ」の文字とともに移動する指示標識26dの基準タイミング(楽曲再生開始から6.8秒後)が到来したときに、誤って操作領域22に位置指定操作が行われたため、スピーカ42から音が出力されずに第1のディスプレイ11の表示領域に「Bad」が表示され、得点が加算されていない。
【0053】
こうして本実施形態の携帯型ゲームシステム10では、プレーヤは、スピーカ42から出力される楽曲音を聞きながら、また第1のディスプレイ11の表示領域において移動する指示標識26を見ながら、楽曲の進行に合わせて予め定められたタイミングで太鼓を叩くという音楽ゲームを楽しむ。
【0054】
なお、図3の例では、第4小節52−4では、指示標識26hと指示標識26iが接触しながら移動し、指示標識26jと指示標識26kは互いの一部が重なって移動するため、これら2つの指示標識26に対する基準タイミングの間隔が短くなっている。このように、連続する2つの指示標識26の間隔を調整することで、ゲームの難易度を調整することができる。
【0055】
また、譜面データ50の第3小節52−3の指示標識26cの移動速度が第2小節52−2の指示標識26bの移動速度よりも速いので、指示標識26bと指示標識26cの時間差が、第1のディスプレイ11の表示領域の右端では2.8秒であるのに対して、基準標識30に到達するタイミング(基準タイミング)では0.8秒に縮まっている。このように、小節毎に指示標識26の移動速度を調整することでも、ゲームの難易度を調整することができる。
【0056】
(2)指示標識の描画手法
タイミング操作が重要となる音楽ゲームやスロットゲームでは、よりタイミングを厳密にするためミリ秒といった細かい単位で処理を行っており、1ドット未満の描画不可能な計算結果も出てしまうが、何もしないと、カクカクするような描画となり、操作タイミングの報知に障害となってしまう。例えば、図3の例では、指示標識26aの移動速度は0.05ドット/msであるので、本実施形態では1フレーム時間を1/60秒として、1フレーム(1/60秒)あたり0.83ドット(≒50ドット/60s)移動する。そのため、指示標識26aをフレーム毎に前フレームと同じ位置又は1ドット移動した位置に描画することになる。すなわち、指示標識26aの描画位置は一定の速度で変化せずに、フレーム毎に静止するか、又は1ドットだけ移動する。携帯型ゲームシステム10では、第1のディスプレイ11の表示領域の解像度が低い(画素数が少ない)ため(例えば、192×256画素)、フレーム毎に静止するか1ドット分移動するかの差が目立ち、仮に指示標識26aを1種類の画像(画像データ)で描画すると、滑らかに移動するようには見えず、カクカクしながら移動するような不自然な動きに見えてしまう。
【0057】
また、第3小節52−3の指示標識26は、移動速度が0.1ドット/msであるので、1フレーム(1/60秒)あたり1.67ドット(≒100ドット/60s)移動する。そのため、第3小節52−3の指示標識26をフレーム毎に1ドット又は2ドット移動した位置に描画することになる。ここで、例えば、指示標識26cと指示標識26dに着目すると、指示標識26cと指示標識26dの描画位置が毎フレーム同じドット数(1ドット又は2ドット)だけ変化するとは限らず、あるフレームでは指示標識26cの描画位置が1ドット変化するのに対して指示標識26cの描画位置が2ドット変化し、別のフレームでは指示標識26cの描画位置が2ドット変化するのに対して指示標識26cの描画位置が1ドット変化するといった状況が発生する。指示標識26cと指示標識26dの移動速度は同じであるため、この2つの指示標識の描画位置は全体的に見れば所定の間隔が保たれるが、局所的には2つの指示標識の間隔が1ドットだけ狭まったり広がったりすることになる。仮に指示標識26cと指示標識26dを1種類の画像(画像データ)で描画すると、指示標識26cと指示標識26dの間隔が近いほど1ドット分の間隔の変化が目立ち、2つの指示標識が不自然な動きに見えてしまう。
【0058】
そこで、本実施形態では、各指示標識26に対して、フレーム毎に、当該指示標識26の基準位置(例えば、第1のディスプレイ11の表示領域の右端の位置)からの移動距離と、当該基準位置から実際の描画位置までの距離との関係に応じて、複数種類の画像(画像データ)から1種類の画像(画像データ)を選択して描画する。例えば、図4(A)に示した基本音符が対応づけられる指示標識26に対して、図5(A)〜図5(D)に示す4種類の画像(画像データ)P1〜P4を選択可能にする。図5(A)〜図5(D)に示す4種類の画像(画像データ)P1〜P4は、ともに縦nドット、横mドットの矩形領域(破線で示す)に収まっており(図5(A)〜図5(D)の矩形領域では具体的にn=21、m=22である)、この矩形領域の右下の頂点位置を画像(画像データ)P1〜P4の原点(0,0)としている。
【0059】
図5(A)に示す基本画像P1は、最も外側の黒色の線を輪郭線とするほぼ左右対称の画像である。本来表示したい音符の輪郭は白い部分であるが、背景(黒色)となじませるため、黒い輪郭部分が付されている。基本画像P1の上端、下端、右端は矩形領域の外周に接しており、左端は矩形領域の外周と1ドット分の隙間が空いている。この基本画像P1は、原点(0,0)を描画位置と一致させて配置した時に指示標識26が描画位置に対してずれのない位置にあるように見える画像になっている。
【0060】
図5(B)に示す画像P2は、最も外側の黒色の線を輪郭線として、基本画像P1の各画素を左方向にぼかしたような画像である。画像P2の上端、下端、右端は矩形領域の外周に接しており、左端は矩形領域の外周と1ドット分の隙間が空いている。この画像P2は、原点(0,0)を描画位置と一致させて配置した時に指示標識26が描画位置に対して0.25ドット進んだ位置にあるように見える画像(指示標識26が移動方向に0.25ドットずれたように見える画像)になっている。
【0061】
図5(C)に示す画像P3は、最も外側の黒色の線を輪郭線として、基本画像P1の各画素を左右方向にぼかしたような画像である。画像P3の上端、下端、右端、左端はすべて矩形領域の外周に接しており、画像P3の横方向のドット数は基本画像P1よりも1ドット多くなっている。この画像P3は、原点(0,0)を描画位置と一致させて配置した時に指示標識26が描画位置に対して0.5ドット進んだ位置にあるように見える画像(指示標識26が移動方向に0.5ドットずれたように見える画像)になっている。
【0062】
図5(D)に示す画像P4は、最も外側の黒色の線を輪郭線として基本画像P1の各画素を右方向にぼかしたような画像である。画像P4の上端、下端、左端は矩形領域の外周に接しており、右端は矩形領域の外周と1ドット分の隙間が空いている。この画像P4は、原点(0,0)を描画位置と一致させて配置した時に指示標識26が描画位置に対して0.75ドット進んだ位置にあるように見える画像(指示標識26が移動方向に0.75ドットずれたように見える画像)になっている。
【0063】
なお、本実施形態では、これらの画像P1〜P4は、位置が変わっていなくとも、ずれた印象とするため、背景色(黒色)と本来の音符の輪郭の色(白色)との中間色(グレー)の色調で、濃度が調整されている。また、本実施形態では、画像P1〜P4に対して、音符部分だけでなく、周囲も透明テクスチャとして、矩形領域すべてに対するテクスチャを一体として有している。こうすることで、画像P1〜P4を同じ位置に描画しても互いにずれたように見える表現を簡単に実現することができる。
【0064】
図6(A)〜図6(D)は、それぞれ図5(A)〜図5(D)に示した画像(画像データ)P1〜P4の作成例について説明するための図である。
【0065】
まず、図5(A)に示した基本画像P1のN倍の画素数で構成された元画像BPを作成する。
【0066】
そして、図6(A)に示すように、この元画像BPの上端、下端、右端に接し、元画像BPの左端とNドット分の隙間が空くような外周を有する縦N×nドット、横N×mドットの矩形領域(破線で示す)を想定する。そして、元画像BPを、矩形領域の原点(0,0)(矩形領域の左下)を基準にアンチエリアス処理(ぼかし処理)を行いながら縦横にそれぞれ1/Nに縮小することで基本画像P1が得られる。
【0067】
次に、図6(B)に示すように、図6(A)と同じ矩形領域において、元画像BPを0.25×Nドットだけ左方向にずらし(もしくは、矩形領域を0.25×Nドットだけ右方向にずらし)、元画像BPを、矩形領域の原点(0,0)を基準にアンチエリアス処理を行いながら縦横にそれぞれ1/Nに縮小することで画像P2が得られる。
【0068】
次に、図6(C)に示すように、図6(A)と同じ矩形領域において、元画像BPを0.5×Nドットだけ左方向にずらし(もしくは、矩形領域を0.5×Nドットだけ右方向にずらし)、元画像BPを、矩形領域の原点(0,0)を基準にアンチエリアス処理を行いながら縦横にそれぞれ1/Nに縮小することで画像P3が得られる。
【0069】
次に、図6(D)に示すように、図6(A)と同じ矩形領域において、元画像BPを0.75×Nドットだけ左方向にずらし(もしくは、矩形領域を0.75×Nドットだけ右方向にずらし)、元画像BPを、矩形領域の原点(0,0)を基準にアンチエリアス処理を行いながら縦横にそれぞれ1/Nに縮小することで画像P4が得られる。
【0070】
本実施形態の携帯型ゲームシステム10は、各フレーム毎に、基本音符が対応づけられた指示標識26の計算上の描画位置(以下、「計算位置」という)の小数部分が0以上0.25未満であれば基本画像P1を選択し、計算位置の小数部分が0.25以上0.5未満であれば画像P2を選択し、計算位置の小数部分が0.5以上0.75未満であれば画像P3を選択し、計算位置の小数部分が0.75以上1.00未満であれば画像P4を選択し、選択した画像の原点(0,0)を計算位置の整数部分に対応する描画位置に描画する。なお、画像P1〜P4をあらかじめ作成して記憶部に記憶させておいてもよいし、元画像BPを記憶部に記憶させておき、選択した画像P1〜P4のいずれか1つの画像を元画像BPからリアルタイムに生成するようにしてもよい。
【0071】
図7〜図9は、本実施形態の指示標識の描画例を示すタイムチャート図である。本実施形態では、第1のディスプレイ11の横方向をX軸、縦方向をY軸として、指示標識26の描画位置をX座標とY座標で特定する。なお、第1のディスプレイ11の左方向をX軸の正方向、上方向をY軸の正方向とする。また、指示標識26は、画像P1〜P4の原点が常にY座標の100の位置になるように左方向に移動するものとする。
【0072】
図7は、基本音符が対応づけられた2つの指示標識26が左方向に1フレーム(1/60秒)あたり0.25ドットの速度で移動している場合の第kフレーム〜第k+4フレームの描画例である。
【0073】
第kフレームでは、左(前)の指示標識26の原点に対するX座標(すなわち、座標(0,100)の位置の計算結果が100.00であるとする。この計算結果の小数点以下は0.00なので基本画像P1が選択され、計算結果の整数部分が100なので、原点が座標(100,100)に一致する位置(描画位置)に基本画像P1が描画されている。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果が70.50であるとする。この計算結果の小数点以下は0.50なので画像P3が選択され、計算結果の整数部分が70なので、原点が座標(70,100)に一致する位置に画像P3が描画されている。
【0074】
第k+1フレームでは、2つの指示標識26が0.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は100.25になる。この計算結果の小数点以下は0.25なので画像P2が選択され、計算結果の整数部分が100なので、原点が座標(100,100)に一致する位置(第kフレームと同じ位置)に画像P2が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は70.75になる。この計算結果の小数点以下は0.75なので画像P4が選択され、計算結果の整数部分が70なので、原点が座標(70,100)に一致する位置(第kフレームと同じ位置)に画像P4が描画される。
【0075】
第k+2フレームでは、2つの指示標識26がさらに0.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は100.50になる。この計算結果の小数点以下は0.50なので画像P3が選択され、計算結果の整数部分が100なので、原点が座標(100,100)に一致する位置(第k+1フレームと同じ位置)に画像P3が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は71.00になる。この計算結果の小数点以下は0.00なので基本画像P1が選択され、計算結果の整数部分が71なので、原点が座標(71,100)に一致する位置(第k+1フレームから左に1ドットずれた位置)に基本画像P1が描画される。
【0076】
第k+3フレームでは、2つの指示標識26がさらに0.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は100.75になる。この計算結果の小数点以下は0.75なので画像P4が選択され、計算結果の整数部分が100なので、原点が座標(100,100)に一致する位置(第k+2フレームと同じ位置)に画像P4が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は71.25になる。この計算結果の小数点以下は0.25なので画像P2が選択され、計算結果の整数部分が71なので、原点が座標(71,100)に一致する位置(第k+2フレームと同じ位置)に画像P2が描画される。
【0077】
第k+4フレームでは、2つの指示標識26がさらに0.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は101.00になる。この計算結果の小数点以下は0.00なので基本画像P1が選択され、計算結果の整数部分が101なので、原点が座標(101,100)に一致する位置(第k+3フレームから左に1ドットずれた位置)に基本画像P1が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は71.50になる。この計算結果の小数点以下は0.50なので画像P3が選択され、計算結果の整数部分が71なので、原点が座標(71,100)に一致する位置(第k+3フレームと同じ位置)に画像P3が描画される。
【0078】
このように、左(前)の指示標識26は、第k〜第k+3フレームでは同じ位置に描画されるとともに第k+4フレームでは1ドット進んだ位置に描画されているが、フレーム毎に、描画する画像をP1、P2、P3、P4、P1の順に変更することで0.25ドットずつの移動を擬似的に表現している。また、右(後ろ)の指示標識26は第k〜第k+1フレームでは同じ位置に描画されるとともに第k+2〜第k+4フレームでは1ドット進んだ同じ位置に描画されているが、フレーム毎に、描画する画像をP3、P4、P1、P2、P3の順に変更することで0.25ドットずつの移動を擬似的に表現している。
【0079】
これにより、本実施形態では、第k、第k+1、第k+4フレームでは、2つの指示標識26の描画位置のX方向の差が30になっているのに対して、第k+2、第k+3フレームでは、2つの指示標識26の描画位置のX方向の差が29になっているが、カクカクした動きによる見た目の不自然さを軽減し、2つの指示標識26が滑らかに移動する画像を生成することに成功している。
【0080】
図8は、基本音符が対応づけられた2つの指示標識26が左方向に1フレーム(1/60秒)あたり1.67ドットの速度で移動している場合の第kフレーム〜第k+4フレームの描画例である。
【0081】
第kフレームでは、左(前)の指示標識26の原点に対するX座標の計算結果が100.00であるとする。そのため、原点が座標(100,100)に一致する位置に基本画像P1が描画されている。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果が70.33であるとする。そのため、原点が座標(70,100)に一致する位置に画像P2が描画されている。
【0082】
第k+1フレームでは、2つの指示標識26が1.67ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は101.67になり、原点が座標(101,100)に一致する位置(第kフレームから左に1ドットずれた位置)に画像P3が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は72.00になり、原点が座標(72,100)に一致する位置(第kフレームから左に2ドットずれた位置)に基本画像P1が描画される。
【0083】
第k+2フレームでは、2つの指示標識26がさらに1.67ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は103.34になり、原点が座標(103,100)に一致する位置(第k+1フレームから左に2ドットずれた位置)に画像P2が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は73.67になり、原点が座標(73,100)に一致する位置(第k+1フレームから左に1ドットずれた位置)に画像P3が描画される。
【0084】
第k+3フレームでは、2つの指示標識26がさらに1.67ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は105.01になり、原点が座標(105,100)に一致する位置(第k+2フレームから左に2ドットずれた位置)に基本画像P1が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は75.34になり、原点が座標(75,100)に一致する位置(第k+2フレームから左に2ドットずれた位置)に画像P2が描画される。
【0085】
第k+4フレームでは、2つの指示標識26がさらに1.67ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は106.68になり、原点が座標(106,100)に一致する位置(第k+3フレームから左に1ドットずれた位置)に画像P3が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は77.01になり、原点が座標(77,100)に一致する位置(第k+3フレームから左に2ドットずれた位置)に基本画像P1が描画される。
【0086】
このように、左(前)の指示標識26は、第k〜第k+4フレームにおいて1ドット又は2ドットずつ進んだ位置に描画されているが、フレーム毎に、描画する画像をP1、P3、P2、P1、P3の順に変更することで1.67ドットずつの移動を擬似的に表現している。また、右(後ろ)の指示標識26も第k〜第k+4フレームにおいて1ドット又は2ドットずつ進んだ位置に描画されているが、フレーム毎に、描画する画像をP2、P1、P3、P2、P1の順に変更することで1.67ドットずつの移動を擬似的に表現している。
【0087】
これにより、本実施形態では、第k、第k+2、第k+3フレームでは、2つの指示標識26の描画位置のX方向の差が30になっているのに対して、第k+1、第k+4フレームでは、2つの指示標識26の描画位置のX方向の差が29になっているが、カクカクした動きによる見た目の不自然さを軽減し、2つの指示標識26が滑らかに移動する画像を生成することに成功している。
【0088】
図9は、基本音符が対応づけられた2つの指示標識26が一部が重なった状態で左方向に1フレーム(1/60秒)あたり1.25ドットの速度で移動している場合の第kフレーム〜第k+4フレームの描画例である。
【0089】
第kフレームでは、左(前)の指示標識26の原点に対するX座標の計算結果が84.00であるとする。そのため、原点が座標(84,100)に一致する位置に基本画像P1が描画されている。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果が70.50であるとする。そのため、原点が座標(70,100)に一致する位置に画像P3が描画されている。
【0090】
第k+1フレームでは、2つの指示標識26が1.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は85.25になり、原点が座標(85,100)に一致する位置(第kフレームから左に1ドットずれた位置)に画像P2が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は71.75になり、原点が座標(71,100)に一致する位置(第kフレームから左に1ドットずれた位置)に画像P4が描画される。
【0091】
第k+2フレームでは、2つの指示標識26がさらに1.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は86.50になり、原点が座標(86,100)に一致する位置(第k+1フレームから左に1ドットずれた位置)に画像P3が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は73.00になり、原点が座標(73,100)に一致する位置(第k+1フレームから左に2ドットずれた位置)に基本画像P1が描画される。
【0092】
第k+3フレームでは、2つの指示標識26がさらに1.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は87.75になり、原点が座標(87,100)に一致する位置(第k+2フレームから左に1ドットずれた位置)に画像P4が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は74.25になり、原点が座標(74,100)に一致する位置(第k+2フレームから左に1ドットずれた位置)に画像P2が描画される。
【0093】
第k+4フレームでは、2つの指示標識26がさらに1.25ドットだけ左に進む。そのため、左(前)の指示標識26の原点に対するX座標の計算結果は89.00になり、原点が座標(89,100)に一致する位置(第k+3フレームから左に2ドットずれた位置)に基本画像P1が描画される。また、右(後ろ)の指示標識26の原点に対するX座標の計算結果は75.50になり、原点が座標(75,100)に一致する位置(第k+3フレームから左に1ドットずれた位置)に画像P3が描画される。
【0094】
このように、左(前)の指示標識26は、第k〜第k+3フレームでは1ドットずつ進んだ位置に描画されるとともに第k+4フレームでは2ドット進んだ位置に描画されているが、フレーム毎に、描画する画像をP1、P2、P3、P4、P1の順に変更することで1.25ドットずつの移動を擬似的に表現している。また、右(後ろ)の指示標識26は第k〜第k+1フレーム、第k+3〜第k+4フレームでは1ドットずつ進んだ位置に描画されるとともに第k+2フレームでは2ドット進んだ位置に描画されているが、フレーム毎に、描画する画像をP3、P4、P1、P2、P3の順に変更することで1.25ドットずつの移動を擬似的に表現している。
【0095】
これにより、本実施形態では、第k、第k+1、第k+4フレームでは、2つの指示標識26の描画位置のX方向の差が14になっているのに対して、第k+2、第k+3フレームでは、2つの指示標識26の描画位置のX方向の差が13になっているが、カクカクした動きによる見た目の不自然さを軽減し、2つの指示標識26が滑らかに移動する画像を生成することに成功している。ただし、本実施形態では、図5(D)に示したように、画像P4の右端の輪郭線は、画像P1、P2、P4に対して1ドットだけ左にずれている。そのため、第k+2フレームから第k+3フレームに変わる時や第k+3フレームから第k+2フレームに変わる時に、2つの指示標識26が重なる部分の動きの変化が多少目立つ可能性がある。そこで、画像P1〜P4の輪郭部分の黒い画素については半透明で定義し、画像P1〜P4の輪郭部分の画素については例えばα=0.5で半透明合成することで、見た目の不自然さをさらに軽減することができる。
【0096】
なお、より多く描画される基本音符が対応づけられる指示標識26は数が多いので、基本音符が対応づけられる指示標識26に対してのみこの描画手法を適用し、特殊音符が対応づけられる指示標識26は数が少ないので、特殊音符が対応づけられる指示標識26に対しては、この描画手法を適用せずに常に各特殊音符の基本画像を描画するようにしてもよい。
【0097】
2.構成
次に、図10を用いて本実施形態における携帯型ゲームシステム(音楽ゲームシステム、画像生成システム)の構成について説明する。図10は、本実施形態における携帯型ゲームシステム10の機能ブロック図の一例である。なお、本実施形態のゲームシステムは、図8の構成要素(各部)の一部を省略した構成としてもよい。
【0098】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0099】
特に本実施形態では、図1に示す第2のディスプレイ12が、液晶ディスプレイと、プレーヤの接触位置を検出するためのタッチパネルとが積層された構成となっている。従って本実施形態では、第2のディスプレイ12が操作部160として機能するとともに表示部190としても機能する。ここでタッチパネルとしては、例えば抵抗膜方式(4線式、5線式)、静電容量結合方式、超音波表面弾性波方式、赤外線走査方式などの種々のタッチパネルを用いることができる。なお、第2のディスプレイ12への接触操作は、図1に示すタッチペン20などの入力機器を用いて行っても良いし、指先を用いて行ってもよい。
【0100】
また操作部160を、表示部190の表示領域における指示位置を検出可能なポインティングデバイスにより実現したり、操作デバイスの移動方向、移動量、移動速度などを検出して表示部190の表示領域における任意の位置を指定可能なマウスやトラックボールなどにより実現してもよい。即ち本実施形態の操作部160は、表示領域における位置を指定する位置指定操作を行うことができる種々のデバイスにより実現することができる。
【0101】
音入力装置162は、プレーヤが音声や手拍子などの音を入力するためのものであり、その機能はマイクなどにより実現できる。プレーヤは音入力装置162に音声を入力することによって、位置指定操作を行うことができるようにしてもよい。
【0102】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶される描画バッファ172と、複数種類の楽曲の楽曲データを記憶する楽曲データ記憶部173と、ゲームキャラクタなどの表示物(オブジェクト)の画像データが記憶される画像データ記憶部174と、楽曲に応じた間隔で指示標識26の操作タイミング((小節毎の速度情報))が定義された譜面データを記憶する譜面データ記憶部175と、を含む。なお、これらの一部を省略する構成としてもよい。
【0103】
本実施形態では、譜面データ記憶部175には、譜面データとして、指示標識の識別データ、操作タイミング(基準タイミング)を示す基準タイミングデータ、小節毎の移動速度を示す速度データ、位置指定操作を行うべき基準期間を示す基準期間データ、基準期間において位置指定操作を行うべき操作領域を示す操作領域データ、音符の識別データが対応づけられたテーブル形式のデータが記憶されている。
【0104】
特に本実施形態では、画像データ記憶部174は、1つの指示標識26(表示物)に対応づけて複数の画像データを記憶するようにしてもよい。例えば、画像データ記憶部174は、1つの指示標識26に対応づけて、図5(A)〜図5(D)に示した4つの画像データP1〜P4を記憶する。
【0105】
あるいは、画像データ記憶部174は、指示標識26(表示物)の元画像の画像データ(例えば画像データBP)を記憶するようにしてもよい。
【0106】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
【0107】
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
【0108】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。特に本実施形態では表示部190は、第1のディスプレイ11と第2のディスプレイ12とを含み、第2のディスプレイ12は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う操作部160としても機能する。
【0109】
なお、2つのディスプレイを有する場合には、少なくとも第2のディスプレイ12をタッチパネルディスプレイとして構成すればよい。また1つのディスプレイに第1の表示領域と第2の表示領域とを設け、少なくとも第2の表示領域を、接触操作位置を検出する検出領域として機能させるようにしてもよい。
【0110】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。特に本実施形態では、ゲームが開始され楽曲データが再生されると、楽曲を出力する。
【0111】
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲームシステムなどがある。
【0112】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0113】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0114】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどの表示物(オブジェクト)を配置する処理、表示物(オブジェクト)を表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0115】
特に本実施形態の処理部100は、楽曲再生部110、評価部112、操作データ取得部114、ゲーム演算部116、表示制御部120、選択画像データ生成部130、画像生成部132を含む。なお、これらの一部を省略する構成としてもよい。
【0116】
楽曲再生部110は、楽曲データ記憶部173に記憶された楽曲データの再生を行い、音出力部192から楽曲を出力させる。その機能は、楽曲データに基づいて楽曲音の波形を生成する集積回路(音源IC)などのハードウェアや、プログラムなどにより実現できる。
【0117】
評価部112は、プレーヤが操作部160に操作入力を行ったタイミングと、基準データ記憶部174に記憶されている基準期間データに含まれる基準タイミングとを比較判定し、プレーヤの操作入力を評価する。具体的には評価部112は、楽曲データの再生が開始されることに連動させて所定のカウント値のカウントを開始し、操作入力を検出したときのカウント値と、基準タイミングとして予め定められている値とを比較判定する。
【0118】
そして評価部112は、楽曲データの再生中に、各指示標識26についてそれぞれ定められた基準タイミングに関して、操作入力のタイミングと基準タイミングとの一致の程度に応じて「Great」、「Good」、「Bad」のいずれかの評価を行い、評価に応じた得点を加算する。
【0119】
操作データ取得部114は、上述した音楽ゲームを実行する場合には、プレーヤの位置指定操作に基づいて、位置指定操作を行った操作タイミングを示す操作タイミングデータと、操作タイミングにおいて位置指定操作を行った操作位置を示す操作位置データとを取得する。本実施形態では、第2のディスプレイ12のタッチパネルで位置指定操作を検出した時点での操作タイミングデータと、当該操作タイミングにおける操作位置データとを取得する。
【0120】
ゲーム演算部116は、第2のディスプレイ12の操作領域について受付けられた入力操作に基づいて、第1のディスプレイ11において画像表示させるゲームを進行させるための種々のゲーム演算を行う。例えばゲーム演算部116は、上述した音楽ゲームを実行する場合には、入力操作に基づいて、基準期間データと操作タイミングデータとを比較判定するとともに、当該操作タイミングにおいて位置指定操作を行うべき操作領域を示す操作領域データと操作位置データとを比較判定する。そしてゲーム演算部116は、比較判定結果に応じてゲーム成績を演算したり、比較判定結果に応じた画像演出を行うことによりプレーヤを評価する。また比較判定結果が悪い場合には、楽曲データの音量を消音する或いは小さくして、不快な効果音データを再生出力させる。
【0121】
表示制御部120は、表示部190に表示出力される表示物(オブジェクト)の表示制御を行う。具体的には、表示物(ゲームキャラクタ、背景、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ)を発生させたり、表示物の表示位置を指示したり、表示物を消滅させたりするなどの表示制御を行う。即ち発生した表示物を表示物リストに登録したり、表示物リストを画像生成部132等に転送したり、消滅した表示物を表示物リストから削除したりするなどの表示制御を行う。特に表示制御部120は、ゲームを進行させるための画像を第1のディスプレイ11(第1の表示領域)に表示させる第1の表示制御処理と、プレーヤが位置を指定する位置指定操作を行うべき操作領域を示す画像を第2のディスプレイ12(第2の表示領域)に表示させる第2の表示制御処理と、を行う。
【0122】
また表示制御部120は、上述した音楽ゲームを実行する場合には、第1の表示制御処理として、楽曲に応じた基準タイミングをプレーヤに認知させる画像を第1のディスプレイ11(第1の表示領域)に表示させる。
【0123】
また表示制御部120は、上述した音楽ゲームを実行する場合には、第2の表示制御処理として、「ドン」の文字とともに移動する指示標識26が基準標識30に位置(到達)したときに位置指定操作を行うべき領域であって和太鼓の皮面を示す円形状の操作領域22と、「カッ」の文字とともに移動する指示標識26が基準標識30に位置(到達)したときに位置指定操作を行うべき領域であって操作領域22以外の領域である操作領域24とを表示させる。
【0124】
特に本実施形態では、表示制御部120は、移動距離算出部122、描画位置算出部124、画像データ選択部126、移動制御部128を含む。なお、これらの一部を省略する構成としてもよい。
【0125】
描画位置算出部124は、指示標識26(表示物)の基準位置からの移動差分に基づいて、指示標識26(表示物)の描画位置を算出する。この指示標識26(表示物)の基準位置からの移動差分は、例えば、指示標識26(表示物)の基準位置からの移動距離又は指示標識26(表示物)の基準位置からの移動時間である。
【0126】
画像データ選択部126は、指示標識26(表示物)の基準位置からの移動差分と基準位置から描画位置までの差分との差が、所定範囲内であれば、指示標識26(表示物)に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて複数の画像データから所定の画像データ以外のいずれか1つの画像データを選択する。この基準位置から描画位置までの差分は、例えば、基準位置と描画位置との距離又は表示物が基準位置に描画されてから描画位置に描画されるまでの時間である。この所定の画像データは、例えば、指示標識26(表示物)の基本画像の画像データ(例えば基本画像データP1)である。また、所定の画像データ以外の画像データは、例えば、基本画像を指示標識26(表示物)の移動方向又はその反対方向にずらしたように見える画像の画像データ(例えば画像データP2、P3、P4)である。
【0127】
画像データ選択部126は、例えば、指示標識26(表示物)に対応づけられる、互いに異なる数の画像データを含む複数の画像データセットから、処理負荷に応じて1つの画像データセットを選択し、選択した画像データセットに含まれる複数の画像データから所定の画像データ(例えば基本画像データP1)又は所定の画像データ以外のいずれか1つの画像データ(例えば画像データP2、P3、P4のいずれか)を選択するようにしてもよい。
【0128】
移動距離算出部122は、前回のフレームにおける指示標識26(表示物)の基準位置からの移動距離と指示標識26(表示物)の速度情報とに基づいて、今回のフレームにおける指示標識26(表示物)の基準位置からの移動距離を算出する。指示標識26の速度情報は、例えば、譜面データにおいて小節毎に定義されている。
【0129】
また、本実施形態では、一列になって移動する複数の指示標識26(表示物)を移動順に分割した複数の小節(グループ)毎に、各グループに含まれる指示標識26(表示物)の移動を制御する移動制御情報(例えば速度情報)が定義されている。そして、描画位置算出部124は、小節(グループ)毎の移動制御情報に基づいて、各指示標識26(表示物)の描画位置を算出する。また、画像データ選択部126は、小節(グループ)毎の移動制御情報に基づいて、各指示標識26(表示物)について、所定の画像データ(例えば基本画像データP1)又は所定の画像データ以外のいずれか1つの画像データ(例えば画像データP2、P3、P4のいずれか)を選択する。
【0130】
移動制御部128は、各指示標識26(表示物)を、楽曲データに合わせて予め定められた当該指示標識26(表示物)に対応する基準タイミングで基準標識30の位置(所定位置)に位置するように、移動経路32上を移動させる処理を行う。例えば移動制御部128は、複数の指示標識26の操作タイミングを定義した譜面データに応じて、各指示標識26に対応する基準タイミングにおいて各指示標識26が基準標識30に位置するように移動させる。
【0131】
選択画像データ生成部130は、指示標識26(表示物)の元画像の画像データ(例えば画像データBP)に基づいて、画像データ選択部126が選択した画像データを生成する。
【0132】
画像生成部132は、処理部100で行われる種々の処理(ゲーム処理)に基づいて画像を描画(生成)する処理を行い、描画した画像を表示部190に出力するものであり、その機能は、描画プロセッサ(GPU)などのハードウェアや、プログラムなどにより実現できる。ここで画像生成部132が描画する画像は、いわゆる2次元画像であってもよいし、3次元画像であってもよい。画像生成部132は、表示制御部120により転送された表示物リストに応じた表示物のが画像データを画像データ記憶部174などから読み出し、ピクセル単位で画像情報を記憶できる描画バッファ172(フレームバッファあるいは中間バッファなどのバッファ。VRAM。)に表示物を描画する。そして画像生成部132は、1フレーム(例えば1/60秒)ごとに画像情報を更新することにより、表示部190に動画像を表示させる。
【0133】
特に本実施形態では、画像生成部132は、画像データ選択部126が選択した画像データを描画位置算出部124が算出した描画位置に描画し、指示標識26(表示物)を含む画像を生成する。
【0134】
さらに、本実施形態の携帯型ゲームシステム10では、例えば、描画位置算出部124が互いの一部が重なるように移動する2つの指示標識26(表示物)の各々の描画位置を算出し、画像データ選択部126が2つの指示標識26(表示物)の各々について、当該指示標識26(表示物)に対応づけられた複数の画像データから所定の画像データ(例えば基本画像データP1)又は所定の画像データ以外のいずれか1つの画像データ(例えば画像データP2、P3、P4のいずれか)を選択し、画像生成部132が2つの指示標識26(表示物)の各々について画像データ選択部126が選択した画像データを描画位置に描画し、当該2つの指示標識26(表示物)を含む画像を生成するようにしてもよい。この場合、2つの指示標識26(表示物)の各々に対応づけられた複数の画像データは、当該指示標識26(表示物)の輪郭部分の画素が半透明で定義され、画像生成部132は、一方の指示標識26(表示物)の輪郭部分の画素と、当該画素と重なる他方の指示標識26(表示物)の画素とを半透明合成で描画するようにしてもよい。
【0135】
3.本実施形態の処理
(1)位置指定操作の判定処理
次に、本実施形態の位置指定操作の判定処理の一例について図11のフローチャートを用いて説明する。
【0136】
図11に示すように、本実施形態では、まずゲームが開始されると、楽曲データの再生を開始する(ステップS10)。すると楽曲データの再生を開始した時点を0として経過時間Tをカウントし(ステップS12)、指示標識26の移動表示処理を行う(ステップS14)。
【0137】
そして、第2のディスプレイ12に対する接触操作を監視し(ステップS16)、接触操作を検出しない場合には(ステップS16のN)、経過時間Tが楽曲に応じて設定された基準期間に達したか判定し(ステップS18)、基準期間に達した場合には(ステップS18のY)、操作を失敗したことを示す失敗演出を行い(ステップS20)、基準期間に達しない場合には(ステップS18のN)、ステップS12に戻りステップS12からステップS18までの処理を繰り返す。一方、接触操作を検出した場合には(ステップS16のY)、接触操作を検出した時点における経過時間T(カウント値)を操作タイミングデータとして取得するとともに、第2のディスプレイ12の検出領域(表示領域)における接触操作を受付けた座標値を操作位置データとして取得する(ステップS22)。
【0138】
そして、ステップS22において取得した操作タイミングデータに基づいて、譜面データ記憶部175の譜面データ(基準期間データ)を参照し(ステップS24)、操作タイミングデータが基準期間データに含まれるか否か判定する(ステップS26)。即ち、プレーヤが操作領域に対して位置指定操作を行った場合には、これを有効な入力操作として受付け、ステップS26以下の処理を行う。
【0139】
そして、操作タイミングデータが基準期間データに含まれない場合には(ステップS26のN)、操作を失敗したことを示す失敗演出を行う(ステップS20)。一方、操作タイミングデータが基準期間データに含まれる場合には(ステップS26のY)、当該基準期間データに対応する操作領域データを参照し(ステップS28)、操作位置データが正しい操作領域データに含まれるか否か、即ち「ドン」の文字とともに移動する指示標識26の基準期間については操作領域22に対して位置指定操作を行っているか、「カッ」の文字とともに移動する指示標識26の基準期間については操作領域24に対して位置指定操作を行っているか否かを判定する(ステップS30)。
【0140】
ここで操作位置データが正しい操作領域データに含まれない場合には(ステップS30のN)、操作を失敗したことを示す失敗演出を行う(ステップS20)。一方、操作位置データが正しい操作領域データに含まれる場合には(ステップS30のY)、当該操作タイミングデータが基準期間データの中でも基準タイミングに近い第1の範囲のタイミングか否か判定する(ステップS32)。ここで操作タイミングデータが第1の範囲のタイミングでない場合には(ステップS32のN)、操作が良かったことを示す良演出を行う(ステップS34)。一方、操作タイミングデータが第1の範囲のタイミングに含まれる場合には(ステップS32のY)、操作が優れていたことを示す優演出を行う(ステップS36)。
【0141】
こうして本実施形態では、ステップS12からステップS36までの処理を、1/60秒ごとに繰り返す。即ち、本実施形態では画像更新レートを1/60秒としており、画像更新ごと(1フレームごと)に、経過時間Tをカウントするとともに、指示標識26を移動表示させ、期間経過の監視と操作データ受付の監視を行っている。
【0142】
(2)指示標識の移動表示処理
次に、本実施形態の指示標識の移動表示処理の一例について図12のフローチャートを用いて説明する。
【0143】
まず、譜面データ50に含まれる各指示標識26が移動表示処理の対象となる指示標識か否かを判定する(ステップS110)。例えば、表示開始タイミングが楽曲データの再生開始からの経過時間Tよりも早く、かつ、優演出、良演出、失敗演出のいずれも行われていない指示標識26を移動表示処理の対象とする。
【0144】
指示標識26が処理対象であれば(ステップS110のY)、指示標識26の基準位置からの移動距離に基づいて、指示標識26の描画位置を算出する(ステップS120)。
【0145】
そして、指示標識26の基準位置からの移動距離と基準位置から描画位置(ステップS120で算出した描画位置)までの距離との差が所定範囲内であれば(ステップS130のY)、指示標識26に対応づけられる複数の画像データから所定の画像データ基本画像の画像データを選択する(ステップS132)。
【0146】
一方、指示標識26の基準位置からの移動距離と基準位置から描画位置(ステップS120で算出した描画位置)までの距離との差が所定範囲内でなければ(ステップS130のN)、当該差の大きさに応じて、指示標識26に対応づけられる複数の画像データから所定の画像データ基本画像の画像データ以外のいずれか1つの画像データを選択する(ステップS134)。
【0147】
そして、処理対象の指示標識26が他にあれば(ステップS140のY)、処理対象の指示標識26に対してステップS110〜S134の処理を行い、処理対象の指示標識26が他になければ(ステップS140のN)、処理対象の各指示標識26について、ステップS132又はS134で選択した画像データをステップS120で算出した描画位置に描画し、1フレームの画像を生成する(ステップS150)。
【0148】
ここで、例えば、1つの指示標識26に対応づけて複数の画像データを画像データ記憶部174に記憶させておき、ステップS132又はS134で選択した画像データを画像生成部132が画像データ記憶部174から読み出して描画位置に描画するようにしてもよい。こうすることで、フレーム毎に画像データを生成する必要がなく、処理負荷を軽減することができる。
【0149】
また、例えば、各指示標識26の元画像データを画像データ記憶部174に記憶させておき、選択画像データ生成部130が画像データ記憶部174から元画像データを読み出してステップS132又はS134で選択した画像データを生成し、画像生成部132が描画位置に描画するようにしてもよい。こうすることで、画像データ記憶部173に記憶する画像データのデータ量を軽減することができる。
【0150】
また、ステップS150の処理では、例えば図3に示した指示標識26jと26kのように、複数の指示標識26の一部が互いに重なり合う場合を考慮し、背後に描画される指示標識26(指示標識26k)から先に描画するようにしてもよい。例えば、Zバッファを用いた隠面消去処理を行いながら指示標識26を描画してもよいし、表示開始タイミングが遅い指示標識26から順に描画するようにしてもよい。また、手前に描画される指示標識(指示標識26j)の輪郭部分の各画素とその背後に描画される指示標識(指示標識26k)の各画素を半透明合成で描画するようにしてもよい。
【0151】
次に、本実施形態の指示標識の移動表示処理の具体例として、前述した図5(A)〜図5(D)の画像(画像データ)P1〜P4を用いた処理の一例について図13のフローチャートを用いて説明する。
【0152】
まず、譜面データ50に含まれる各指示標識26が移動表示処理の対象となる指示標識か否かを判定し、処理対象であれば(ステップS210のY)、指示標識26の前回の計算位置と速度情報とに基づいて、今回の位置を計算する(ステップS212)。
【0153】
そして、ステップS212で計算した指示標識26の今回の計算位置の整数部分の値を描画位置とする(ステップS220)。
【0154】
次に、ステップS212で計算した指示標識26の今回の計算位置の小数部分の値が0以上0.25未満であれば(ステップS231のY)、基本画像の画像データP1を選択する(ステップS232)。また、指示標識26の今回の計算位置の小数部分の値が0.25以上0.5未満であれば(ステップS233のY)、画像データP2を選択する(ステップS234)。また、指示標識26の今回の計算位置の小数部分の値が0.5以上0.75未満であれば(ステップS235のY)、画像データP3を選択する(ステップS236)。また、指示標識26の今回の計算位置の小数部分の値が0.75以上1未満であれば(ステップS235のN)、画像データP4を選択する(ステップS237)。
【0155】
そして、処理対象の指示標識26が他にあれば(ステップS240のY)、処理対象の指示標識26に対してステップS210〜S237の処理を行い、処理対象の指示標識26が他になければ(ステップS240のN)、処理対象の各指示標識26について、ステップS232、S234、S236又はS237で選択した画像データをステップS220で求めた描画位置に描画し、1フレームの画像を生成する(ステップS250)。
【0156】
(3)変形例
本実施形態では、1つの指示標識26に対して、例えば、図5(A)〜図5(D)に示した4種類の画像データP1〜P4からなる1つの画像データセットを用いて移動表示処理を行っているが、1つの指示標識26に対して複数の画像データセットを対応づけて、画像データの選択処理を行うCPUの処理負荷に応じて移動表示処理に用いる画像データセットをリアルタイムに切り替えるように本実施形態を変形してもよい。
【0157】
一例として、図14に、1つの指示標識26に2つの画像データセットを対応づけて、CPUの処理負荷に応じて移動表示処理に用いる画像データセットをリアルタイムに切り替えるフローチャートを示す。例えば、第1の画像データセットは、図5(A)〜図5(D)に示した画像データP1〜P4からなる第1の画像データセットであり、第2の画像データセットは、指示標識26が描画位置に対してずれのない位置にあるように見える基本画像の画像データQ1と、指示標識26が描画位置に対してそれぞれ0.125ドット、0.25ドット、0.375ドット、0.5ドット、0.625ドット、0.75ドット、0.875ドットだけ移動方向にずれた位置にあるように見える画像の画像データQ2、Q3、Q4、Q5、Q6、Q7、Q8とから構成される。
【0158】
図14のステップS110及びS120の処理は、それぞれ図12のステップS110及びS120の処理を同じであるため、その説明を省略する。
【0159】
図14のステップS122では、CPUの処理負荷が閾値以上か否かを判定する。ここで、実際にCPUの処理負荷を検出して判定してもよいし、CPUの処理負荷を推測して判定するようにしてもよい。後者の場合、例えば、1フレームに描画される指示標識26の数が所定数以上であればCPUの処理負荷が閾値以上であると判定し、所定数未満であればCPUの処理負荷が閾値未満であると判定するようにしてもよい。
【0160】
CPUの処理負荷が閾値以上であれば(ステップS122のY)、第1の画像データセット(P1〜P4)から、図12のステップS130、S132及びS134と同じ処理により、描画対象の1つの画像データを選択する(ステップS136)。例えば、今回の計算位置の小数部分の値が0以上0.25未満であればP1、0.25以上0.5未満であればP2、0.5以上0.75未満であればP3、0.75以上1未満であればP4をそれぞれ選択するようにしてもよい。
【0161】
一方、CPUの処理負荷が閾値未満であれば(ステップS122のN)、第2の画像データセット(Q1〜Q8)から、図12のステップS130、S132及びS134と同じ処理により、描画対象の1つの画像データを選択する(ステップS138)。例えば、今回の計算位置の小数部分の値が0以上0.125未満であればQ1、0.125以上0.25未満であればQ2、0.25以上0.375未満であればQ3、0.375以上0.5未満であればQ4、0.5以上0.625未満であればQ5、0.625以上0.75未満であればQ6、0.75以上0.875未満であればQ7、0.875以上1未満であればQ8をそれぞれ選択するようにしてもよい。
【0162】
そして、処理対象の指示標識26が他にあれば(ステップS140のY)、処理対象の指示標識26に対してステップS110〜S138の処理を行い、処理対象の指示標識26が他になければ(ステップS140のN)、処理対象の各指示標識26について、ステップS136又はS138で選択した画像データをステップS120で算出した描画位置に描画し、1フレームの画像を生成する(ステップS150)。
【0163】
このようにすれば、CPUの処理負荷が比較的重い時は画像データの選択処理における場合分けが少なくなる(例えば4通りになる)ので、CPUの処理負荷を軽減することができる。一方、CPUの処理負荷が比較的軽い時は画像データの選択処理における場合分けが多く(例えば8通りになる)ので、指示マークがより滑らかに移動するように見せることができる。
【0164】
4.ハードウェア構成
次に、図15を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図15は、本実施形態を実現できるハードウェア構成を示す一例である。
【0165】
メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【0166】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0167】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0168】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。
【0169】
また、この描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0170】
なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、1つのプロセッサにより実現してもよい。また、プロセッサとしてCPUとGPUを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。
【0171】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0172】
ROM950には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。
【0173】
RAM960は、各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0174】
なお、本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0175】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0176】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0177】
本実施形態では、譜面データに含まれる指示標識を楽曲の再生に合わせて右から左に移動表示させる音楽ゲームを例に挙げて説明したが、本発明の適用範囲はこれに限られない。例えば、指示標識以外の表示物を移動表示させたり、表示物を任意の方向(左から右、上から下、下から上など)に移動表示させたりする画像生成システムであってもよい。
【0178】
また、本実施形態では、指示標識26の基準位置からの移動距離の計算結果(計算位置)の整数部分の値をそのまま描画位置のX座標としているが、計算位置を四捨五入した整数値を描画位置のX座標とするように変形してもよい。その場合、計算位置と描画位置の差の複数の範囲にそれぞれ対応づけられる複数の画像データから選択した1つの画像データを選択して描画すればよい。
【0179】
また、本実施形態を、指示標識26の基準位置からの移動時間(指示標識26が基準位置から描画位置まで移動するのに要する時間)と指示標識26が基準位置に描画されてから描画位置に描画されるまでの時間との差が、所定範囲内であれば、指示標識26に対応づけられる複数の画像データから所定の画像データ基本画像の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて、指示標識26に対応づけられる複数の画像データから所定の画像データ基本画像の画像データ以外のいずれか1つの画像データを選択するように変形してもよい。例えば、(指示標識26が基準位置に描画されてから描画位置に描画されるまでの時間)−(指示標識26が基準位置から描画位置まで移動するのに要する時間)/1フレーム時間(1/60秒)の余りが、0以上0.25フレーム時間(1/240秒)未満であれば基本画像データP1を選択し、0.25フレーム時間(1/240秒)以上0.5フレーム時間(1/120秒)未満であれば画像データP2を選択し、0.5フレーム時間(1/120秒)以上0.75フレーム時間(1/80秒)未満であれば画像データP3を選択し、0.75フレーム時間(1/80秒)以上1フレーム時間(1/60秒)未満であれば画像データP4を選択するようにしてもよい。なお、指示標識26が基準位置に描画されてから描画位置に描画されるまでの時間は、指示標識26が基準位置に描画されたフレームから指示標識26が描画位置に描画されるフレームまでのフレーム数に1フレーム時間(1/60秒)を掛けることで得られる。また、指示標識26が基準位置から描画位置まで移動するのに要する時間は、基準位置と描画位置との距離を指示標識26の速度で割ることで得られる。
【0180】
また、本実施形態では、画像P2〜P4を生成する際に、元画像BPを所定ドットだけずらしてアンチエリアス処理(ぼかし処理)を行っているが、元画像BPを所定ドットだけずらすだけでもよいし、元画像BPをずらさずにぼかし処理を行うだけでもよい。
【0181】
また、本実施形態では、プレーヤがタッチペン20を用いて、指示標識に応じて第2のディスプレイ12の操作領域22又は24に位置指定操作を行っているが、この2種類の位置指定操作を2種類のボタンの押下操作に置き換えてもよい。
【0182】
また、本実施形態において、連続する指示標識26に対応づけられる音符同士が重なっていないが、近接している場合も、半透明処理でなじませるようにしてもよい。
【0183】
また、指示標識26に対応づけられる音符とともに、「ドン」や「カッ」の文字の画像に対しても本実施形態の描画手法を適用して補正してもよい。ただし、補正対象を増やすほど、処理が増えてCPUの処理負荷が重くなるため、CPUのパワーによって補正対象の増減を判断してもよい。
【0184】
また、一般のモニタで本実施形態の描画手法を適用を実施する場合、モニタに応じて、ゲーム機とモニタで実現できる1ドットのピクセル値を求め、そこから補正処理に使う画像(テクスチャ)の数を決めても良い。
【0185】
また、本発明は、音楽ゲームに限らず、レースゲーム、アクションゲーム、格闘ゲーム、ロールプレイングゲームなど、種々のゲームに適用することができる。例えば、本発明は、パチンコゲームやパチスロゲームで画面に表示されるリール上の数字や絵柄などの表示物を回転表示する場合にも適用することができる。
【0186】
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【0187】
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【0188】
BP 元画像、P1,P2,P3,P4 画像(画像データ)、2 本体上部、4 本体下部、6 ヒンジ部、11 第1のディスプレイ、12 第2のディスプレイ、14 十字キー、16 操作ボタン、20 タッチペン、22,24 操作領域、26,26a,26b,26c,26d,26e,26f,26g,26h,26i,26j,26k,26l 指示標識、30 基準標識、32 移動経路、40 音入力装置(マイク)、42 スピーカ、50 譜面データ、52−1,52−2,52−3,52−4 小節、100 処理部、110 楽曲再生部、112 評価部、114 操作データ取得部、116 ゲーム演算部、120 表示制御部、122 移動距離算出部、124 描画位置算出部、126 画像データ選択部、128 移動制御部、130 選択画像データ生成部、132 画像生成部、160 操作部、162 音入力装置、170 記憶部、171 主記憶部、172 描画バッファ、173 楽曲データ記憶部、174 画像データ記憶部、175 譜面データ記憶部、180 情報記憶媒体、190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
所与の表示物が移動する画像を生成するためのプログラムであって、
前記表示物の所定の基準位置からの移動差分に基づいて、当該表示物の描画位置を算出する描画位置算出部と、
前記表示物の前記基準位置からの移動差分と前記基準位置から前記描画位置までの差分との差が、所定範囲内であれば、当該表示物に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて前記複数の画像データから前記所定の画像データ以外のいずれか1つの画像データを選択する画像データ選択部と、
前記画像データ選択部が選択した画像データを前記描画位置に描画し、前記表示物を含む画像を生成する画像生成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記表示物の前記基準位置からの移動差分は、
前記表示物の前記基準位置からの移動距離又は前記表示物の前記基準位置からの移動時間であることを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記基準位置から前記描画位置までの差分は、
前記基準位置と前記描画位置との距離又は前記表示物が前記基準位置に描画されてから前記描画位置に描画されるまでの時間であることを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
1つの表示物に対応づけて前記複数の画像データを記憶する画像データ記憶部としてさらにコンピュータを機能させることを特徴とするプログラム。
【請求項5】
請求項1乃至3のいずれかにおいて、
表示物の元画像の画像データを記憶する画像データ記憶部と、
前記表示物の元画像の画像データに基づいて、画像データ選択部が選択した画像データを生成する選択画像データ生成部としてさらにコンピュータを機能させることを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
一列になって移動する複数の表示物を移動順に分割した複数のグループ毎に、各グループに含まれる表示物の移動を制御する移動制御情報が定義され、
前記描画位置算出部は、
前記グループ毎の前記移動制御情報に基づいて、各表示物の描画位置を算出し、
前記画像データ選択部は、
前記グループ毎の前記移動制御情報に基づいて、各表示物について、前記所定の画像データ又は前記所定の画像データ以外のいずれか1つの画像データを選択することを特徴とするプログラム。
【請求項7】
請求項1乃至6のいずれかにおいて、
前回のフレームにおける前記表示物の前記基準位置からの移動距離と当該表示物の速度情報とに基づいて、今回のフレームにおける前記表示物の前記基準位置からの移動距離を算出する移動距離算出部としてさらにコンピュータを機能させることを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記所定の画像データは、前記表示物の基本画像の画像データであり、
前記所定の画像データ以外の画像データは、
前記基本画像を前記表示物の移動方向又はその反対方向にずらしたように見える画像の画像データであることを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記描画位置算出部は、
互いの一部が重なるように移動する2つの表示物の各々の描画位置を算出し、
前記画像データ選択部は、
前記2つの表示物の各々について、当該表示物に対応づけられた前記複数の画像データから前記所定の画像データ又は前記所定の画像データ以外のいずれか1つの画像データを選択し、
前記画像生成部は、
前記2つの表示物の各々について前記画像データ選択部が選択した画像データを前記描画位置に描画し、当該2つの表示物を含む画像を生成することを特徴とするプログラム。
【請求項10】
請求項9において、
前記2つの表示物の各々に対応づけられた前記複数の画像データは、当該表示物の輪郭部分の画素が半透明で定義され、
前記画像生成部は、
一方の表示物の輪郭部分の画素と、当該画素と重なる他方の表示物の画素とを半透明合成で描画することを特徴とするプログラム。
【請求項11】
請求項1乃至10のいずれかにおいて、
前記画像データ選択部は、
前記表示物に対応づけられる、互いに異なる数の画像データを含む複数の画像データセットから、処理負荷に応じて1つの画像データセットを選択し、選択した画像データセットに含まれる複数の画像データから前記所定の画像データ又は前記所定の画像データ以外のいずれか1つの画像データを選択することを特徴とするプログラム。
【請求項12】
請求項1乃至11のいずれかにおいて、
記憶部に格納された楽曲データの再生を行う楽曲再生部と、
前記楽曲データに合わせた複数の基準タイミングの各々を指示する指示標識を前記表示物として、各指示標識を、当該指示標識に対応する基準タイミングで所定位置に位置するように、移動経路上を移動させる移動制御部と、
各指示標識に対応する基準タイミングと、プレーヤの入力タイミングとを比較して、プレーヤの入力を評価する評価部としてさらにコンピュータを機能させることを特徴とするプログラム。
【請求項13】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1乃至12のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。
【請求項14】
所与の表示物が移動する画像を生成するための画像生成方法であって、
前記表示物の所定の基準位置からの移動差分に基づいて、当該表示物の描画位置を算出する描画位置算出ステップと、
前記表示物の前記基準位置からの移動差分と前記基準位置から前記描画位置までの差分との差が、所定範囲内であれば、当該表示物に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて前記複数の画像データから前記所定の画像データ以外のいずれか1つの画像データを選択する画像データ選択ステップと、
前記画像データ選択ステップで選択した画像データを前記描画位置に描画し、前記表示物を含む画像を生成する画像生成ステップと、を含むことを特徴とする画像生成方法。
【請求項15】
所与の表示物が移動する画像を生成するための画像生成システムであって、
前記表示物の所定の基準位置からの移動差分に基づいて、当該表示物の描画位置を算出する描画位置算出部と、
前記表示物の前記基準位置からの移動差分と前記基準位置から前記描画位置までの差分との差が、所定範囲内であれば、当該表示物に対応づけられる複数の画像データから所定の画像データを選択し、所定範囲内でなければ、当該差の大きさに応じて前記複数の画像データから前記所定の画像データ以外のいずれか1つの画像データを選択する画像データ選択部と、
前記画像データ選択部が選択した画像データを前記描画位置に描画し、前記表示物を含む画像を生成する画像生成部と、を含むことを特徴とする画像生成システム。

【図2】
image rotate

【図3】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−212169(P2011−212169A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−82455(P2010−82455)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】