JP4701411B2 - Music game device, music game system, operation article, music game program, and music game method - Google Patents
Music game device, music game system, operation article, music game program, and music game method Download PDFInfo
- Publication number
- JP4701411B2 JP4701411B2 JP2005514131A JP2005514131A JP4701411B2 JP 4701411 B2 JP4701411 B2 JP 4701411B2 JP 2005514131 A JP2005514131 A JP 2005514131A JP 2005514131 A JP2005514131 A JP 2005514131A JP 4701411 B2 JP4701411 B2 JP 4701411B2
- Authority
- JP
- Japan
- Prior art keywords
- guide
- cursor
- information
- subject
- music
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/814—Musical performances, e.g. by evaluating the player's ability to follow a notation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/303—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8005—Athletics
Description
本発明は、操作物の動きに追従した画像を表示する音楽ゲーム装置及びその関連技術に関する。 The present invention relates to a music game apparatus that displays an image following the movement of an operation article and related technology.
特許文献1(特開2002−263360号公報)には、演奏指揮ゲーム装置が開示されている。この演奏指揮ゲーム装置では、指揮棒コントローラの先端に投光ユニットが設けられるとともに、モニタの下部に受光ユニットが設けられる。このような構成により、指揮棒コントローラの動きを検出する。
ゲームが開始されると、指揮棒コントローラを振る方向及びタイミングを指示する操作案内画像が、モニタに表示されるとともに、演奏音が出力される。この演奏音は、指揮棒コントローラの操作に関係なく出力される。そして、プレイヤが、指示された方向及びタイミングで、指揮棒コントローラを操作したときにのみ、指揮棒反応音が出力される。この指揮棒反応音は、ある演奏パートを所定の長さで分断したものである。従って、プレイヤが、指示された方向及びタイミングで、指揮棒コントローラを操作するたびに、対応する指揮棒反応音が出力される。
特許文献2(特開平10−143151号公報)には、指揮装置が開示されている。この指揮装置では、マウスを指揮棒のように操作することで、マウスが描く軌跡からテンポ、アクセント及び強弱などの音楽パラメータを算出する。そして、算出したこれらの音楽パラメータを、出力する音楽や画像に反映させる。例えば、汽車の動画像を表示する際に、汽車のスピードを、算出したテンポに追従させ、スピードの変化を、アクセントに追従させ、汽車の煙の量を、強弱に追従させる。
上述のように、特許文献1の演奏指揮ゲーム装置は、プレイヤが演奏を行うことを主目的とした装置であることは明らかである。また、特許文献2の指揮装置では、プレイヤが演奏を行うことを主目的とするため、マウスの移動情報を音楽パラメータに変換して、この音楽パラメータを音楽及び画像に反映させている。
このように、プレイヤが演奏を行うことを主目的とする従来の装置では、表示される画像(上記の例では、汽車)に面白味がなく、プレイヤが画像を楽しむ、ということが重視されていない。
さらに、プレイヤによる操作物である指揮棒コントローラやマウスについては、次のことが言える。特許文献1の指揮棒コントローラは、投光ユニットを備えているため、電子回路を備えることが必要となる。従って、指揮棒コントローラのコストが高くなるし、また、故障の原因となる。さらに、操作性が低くなる。特に、指揮棒コントローラは、動かされるものであるため、電子回路を備えることなく、簡易な構成とすることが好ましい。また、特許文献2のマウスでは、平面上での操作のみが可能であり、操作の制約が大きいし、また、特許文献1の指揮棒コントローラと同様の問題もある。Japanese Patent Application Laid-Open No. 2002-263360 discloses a performance conducting game device. In this performance command game device, a light projecting unit is provided at the tip of the command stick controller, and a light receiving unit is provided below the monitor. With such a configuration, the movement of the baton controller is detected.
When the game is started, an operation guidance image for instructing the direction and timing of swinging the baton controller is displayed on the monitor and a performance sound is output. This performance sound is output regardless of the operation of the baton controller. Then, only when the player operates the baton controller in the instructed direction and timing, the baton reaction sound is output. This baton reaction sound is obtained by dividing a certain performance part by a predetermined length. Therefore, each time the player operates the baton controller in the instructed direction and timing, the corresponding baton reaction sound is output.
Japanese Patent Application Laid-Open No. 10-143151 discloses a command device. In this conductor device, by operating the mouse like a conductor rod, music parameters such as tempo, accent and strength are calculated from the locus drawn by the mouse. Then, these calculated music parameters are reflected in the output music and images. For example, when displaying a moving image of a train, the speed of the train is made to follow the calculated tempo, the change in speed is made to follow the accent, and the amount of smoke of the train is made to follow the strength.
As described above, it is clear that the performance / conducting game device of
As described above, in the conventional apparatus whose main purpose is for the player to perform, the displayed image (in the above example, the train) is not interesting, and the player is not focused on enjoying the image. .
Furthermore, the following can be said about the baton controller and the mouse that are operations by the player. Since the baton controller of
そこで、本発明は、プレイヤが関与することなく楽曲を自動演奏しながらも、簡易な構成の操作物をプレイヤが操作することにより、楽曲とともに、操作に追従した画像を楽しむことができる音楽ゲーム装置及びその関連技術を提供することを目的とする。
本発明の観点によると、音楽ゲーム装置は、楽曲を自動演奏する音楽ゲーム装置であって、プレイヤによって操作される操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像ユニットと、前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成ユニットと、前記差分信号に基づいて、前記操作物の状態情報を算出する状態情報算出ユニットと、前記操作物に連動するカーソルの操作のためのガイドの表示を、前記楽曲に基づくタイミングで制御するガイド制御ユニットと、前記カーソルの表示を、前記操作物の前記状態情報に基づいて制御するカーソル制御ユニットと、前記操作物による前記カーソルの操作が、前記ガイドに適合したときに、前記ガイドによる案内に応じて、画像の表示を制御する追従画像制御ユニットと、を備え、前記追従画像制御ユニットは、前記操作物の前記状態情報及び前記ガイドに関する情報に基づいて、前記操作物による前記カーソルの操作が、前記ガイドに適合しているか否かを判断する。
この構成によれば、カーソルの操作がガイドに適合している場合に、ガイドによる案内に応じて画像の表示が制御される。この場合、ガイドによる案内に適合してカーソルの操作が行われているため、カーソルの操作に応じて画像の表示が制御されることになる。つまり、カーソルは操作物と連動しているため、操作物の操作に応じて画像の表示が制御される。また、ストロボスコープにより間欠的に光が照射される操作物を撮像ユニットにより撮影して、操作物の状態情報を求めている。このため、操作物の状態情報を求めるために、操作物に電源により駆動する回路を内蔵する必要がない。さらに、この音楽ゲーム装置は、楽曲を自動演奏する。
以上の結果、プレイヤが関与することなく楽曲を自動演奏しながらも、簡易な構成の操作物をプレイヤが操作することにより、楽曲とともに、操作物の操作に追従した画像を楽しむことができる。
また、楽曲に基づくタイミングでガイドが制御されるため、プレイヤが、ガイドに従ってカーソルを操作すれば、操作物の操作も楽曲に合ったものとなる。従って、プレイヤは、楽曲に合った操作物の操作を楽しむことができる。
ここで、操作物の操作とは、操作物自体を動かすこと(例えば、移動させること)を意味し、スイッチを押下したり、アナログスティックを動かしたり、等は含まない。
上記音楽ゲーム装置において、前記ガイドは、前記カーソルの移動位置及び操作タイミングを案内し、前記追従画像制御ユニットは、前記操作物による前記カーソルの操作が、前記ガイドに適合したときに、前記ガイドが案内する前記移動位置の方向に対応して、前記画像の表示を制御する。
この構成によれば、プレイヤが、操作物を操作して、カーソルを、ガイドが案内する操作タイミングで、ガイドが案内する移動位置に移動させた場合に、ガイドが案内するカーソルの移動位置の方向に対応して、画像の表示が制御される。その結果、楽曲とともに、操作物の操作に連動するカーソルの移動に追従した画像を楽しむことができる。
上記音楽ゲーム装置において、前記状態情報算出ユニットは、前記差分信号に基づいて、前記操作物の前記状態情報としての位置を算出し、前記追従画像制御ユニットは、前記状態情報算出ユニットが算出した前記操作物の前記位置が、前記ガイドが案内する期間内に、前記ガイドが案内する領域内に存在する場合に、前記操作物に連動するカーソルの操作が、前記ガイドに適合していると判断する。
この構成によれば、簡易な処理で算出できる操作物の位置により、カーソルの操作の的確性を判断できる。
上記音楽ゲーム装置において、前記ガイドは、前記カーソルの移動経路、移動方向、及び、操作タイミングを案内する。
この構成によれば、プレイヤが、操作物を操作して、カーソルを、ガイドが案内する操作タイミングで、ガイドが案内する移動方向に、ガイドが案内する移動経路に沿って移動させた場合に、ガイドに応じて、画像の表示が制御される。その結果、楽曲とともに、操作物の操作に連動するカーソルの移動に応じた画像を楽しむことができる。
上記音楽ゲーム装置において、前記状態情報算出ユニットは、前記差分信号に基づいて、前記操作物の前記状態情報としての位置を算出し、前記追従画像制御ユニットは、前記状態情報算出ユニットが算出した前記操作物の前記位置が、前記ガイドが案内する期間内に、前記ガイドが案内する複数の所定領域を、前記ガイドが案内する所定の順序で移動した場合に、前記操作物に連動するカーソルの操作が、前記ガイドに適合していると判断する。
この構成によれば、簡易な処理で算出できる操作物の位置により、カーソルの操作の的確性を判断できる。
上記音楽ゲーム装置において、前記ガイドは、画面上の予め定められた複数の位置の各々に表示され、前記ガイド制御ユニットは、前記ガイドの形態を、前記楽曲にもとづくタイミングで変化させる。
この構成によれば、プレイヤは、ガイドの形態の変化により、カーソルを移動すべき位置及び方向を容易に認識できる。
ここで、本明細書において、ガイドの形態には、ガイドの形状及び色のいずれか、あるいは、その双方が含まれる。
上記音楽ゲーム装置において、前記ガイドは、画面上の第1の予め定められた位置から第2の予め定められた位置への移動が視覚的に認識できる表示により表現され、前記ガイド制御ユニットは、前記ガイドの表示を、前記楽曲にもとづくタイミングで制御する。
この構成によれば、プレイヤは、カーソルを移動すべき方向及び経路をより明確に認識できる。
例えば、前記ガイドは、画面上の前記第1の予め定められた位置を始点とし、前記第2の予め定められた位置を終点とする経路上に配置される複数のオブジェクトの形態の変化により表現することができる。
この構成によれば、プレイヤは、複数のオブジェクトの形態の変化により、カーソルを移動すべき方向及び経路を容易に認識できる。
例えば、前記ガイドは、画面上の前記第1の予め定められた位置から前記第2の予め定められた位置へのオブジェクトの移動により表現できる。
この構成によれば、プレイヤは、オブジェクトの移動により、カーソルを移動すべき方向及び経路を容易に認識できる。
例えば、前記ガイドは、画面上の前記第1の予め定められた位置を始点とし、前記第2の予め定められた位置を終点とする経路の形態の変化により表現できる。
この構成によれば、プレイヤは、経路の形態の変化により、カーソルを移動すべき方向及び経路を容易に認識できる。
上記音楽ゲーム装置において、前記状態情報算出ユニットが算出する前記操作物の前記状態情報は、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、である。
この構成によれば、操作物によるカーソルの操作が、ガイドに適合しているか否かを判断する際の操作物の状態情報として、様々な情報を利用できるため、ガイドの表現の自由度が大きくなり、ひいては、ゲーム内容の設計の自由度も大きくなる。
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。Therefore, the present invention provides a music game apparatus that allows a player to enjoy an image following an operation together with the music piece while the player automatically operates the music piece without involvement of the player, and the player operates the operation object with a simple configuration. And its related technology.
According to an aspect of the present invention, a music game apparatus is a music game apparatus for automatically playing music, and a stroboscope that irradiates an operation article operated by a player at a predetermined cycle, and the stroboscope. An imaging unit that captures the operation object and generates an image signal at the time of emission and an image signal at the time of extinction when the scope is turned on and off, and a difference signal between the image signal at the time of emission and the image signal at the time of turning off A difference signal generation unit that generates a state information, a state information calculation unit that calculates state information of the operation article based on the difference signal, and a display of a guide for operating a cursor linked to the operation article. And a cursor control unit for controlling display of the cursor based on the state information of the operation article. And a follow-up image control unit that controls display of an image according to guidance by the guide when an operation of the cursor by the operation article is adapted to the guide, and the follow-up image control unit Determines whether the operation of the cursor by the operation article is suitable for the guide based on the state information of the operation article and information on the guide.
According to this configuration, when the operation of the cursor is adapted to the guide, the image display is controlled according to the guidance by the guide. In this case, since the cursor is operated in conformity with the guidance by the guide, the image display is controlled in accordance with the cursor operation. That is, since the cursor is interlocked with the operation article, the display of the image is controlled according to the operation of the operation article. In addition, an operation article that is intermittently irradiated with light by a stroboscope is photographed by an imaging unit to obtain state information of the operation article. For this reason, in order to obtain the state information of the operation article, it is not necessary to incorporate a circuit driven by the power source in the operation article. Further, this music game device automatically plays music.
As a result, it is possible to enjoy an image following the operation of the operation article together with the music piece by the player operating the operation article with a simple configuration while automatically playing the music piece without involvement of the player.
Further, since the guide is controlled at the timing based on the music, if the player operates the cursor according to the guide, the operation of the operation article also matches the music. Therefore, the player can enjoy the operation of the operation article suitable for the music.
Here, the operation of the operation article means that the operation article itself is moved (for example, moved), and does not include pressing a switch, moving an analog stick, or the like.
In the music game apparatus, the guide guides the movement position and operation timing of the cursor, and the follow-up image control unit is configured such that the guide is operated when the operation of the cursor by the operation article is adapted to the guide. The display of the image is controlled in accordance with the direction of the moving position to be guided.
According to this configuration, when the player operates the operation article and moves the cursor to the movement position guided by the guide at the operation timing guided by the guide, the direction of the movement position of the cursor guided by the guide Corresponding to the above, the display of the image is controlled. As a result, it is possible to enjoy an image that follows the movement of the cursor linked to the operation of the operation article together with the music.
In the music game apparatus, the state information calculation unit calculates a position of the operation article as the state information based on the difference signal, and the follow-up image control unit calculates the position information calculation unit. When the position of the operation article is within the area guided by the guide within the period guided by the guide, it is determined that the operation of the cursor linked to the operation article is suitable for the guide. .
According to this configuration, the accuracy of the cursor operation can be determined based on the position of the operation article that can be calculated by a simple process.
In the music game apparatus, the guide guides the movement path, movement direction, and operation timing of the cursor.
According to this configuration, when the player operates the operation article and moves the cursor in the movement direction guided by the guide at the operation timing guided by the guide along the movement route guided by the guide, The display of the image is controlled according to the guide. As a result, it is possible to enjoy an image corresponding to the movement of the cursor linked to the operation of the operation article together with the music.
In the music game apparatus, the state information calculation unit calculates a position of the operation article as the state information based on the difference signal, and the follow-up image control unit calculates the position information calculation unit. When the position of the operation article is moved in a predetermined order guided by the guide within a period guided by the guide, the cursor is operated in conjunction with the operation article. Is determined to be suitable for the guide.
According to this configuration, the accuracy of the cursor operation can be determined based on the position of the operation article that can be calculated by a simple process.
In the music game apparatus, the guide is displayed at each of a plurality of predetermined positions on the screen, and the guide control unit changes the form of the guide at a timing based on the music.
According to this configuration, the player can easily recognize the position and direction in which the cursor should be moved by changing the form of the guide.
Here, in this specification, the shape of the guide includes one or both of the shape and color of the guide.
In the music game apparatus, the guide is represented by a display that can visually recognize the movement from the first predetermined position on the screen to the second predetermined position, and the guide control unit includes: The display of the guide is controlled at a timing based on the music.
According to this configuration, the player can more clearly recognize the direction and route to move the cursor.
For example, the guide is expressed by a change in the form of a plurality of objects arranged on a path starting from the first predetermined position on the screen and ending at the second predetermined position. can do.
According to this configuration, the player can easily recognize the direction and route in which the cursor should be moved by changing the form of the plurality of objects.
For example, the guide can be expressed by moving an object from the first predetermined position on the screen to the second predetermined position.
According to this configuration, the player can easily recognize the direction and route in which the cursor should be moved by moving the object.
For example, the guide can be expressed by a change in the form of a route starting from the first predetermined position on the screen and ending at the second predetermined position.
According to this configuration, the player can easily recognize the direction in which the cursor should be moved and the route by changing the form of the route.
In the music game apparatus, the state information of the operation article calculated by the state information calculation unit includes speed information, movement direction information, movement distance information, speed vector information, acceleration information, movement trajectory information, area information, or , Position information, or a combination of two or more thereof.
According to this configuration, since various information can be used as the state information of the operation article when determining whether the operation of the cursor by the operation article is suitable for the guide, the degree of freedom of expression of the guide is large. As a result, the degree of freedom in designing the game content also increases.
The novel features of the invention are set forth in the appended claims. However, the invention itself and other features and advantages can be readily understood by reading the detailed description of specific embodiments with reference to the accompanying drawings.
図1は、本発明の実施の形態における音楽ゲームシステムの全体構成を示す図である。
図2は、図1の操作物の斜視図である。
図3(a)は、図2の反射ボールの上面図である。図3(b)は、図3(a)の矢印A方向からの反射ボールの側面図である。図3(c)は、図3(a)の矢印B方向からの反射ボールの側面図である。
図4は、図2の反射ボールの縦断面図である。
図5は、図1の撮像ユニットの一例を示す図解図である。
図6は、図1の音楽ゲーム装置の電気的な構成を示す図である。
図7は、図6の高速プロセッサのブロック図である。
図8は、図6のイメージセンサから高速プロセッサへピクセルデータを取り込む構成及びLED駆動回路を示す回路図である。
図9(a)は、図8のイメージセンサが出力するフレームステータスフラグ信号FSFのタイミング図である。図9(b)は、図8のイメージセンサが出力するピクセルデータストローブ信号PDSのタイミング図である。図9(c)は、図8のイメージセンサが出力するピクセルデータD(X,Y)のタイミング図である。図9(d)は、図8の高速プロセッサが出力するLEDコントロール信号LEDCのタイミング図である。図9(e)は、図8の赤外発光ダイオードの点灯状態を示すタイミング図である。図9(f)は、図8のイメージセンサの露光期間を示すタイミング図である。
図10(a)は、図9のフレームステータスフラグ信号FSFの拡大図である。図10(b)は、図9のピクセルデータストローブ信号PDSの拡大図である。図10(c)は、図9のピクセルデータD(X,Y)の拡大図である。
図11は、図1のテレビジョンモニタのスクリーンに表示されるゲーム画面の例示図である。
図12は、図1のテレビジョンモニタのスクリーンに表示されるゲーム画面の他の例示図である。
図13は、図1のテレビジョンモニタのスクリーンに表示されるゲーム画面のさらに他の例示図である。
図14は、図1のテレビジョンモニタのスクリーンに表示されるオブジェクトを構成するスプライトの説明図である。
図15は、図1のテレビジョンモニタのスクリーンに表示される全景スクリーンの説明図である。
図16(a)は、図15の全景スクリーンをスクロールする前の説明図である。図16(b)は、図15の全景スクリーンをスクロールした後の説明図である。
図17は、図6のROMに格納されたプログラム及びデータを示す概念図である。
図18は、図17の第1の楽譜データの一例を示す概念図である。
図19は、図17の第2の楽譜データの一例を示す概念図である。
図20(a)は、カーソルを案内する方向とノートナンバとの関係図である。図20(b)は、カーソルを案内する方向とノートナンバとの他の関係図である。図20(c)は、カーソルを案内する方向とノートナンバとのさらに他の関係図である。
図21(a)は、一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図である。図21(b)は、図21(a)の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。図21(c)は、赤外フィルタを介したイメージセンサの点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。図21(d)は、赤外フィルタを介したイメージセンサの消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。図21(e)は、点灯時の画像信号と消灯時の画像信号との差分信号の例示図である。
図22は、図1の操作物の注目点の座標算出の説明図である。
図23(a)は、最大輝度値を持つピクセルの座標を基に、図1の操作物の注目点座標を算出する際のX方向スキャンの説明図である。図23(b)は、最大輝度値を持つピクセルの座標を基に、図1の操作物の注目点座標を算出する際のY方向スキャンのスタート時の説明図である。図23(c)は、最大輝度値を持つピクセルの座標を基に、図1の操作物の注目点座標を算出する際のY方向スキャンの説明図である。図23(d)は、最大輝度値を持つピクセルの座標を基に、操作物の注目点座標を算出する際の結果の説明図である。
図24は、CPU201による注目点存在領域判定処理(1)の説明図である。
図25は、CPU201による注目点存在領域判定処理(2)の説明図である。
図26は、本実施の形態による、方向ガイドG、位置ガイドg、及び、経路ガイドrg、のアニメーションの登録の説明図である。
図27は、図26のアニメーションテーブル格納位置情報により指定されるアニメーションテーブルの例示図である。
図28は、本実施の形態における、第1の楽譜データ、第2の楽譜データ、方向ガイドG、位置ガイドg、操作判定、及び、ダンスアニメーション、の関係を説明するためのタイミング図である。
図29は、図1の音楽ゲーム装置の全体の処理の流れを示すフローチャートである。
図30は、図29のステップS1の初期設定処理の流れを示すフローチャートである。
図31は、図30のステップS14のセンサ初期設定処理の流れを示すフローチャートである。
図32は、図31のステップS21のコマンド送信処理の流れを示すフローチャートである。
図33は、(a)図8のレジスタ設定クロックCLKのタイミング図である。
(b)図8のレジスタデータのタイミング図である。
図34は、図31のステップS23のレジスタ設定処理の流れを示すフローチャートである。
図35は、図29のステップS2の状態情報算出処理の流れを示すフローチャートである。
図36は、図35のステップS50のピクセルデータ群取得処理の流れを示すフローチャートである。
図37は、図36のステップS61のピクセルデータ取得処理の流れを示すフローチャートである。
図38は、図35のステップS51の注目点抽出処理の流れを示すフローチャートである。
図39は、図38のステップS85の注目点座標算出処理の流れを示すフローチャートである。
図40は、図29のステップS3のゲーム処理の流れを示すフローチャートである。
図41は、本実施の形態における割込み処理の流れを示すフローチャートである。
図42は、図41のステップS150の楽曲再生処理の流れを示すフローチャートである。
図43は、図41のステップS151のガイド登録処理の流れを示すフローチャートである。
図44は、本実施の形態におけるガイドの他の例示図である。
図45は、本実施の形態におけるガイドのさらに他の例示図である。
図46は、本実施の形態におけるガイドのさらに他の例示図である。FIG. 1 is a diagram showing an overall configuration of a music game system according to an embodiment of the present invention.
FIG. 2 is a perspective view of the operation article of FIG.
FIG. 3A is a top view of the reflective ball of FIG. FIG.3 (b) is a side view of the reflective ball | bowl from the arrow A direction of Fig.3 (a). FIG.3 (c) is a side view of the reflective ball | bowl from the arrow B direction of Fig.3 (a).
FIG. 4 is a longitudinal sectional view of the reflective ball of FIG.
FIG. 5 is an illustrative view showing one example of the imaging unit of FIG. 1.
FIG. 6 is a diagram showing an electrical configuration of the music game apparatus of FIG.
FIG. 7 is a block diagram of the high speed processor of FIG.
FIG. 8 is a circuit diagram showing a configuration for taking pixel data from the image sensor of FIG. 6 into a high-speed processor and an LED driving circuit.
FIG. 9A is a timing chart of the frame status flag signal FSF output from the image sensor of FIG. FIG. 9B is a timing chart of the pixel data strobe signal PDS output from the image sensor of FIG. FIG. 9C is a timing chart of pixel data D (X, Y) output from the image sensor of FIG. FIG. 9D is a timing chart of the LED control signal LEDC output from the high speed processor of FIG. FIG. 9E is a timing chart showing a lighting state of the infrared light emitting diode of FIG. FIG. 9F is a timing chart showing the exposure period of the image sensor in FIG.
FIG. 10A is an enlarged view of the frame status flag signal FSF of FIG. FIG. 10B is an enlarged view of the pixel data strobe signal PDS of FIG. FIG. 10C is an enlarged view of the pixel data D (X, Y) of FIG.
FIG. 11 is a view showing an example of a game screen displayed on the screen of the television monitor of FIG.
FIG. 12 is another exemplary view of the game screen displayed on the screen of the television monitor of FIG.
FIG. 13 is a view showing still another exemplary game screen displayed on the screen of the television monitor of FIG.
FIG. 14 is an explanatory diagram of sprites that constitute objects displayed on the screen of the television monitor of FIG.
FIG. 15 is an explanatory diagram of a panoramic screen displayed on the screen of the television monitor of FIG.
FIG. 16A is an explanatory diagram before scrolling the panoramic view screen of FIG. FIG. 16B is an explanatory diagram after the whole view screen of FIG. 15 is scrolled.
FIG. 17 is a conceptual diagram showing programs and data stored in the ROM of FIG.
FIG. 18 is a conceptual diagram showing an example of the first musical score data of FIG.
FIG. 19 is a conceptual diagram showing an example of the second musical score data of FIG.
FIG. 20A is a relationship diagram between the direction of guiding the cursor and the note number. FIG. 20B is another relationship diagram between the direction of guiding the cursor and the note number. FIG. 20C is still another relationship diagram between the direction of guiding the cursor and the note number.
FIG. 21A is an illustration of an image taken by a general image sensor and not subjected to special processing. FIG. 21B is an illustration of an image signal when the image signal of FIG. 21A is level-discriminated by a certain threshold value. FIG. 21C is an illustration of an image signal when the image signal when the image sensor is turned on via the infrared filter is level-discriminated by a certain threshold value. FIG. 21D is an exemplary diagram of an image signal when the image signal when the image sensor is turned off via the infrared filter is subjected to level discrimination based on a certain threshold value. FIG. 21E is an exemplary diagram of a difference signal between an image signal at the time of lighting and an image signal at the time of turning off.
FIG. 22 is an explanatory diagram of the coordinate calculation of the attention point of the operation article in FIG.
FIG. 23A is an explanatory diagram of the X-direction scan when calculating the point-of-interest coordinates of the operation article in FIG. 1 based on the coordinates of the pixel having the maximum luminance value. FIG. 23B is an explanatory diagram at the start of the Y-direction scan when the attention point coordinates of the operation article in FIG. 1 are calculated based on the coordinates of the pixel having the maximum luminance value. FIG. 23C is an explanatory diagram of the Y-direction scan when calculating the point-of-interest coordinates of the operation article in FIG. 1 based on the coordinates of the pixel having the maximum luminance value. FIG. 23D is an explanatory diagram of a result when calculating the attention point coordinates of the operation article based on the coordinates of the pixel having the maximum luminance value.
FIG. 24 is an explanatory diagram of attention point presence area determination processing (1) performed by the
FIG. 25 is an explanatory diagram of the attention point presence area determination process (2) by the
FIG. 26 is an explanatory diagram of registration of animation of the direction guide G, the position guide g, and the route guide rg according to the present embodiment.
FIG. 27 is a view showing an example of an animation table specified by the animation table storage position information of FIG.
FIG. 28 is a timing chart for explaining the relationship between the first musical score data, the second musical score data, the direction guide G, the position guide g, the operation determination, and the dance animation in the present embodiment.
FIG. 29 is a flowchart showing the overall processing flow of the music game apparatus of FIG.
FIG. 30 is a flowchart showing the flow of the initial setting process in step S1 of FIG.
FIG. 31 is a flowchart showing the flow of the sensor initial setting process in step S14 of FIG.
FIG. 32 is a flowchart showing the command transmission process in step S21 of FIG.
FIG. 33 is a timing chart of (a) the register setting clock CLK of FIG.
FIG. 9B is a timing diagram of the register data in FIG.
FIG. 34 is a flowchart showing the register setting process in step S23 of FIG.
FIG. 35 is a flowchart showing the flow of the state information calculation process in step S2 of FIG.
FIG. 36 is a flowchart showing the pixel data group acquisition processing in step S50 of FIG.
FIG. 37 is a flowchart showing the pixel data acquisition process in step S61 of FIG.
FIG. 38 is a flowchart showing the flow of attention point extraction processing in step S51 of FIG.
FIG. 39 is a flowchart showing a flow of attention point coordinate calculation processing in step S85 of FIG.
FIG. 40 is a flowchart showing the flow of the game process in step S3 of FIG.
FIG. 41 is a flowchart showing the flow of interrupt processing in the present embodiment.
FIG. 42 is a flowchart showing the flow of the music reproduction process in step S150 of FIG.
FIG. 43 is a flowchart showing the guide registration process in step S151 of FIG.
FIG. 44 is another exemplary view of the guide in the present embodiment.
FIG. 45 is another exemplary view of the guide in the present embodiment.
FIG. 46 is another exemplary view of the guide in the present embodiment.
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
図1は、本発明の実施の形態における音楽ゲームシステムの全体構成を示す図である。図1に示すように、この音楽ゲームシステムは、音楽ゲーム装置1、操作物150、及び、テレビジョンモニタ90、を含む。
音楽ゲーム装置1のハウジング19には、撮像ユニット13が組み込まれる。撮像ユニット13は、4つの赤外発光ダイオード15及び赤外フィルタ17を含む。赤外発光ダイオード15の発光部は、赤外フィルタ17から露出している。
音楽ゲーム装置1には、ACアダプタ92により、直流電源電圧が与えられる。ただし、ACアダプタ92に代えて、電池(図示せず)により、直流電源電圧を与えることもできる。
テレビジョンモニタ90には、その前面にスクリーン91が設けられる。テレビジョンモニタ90と音楽ゲーム装置1とは、AVケーブル93により接続される。なお、音楽ゲーム装置1は、例えば、図1に示すように、テレビジョンモニタ90の上面に載置される。
プレイヤ94が、音楽ゲーム装置1の背面に設けられた電源スイッチ(図示せず)をオンにすると、スクリーン91に、ゲーム画面が表示される。プレイヤ94は、ゲーム画面のガイドに従って、操作物150を操作して、ゲームを実行する。ここで、操作物150の操作とは、操作物自体を動かすこと(例えば、移動させること)を意味し、スイッチを押下したり、アナログスティックを動かしたり、等は含まない。
撮像ユニット13の赤外発光ダイオード15は、間欠的に赤外光を発光する。赤外発光ダイオード15からの赤外光は、この操作物150に取り付けられた反射シート(後述)により反射され、赤外フィルタ17の内部に設けられた撮像素子(後述)に入力される。このようにして、操作物150が間欠的に撮影される。従って、音楽ゲーム装置1は、プレイヤ94により動かされた操作物150の間欠的な映像信号を取得できる。音楽ゲーム装置1は、この映像信号を解析して、その解析結果をゲームに反映する。本実施の形態で使用する反射シートは、例えば、再帰反射シートである。
図2は、図1の操作物150の斜視図である。図2に示すように、操作物150は、スティック152の先端に反射ボール151を固定して構成される。この反射ボール151により、赤外発光ダイオード15からの赤外光が反射される。反射ボール151の詳細を説明する。
図3(a)は、図2の反射ボール151の上面図、図3(b)は、図3(a)の矢印A方向からの反射ボール151の側面図、図3(c)は、図3(a)の矢印B方向からの反射ボール151の側面図、である。
図3(a)〜図3(c)に示すように、反射ボール151は、透明色(半透明、有色透明、及び、無色透明、を含む。)の球状外殻153の内部に球状内殻154を固定してなる。球状内殻154には、反射シート155が取り付けられる。この反射シート155が、赤外発光ダイオード15からの赤外光を反射する。
図4は、図2の反射ボール151の縦断面図である。図4に示すように、球状外殻153は、2つの半球状外殻をボス156及びビス(図示せず)により固定してなる。球状内殻154は、球状外殻153の内部に、2つの半球状内殻をボス157により固定してなる。また、反射ボール151には、スティック152が、挿入して固定される。具体的には、球状外殻153を構成する2つの半球状外殻と、球状内殻154を構成する2つの半球状内殻と、によりスティック152を挟み、2つの半球状外殻をボス156及びビスで固定するとともに、2つの半球状内殻をボス157で固定することで、スティック152を反射ボール151に取り付ける。
図5は、図1の撮像ユニット13の一例を示す図解図である。図5に示すように、この撮像ユニット13は、たとえばプラスチック成型によって形成されるユニットベース35を含み、このユニットベース35内には支持筒36が取り付けられる。支持筒36の上面には内面が逆円錐形状であるラッパ状の開口41が形成され、その開口41の下方の筒状部内部には、いずれもがたとえば透明プラスチックの成型によって形成された凹レンズ39および凸レンズ37を含む光学系が設けられ、凸レンズ37の下方において、撮像素子としてのイメージセンサ43が固着される。したがって、イメージセンサ43は、開口41からレンズ39および37を通して入射する光に応じた画像を撮影することができる。
イメージセンサ43は、低解像度のCMOSイメージセンサ(たとえば32ピクセル×32ピクセル:グレースケール)である。ただし、このイメージセンサ43は、画素数のもっと多いものでもよいし、CCD等の他の素子からなるものであってよい。以下では、イメージセンサ43が、32ピクセル×32ピクセルからなるものとして説明を行う。
また、ユニットベース35には、光出射方向がいずれも上方向とされた複数(実施の形態では4つ)の赤外発光ダイオード15が取り付けられる。この赤外発光ダイオード15によって、撮像ユニット13の上方に赤外光が照射される。また、ユニットベース35の上方には、赤外フィルタ(赤外光のみを透過するフィルタ)17が上記開口41を覆うように、取り付けられる。そして、赤外発光ダイオード15は後述のように、点灯/消灯(非点灯)が連続的に繰り返されるので、ストロボスコープとして機能する。ただし、「ストロボスコープ」とは、運動体を間欠的に照らす装置の総称である。したがって、上記イメージセンサ43は、その撮影範囲内で移動する物体、実施の形態では、操作物150を撮影することになる。なお、後述する図8に示すように、ストロボスコープは、主に、赤外発光ダイオード15、LED駆動回路75、及び、高速プロセッサ200、により構成される。
ここで、撮像ユニット13は、イメージセンサ43の受光面が、水平面から所定角度(例えば、90度)だけ傾くように、ハウジング19に組み込まれる。また、凹レンズ39および凸レンズ37により、イメージセンサ43の撮影範囲は、例えば、60度の範囲である。
図6は、図1の音楽ゲーム装置1の電気的な構成を示す図である。図6に示すように、音楽ゲーム装置1は、イメージセンサ43、赤外発光ダイオード15、映像信号出力端子47、音声信号出力端子49、高速プロセッサ200、ROM(read only memory)51、及び、バス53、を含む。
高速プロセッサ200には、バス53が接続される。さらに、バス53には、ROM51が接続される。従って、高速プロセッサ200は、バス53を介して、ROM51にアクセスすることができるので、ROM51に格納されたゲームプログラムをリードして実行でき、また、ROM51に格納された画像データ及び音楽データをリードして処理し、映像信号及び音声信号を生成して、映像信号出力端子47及び音声信号出力端子49に出力することができる。
操作物150は、赤外発光ダイオード15が発光する赤外光に照射され、その赤外光を反射シート155で反射する。この反射シート155からの反射光がイメージセンサ43によって検知され、したがって、イメージセンサ43からは反射シート155の画像信号が出力される。イメージセンサ43からのこのアナログ画像信号は高速プロセッサ200に内蔵されたA/Dコンバータ(後述)によってデジタルデータに変換される。赤外光消灯時も同様の処理が行われる。高速プロセッサ200は、このデジタルデータを解析して、その解析結果をゲーム処理に反映する。
図7は、図6の高速プロセッサ200のブロック図である。図7に示すように、この高速プロセッサ200は、中央演算処理装置(CPU:central processing unit)201、グラフィックプロセッサ202、サウンドプロセッサ203、DMA(direct memory access)コントローラ204、第1バス調停回路205、第2バス調停回路206、内部メモリ207、A/Dコンバータ(ADC:analog to digital converter)208、入出力制御回路209、タイマ回路210、DRAM(dynamic random access memory)リフレッシュ制御回路211、外部メモリインタフェース回路212、クロックドライバ213、PLL(phase−locked loop)回路214、低電圧検出回路215、第1バス218、及び、第2バス219、を含む。
CPU201は、メモリ(内部メモリ207、又は、ROM51)に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。CPU201は、第1バス218及び第2バス219のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
グラフィックプロセッサ202は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51に格納されたデータを基に、映像信号を生成して、映像信号出力端子47へ出力する。グラフィックプロセッサ202は、第1バス218を通じて、CPU201により制御される。また、グラフィックプロセッサ202は、CPU201に対して、割込み要求信号220を発生する機能を有する。
サウンドプロセッサ203は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51に格納されたデータを基に、音声信号を生成して、音声信号出力端子49へ出力する。サウンドプロセッサ203は、第1バス218を通じて、CPU201により制御される。また、サウンドプロセッサ203は、CPU201に対して、割込み要求信号220を発生する機能を有する。
DMAコントローラ204は、ROM51から、内部メモリ207へのデータ転送を司る。また、DMAコントローラ204は、データ転送の完了を通知するために、CPU201に対する割込み要求信号220を発生する機能を有する。DMAコントローラ204は、第1バス218及び第2バス219のバスマスタである。DMAコントローラ204は、第1バス218を通じてCPU201により制御される。
内部メモリ207は、マスクROM、SRAM(static random access memory)、及び、DRAMのうち、必要なものを備える。バッテリによるSRAMのデータ保持が必要とされる場合、バッテリ217が必要となる。DRAMが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
第1バス調停回路205は、第1バス218の各バスマスタからの第1バス使用要求信号を受け付け、調停を行い、各バスマスタへの第1バス使用許可信号を発行する。各バスマスタは、第1バス使用許可信号を受領することによって第1バス218に対するアクセスが許可される。ここで、第1バス使用要求信号及び第1バス使用許可信号は、図7では、第1バス調停信号222として示されている。
第2バス調停回路206は、第2バス219の各バスマスタからの第2バス使用要求信号を受け付け、調停を行い、各バスマスタへの第2バス使用許可信号を発行する。各バスマスタは、第2バス使用許可信号を受領することによって第2バス219に対するアクセスが許可される。ここで、第2バス使用要求信号及び第2バス使用許可信号は、図7では、第2バス調停信号223として示されている。
入出力制御回路209は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第1バス218を介して、CPU201からリード/ライトされる。また、入出力制御回路209は、CPU201に対して、割込み要求信号220を発生する機能を有する。
この入出力制御回路209から、赤外発光ダイオード15を制御するLEDコントロール信号LEDCが出力される。
タイマ回路210は、設定された時間間隔に基づき、CPU201に対する割込み要求信号220を発生する機能を有する。時間間隔等の設定は、第1バス218を介してCPU201によって行われる。
ADC208は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第1バス218を介してCPU201によってリードされる。また、ADC208は、CPU201に対して、割込み要求信号220を発生する機能を有する。
このADC208が、イメージセンサ43からのピクセルデータ(アナログ)を受けて、デジタルデータに変換する。
PLL回路214は、水晶振動子216より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
クロックドライバ213は、PLL回路214より受け取った高周波クロック信号を、各ブロックへクロック信号225を供給するのに十分な信号強度へ増幅する。
低電圧検出回路215は、電源電圧Vccを監視し、電源電圧Vccが一定電圧以下のときに、PLL回路214のリセット信号226、その他のシステム全体のリセット信号227を発行する。また、内部メモリ207がSRAMで構成されており、かつ、SRAMのバッテリ217によるデータ保持が要求される場合、電源電圧Vccが一定電圧以下のときに、バッテリバックアップ制御信号224を発行する機能を有する。
外部メモリインタフェース回路212は、第2バス219を外部バス53に接続するための機能、及び、第2バス219のサイクル終了信号228を発行することにより、第2バスのバスサイクル長を制御する機能、を有する。
DRAMリフレッシュ制御回路211は、一定期間毎に第1バス218の使用権を無条件に獲得し、DRAMのリフレッシュ動作を行う。なお、DRAMリフレッシュ制御回路211は、内部メモリ207がDRAMを含む場合に設けられる。
ここで、図8〜図10を参照して、イメージセンサ43から高速プロセッサ200へピクセルデータを取り込むための構成を詳細に説明する。
図8は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む構成及びLED駆動回路を示す回路図である。図9は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む際の動作を示すタイミング図である。図10は、図9の一部を拡大して示すタイミング図である。
図8に示すように、イメージセンサ43は、ピクセルデータD(X,Y)をアナログ信号として出力するタイプのものであるため、このピクセルデータD(X,Y)は高速プロセッサ200のアナログ入力ポートに入力される。アナログ入力ポートは、この高速プロセッサ200においてADC208に接続され、したがって、高速プロセッサ200は、ADC208からデジタルデータに変換されたピクセルデータをその内部に取得する。
上述のアナログピクセルデータD(X,Y)の中点は、イメージセンサ43の基準電圧端子Vrefに与えられる基準電圧によって決定される。そのため、イメージセンサ43に関連して例えば抵抗分圧回路からなる基準電圧発生回路59が設けられ、この回路59から基準電圧端子Vrefに常に一定の大きさの基準電圧が与えられる。
イメージセンサ43を制御するための各デジタル信号は、高速プロセッサ200のI/Oポートに与えられ、またはそこから出力される。このI/Oポートは各々入力/出力の制御が可能なデジタルポートであり、この高速プロセッサ200で入出力制御回路209に接続されている。
詳しく言うと、高速プロセッサ200の出力ポートからはイメージセンサ43をリセットするためのリセット信号resetが出力され、イメージセンサ43に与えられる。また、イメージセンサ43からは、ピクセルデータストローブ信号PDSおよびフレームステータスフラグ信号FSFが出力され、それらの信号が高速プロセッサ200の入力ポートに与えられる。
ピクセルデータストローブ信号PDSは上述の各ピクセル信号D(X,Y)を読み込むための図9(b)に示すようなストローブ信号である。フレームステータスフラグ信号FSFはイメージセンサ43の状態を示すフラグ信号で、図9(a)に示すように、このイメージセンサ43の露光期間を規定する。つまり、フレームステータスフラグ信号FSFの図9(a)に示すローレベルが露光期間を示し、図9(a)に示すハイレベルが非露光期間を示す。
また、高速プロセッサ200は、イメージセンサ43の制御レジスタ(図示せず)に設定するコマンド(またはコマンド+データ)をレジスタデータとしてI/Oポートから出力するとともに、たとえばハイレベルおよびローレベルを繰り返すレジスタ設定クロックCLKを出力し、それらをイメージセンサ43に与える。
なお、赤外発光ダイオード15として、図8に示すように互いに並列接続された4つの赤外発光ダイオード15a,15b,15cおよび15dを用いる。この4つの赤外発光ダイオード15a〜15dは、上で説明したように、操作物150を照らすように、イメージセンサ43の視点方向と同一方向に赤外光を照射するようにかつイメージセンサ43を囲むように配置される。ただし、これら個別の赤外発光ダイオード15a〜15dは、特に区別する必要がある場合を除いて、単に赤外発光ダイオード15と呼ばれる。
この赤外発光ダイオード15はLED駆動回路75によって、点灯されまたは消灯(非点灯)される。LED駆動回路75は、イメージセンサ43から上述のフレームステータスフラグ信号FSFを受け、このフラグ信号FSFは、抵抗69およびコンデンサ71からなる微分回路67を通してPNPトランジスタ77のベースに与えられる。このPNPトランジスタ77にはさらにプルアップ抵抗79が接続されていて、このPNPトランジスタ77のベースは、通常は、ハイレベルにプルアップされている。そして、フレームステータス信号FSFがローレベルになると、そのローレベルが微分回路67を経てベースに入力されるため、PNPトランジスタ77は、フラグ信号FSFがローレベル期間にのみオンする。
PNPトランジスタ77のエミッタは抵抗73および65を介して接地される。そして、エミッタ抵抗73および65の接続点がNPNトランジスタ81のベースに接続される。このNPNトランジスタ81のコレクタが各赤外発光ダイオード15a〜15dのアノードに共通に接続される。NPNトランジスタ81のエミッタが別のNPNトランジスタ61のベースに直接接続される。NPNトランジスタ61のコレクタが各赤外発光ダイオード15a〜15dのカソードに共通接続され、エミッタが接地される。
このLED駆動回路75では、高速プロセッサ200のI/Oポートから出力されるLEDコントロール信号LEDCがアクティブ(ハイレベル)でありかつイメージセンサ43からのフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯される。
図9(a)に示すようにフレームステータスフラグ信号FSFがローレベルになると、そのローレベル期間中(実際には微分回路67の時定数での遅れがあるが)、PNPトランジスタ77がオンする。したがって、図9(d)に示すLEDコントロール信号LEDCが高速プロセッサ200からハイレベルで出力されると、NPNトランジスタ81のベースがハイベルとなり、このトランジスタ81がオンとなる。トランジスタ81がオンするとトランジスタ61はオンとなる。したがって、電源(図8では小さい白丸で示す)から各赤外発光ダイオード15a〜15dおよびトランジスタ61を経て電流が流れ、応じて図9(e)に示すように各赤外発光ダイオード15a〜15dが点灯される。
LED駆動回路75では、このように、図9(d)のLEDコントロール信号LEDCがアクティブでありかつ図9(a)のフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯されるので、イメージセンサ43の露光期間(図9(f)参照)にのみ赤外発光ダイオード15が点灯されることになる。
したがって、無駄な電力消費を抑制することができる。さらに、フレームステータスフラグ信号FSFはコンデンサ71によってカップリングされているので、万一イメージセンサ43の暴走等によりそのフラグ信号FSFがローレベルのまま停止した場合でも、一定時間後にはトランジスタ77は必ずオフされ、赤外発光ダイオード15も一定時間後には必ずオフされる。
このように、フレームステータス信号FSFの持続期間を変更することによって、イメージセンサ43の露光時間を任意にかつ自在に設定または変更することができる。
さらに、フレームステータス信号FSFおよびLEDコントロール信号LEDCの持続時間や周期を変更することによって、赤外発光ダイオード15すなわちストロボスコープの発光期間、非発光期間、発光/非発光周期などを任意にかつ自在に変更または設定できる。
先に説明したように、赤外発光ダイオード15からの赤外光によって操作物150が照射されると、操作物150からの反射光によってイメージセンサ43が露光される。応じて、イメージセンサ43から上述のピクセルデータD(X,Y)が出力される。詳しく説明すると、イメージセンサ43は、上述の図9(a)のフレームステータスフラグ信号FSFがハイレベルの期間(赤外発光ダイオード15の非点灯期間)に図9(b)に示すピクセルデータストローブPDSに同期して、図9(c)に示すようにアナログのピクセルデータD(X,Y)を出力する。
高速プロセッサ200では、そのフレームステータスフラグ信号FSFとピクセルデータストローブPDSとを監視しながら、ADC208を通じて、デジタルのピクセルデータを取得する。
ただし、ピクセルデータは、図10(c)に示すように、第0行,第1行,…第31行と行順次に出力される。ただし、後に説明するように、各行の先頭の1ピクセルはダミーデータとなる。
さて、次に、音楽ゲーム装置1によるゲーム内容について、具体例を挙げながら説明する。
図11は、図1のテレビジョンモニタ90のスクリーン91に表示されるゲーム画面の例示図である。図11に示すゲーム画面は、ゲームスタート画面である。図11に示すように、ゲームスタート画面として、スクリーン91には、背景110、位置ガイドG1〜G4、評価オブジェクト107〜109、カーソル105、ダンスオブジェクト106、及び、マスク141,142が表示される。そして、楽曲の自動演奏が開始される。
なお、本実施の形態の例では、位置ガイドG1〜G4は、花の図形で表現され、評価オブジェクト107〜109は、ハートの図形で表現され、ダンスオブジェクト106は、男女がダンスをしている図形で表現され、カーソル105は、操作物150を模した図形で表現される。ここで、位置ガイドG1〜G4を包括的に表現する場合は、「位置ガイドG」と表記する。
カーソル105は、操作物150のスクリーン91上での位置を表しており、操作物150の動きに追従してスクリーン91上を移動する。従って、プレイヤ94から見れば、操作物150の操作とカーソル105の操作とは同義である。位置ガイドGは、カーソル105(操作物150)の操作タイミング及び移動位置を、自動演奏する楽曲のタイミングで案内する。後述の方向ガイドg1〜g5は、カーソル105(操作物150)の操作タイミング及び移動方向を、自動演奏する楽曲のタイミングで案内する。後述の経路ガイドrg1〜rg10は、カーソル105(操作物150)の操作タイミング、移動方向及び移動経路を、自動演奏する楽曲のタイミングで案内する。評価オブジェクト107〜109は、プレイヤ94によるカーソル105(操作物150)の操作の評価を視覚的に表示する。ここで、方向ガイドg1〜g5を包括的に表現するときは、「方向ガイドg」と表記する。また、経路ガイドrg1〜rg10を包括的に表現するときは、「経路ガイドrg」と表記する。
図12は、図1のテレビジョンモニタ90のスクリーン91に表示されるゲーム画面の他の例示図である。図12に示すように、位置ガイドGによる、徐々に花が開くアニメーションは、カーソル105を移動させる位置を示す。これにより、プレイヤ94に対して、花が開くアニメーションを行っている位置ガイドGが表示されている領域に、カーソル105を移動させることが指示される。プレイヤ94は、操作物150を移動させて、花が開くアニメーションを行っている位置ガイドGが表示されている領域にカーソル105を移動させる。花が開くアニメーションの後は、花がしぼむアニメーションにより、位置ガイドGが表現される。さらに、花が開くアニメーションを行っている位置ガイドGの方向が、カーソル105を移動させる方向を示す。これにより、プレイヤ94に対して、花が開くアニメーションを行っている位置ガイドGの方向にカーソル105を移動させることが指示される。
以上のことに加えて、方向ガイドg1〜g5によっても、カーソル105を移動させる方向が案内される。つまり、最初に方向ガイドg1、次に方向ガイドg2、その次に方向ガイドg3、さらにその次に方向ガイドg4、さらにその次に方向ガイドg5、という順番で、方向ガイドg1〜g5は出現する。従って、方向ガイドg1〜g5の出現の方向により、カーソル105を移動させる方向が案内される。ここで、方向ガイドg1〜g5の各々は、出現当初は小さな球を表現した図形であり、その球は時間とともに徐々に大きくなり、大きさが最大となった後は、球が砕けるようなアニメーションが実行される。従って、球の図形が出現する方向が、カーソル105を移動させる方向である。
プレイヤ94は、位置ガイドGによる花が開いた所定時間の間に、カーソル105を、当該位置ガイドGが表示されている領域に移動させなければならない。つまり、位置ガイドGは、花が開くアニメーションにより、カーソル105の操作タイミングを案内する。また、プレイヤ94は、一番最後の方向ガイドgによる球の図形が出現してから所定時間の間に、カーソル105を花が開いた位置ガイドGが表示されている領域に移動させなければならない。つまり、方向ガイドgによっても、カーソル105の操作タイミングが案内される。
また、位置ガイドGは、カーソル105の操作方向を予告する機能をも有する。つまり、位置ガイドGにより、花のつぼみが開き始めることで、プレイヤ94は、次にカーソル105を移動させる方向を知ることができる。さらに、方向ガイドgも、カーソル105の操作方向を予告する機能をも有する。つまり、方向ガイドgは、操作タイミングが到来する前に出現するため、プレイヤ94は、これによっても、次にカーソル105を移動させる方向を知ることができる。
以上の点を具体例を挙げて説明する。図12の例では、位置ガイドG2による、徐々に花が開くアニメーションにより、カーソル105を移動させる位置が案内されている。これにより、プレイヤ94に、花が開くアニメーションを行っている位置ガイドG2が表示されている領域に、カーソル105を移動させることが案内される。また、花が開くアニメーションを行っている位置ガイドG2の方向が、カーソル105を移動させる方向である。これにより、プレイヤ94に、花が開くアニメーションを行っている位置ガイドG2の方向にカーソル105を移動させることが案内される。さらに、方向ガイドg1〜g5による球の図形は、位置ガイドG1から位置ガイドG2へ向かって出現している。このように、方向ガイドg1〜g5によっても、カーソル105を、位置ガイドG1から位置ガイドG2へ移動させることが案内される。
プレイヤ94は、位置ガイドG2による花が開いた所定時間の間に、カーソル105を、当該位置ガイドG2が表示されている領域に移動させなければならない。また、プレイヤ94は、一番最後の方向ガイドg5による球の図形が出現してから所定時間の間に、カーソル105を花が開いた位置ガイドG2が表示されている領域に移動させなければならない。つまり、方向ガイドgによっても、カーソル105の操作タイミングが案内される。
プレイヤ94は、位置ガイドG2及び方向ガイドg1〜5による案内に従って、操作物150を適切に操作して、位置ガイドG1から位置ガイドG2の位置までカーソル105を移動させている。従って、評価オブジェクト107〜109の全てが点滅するアニメーションが実行される。なお、最も適切なタイミングで、カーソル105が操作された場合は、評価オブジェクト107〜109の全てが点滅するアニメーションが実行され、最も適切なタイミングではないが許容範囲のタイミングでカーソル105が操作された場合は、評価オブジェクト108のみが点滅するアニメーションが実行される。なお、位置ガイドG1,G3,G4は、カーソル105の操作タイミング及び移動位置を案内する時間帯でないため、花のつぼみの図形となっている。また、位置ガイドG2と位置ガイドG4との間、位置ガイドG4と位置ガイドG3との間、及び、位置ガイドG3と位置ガイドG1との間、では、カーソル105の操作タイミング及び操作方向を案内する時間帯ではないため、方向ガイドgが出現していない。
プレイヤ94は、位置ガイドG2及び方向ガイドg1〜5による案内に従って、カーソル105を適切に操作しているため、カーソル105の移動方向(位置ガイドG1から位置ガイドG2の方向、つまり、スクリーン91に向かって右方向)に対応した方向にダンスを行うアニメーションが実行される。例えば、ダンスオブジェクト106が、反時計回りに回転するアニメーションを行い、かつ、背景110が、スクリーン91に向かって、左方向にスクロールする。これにより、ダンスオブジェクト106の位置はスクリーン91の中心にありながらも、ダンスオブジェクト106が、右方向に移動しながら反時計回りに回転したように見える。
図13は、図1のテレビジョンモニタ90のスクリーン91に表示されるゲーム画面のさらに他の例示図である。図13では、4つの位置ガイドG1〜G4が同時に、花が開くアニメーションをしている。これを契機として、プレイヤ94に対して、経路ガイドrg1〜rg10に案内される経路及び方向にカーソル105を移動させることが案内される。この場合、経路ガイドrg1〜rg10の出現位置が、カーソル105の案内経路を示す。また、最初に経路ガイドrg1、次に経路ガイドrg2、その次に経路ガイドrg3、さらにその次に経路ガイドrg4、…、最後に経路ガイドrg10、という順番で、経路ガイドrg1〜rg10は出現する。従って、経路ガイドrg1〜rg10の出現の方向により、カーソル105を移動させる方向が案内される。ここで、経路ガイドrg1〜g10の各々は、出現当初は小さな球を表現した図形であり、その球は時間とともに徐々に大きくなり、大きさが最大となった後は、球が砕けるようなアニメーションが実行される。図13では、位置ガイドG3の近傍を出発点として、経路ガイドrg1〜g10に沿って、反時計回りにカーソル105を移動させることが案内されている。
プレイヤ94が、位置ガイドG1〜G4及び経路ガイドrg1〜rg10に従って、操作物150を操作して適切にカーソル105を操作した場合は、ダンスオブジェクト106は、経路ガイドrg1〜rg10に対応したアニメーション(例えば、反時計回りに大きく回転するようなアニメーション)を実行する。
なお、上記のように、図12及び図13に示したダンスオブジェクト106等のオブジェクトは、アニメーションの、あるコマの画像である。例えば、ダンスアニメーションのために、一連のダンスオブジェクト106が用意されている。また例えば、位置ガイドGのアニメーションのために、一連の花の図形のオブジェクト画像が用意されている。また、例えば、方向ガイドg及び経路ガイドrgのアニメーションのために、一連の球の図形のオブジェクト画像が用意されている。
ここで、図11〜図13に示したゲーム画面のダンスオブジェクト106、位置ガイドG、評価オブジェクト107〜109、カーソル105、方向ガイドg、及び、経路ガイドrg、は単数あるいは複数のスプライトからなる。スプライトは、矩形の画素集合であり、スクリーン91の任意の位置に配置できる。なお、位置ガイドG、評価オブジェクト107〜109、カーソル105、方向ガイドg、及び、経路ガイドrg、を総称してオブジェクト(あるいはオブジェクト画像)と呼ぶこともある。
図14は、スクリーン91に表示されるオブジェクトを構成するスプライトの説明図である。図14に示すように、図11のダンスオブジェクト106は、例えば、12個のスプライトSP0〜SP11により構成される。スプライトSP0〜SP11の各々は、例えば、16画素×16画素からなる。ダンスオブジェクト106をスクリーン91上に配置するときは、例えば、左上の角のスプライトSP0の中心を、スクリーン91上のどの座標に配置するかが指定される。そして、指定された座標及びスプライトSP0〜SP11のサイズをもとに、各スプライトSP1〜SP11の中心を配置する座標が算出される。
次に、背景110のスクロールについて説明する。まず、全景スクリーンについて説明する。
図15は、図1のテレビジョンモニタ90のスクリーン91に表示される全景スクリーンの説明図である。図15に示すように、全景スクリーン140は、例えば、32個×32個のブロック「0」〜ブロック「1023」により構成される。ブロック「0」〜ブロック「1023」の各々は、例えば、8画素×8画素からなる矩形要素である。ブロック「0」〜ブロック「1023」に対応して、配列PA[0]〜配列PA[1023]及び配列CA[0]〜配列CA[1023]が用意される。ここで、ブロック「0」〜ブロック「1023」を包括して表現するときは、単に「ブロック」と表記し、配列PA[0]〜配列PA[1023]を包括して表現するときは、「配列PA」と表記し、配列CA[0]〜配列CA[1023]を包括して表現するときは、「配列CA」と表記する。
さて、配列PAには、対応するブロックの画素パターンを指定するデータ(画素パターンデータ)が代入される。この画素パターンデータは、ブロックを構成する8画素×8画素の各画素の色情報である。また、配列CAには、対応するブロックに使用するカラーパレット及びデプス値を指定する情報が代入される。カラーパレットは、所定数の色情報からなる。デプス値は、画素の奥行きを表す情報であり、同じ位置に、複数の画素が存在することとなる場合、最も大きなデプス値を持つ画素だけが表示されることになる。
図16(a)は、全景スクリーン140をスクロールする前の説明図、図16(b)は、全景スクリーン140をスクロールした後の説明図、である。図16(a)に示すように、テレビジョンモニタ90のスクリーン91のサイズは、256画素×224画素であるため、全景スクリーン140のうち、256画素×224画素の範囲がスクリーン91に表示される。ここで、全景スクリーン140の中心位置をk画素だけ左にスクロールすることを考える。そうすると、全景スクリーン140の横方向(水平方向)の幅が、スクリーン91の横方向の幅と同じであるため、図16(b)に示すように、スクリーン91の範囲外となった部分(斜線部分)が、スクリーン91の右端に表示される。つまり、概念的には、横方向にスクロールをする場合は、同じ複数の全景スクリーン140が横方向に連なっていると考えることができる。
例えば、スクリーン91の範囲外となった部分(斜線部分)が、図15のブロック「64」,ブロック「96」,…,ブロック「896」,ブロック「928」とすると、これらのブロックに対応する配列PA[64],…PA[928]及び配列CA[64],…CA[928]によって定まる画像が、スクリーン91の右端に表示される。従って、全景スクリーン140の左スクロールにより、背景が連続的に連なるようにするには、スクリーン91の範囲外となった部分(斜線部分)に含まれるブロックに対応する配列PA及び配列CAに代入されたデータを更新する必要がある。そうすれば、更新された配列PA及び配列CAによって定まる画像が、スクリーン91の右端に表示される。
背景を滑らかに連続するように見せるためには、スクリーン91の右端に表示される前に、該当する配列PA及び配列CAのデータを更新する必要がある。そうすると、スクリーン91の左端に表示中のときに、該当する配列PA及び配列CAのデータを更新する必要が生じ、スクリーン91の左端の表示が不連続なものとなる。従って、このような不都合を回避するため、図11〜図13に示すように、スクリーン91の左端にマスク141をする。同様の理由により、右端にもマスク142をする。
なお、右方向へのスクロール処理も上記の左方向のスクロール処理と同様である。また、本実施の形態では、全景スクリーン140の縦方向(垂直方向)のスクロール範囲を±16画素としているため、スクリーン91の上下端にマスクはしていない。
以上のようにして、全景スクリーン140をスクロールさせることで、背景110をスクロールさせる。
さて、次に、音楽ゲーム装置1によるゲーム処理の詳細を説明する。図17は、図6のROM51に格納されたプログラム及びデータを示す概念図である。図17に示すように、ROM51には、ゲームプログラム300、画像データ301、及び、音楽データ304、が格納される。画像データ302は、オブジェクト画像データ(位置ガイドG、方向ガイドg、経路ガイドrg、評価オブジェクト107〜109、及び、カーソル105、等の画像データを含む。)及び背景画像データを含む。音楽データ304は、第1の楽譜データ305、第2の楽譜データ306、及び、音源データ(波形データ)307、を含む。
図17に示す第1の楽譜データ305は、楽曲制御情報が時系列に配置されたデータである。
図18は、図17の第1の楽譜データ305の一例を示す概念図である。図18に示すように、楽曲制御情報は、コマンド、ノートナンバ/待機時間情報、楽器指定情報、ベロシティ、及び、ゲートタイム、を含む。
ノートオンは、音を出すコマンド、待機は、待機時間を設定するコマンド、である。待機時間は、次のコマンドを読み出すまでの時間(ある音符から次の音符までの時間)である。ノートナンバは、音の高さ(ピッチ)を指定する情報である。待機時間情報は、設定する待機時間を指定する情報である。楽器指定情報は、どの楽器の音色を使うかを指定する情報である。ベロシティは、音の強弱の情報、つまり、音量の情報、である。ゲートタイムは、音が発音される長さである。
図17に戻って、第2の楽譜データ306は、ガイド制御情報が、時系列に配置されたデータである。この第2の楽譜データ306は、ガイド(位置ガイドG、方向ガイドg、及び、経路ガイドrg)を、スクリーン91に表示する際に使用される。つまり、第1の楽譜データ305は、楽曲を自動演奏するための楽譜データであるが、第2の楽譜データ306は、ガイドを楽曲に合ったタイミングで表示させるための楽譜データである。
図19は、図17の第2の楽譜データ306の一例を示す概念図である。図19に示すように、ガイド制御情報は、コマンド、ノートナンバ/待機時間情報、及び、楽器指定情報、からなる。
第2の楽譜データ306では、楽器指定情報は、楽曲を奏でる楽器(音色)を示す番号ではなく、第2の楽譜データ306が、ガイド(位置ガイドG、方向ガイドg、及び、経路ガイドrg)を出現させる楽譜データであることを示す番号である。
従って、ノートオンは、音を出すコマンドではなく、位置ガイドGのアニメーション開始を指示したり、方向ガイドg及び経路ガイドrgの出現開始を指示したりするコマンドである。そして、ノートナンバは、音の高さ(ピッチ)を指定する情報ではなく、どの位置ガイドGのアニメーションを開始するかを示したり、どこに方向ガイドg及び経路ガイドrgを出現させるかを示したりする情報である。この点を詳しく説明する。
図20(a)〜図20(c)は、カーソル105を案内する方向とノートナンバとの関係図である。図20(a)〜図20(c)に示すように、矢印の向きが、カーソル105を案内する方向を示し、矢印の始点が、直前にカーソル105を案内した位置ガイドGの位置を示し、矢印の終点が、カーソル105を案内する位置ガイドGの位置を示している。例えば、図20(a)に示すように、ノートナンバ「55」は、カーソル105を、位置ガイドG1から位置ガイドG2へ案内する場合に使用され、楽譜データポインタが指すノートナンバが「55」の場合は、図12に示す位置ガイドG及び方向ガイドgが出現する。また、例えば、図20(c)に示すように、ノートナンバ「57」は、位置ガイドG3を始点として、カーソル105を反時計回りに回転させることを案内する場合に使用され、楽譜データポインタが指すノートナンバが「57」の場合は、図13に示す位置ガイドG及び経路ガイドrgが出現する。
なお、例えば、ノートナンバ「81」は、第2の楽譜データ306の先頭に配置するダミーデータであり(図19参照)、ガイドの表示を制御する情報ではない。こうすることで、第1の楽譜データ305と第2の楽譜データ306との先頭を揃えている。また、例えば、ノートナンバ「79」は、楽曲終了を意味するデータであり、第2の楽譜データ306の最後尾に配置される(図19参照)。なお、ノートナンバ「79」は、ガイドの表示を制御する情報ではない。
さて、次に、高速プロセッサ200が実行する主な処理について説明する。
[ピクセルデータ群取得処理]CPU201は、イメージセンサ43が出力したアナログのピクセルデータを変換したデジタルのピクセルデータを取得して、配列P[X][Y]に代入する。なお、イメージセンサ43の水平方向(横方向、行方向)をX軸、垂直方向(縦方向、列方向)をY軸とする。
[差分データ算出処理]CPU201は、赤外発光ダイオード15の点灯時のピクセルデータP[X][Y]と、消灯時のピクセルデータP[X][Y]と、の差分を算出して、差分データを配列Dif[X][Y]に代入する。ここで、図面を用いて、差分を求める効果を説明する。ここで、ピクセルデータは輝度を表す。よって、差分データも輝度を表す。
図21(a)は、一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図、図21(b)は、図21(a)の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図21(c)は、赤外フィルタ17を介したイメージセンサ43の点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図21(d)は、赤外フィルタ17を介したイメージセンサ43の消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図21(e)は、点灯時の画像信号と消灯時の画像信号との差分信号の例示図、である。
上記のように、操作物150に赤外光を照射し、赤外フィルタ17を介してイメージセンサ43に入射した反射赤外光による画像を撮影している。一般的な室内環境で一般的な光源を用いて操作物150をストロボスコープ撮影した場合には、一般的なイメージセンサ(図5のイメージセンサ43に相当する。)には、図21(a)に示すように、操作物150による画像以外に、蛍光灯光源、白熱灯光源、太陽光(窓)のような光源だけでなく、室内のすべてのものの画像がすべて写り込む。したがって、この図21(a)の画像を処理して操作物150の画像のみを抽出するのは、かなり高速のコンピュータまたはプロセサが必要である。しかしながら、安価が条件の装置ではそのような高性能コンピュータを使えない。そこで種々の処理を行って負担を軽減することが考えられる。
なお、図21(a)の画像は、本来ならば、白黒の階調により表される画像であるが、その図示を省略している。また、図21(a)〜図21(e)では、操作物150の反射シート155が撮影されている。
さて、図21(b)は、図21(a)の画像信号を或る閾値でレベル弁別したときの画像信号である。このようなレベル弁別処理は専用のハードウェア回路でも、ソフトウェア的にでも、実行することができるが、いずれの方法によっても、一定以下の光量のピクセルデータをカットするレベル弁別を実行すると、操作物150や光源以外の低輝度画像を除去することができる。この図21(b)の画像では操作物150および室内の光源以外の画像の処理を省略でき、したがって、コンピュータの負担を軽減できるが、それでも、光源画像を含む高輝度画像が依然として写り込んでいるので、操作物150と他の光源を分別することは難しい。
そこで、図5に示したように赤外フィルタ17を利用して、イメージセンサ43に赤外光による画像以外の画像が写らないようにした。それによって、図21(c)に示すように、赤外光を殆ど含まない蛍光灯光源の画像は除去できる。しかしながら、それでもなお太陽光や白熱灯が画像信号中に含まれてしまう。したがって、更なる負担軽減のために、赤外ストロボスコープの点灯時のピクセルデータと消灯時のピクセルデータとの差分を計算することとした。
そのため、図21(c)の点灯時の画像信号のピクセルデータと、図21(d)の消灯時の画像信号のピクセルデータとの差分を計算した。すると、図21(e)に示すように、その差分だけの画像が取得できる。この差分データによる画像は、図21(a)と対比すれば明らかなように、操作物150によって得られる画像のみを含むことになる。したがって、処理の軽減を図りながらも、操作物150の状態情報を取得できる。状態情報とは、例えば、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、等である。
以上のような理由で、CPU201は、赤外発光ダイオード15の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。
[注目点抽出処理]CPU201は、算出した差分データDif[X][Y]を基に、操作物150の注目点の座標を求める。この点を詳細に説明する。
図22は、操作物150の注目点の座標算出の説明図である。なお、図22に示したイメージセンサ43は、32ピクセル×32ピクセルのものとする。
図22に示すように、CPU201は、X方向(水平方向、横方向、行方向)に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、X方向に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、というように、Y座標をインクリメントしながら、X方向に32ピクセル分の差分データをスキャンしていく。
この場合、CPU201は、スキャンした32ピクセル×32ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Thとを比較する。そして、CPU201は、その最大輝度値が所定の閾値Thより大きい場合は、その最大輝度値を持つピクセルの座標を基に、操作物150の注目点の座標を算出する。この点を詳しく説明する。
図23(a)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際のX方向スキャンの説明図、図23(b)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際のY方向スキャンのスタート時の説明図、図23(c)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際のY方向スキャンの説明図、図23(d)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際の結果の説明図、である。
図23(a)に示すように、CPU201は、最大輝度値のピクセルの座標を中心に、X方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図23(a)の例では、X=11〜15までが、所定の閾値Thを超えたピクセルである。
次に、図23(b)に示すように、CPU201は、X=11〜15の中心を求める。すると、中心のX座標は、Xc=13である。
次に、図23(c)に示すように、図23(b)で求めたX座標(=13)を中心に、Y方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図23(c)の例では、Y=5〜10までが、所定の閾値Thを超えたピクセルである。
次に、図23(d)に示すように、CPU201は、Y=5〜10の中心を求める。すると、中心のY座標は、Yc=7である。
CPU201は、以上のようにして算出した注目点の座標(Xc,Yc)=(13,7)を、スクリーン91上の座標(xc,yc)に変換する。CPU201は、以上のような注目点の座標(xc,yc)を求める処理を、フレームが更新されるたびに実行する。そして、CPU201は、xc及びycをそれぞれ配列Px[M]及びPy[M]に代入する。なお、「M」は整数であり、スクリーン91に表示するフレームが更新されるたびに1つインクリメントされる。
[注目点存在領域判定処理(1)]CPU201は、操作物150の注目点が、スクリーン91上のどの領域a1〜a4に存在するかを判定する。この点を詳細に説明する。
図24は、CPU201による注目点存在領域判定処理(2)の説明図である。図24に示すように、スクリーン91に、位置ガイドG1を含む所定領域a1、位置ガイドG2を含む所定領域a2、位置ガイドG3を含む所定領域a3、及び、位置ガイドG4を含む所定領域a4、を設定する。CPU201は、所定領域a1〜a4の中から、操作物150の注目点(xc,yc)が属する領域を判定し、判定結果を配列J1[M]に格納する。CPU201は、以上のような判定処理を、スクリーン91に表示するフレームが更新されるたびに実行する。
[注目点存在領域判定処理(2)]CPU201は、操作物150の注目点が、スクリーン91上のどの領域A1〜A4に存在するかを判定する。この点を詳細に説明する。
図25は、CPU201による注目点存在領域判定処理(2)の説明図である。図25に示すように、スクリーン91を4分割した領域A1〜A4を設定する。CPU201は、領域A1〜A4の中から、操作物150の注目点(xc,yc)が属する領域を判定し、判定結果を配列J2[M]に格納する。CPU201は、以上のような判定処理を、スクリーン91に表示するフレームが更新されるたびに実行する。
[カーソル制御処理]CPU201は、現在の操作物150の注目点の座標(xc,yc)を、次のフレームで表示するカーソル105の座標として登録する(内部メモリ207に格納する)。
[ガイド種類登録処理]CPU201は、ガイド用の楽譜データポインタに従って、第2の楽譜データ306から読み出したノートナンバ(図19及び図20(a)〜図20(c)参照)を配列NN「0」あるいは配列NN[1]に代入する。このように、配列の要素数を2つにしたのは、ある位置ガイドGによる案内と他の位置ガイドGによる案内とが、違うタイミングで開始されるが、ある期間重複して実行される場合もあるからである。なお、ガイド用の楽譜データポインタは、第2の楽譜データ306の読み出し位置を示すポインタである。
[ガイド制御処理]CPU201は、配列NN[J](ガイド表示番号J=0,1)を参照して、配列NN[J]に代入されているノートナンバに従って、方向ガイドGのアニメーション情報、位置ガイドgのアニメーション情報、及び、経路ガイドrgのアニメーション情報、を登録する。この点を詳細に説明する。
図26は、方向ガイドG、位置ガイドg、及び、経路ガイドrg、のアニメーションの登録処理の説明図である。図26に示すように、ノートナンバと、アニメーション情報(位置ガイドGのアニメーションテーブルの格納位置情報、位置ガイドGのスクリーン91上の表示座標、位置ガイドGの表示タイミング情報、方向ガイドg/経路ガイドrgのアニメーションテーブルの格納位置情報、方向ガイドg/経路ガイドrgのスクリーン91上の表示座標情報、及び、方向ガイドg/経路ガイドrgの表示タイミング情報)と、が関連付けられたテーブルが、ROM51あるいは内部メモリ207に用意される。
このテーブルのノートナンバは、ガイドの表示を制御するためのノートナンバであり、図20(a)〜図20(c)に示したノートナンバである。例えば、CPU201は、配列NN[J]に代入されているノートナンバが「55」の場合は、このテーブルを参照して、ノートナンバ「55」に関連付けられたアニメーション情報(位置ガイドGのアニメーションテーブルの格納位置情報、位置ガイドGのスクリーン91上の表示座標、位置ガイドGの表示タイミング情報、方向ガイドgのアニメーションテーブルの格納位置情報、方向ガイドgのスクリーン91上の表示座標情報、及び、方向ガイドgの表示タイミング情報)を登録する(内部メモリ207の所定領域に格納する。)。
ここで、表示タイミング情報は、スクリーン91にオブジェクトをいつ表示するかを示す情報である。例えば、ガイドナンバ「55」に関しては、位置ガイドGの表示タイミング情報が「0」であるため、現在表示中のフレームの次のフレームにおいて、位置ガイドG2を座標(x1,y1)に表示することを意味する。また、例えば、ガイドナンバ「55」に関しては、方向ガイドgの表示タイミング情報が0,6,12,…,24であるため、現在表示中のフレームの次のフレームにおいて、位置ガイドg1を座標(x3,y1)に表示し、6フレーム後に位置ガイドg2を座標(x4,y1)に表示し、…、24フレーム後に位置ガイドg5を座標(x7,y1)に表示することを意味する。
図27は、図26のアニメーションテーブル格納位置情報により指定されるアニメーションテーブルの例示図である。図27に示すように、アニメーションテーブルは、アニメーション画像データ(複数のオブジェクト画像データを時系列に配置したもの)の格納位置情報、アニメーションを行うオブジェクトの番号を時系列に配置したもの、何フレーム連続して各オブジェクトを表示するかを示す情報(持続フレーム数)、オブジェクトのサイズ、カラーパレットの情報、デプス値の情報、及び、スプライトサイズ、を関連付けたテーブルである。なお、アニメーション画像データは、画素パターンデータである。ここで、画素パターンデータ、カラーパレット、及び、デプス値は、オブジェクトを構成するスプライトに関するものであり、その意味は、図14で説明したブロックに関するものと同様である。
アニメーションテーブル格納位置情報address0が示すアニメーションテーブルは、位置ガイドGのアニメーションテーブルの例示であり、アニメーションテーブル格納位置情報address1が示すアニメーションテーブルは、方向ガイドgのアニメーションテーブルの例示であり、アニメーションテーブル格納位置情報address2が示すアニメーションテーブルは、経路ガイドrgのアニメーションテーブルの例示であり、アニメーションテーブル格納位置情報address3が示すアニメーションテーブルは、プレイヤ94によるカーソル105の操作が成功したときに利用する位置ガイドGのアニメーションテーブルの例示である。
[ダンス制御処理]CPU201は、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたか否かを判断する。具体的には、次の通りである。
CPU201は、注目点存在領域判定処理(1)による判定結果J1[M]をもとに、位置ガイドG及び方向ガイドgが現在案内している領域に、カーソル105(つまり、操作物150の注目点)が存在するかどうかを判断する(図24参照)。例えば、CPU201は、位置ガイドG及び方向ガイドgが現在案内している領域が領域a2の場合に、カーソル105が存在する領域が領域a2である場合は、カーソル105が位置ガイドG及び方向ガイドgに適合して操作されたと判断する。
また、CPU201は、注目点存在領域判定処理(2)による判定結果J2[M]をもとに、位置ガイドG及び経路ガイドrgが現在案内している経路に沿って、カーソル105(つまり、操作物150の注目点)が移動したかどうかを判断する(図25参照)。ここで、図20(b)のガイドナンバ「53」が案内する経路は、図25の領域A3→領域A1→領域A2→領域A4である。また、図20(c)のガイドナンバ「57」が案内する経路は、図25の領域A4→領域A2→領域A1→領域A3である。従って、例えば、CPU201は、位置ガイドG及び経路ガイドrgが現在案内している経路がガイドナンバ「53」に対応する経路である場合に、カーソル105が移動した経路が、領域A3→領域A1→領域A2→領域A4、である場合は、カーソル105が位置ガイドG及び経路ガイドrgに適合して操作されたと判断する。
上述の結果、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に対応したダンスアニメーション情報を登録する(内部メモリ207の所定領域に格納する。)。図26のテーブルと同様に、ガイドの表示を制御するノートナンバ(図20(a)〜図20(c)参照)とダンスアニメーション情報とを関連付けたテーブルが、ROM51あるいは内部メモリ207に用意される。ただし、案内方向が同じノートナンバ(例えば、ノートナンバ「55」と「67」)については、ダンスアニメーション情報も同じにしている。
ダンスアニメーション情報は、図26のアニメーション情報と同様のものであり、ダンスアニメーションテーブルの格納位置情報、ダンスオブジェクト106のスクリーン91上の表示座標、及び、ダンスオブジェクト106の表示タイミング情報、を含む。また、ダンスアニメーションテーブルは、図27のアニメーションテーブルと同様のものであり、ダンスアニメーション画像データ(複数のダンスオブジェクト106の画像データを時系列に配置したもの)の格納位置情報、アニメーションを行うダンスオブジェクト106の番号を時系列に配置したもの、何フレーム連続して各ダンスオブジェクト106を表示するかを示す情報(持続フレーム数)、ダンスオブジェクト106のサイズ、カラーパレットの情報、デプス値の情報、及び、スプライトサイズ、を関連付けたテーブルである。ダンスアニメーション画像データは、画素パターンデータである。
なお、図17の第2の楽譜データ306には、速い速度のダンスアニメーションを行うことを指示するノートナンバ、及び、遅い速度のダンスアニメーションを行うことを指示するノートナンバ、を含めることができる。この場合は、ダンスアニメーションテーブルも、速い速度のダンスアニメーションテーブルと遅い速度のダンスアニメーションテーブルとが用意される。また、この場合は、ガイドの表示を制御するノートナンバ及びダンス速度を制御するノートナンバと、ダンスアニメーション情報と、を関連付けたテーブルが、ROM51あるいは内部メモリ207に用意される。同様に、ダンス速度ごとに、ダンスアニメーションテーブルが用意される。
また、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、操作が成功した際に使用する位置ガイドGのアニメーションテーブルの格納位置情報(図27の例では、address3)を登録する。
また、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、評価オブジェクト107〜109のためのアニメーション情報を登録する(内部メモリ207の所定領域に格納する。)。このアニメーション情報は、図26のアニメーション情報と同様のものである。従って、このアニメーション情報には、評価オブジェクト107〜109のためのアニメーションテーブルの格納位置情報が含まれる。このアニメーションテーブルは、図27のアニメーションテーブルと同様のものである。
さらに、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に対応したスクロール制御を行う。具体的には、CPU201は、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、並びに、ダンス速度を制御するノートナンバ、に対応して、全景スクリーン140の中心位置を変更して(図16(a)及び図16(b)参照)、背景110をスクロールする。また、CPU201は、横方向に全景スクリーン140をスクロールさせる場合は、該当する配列PA及び配列CAのデータを変更する。
さて、図28は、第1の楽譜データ305、第2の楽譜データ306、方向ガイドG、位置ガイドg、操作判定、及び、ダンスアニメーション、の関係を説明するためのタイミング図である。なお、図28において、太い線は、処理の実行期間を示し、太い線の左端の黒丸は処理の開始を示し、太い線の右側の黒丸は処理の終了を示す。
図28に示すように、第2の楽譜データ306の読み出しの開始時点は、第1の楽譜データ305の読み出しの開始時点T1,T2,…、よりも所定時間tだけ早い。従って、方向ガイドgは、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3よりも、所定時間tだけ早く表示され、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3まで(例えば、60フレームの間)表示される。同様に、位置ガイドGは、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3よりも、所定時間tだけ早くアニメーションを開始し、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3の少し後までアニメーションを継続する。
CPU201は、カーソル105の操作が、方向ガイドg及び位置ガイドGに適合して行われたか否かの判断を、方向ガイドgの表示開始から、一定期間経過後(例えば、30フレーム経過後)に開始し、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3に終了する。そして、CPU201は、カーソル105の操作が、方向ガイドg及び位置ガイドGに適合して行われたと判断した場合は、判断期間の終了時に、ダンスアニメーション情報を登録する。従って、この場合、登録されたダンスアニメーション情報にもとづいて、ダンスアニメーションが実行される。
なお、第2の楽譜データ306の読み出しの開始時点が、第1の楽譜データ305の読み出しの開始時点T1,T2,…、よりも所定時間tだけ早い理由は、次の通りである。つまり、プレイヤ94は、方向ガイドg及び位置ガイドGによる案内開始後に、操作物150の操作を開始するため、その時間誤差を調整するため、方向ガイドg及び位置ガイドGの表示を楽曲のタイミングよりも早くしたのである。
経路ガイドrgの表示タイミングについては、方向ガイドGの表示タイミングと同様である。ただし、例えば、カーソル105の操作が経路ガイドrgに適合するか否かの判断は、経路ガイドrgによる案内開始時から終了時の間(例えば、60フレームの間)に行う。
[画像表示処理]CPU201は、カーソル制御処理、ガイド制御処理、及び、ダンス制御処理、により登録された情報をもとに、描画に必要な情報を垂直ブランキング期間に、図7のグラフィックプロセッサ202に与える。すると、グラフィックプロセッサ202は、与えられた情報をもとに映像信号を生成して、映像信号出力端子47に出力する。これにより、テレビジョンモニタ90のスクリーン91に、位置ガイドGや背景110等を含むゲーム画面が表示される。より具体的には、次の通りである。
CPU201は、カーソル制御処理で登録した座標情報(操作物150の注目点の座標情報)をもとに、カーソル105を構成する各スプライトの表示座標を算出する。そして、CPU201は、カーソル105を構成する各スプライトの、表示座標情報、カラーパレット情報、デプス値、サイズ情報、及び、画素パターンデータ格納位置情報、をグラフィックプロセッサ202に与える。グラフィックプロセッサ202は、これらの情報をもとに、カーソル105を表す映像信号を生成して、映像信号出力端子47に出力する。
また、CPU201は、ガイド制御処理で登録したアニメーション情報に含まれるアニメーションテーブル格納位置情報にもとづいて、アニメーションテーブルを参照し、ガイド(位置ガイドG,方向ガイドg,経路ガイドrg)のアニメーション画像を構成するオブジェクトのサイズ情報、及び、そのオブジェクトを構成するスプライトのサイズ情報、を取得する。そして、CPU201は、これらの情報と、登録されているアニメーション情報に含まれる表示座標情報と、をもとに、当該オブジェクトを構成する各スプライトの表示座標を算出する。また、CPU201は、これから表示する位置ガイドGのオブジェクト番号、アニメーションテーブルに含まれるオブジェクト及びスプライトのサイズ情報、並びに、アニメーションテーブルに含まれる位置ガイドGのアニメーション画像データ格納位置情報、をもとに、オブジェクトを構成する各スプライトの画素パターンデータ格納位置情報を算出する。
そして、さらに、CPU201は、アニメーションテーブルを参照して、位置ガイドGを構成する各スプライトの、カラーパレット情報、デプス値、及び、サイズ情報を、各スプライトの画素パターンデータ格納位置情報及び表示座標情報とともに、グラフィックプロセッサ202に与える。この場合、CPU201は、登録されているアニメーション情報に含まれる位置ガイドGの表示タイミング情報、及び、アニメーションテーブルの持続フレーム数情報、に従って、上記の情報をグラフィックプロセッサ202に与える。
方向ガイドg及び経路ガイドrgに関しても、CPU201がグラフィックプロセッサ202に与える情報の取得及び内容は、位置ガイドGと同様である。ただし、方向ガイドg1〜g4及び経路ガイドrg1〜rg10は、アニメーション情報に含まれる表示タイミング情報が指示するタイミングで、アニメーション情報に含まれる表示座標情報が指示する複数の位置に順次表示されるため、方向ガイドg1〜g4の各々及び経路ガイドrg1〜rg10の各々の表示開始時においては、CPU201は、登録されているアニメーション情報に含まれる表示座標情報及び表示タイミング情報を参照して、方向ガイドg1〜g4及び経路ガイドrg1〜rg10の情報をグラフィックプロセッサ202に与える。
以上のようにして与えられた情報をもとに、グラフィックプロセッサ202は、ガイド(位置ガイドG,方向ガイドg,経路ガイドrg)を表す映像信号を生成して、映像信号出力端子47に出力する。
また、CPU201は、ダンス制御処理で登録したダンスアニメーション情報に含まれるダンスアニメーションテーブル格納位置情報にもとづいて、ダンスアニメーションテーブルを参照し、ダンスアニメーション画像を構成するダンスオブジェクト106のサイズ情報、及び、ダンスオブジェクト106を構成するスプライトのサイズ情報、を取得する。そして、CPU201は、これらの情報と、登録されているダンスアニメーション情報に含まれる表示座標情報と、をもとに、ダンスオブジェクト106を構成する各スプライトの表示座標を算出する。また、CPU201は、これから表示するダンスオブジェクト106の番号、ダンスアニメーションテーブルに含まれるダンスオブジェクト106及びスプライトのサイズ情報、及び、ダンスアニメーションテーブルに含まれるダンスアニメーション画像データ格納位置情報、をもとに、ダンスオブジェクト106を構成する各スプライトの画素パターンデータ格納位置情報を算出する。
そして、さらに、CPU201は、ダンスアニメーションテーブルを参照して、ダンスオブジェクト106を構成する各スプライトの、カラーパレット情報、デプス値、及び、サイズ情報を、各スプライトの画素パターンデータ格納位置情報及び表示座標情報とともに、グラフィックプロセッサ202に与える。この場合、CPU201は、登録されているダンスアニメーション情報に含まれる表示タイミング情報、及び、ダンスアニメーションテーブルの持続フレーム数情報、に従って、上記の情報をグラフィックプロセッサ202に与える。
さらに、CPU201は、ダンス制御処理で登録した、評価オブジェクト107〜109のためのアニメーション情報及びアニメーションテーブルをもとに、映像信号の生成に必要な情報を取得して、グラフィックプロセッサ202に与える。なお、この場合に、CPU201がグラフィックプロセッサ202に与える情報の取得及び内容は、ダンスオブジェクト106の場合と同様である。
以上のようにして与えられた情報をもとに、グラフィックプロセッサ202は、ダンスオブジェクト106及び評価オブジェクト107〜109を表す映像信号を生成して、映像信号出力端子47に出力する。
[楽曲再生]楽曲の再生は、割込み処理により行われる。CPU201は、楽曲用の楽譜データポインタをインクリメントしながら、図18の楽曲制御情報を読み出して解釈する。なお、楽曲用の楽譜データポインタは、第1の楽譜データ305の読み出し位置を示すポインタである。
そして、CPU201は、読み出した楽曲制御情報に含まれるコマンドが、ノートオンであれば、その楽曲制御情報に含まれるノートナンバが示す音の高さ(ピッチ)及び楽器指定情報が示す楽器(音色)に応じた波形データが格納されている先頭アドレスを、サウンドプロセッサ203に与える。さらに、CPU201は、読み出した楽曲制御情報に含まれるコマンドが、ノートオンであれば、必要なエンベロープデータが格納されている先頭アドレスを、サウンドプロセッサ203に与える。さらに、CPU201は、読み出した楽曲制御情報に含まれるコマンドが、ノートオンであれば、その楽曲制御情報に含まれるノートナンバが示す音の高さ(ピッチ)に応じたピッチ制御情報、及び、その楽曲制御情報に含まれるボリューム情報、をサウンドプロセッサ203に与える。
ここで、ピッチ制御情報について説明しておく。ピッチ制御情報は、波形データを読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ203は、ピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ203は、この累算結果を加工して、波形データのアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、波形データの周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、波形データの周波数が低くなる。このようにして、サウンドプロセッサ203は、波形データのピッチ変換を行う。
さて、サウンドプロセッサ203は、与えられたピッチ制御情報に基づいて、アドレスポインタをインクリメントしながら、与えられた先頭アドレスが示す位置に格納されている波形データをROM51から読み出す。そして、サウンドプロセッサ203は、順次読み出される波形データに、エンベロープデータ及びボリューム情報を乗算して、音声信号を生成する。このようにして、第1の楽譜データ305が指示する楽器の音色、音の高さ(ピッチ)、及び、音量、の音声信号が生成され、音声信号出力端子49に出力される。
一方、CPU201は、読み出した楽曲制御情報に含まれるゲートタイムを管理している。従って、CPU201は、ゲートタイムが経過した時に、該当する楽音の発音を終了するように、サウンドプロセッサ203に指示を出す。これを受けて、サウンドプロセッサ203は、指示された楽音の発音を終了する。
以上のようにして、第1の楽譜データ305に基づいて楽曲が再生され、テレビジョンモニタ90のスピーカ(図示せず)から発音される。
さて、次に、図1の音楽ゲーム装置1の全体の処理の流れを、フローチャートを用いて説明する。
図29は、図1の音楽ゲーム装置1の全体の処理の流れを示すフローチャートである。図29に示すように、ステップS1にて、CPU201は、システムの初期設定を実行する。ステップS2にて、CPU201は、操作物150の状態情報を算出する。ステップS3にて、CPU201は、ステップS2で算出した操作物150の状態情報をもとに、ゲーム処理を実行する。ステップS4にて、CPU201は、「M」が所定値「K」より小さいかどうかを判断する。CPU201は、「M」が所定値「K」以上である場合、ステップS5に進み、「M」に「0」を代入して、ステップS6に進む。一方、CPU201は、「M」が所定値「K」より小さい場合、ステップS4からステップS6に進む。この「M」については、後述の説明の中で明らかになる。
ステップS6では、CPU201は、ビデオ同期の割込み待ちかどうかを判断する。CPU201は、テレビジョンモニタ90の表示画面を更新するための画像情報を、垂直ブランキング期間の開始後にグラフィックプロセッサ202に与える(ステップS7)。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。ステップS6で「YES」であれば、即ち、ビデオ同期の割込み待ちであれば(ビデオ同期信号による割り込みがなければ)、同じステップS6に戻る。一方、ステップS6で「NO」であれば、即ち、ビデオ同期の割込み待ちでなければ(ビデオ同期信号による割り込みがあれば)、ステップS7に進む。ステップS7では、CPU201は、ステップS3のゲーム処理の結果をもとに、ゲーム画面(図11〜図13参照)の生成に必要な画像情報を、垂直ブランキング期間に、グラフィックプロセッサ202に与える(画像表示処理)。
図30は、図29のステップS1の初期設定処理の流れを示すフローチャートである。図30に示すように、ステップS10にて、CPU201は、ガイド用の楽譜データポインタを初期化する。ステップS11にて、CPU201は、ガイド用の実行待機カウンタを「0」にセットする。
ステップS12にて、CPU201は、楽曲用の楽譜データポインタを初期化する。ステップS13にて、CPU201は、楽曲用の実行待機カウンタを「t」にセットする。
ステップS14にて、CPU201は、イメージセンサ43の初期設定処理を実行する。ステップS15にて、CPU201は、各種フラグ及び各種カウンタを初期化する。
ステップS16にて、CPU201は、タイマ回路210を発音のための割込み源としてセットする。なお、割込み処理により、サウンドプロセッサ203による処理が実行されて、テレビジョンモニタ90のスピーカから音声が出力される。
図31は、図30のステップS14のセンサ初期設定処理の流れを示すフローチャートである。図31に示すように、最初のステップS20では、高速プロセッサ200は、設定データとして、コマンド“CONF”を設定する。ただし、このコマンド“CONF”は、イメージセンサ43に、高速プロセッサ200からコマンドを送信する設定モードに入ることを知らせるためのコマンドである。そして、次のステップS21にて、コマンド送信処理を実行する。
図32は、図31のステップS21のコマンド送信処理の流れを示すフローチャートである。図32に示すように、最初のステップS30では、高速プロセッサ200は、設定データ(ステップS21の場合はコマンド“CONF”)をレジスタデータ(I/Oポート)に設定し、次のステップS31でレジスタ設定クロックCLK(I/Oポート)をローレベルに設定する。その後、ステップS32で規定時間待機した後、ステップS33で、レジスタ設定クロックCLKをハイレベルに設定する。そして、さらにステップS34での規定時間の待機の後、ステップS35でレジスタ設定クロックCLKを再びローレベルに設定する。
このようにして、図33に示すように、規定時間の待機を行いながら、レジスタ設定クロックCLKをローレベル,ハイレベルそしてローレベルとすることによって、コマンド(コマンドまたはコマンド+データ)の送信処理が行われる。
図31の説明に戻る。ステップS22では、ピクセルモードを設定するとともに、露光時間の設定を行う。この実施の形態の場合、イメージセンサ43は先に述べたようにたとえば32ピクセル×32ピクセルのCMOSイメージセンサであるため、設定アドレス“0”のピクセルモードレジスタに32ピクセル×32ピクセルであることを示す“0h”を設定する。次のステップS23において、高速プロセッサ200は、レジスタ設定処理を実行する。
図34は、図31のステップS23のレジスタ設定処理の流れを示すフローチャートである。図34に示すように、最初のステップS40では、高速プロセッサ200は、設定データとして、コマンド“MOV”+アドレスを設定し、次のステップS41で、図32で先に説明したコマンド送信処理を実行して、それを送信する。次にステップS42において、高速プロセッサ200は、設定データとして、コマンド“LD”+データを設定し、次のステップS43でコマンド送信処理を実行して、それを送信する。そして、ステップS44で、高速プロセッサ200は、設定データとして、コマンド“SET”を設定し、次のステップS45でそれを送信する。なお、コマンド“MOV”は制御レジスタのアドレスを送信することを示すコマンドで、コマンド“LD”はデータを送信することを示すコマンドで、コマンド“SET”はデータをそのアドレスに実際に設定させるためのコマンドである。なお、この処理は、設定する制御レジスタが複数ある場合には、繰り返し実行される。
図31の説明に戻る。ステップS24では、設定アドレスを“1”(露光時間設定レジスタのローニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のローニブルデータ“Fh”を設定すべきデータとして設定する。そして、ステップS25で図34のレジスタ設定処理を実行する。同様にして、ステップS26において、設定アドレスを“2”(露光時間設定レジスタのハイニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のハイニブルデータ“Fh”を設定すべきデータとして設定し、ステップS27でレジスタ設定処理を実行する。
その後、ステップS28で設定終了を示しかつイメージセンサ43にデータの出力を開始させるためのコマンド“RUN”を設定し、ステップS29で送信する。このようにして、図30に示すステップS14でのセンサ初期設定処理が実行される。ただし、図31〜図34に示す具体例は、使用されるイメージセンサ43の仕様に応じて、適宜変更され得るものである。
図35は、図29のステップS2の状態情報算出処理の流れを示すフローチャートである。図35に示すように、ステップS50にて、CPU201は、ADC208からデジタルのピクセルデータを取得する。このデジタルのピクセルデータは、イメージセンサ43からのアナログのピクセルデータが、ADC208により、デジタルに変換されたものである。
ステップS51にて、注目点抽出処理が実行される。具体的には、CPU201が、赤外発光ダイオード15の発光時のピクセルデータと消灯時のピクセルデータとの差分を算出して、差分データを得る。そして、CPU201は、その差分データの最大値を検出して、所定の閾値Thと比較する。さらに、CPU201は、差分データの最大値が所定の閾値Thを超えている場合は、その最大値の差分データを持つピクセルの座標を、テレビジョンモニタ90のスクリーン91上の座標に変換し、操作物150の注目点の座標とする。
ステップS52にて、CPU201は、操作物150の注目点が、図24のいずれの領域a1〜a4に存在するかを判定して、判定結果を配列J1[M]に格納する。
ステップS53にて、CPU201は、操作物150の注目点が、図25のいずれの領域A1〜A4に存在するかを判定して、判定結果を配列J2[M]格納する。
図36は、図35のステップS50のピクセルデータ群取得処理の流れを示すフローチャートである。図36に示すように、最初のステップS60で、CPU201は、ピクセルデータ配列の要素番号としてXに「−1」、Yに「0」を設定する。本実施の形態におけるピクセルデータ配列は、X=0〜31、Y=0〜31の2次元配列であるが、前述のように各行の先頭ピクセルのデータとしてダミーデータが出力されるので、Xの初期値として「−1」が設定される。続くステップS61では、ピクセルデータの取得処理を実行する。
図37は、図36のステップS61のピクセルデータ取得処理の流れを示すフローチャートである。図37に示すように、最初のステップS70で、CPU201は、イメージセンサ43からのフレームステータスフラグ信号FSFをチェックし、ステップS71でそのアップエッジ(ローレベルからハイレベルへの)が発生したかどうか判断する。そして、ステップS71でフラグ信号FSFのアップエッジを検出すると、次のステップS72において、CPU201は、ADC208に入力されてきたアナログのピクセルデータのデジタルデータへの変換の開始を指示する。その後、ステップS73でイメージセンサ43からのピクセルストローブPDSをチェックし、ステップS74でそのストローブ信号PDSのローレベルからハイレベルへのアップエッジが発生したかどうか判断する。
ステップS74で“YES”が判断されると、CPU201は、ステップS75において、X=−1かどうか、すなわち先頭ピクセルかどうか判断する。先に述べたように、各行の先頭ピクセルはダミーピクセルとして設定されているので、このステップS75で“YES”が判断されると、次のステップS77でそのときのピクセルデータを取得しないで、要素番号Xをインクリメントする。
ステップS75で“NO”が判断されると、行の第2番目以降のピクセルデータであるので、ステップS76およびS78において、そのときのピクセルデータを取得し、テンポラリレジスタ(図示せず)にそのピクセルデータを格納する。その後、図36のステップS62に進む。
図36のステップS62では、テンポラリレジスタに格納されたピクセルデータをピクセルデータ配列P[Y][X]に代入する。
続くステップS63でXをインクリメントする。Xが32に満たない場合、前述のS61からS63の処理を繰り返し実行する。Xが32の場合、すなわちピクセルデータの取得が行の終端に到達した場合には、続くステップS65でXに「−1」を設定し、ステップS66でYをインクリメントし、次の行の先頭からピクセルデータの取得処理を繰り返す。
ステップS67でYが32の場合、すなわちピクセルデータの取得がピクセルデータ配列P[Y][X]の終端に到達した場合、図35のステップS51に進む。
図38は、図35のステップS51の注目点抽出処理の流れを示すフローチャートである。図38に示すように、ステップS80にて、CPU201は、イメージセンサ43からの、赤外発光ダイオード15の点灯時のピクセルデータと、赤外発光ダイオード15の消灯時のピクセルデータと、の差分を算出して、差分データを得る。ステップS81にて、CPU201は、配列Dif[X][Y]に、算出した差分データを代入する。ここで、実施の形態では、32ピクセル×32ピクセルのイメージセンサ43を用いているため、X=0〜31、Y=0〜31、である。
ステップS82にて、CPU201は、配列Dif[X][Y]の全要素をスキャンする。ステップS83にて、CPU201は、配列Dif[X][Y]の全要素の最大値を検出する。CPU201は、その最大値が所定の閾値Thより大きい場合は、ステップS85に進み、所定の閾値Th以下の場合は、図29のステップS4に進む(ステップS84)。
ステップS85にて、CPU201は、その最大値の座標を基に、操作物150の注目点の座標(Xc,Yc)を算出する。ステップS86にて、CPU201は、回数Mの値を1つインクリメントする(M=M+1)。
ステップS87にて、CPU201は、イメージセンサ43上の注目点の座標(Xc,Yc)を、テレビジョンモニタ90のスクリーン91上の座標(xc,yc)に変換する。ステップS88にて、CPU201は、M回目の注目点のx座標として、配列Px[M]にxcを代入し、M回目の注目点のy座標として、配列Py[M]にycを代入する。
図39は、図38のステップS85の注目点座標算出処理の流れを示すフローチャートである。図39に示すように、ステップS100にて、CPU201は、「m」及び「n」にそれぞれ、ステップS83で求めた最大値のX座標及びY座標を代入する。ステップS101にて、CPU201は、「m」を1つインクリメントする(m=m+1)。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS103に進み、そうでない場合は、ステップS104に進む(ステップS102)。ステップS103にて、CPU201は、「mr」にそのときの「m」を代入する。このように、ステップS101〜S103を繰り返しながら、最大値からX軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
ステップS104にて、CPU201は、「m」に、ステップS83で求めた最大値のX座標を代入する。ステップS105にて、CPU201は、「m」を1つデクリメントする。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS107に進み、そうでない場合は、ステップS108に進む(ステップS106)。ステップS107にて、CPU201は、「ml」にそのときの「m」を代入する。このように、ステップS105〜S107を繰り返しながら、最大値からX軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
ステップS108にて、CPU201は、X座標mrとX座標mlとの中心座標を算出して、それを、注目点のX座標(Xc)とする。ステップS109にて、CPU201は、「m」及び「n」にそれぞれ、ステップS108で求めた「Xc」およびステップS83で求めた最大値のY座標を代入する。ステップS110にて、CPU201は、「n」を1つインクリメントする(n=n+1)。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS112に進み、そうでない場合は、ステップS113に進む(ステップS111)。ステップS112にて、CPU201は、「md」にそのときの「n」を代入する。このように、ステップS110〜S112を繰り返しながら、最大値からY軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
ステップS113にて、CPU201は、「n」に、ステップS83で求めた最大値のY座標を代入する。ステップS114にて、CPU201は、「n」を1つデクリメントする。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS116に進み、そうでない場合は、ステップS117に進む(ステップS115)。ステップS116にて、CPU201は、「mu」にそのときの「n」を代入する。このように、ステップS114〜S116を繰り返しながら、最大値からY軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
ステップS117にて、CPU201は、Y座標mdとY座標muとの中心座標を算出して、それを、注目点のY座標(Yc)とする。以上のようにして、操作物150の注目点の座標(Xc,Yc)が算出される。
図40は、図29のステップS3のゲーム処理の流れを示すフローチャートである。図40に示すように、ステップS120にて、CPU201は、楽曲終了フラグをチェックして(図43のステップS196参照)、楽曲終了であれば、ゲーム処理を終了し、楽曲終了でなければ、ステップS121へ進む
ステップS121にて、CPU201は、操作物150の注目点のx座標Px[M]及びy座標Py[M]を、カーソル105のスクリーン91上の表示座標として登録する。
CPU201は、ステップS122とステップS144との間の処理を2回繰り返す。ここで、「j」は、ガイド表示番号Jを意味する(図43参照)。
ステップS123にて、CPU201は、ガイド開始フラグGF[j]をチェックする(図43のステップS194参照)。CPU201は、ガイド開始フラグGF[j]がオンであれば、ステップS125へ進み、オフであれば、ステップS144へ進む(ステップS124)。ステップS125にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタC[j]が「0」より大きい場合は、ステップS128に進み、フレームカウンタC[j]が「0」の場合は、ステップS127に進む(ステップS126)。ステップS127にて、CPU201は、ノートナンバNN[j]に従って、位置ガイドGのアニメーション情報を登録するとともに、方向ガイドgあるいは経路ガイドrgのアニメーション情報を登録する。フレームカウンタC[j]が「0」の場合にのみ、このようなアニメーション情報の登録を行うのは、一旦、アニメーション情報の登録をすれば、その後は、その登録情報に従ってアニメーションが実行されるため、アニメーションの開始時のみ登録するようにしている。
ステップS128にて、CPU201は、ノートナンバNN[j]をチェックして、カーソル105の旋回を指示するノートナンバである場合は(図20(b)及び図20(c)参照)、ステップS131に進み、それ以外のノートナンバであれば(図20(a)参照)、ステップS129に進む。ステップS129にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタ[j]が、規定フレーム数f1以上であれば、ステップS131へ進み、そうでなければ、ステップS141に進む(ステップS130)。ステップS131にて、CPU201は、カーソル105の操作が、ガイド(位置ガイドG/方向ガイドg/経路ガイドrg)に適合しているか否かを判定する(成功判定)。
なお、ステップS128及びステップS131から明らかなように、ノートナンバNN[j]がカーソル105の旋回を指示するノートナンバである場合には、フレームカウンタC[j]に関係なく、位置ガイドG及び経路ガイドrgの表示開始時から(フレームカウンタC[j]が「0」)、カーソル105の操作の成功判定を行っている。一方、ノートナンバNN[j]がカーソル105の旋回を指示するノートナンバ以外である場合は、位置ガイドG及び方向ガイドgの表示開始時から(フレームカウンタC[j]が「0」)、規定フレーム数f1(例えば。30フレーム)経過した後に、カーソル105の操作の成功判定を行っている(図28参照)。
さて、CPU201は、ステップS131での判定の結果、カーソル105の操作が成功であった場合は、ステップS133に進み、成功でない場合は、ステップS140に進む(ステップS132)。ステップS133にて、CPU201は、ノートナンバNN[j]及びダンス速度フラグDFを参照して(図43のステップS193、ステップS190及びステップS192参照)、ダンスアニメーション情報の登録を行う。また、操作成功の場合、背景110をスクロールすべく、CPU201は、ノートナンバNN[j]及びダンス速度フラグDFを参照して、全景スクリーン140の中心位置の変更、並びに、配列PA及び配列CAの該当データの変更を実行する。さらに、CPU201は、操作成功の際に使用する位置ガイドGのアニメーションテーブル格納位置情報を登録する。
ステップS134にて、CPU201は、ノートナンバNN[j]をチェックして、カーソル105の旋回を指示するノートナンバである場合は、ステップS137に進み、それ以外のノートナンバであれば、ステップS135に進む。ステップS135にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタ[j]が、規定フレーム数f2以上であれば、ステップS137へ進み、そうでなければ、ステップS138に進む(ステップS136)。ステップS137にて、CPU201は、スコアSに「3」を加える。一方、ステップS138にて、スコアSに「1」を加える。
なお、ステップS137では、スコアSに「3」を加え、ステップS138では、スコアSに「1」を加えているの次の理由による。位置ガイドG及び方向ガイドgの表示開始時から(フレームカウンタC[j]が「0」)、規定フレーム数f2(例えば、50フレーム)経過した後の所定期間内(例えば、10フレーム)に、カーソル105が位置ガイドGの領域に存在した場合は、ベストなタイミングでカーソル105が操作されたとして、「3」を加える。一方、規定フレーム数f1経過時から、規定フレーム数f2経過前に、カーソル105が位置ガイドGの領域に存在した場合は、通常の成功であるとして、「1」を加える。また、位置ガイドG及び経路ガイドrg(カーソル105の旋回を指示するガイド)に適合した操作が行われた場合は、一律に「3]を加える。
さて、ステップS139にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタC[j]が、規定フレーム数f3(例えば、60フレーム)に等しければ、ステップS142へ進み、そうでなければ、ステップS141に進む(ステップS140)。ステップS141にて、CPU201は、フレームカウンタC[j]を1つインクリメントする。一方、ステップS142にて、CPU201は、フレームカウンタC[j]に「0」をセットする。ステップS143にて、CPU201は、ガイド開始フラグGF[j]をオフにする。なお、規定フレーム数f3は、成功判定の終了時を定めている。
図41は、割込み処理の流れを示すフローチャートである。図41に示すように、ステップS150にて、CPU201は、楽曲の再生処理を実行する。ステップS151にて、CPU201は、ガイド(位置ガイドG、方向ガイドg、経路ガイドrg)の登録処理を実行する。
図42は、図41のステップS150の楽曲再生処理の流れを示すフローチャートである。図42に示すように、ステップS160にて、CPU201は、楽曲用の実行待機カウンタをチェックする。楽曲用の実行待機カウンタの値が「0」ならば、ステップS162へ進み、「0」でないならば、ステップS170へ進む(ステップS161)。ステップS170にて、CPU201は、楽曲用の実行待機カウンタをデクリメントする。
一方、ステップS162にて、CPU201は、楽曲用の楽譜データポインタの指すコマンドを読み出して解釈する。コマンドがノートオンであれば、ステップS164に進む(ステップS163)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS165に進む。ステップS165にて、CPU201は、楽曲用の実行待機カウンタに待機時間をセットする。
さて、ステップS164にて、CPU201は、サウンドプロセッサ203に、読み出したノートナンバに応じた発音を開始させる。ステップS166にて、CPU201は、楽曲用の楽譜データポインタをインクリメントする。
ステップS167にて、CPU201は、発音中のノートナンバに対する残りの発音時間をチェックする。残りの発音時間が「0」であれば、ステップS169に進み、そうでなければ、図41のステップS151へ進む(ステップS168)。ステップS169にて、CPU201は、サウンドプロセッサ203に対して、残りの発音時間が「0」のノートナンバの発音終了処理を実行させる。
図43は、図41のステップS151のガイド登録処理の流れを示すフローチャートである。図43に示すように、ステップS180にて、CPU201は、ガイド用の実行待機カウンタをチェックする。ガイド用の実行待機カウンタの値が「0」ならば、ステップS182へ進み、「0」でないならば、ステップS198へ進む(ステップS181)。ステップS198にて、CPU201は、ガイド用の実行待機カウンタをデクリメントする。
一方、ステップS182にて、CPU201は、ガイド用の楽譜データポインタの指すコマンドを読み出して解釈する。CPU201は、コマンドがノートオンであれば、ステップS184に進む(ステップS183)。一方、CPU201は、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS197に進む。ステップS197にて、CPU201は、ガイド用の実行待機カウンタに待機時間をセットする。
さて、CPU201は、ノートナンバが楽曲終了を意味するものであれば、ステップS196に進み、そうでなければ、ステップS185に進む(ステップS184)。ステップS196にて、CPU201は、楽曲終了フラグをオンにする。
一方、CPU201はノートナンバが楽曲開始を意味するものであれば、ステップS195に進み、そうでなければ、ステップS186に進む(ステップS185)。CPU201は、ガイド表示番号Jが、「1」であれば、ステップS188にて、ガイド表示番号Jを「0」とし、ガイド表示番号Jが、「1」でなければ(「0」であれば)、ステップS187にて、ガイド表示番号Jを「1」とする。なお、ある位置ガイドGによる案内と他の位置ガイドGによる案内とが、違うタイミングで開始されるが、ある期間重複して実行される場合もあるため、ガイド表示番号Jを規定して、図29のステップS3のゲーム処理を実行している。
さて、CPU201は、ノートナンバが、速い速度のダンスアニメーションを行うことを指示するノートナンバであれば、ステップS190に進み、そうでなければ、ステップS191に進む(ステップS189)。ステップS190にて、CPU201は、ダンス速度フラグDFを「1」(速い速度のダンスアニメーション)にセットする。
一方、CPU201は、ノートナンバが、遅い速度のダンスアニメーションを行うことを指示するノートナンバであれば、ステップS192に進み、そうでなければ、ステップS193に進む(ステップS191)。ステップS192にて、CPU201は、ダンス速度フラグDFを「0」(遅い速度のダンスアニメーション)にセットする。
さて、ノートナンバが、楽曲終了を表すノートナンバ、楽曲の開始を表すノートナンバ、速い速度のダンスアニメーションを表すノートナンバ、及び、遅い速度のダンスアニメーションを表すノートナンバ、のいずれでもない場合は、そのノートナンバは、ガイドの種類を表すノートナンバ(図20(a)〜図20(c))であるから、CPU201は、ステップS193にて、配列NN[J]に、そのノートナンバを代入する。ステップS194にて、CPU201は、ガイド開始フラグGF[J]をオンにする。
ステップS195にて、CPU201は、ガイド用の楽譜データポインタをインクリメントする。
さて、次に、方向ガイドgの他の例を説明する。図44は、方向ガイドgの他の例を適用したゲーム画面の例示図である。図44に示すように、位置ガイドG1から位置ガイドG2へ延びるように、帯状の方向ガイドg20が表示される。この方向ガイドg20は、時間の経過とともに、位置ガイドG1から位置ガイドG2まで延びる。この方向ガイドg20が延びる方向によって、カーソル105を操作する方向が案内される。また、方向ガイドg20が位置ガイドG2に到達した時から所定時間を、カーソル105の操作の成功判定の期間とすれば、方向ガイドg20により、カーソル105の操作タイミングを案内することもできる。なお、方向ガイドg20は、位置ガイドG1から位置ガイドG2までの経路の色を徐々に変化させることにより表現されている、ということもできる。
図45は、方向ガイドgのさらに他の例を適用したゲーム画面の例示図である。図45に示すように、ゲーム画面には、位置ガイドGと他の位置ガイドGとの間に、方向ガイドg30が表示される。この方向ガイドg30は、5つの部分経路g31〜g35からなる。そして、図45の例では、位置ガイドG1から位置ガイドG2へ向かって順番に、5つの部分経路g31〜g35の色が変化する。なお、色の変化は、ハッチングで示している。このようにすることで、部分経路g31〜g35の色の変化の方向により、カーソル105の操作方向を案内できる。また、この例において、カーソル105の移動位置を案内する位置ガイドG2に隣接した部分経路g35の色が変化した時から所定時間を、カーソル105の操作の成功判定の期間とすれば、方向ガイドg30により、カーソル105の操作タイミングを案内することもできる。
図46は、方向ガイドgのさらに他の例を適用したゲーム画面の例示図である。図46に示すように、ゲーム画面には、位置ガイドG1と位置ガイドG2との間に、方向ガイドg40が表示される。この方向ガイドg40は、時間の経過とともに、位置ガイドG1から位置ガイドG2まで移動する。この方向ガイドg40が移動する方向によって、カーソル105を操作する方向が案内される。また、方向ガイドg40が位置ガイドG2に到達した時から所定時間を、カーソル105の操作の成功判定の期間とすれば、方向ガイドg40により、カーソル105の操作タイミングを案内することもできる。
さて、以上のように本実施の形態では、カーソル105の操作がガイド(位置ガイドG、方向ガイドg、経路ガイドrg)に適合している場合に、ガイドによる案内に応じて画像(上記例では、ダンスオブジェクト106及び背景110)の表示が制御される。この場合、ガイドによる案内に適合してカーソル105の操作が行われているため、カーソル105の操作に応じて画像の表示が制御されることになる。つまり、カーソル105は操作物150と連動しているため、操作物150の操作に応じて画像の表示が制御される。また、ストロボスコープにより間欠的に光が照射される操作物150を撮像ユニット13により撮影して、操作物150の状態情報を求めている。このため、操作物150の状態情報を求めるために、操作物150に電源により駆動する回路を内蔵する必要がない。さらに、この音楽ゲーム装置1は、楽曲を自動演奏する。
以上の結果、プレイヤ94が関与することなく楽曲を自動演奏しながらも、簡易な構成の操作物150をプレイヤ94が操作することにより、楽曲とともに、操作物150の操作に追従した画像を楽しむことができる。
また、楽曲に基づくタイミングでガイドが制御されるため、プレイヤ94が、ガイドに従ってカーソル105を操作すれば、操作物150の操作も楽曲に合ったものとなる。従って、プレイヤ94は、楽曲に合った操作物150の操作を楽しむことができる。
ここで、例えば、高速プロセッサ200は、ノートナンバ「55」及び「67」に対応して、背景110を左にスクロールさせ、また、ダンスオブジェクト106を反時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、高速プロセッサ200は、ノートナンバ「45」及び「64」に対応して、背景110を右にスクロールさせ、また、ダンスオブジェクト106を時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、高速プロセッサ200は、ノートナンバ「76」及び「77」に対応して、背景110を下にスクロールさせ、また、ダンスオブジェクト106を反時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、高速プロセッサ200は、ノートナンバ「65」及び「74」に対応して、背景110を上にスクロールさせ、また、ダンスオブジェクト106を時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、ノートナンバ「53」に対応して、ダンスオブジェクト106を時計回りに大きく回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、ノートナンバ「57」に対応して、ダンスオブジェクト106を反時計回りに大きく回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。
なお、このようなノートナンバ(図20(a)〜図20(c)参照)は、ガイドの表示を制御するノートナンバであるため、背景110及びダンスオブジェクト106は、ガイドに応じて制御されるということになる。さらに言い換えると、背景110及びダンスオブジェクト106は、操作物150の操作に応じて制御されるということになる。
また、本実施の形態では、位置ガイドGは、カーソル105の移動位置及び操作タイミングを案内する。そして、高速プロセッサ200は、操作物150によるカーソル105の操作が、位置ガイドGの案内に適合したときに、位置ガイドGが案内する移動位置の方向に対応して、画像(上記例では、ダンスオブジェクト106及び背景110)の表示を制御する。
従って、プレイヤ94が、操作物150を操作して、カーソル105を、位置ガイドGが案内する操作タイミングで、位置ガイドGが案内する移動位置に移動させた場合に、位置ガイドGが案内する移動位置の方向に対応して、画像の表示が制御される。その結果、楽曲とともに、操作物150の操作に連動するカーソル105の移動に追従した画像を楽しむことができる(図12参照)。
さらに、本実施の形態では、経路ガイドrgは、カーソル105の移動経路、移動方向、及び、操作タイミングを案内する。従って、プレイヤ94が、操作物150を操作して、カーソル105を、経路ガイドrgが案内する操作タイミングで、経路ガイドrgが案内する移動方向に、経路ガイドrgが案内する移動経路に沿って移動させた場合に、経路ガイドrgに応じて、画像(上記例では、ダンスオブジェクト)の表示が制御される。その結果、楽曲とともに、操作物150の操作に連動するカーソル105の移動に応じた画像を楽しむことができる(図13参照)。
さらに、本実施の形態によれば、操作物150の注目点の位置が、位置ガイドGが案内する期間内に、位置ガイドGが案内する領域内に存在する場合に、操作物150に連動するカーソル105の操作が、位置ガイドGの案内に適合していると判断される(図24参照)。また、操作物150の注目点の位置が、経路ガイドrgが案内する期間内に、経路ガイドrgが案内する複数の所定領域を、経路ガイドrgが案内する所定の順序で移動した場合に、操作物150に連動するカーソル105の操作が、経路ガイドrgの案内に適合していると判断される(図25参照)。以上のように、簡易な処理で算出できる操作物150の注目点の位置により、カーソル105の操作の的確性を判断できる。
さらに、本実施の形態では、位置ガイドGは、スクリーン91上の予め定められた複数の位置の各々に表示される。そして、高速プロセッサ200は、位置ガイドGの形態を、楽曲にもとづくタイミングで変化させる(図12の例では、花が開くアニメーション)。従って、プレイヤ94は、位置ガイドGの形態の変化により、カーソル105を移動すべき位置及び方向を容易に認識できる。
さらに、本実施の形態では、方向ガイドg及び経路ガイドrgは、スクリーン91上の第1の予め定められた位置から第2の予め定められた位置への移動が視覚的に認識できる表示により表現される。このように、位置ガイドGに加えて、方向ガイドgおよび経路ガイドrgによっても、カーソル105の操作を案内している。従って、プレイヤ94は、カーソル105を移動すべき方向及び経路をより明確に認識できる。より具体的には次の通りである。
方向ガイドg及び経路ガイドrgは、スクリーン91上の第1の予め定められた位置を始点とし、第2の予め定められた位置を終点とする経路上に配置される複数のオブジェクト(図12及び図13の例では、球の図形)の形態の変化により表現される。この場合、プレイヤ94は、複数のオブジェクトの形態の変化により、カーソル105を移動すべき方向及び経路を容易に認識できる。
また、方向ガイドgは、スクリーン91上の第1の予め定められた位置から第2の予め定められた位置へのオブジェクト(図46の例では、鳥の図形)の移動により表現される。この場合、プレイヤ94は、オブジェクトの移動により、カーソル105を移動すべき方向及び経路を容易に認識できる。
また、方向ガイドgは、スクリーン91上の第1の予め定められた位置を始点とし、第2の予め定められた位置を終点とする経路の形態の変化により表現される(図44及び図45参照)。この場合、プレイヤ94は、経路の形態の変化により、カーソル105を移動すべき方向及び経路を容易に認識できる。
さらに、本実施の形態では、高速プロセッサ200は、操作物150の状態情報として、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、を算出できる。このように、操作物150によるカーソル105の操作が、ガイド(位置ガイドG、方向ガイドg、経路ガイドrg)に適合しているか否かを判断する際の操作物150の状態情報として、様々な情報を利用できるため、ガイドの表現の自由度が大きくなり、ひいては、ゲーム内容の設計の自由度も大きくなる。
さらに、本実施の形態では、反射シート155を取り付けた操作物150に間欠的に赤外光を照射して、これを撮影することにより、操作物150の状態情報を求めることができる。このため、操作物150の状態情報を求めるために、操作物150に電源により駆動する回路を内蔵する必要がない。よって、操作物150の操作性及び信頼性の向上を図ることができ、また、コストの低減を図ることができる。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)実施の形態では、操作物150に追従して制御される画像(追従画像)の例として、ダンスオブジェクト106及び背景110を挙げた。ただし、本発明は、これに限定されず、追従画像として任意のオブジェクトを選択できる。また、背景110のスクロールにより、ダンスオブジェクト106の移動を表現するのではなく、ダンスオブジェクト106自体を上下左右に移動させることもできる。
(2)実施の形態では、位置ガイドG及び方向ガイドgの双方により、カーソル105の直線操作を案内したが、いずれか一方により案内することもできる。方向ガイドgのみによりカーソル105の操作を案内する場合は、静止画の位置ガイドGを、方向ガイドgの始点と終点とに配置することが好ましい。また、位置ガイドG及び経路ガイドrgの双方により、カーソル105の旋回操作を案内したが、経路ガイドrgのみにより案内することもできる。また、ガイド(位置ガイドG、方向ガイドg、経路ガイドrg)を、アニメーションにより表現したが、本発明は、これに限定されない。また、ガイドの態様は、上記したものに限定されるものではない。
(3)実施の形態では、操作物として、スティック152および反射ボール151からなる操作物150を採用したが、反射体を具備するのもであれば、操作物の形態はこれに限定されない。
(4)実施の形態では、図23(a)〜図23(d)に示すようにして、操作物150の注目点の座標を算出したが、所定の閾値Thを超える最大輝度値を持つピクセルの座標を(図38のステップS83参照)、スクリーン91上の座標に変換して、これを注目点の座標とすることもできる。
(5)図6の高速プロセッサ200として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサを用いることが好ましい。この高速プロセッサは、例えば、特開平10−307790号公報およびこれに対応するアメリカ特許第6,070,205号に詳細に開示されている。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof is incorporated.
FIG. 1 is a diagram showing an overall configuration of a music game system according to an embodiment of the present invention. As shown in FIG. 1, the music game system includes a
The
A DC power supply voltage is applied to the
The television monitor 90 is provided with a
When the
The infrared
FIG. 2 is a perspective view of the
3A is a top view of the
As shown in FIGS. 3A to 3C, the
4 is a longitudinal sectional view of the
FIG. 5 is an illustrative view showing one example of the
The
In addition, a plurality (four in the embodiment) of infrared
Here, the
FIG. 6 is a diagram showing an electrical configuration of the
A
The
FIG. 7 is a block diagram of the
The
The
The
The
The
The first
The second
The input /
The input /
The
The
The
The
The
The low
The external
The DRAM
Here, a configuration for capturing pixel data from the
FIG. 8 is a circuit diagram showing a configuration and an LED driving circuit for fetching pixel data from the
As shown in FIG. 8, since the
The midpoint of the analog pixel data D (X, Y) described above is determined by the reference voltage applied to the reference voltage terminal Vref of the
Each digital signal for controlling the
More specifically, a reset signal reset for resetting the
The pixel data strobe signal PDS is a strobe signal as shown in FIG. 9B for reading each pixel signal D (X, Y) described above. The frame status flag signal FSF is a flag signal indicating the state of the
The
As the infrared
The infrared
The emitter of the
In this
As shown in FIG. 9A, when the frame status flag signal FSF becomes low level, the
In this way, in the
Therefore, useless power consumption can be suppressed. Further, since the frame status flag signal FSF is coupled by the
As described above, by changing the duration of the frame status signal FSF, the exposure time of the
Furthermore, by changing the duration and period of the frame status signal FSF and the LED control signal LEDC, the light emission period, non-light emission period, light emission / non-light emission period, etc. of the infrared
As described above, when the
The
However, as shown in FIG. 10C, the pixel data is output in the order of
Next, the game contents by the
FIG. 11 is a view showing an example of a game screen displayed on the
In the example of the present embodiment, the position guides G1 to G4 are represented by flower figures, the evaluation objects 107 to 109 are represented by heart figures, and the
The
FIG. 12 is another exemplary view of the game screen displayed on the
In addition to the above, the direction in which the
The
The position guide G also has a function of notifying the operation direction of the
The above points will be described with specific examples. In the example of FIG. 12, the position where the
The
The
Since the
FIG. 13 is a view showing still another exemplary game screen displayed on the
When the
As described above, the objects such as the
Here, the
FIG. 14 is an explanatory diagram of sprites that constitute objects displayed on the
Next, scrolling of the
FIG. 15 is an explanatory diagram of a panoramic screen displayed on the
Now, data (pixel pattern data) designating the pixel pattern of the corresponding block is substituted into the array PA. This pixel pattern data is color information of each pixel of 8 pixels × 8 pixels constituting the block. Also, information for designating the color palette and depth value used for the corresponding block is substituted into the array CA. The color palette includes a predetermined number of color information. The depth value is information representing the depth of the pixel, and when a plurality of pixels are present at the same position, only the pixel having the largest depth value is displayed.
FIG. 16A is an explanatory diagram before scrolling the
For example, if the portion outside the range of the screen 91 (shaded portion) is the block “64”, the block “96”,..., The block “896”, the block “928” in FIG. Images determined by the array PA [64],... PA [928] and the array CA [64],... CA [928] are displayed on the right end of the
In order to make the background appear smooth and continuous, it is necessary to update the data of the corresponding array PA and array CA before being displayed on the right end of the
Note that the scrolling process in the right direction is the same as the scrolling process in the left direction. In this embodiment, since the scroll range in the vertical direction (vertical direction) of the
As described above, the
Next, details of the game processing by the
The first
FIG. 18 is a conceptual diagram showing an example of the first
Note-on is a command for making a sound, and standby is a command for setting a standby time. The waiting time is the time until the next command is read (the time from one note to the next note). The note number is information for designating the pitch (pitch) of the sound. The standby time information is information that specifies a standby time to be set. The instrument designation information is information for designating which instrument tone is used. The velocity is information on the strength of the sound, that is, information on the volume. Gate time is the length of time a sound is produced.
Returning to FIG. 17, the second
FIG. 19 is a conceptual diagram showing an example of the second
In the second
Therefore, note-on is not a command for making a sound, but a command for instructing the start of the animation of the position guide G or instructing the start of appearance of the direction guide g and the route guide rg. The note number is not information for designating the pitch (pitch) of sound, but indicates which position guide G animation is started, and indicates where the direction guide g and route guide rg appear. Information. This point will be described in detail.
FIG. 20A to FIG. 20C are relationship diagrams between the direction in which the
For example, the note number “81” is dummy data arranged at the head of the second musical score data 306 (see FIG. 19), and is not information for controlling the display of the guide. In this way, the first
Next, main processing executed by the
[Pixel Data Group Acquisition Processing] The
[Difference Data Calculation Processing] The
FIG. 21A is an illustration of an image taken by a general image sensor that is not subjected to special processing, and FIG. 21B is a level discrimination of the image signal of FIG. 21A with a certain threshold. FIG. 21C is a diagram illustrating an image signal when the
As described above, the
Note that the image in FIG. 21A is originally an image represented by black and white gradations, but the illustration thereof is omitted. In FIGS. 21A to 21E, the
FIG. 21B is an image signal when the image signal of FIG. 21A is level-discriminated by a certain threshold value. Such level discrimination processing can be executed either by a dedicated hardware circuit or by software. However, by any method, if level discrimination that cuts pixel data of a certain amount or less is executed, the operation article Low luminance images other than 150 and the light source can be removed. In the image of FIG. 21B, the processing of the image other than the
Therefore, as shown in FIG. 5, the
Therefore, the difference between the pixel data of the image signal when turned on in FIG. 21C and the pixel data of the image signal when turned off in FIG. 21D was calculated. Then, as shown in FIG.21 (e), the image only for the difference can be acquired. The image based on the difference data includes only the image obtained by the
For the reasons described above, the
[Attention Point Extraction Processing] The
FIG. 22 is an explanatory diagram of the coordinate calculation of the attention point of the
As shown in FIG. 22, the
In this case, the
FIG. 23A is an explanatory diagram of an X-direction scan when calculating the point-of-interest coordinates of the
As shown in FIG. 23A, the
Next, as shown in FIG. 23B, the
Next, as shown in FIG. 23C, the difference data is scanned in the Y direction around the X coordinate (= 13) obtained in FIG. 23B, and is larger than a predetermined threshold Th. Detect pixels with luminance values. In the example of FIG. 23C, Y = 5 to 10 are pixels that exceed a predetermined threshold Th.
Next, as shown in FIG. 23D, the
The
[Attention Point Existing Area Determination Process (1)] The
FIG. 24 is an explanatory diagram of attention point presence area determination processing (2) performed by the
[Attention Point Existing Area Determination Process (2)] The
FIG. 25 is an explanatory diagram of the attention point presence area determination process (2) by the
[Cursor control processing] The
[Guide Type Registration Processing] The
[Guide Control Processing] The
FIG. 26 is an explanatory diagram of an animation registration process for the direction guide G, the position guide g, and the route guide rg. As shown in FIG. 26, the note number and animation information (storage position information of the animation table of the position guide G, display coordinates of the position guide G on the
The note numbers in this table are note numbers for controlling the display of guides, and are the note numbers shown in FIGS. 20 (a) to 20 (c). For example, when the note number assigned to the array NN [J] is “55”, the
Here, the display timing information is information indicating when the object is displayed on the
FIG. 27 is a view showing an example of an animation table specified by the animation table storage position information of FIG. As shown in FIG. 27, the animation table includes storage position information of animation image data (a plurality of object image data arranged in time series), a number of objects to be animated arranged in time series, and how many frames continuous. This is a table in which information (the number of sustained frames) indicating whether to display each object, the object size, the color palette information, the depth value information, and the sprite size are associated with each other. The animation image data is pixel pattern data. Here, the pixel pattern data, the color palette, and the depth value relate to the sprites constituting the object, and their meanings are the same as those related to the blocks described in FIG.
The animation table indicated by the animation table storage position information address0 is an example of the animation table of the position guide G. The animation table indicated by the animation table storage position information address1 is an example of the animation table of the direction guide g, and the animation table storage position. The animation table indicated by the
[Dance Control Processing] The
The
In addition, the
As a result of the above, if the
The dance animation information is the same as the animation information of FIG. 26, and includes storage position information of the dance animation table, display coordinates on the
Note that the second
If it is determined that the operation of the
On the other hand, when determining that the operation of the
Further, when it is determined that the operation of the
FIG. 28 is a timing chart for explaining the relationship between the first
As shown in FIG. 28, the reading start time of the
The
The reason why the start point of reading the
The display timing of the route guide rg is the same as the display timing of the direction guide G. However, for example, whether or not the operation of the
[Image Display Processing] The
The
Further, the
Further, the
Regarding the direction guide g and the route guide rg, the acquisition and content of the information that the
Based on the information given as described above, the
In addition, the
Further, the
Furthermore, the
Based on the information given as described above, the
[Music Playback] Music playback is performed by interrupt processing. The
If the command included in the read music control information is note-on, the
Here, the pitch control information will be described. The pitch control information is used for pitch conversion performed by changing the period for reading waveform data. That is, the
The
On the other hand, the
As described above, the music is reproduced based on the first
Now, the overall processing flow of the
FIG. 29 is a flowchart showing the overall processing flow of the
In step S6, the
FIG. 30 is a flowchart showing the flow of the initial setting process in step S1 of FIG. As shown in FIG. 30, in step S10, the
In step S12, the
In step S <b> 14, the
In step S16, the
FIG. 31 is a flowchart showing the flow of the sensor initial setting process in step S14 of FIG. As shown in FIG. 31, in the first step S20, the
FIG. 32 is a flowchart showing the command transmission process in step S21 of FIG. As shown in FIG. 32, in the first step S30, the
In this way, as shown in FIG. 33, the command (command or command + data) transmission process is performed by setting the register setting clock CLK to the low level, the high level, and the low level while waiting for the specified time. Done.
Returning to the description of FIG. In step S22, the pixel mode is set and the exposure time is set. In this embodiment, since the
FIG. 34 is a flowchart showing the register setting process in step S23 of FIG. As shown in FIG. 34, in the first step S40, the
Returning to the description of FIG. In step S24, the set address is set to “1” (indicating the address of the exposure time setting register), and “FFh” indicating the maximum exposure time is set as data to be set. In step S25, the register setting process shown in FIG. 34 is executed. Similarly, in step S26, the setting address is set to “2” (indicating the high nibble address of the exposure time setting register), and the high nibble data “Fh” of “FFh” indicating the maximum exposure time is set as data to be set. In step S27, register setting processing is executed.
Thereafter, a command “RUN” is set in step S28 to indicate the end of setting and to cause the
FIG. 35 is a flowchart showing the flow of the state information calculation process in step S2 of FIG. As shown in FIG. 35, in step S50, the
In step S51, attention point extraction processing is executed. Specifically, the
In step S52, the
In step S53, the
FIG. 36 is a flowchart showing the pixel data group acquisition processing in step S50 of FIG. As shown in FIG. 36, in the first step S60, the
FIG. 37 is a flowchart showing the pixel data acquisition process in step S61 of FIG. As shown in FIG. 37, in the first step S70, the
If “YES” is determined in the step S74, the
If “NO” is determined in the step S75, the pixel data is the second and subsequent pixel data in the row, so that the pixel data at that time is acquired in the steps S76 and S78, and the pixel is stored in a temporary register (not shown). Store the data. Thereafter, the process proceeds to step S62 in FIG.
In step S62 of FIG. 36, the pixel data stored in the temporary register is substituted into the pixel data array P [Y] [X].
In the following step S63, X is incremented. When X is less than 32, the processes from S61 to S63 are repeated. When X is 32, that is, when the acquisition of pixel data has reached the end of the row, “−1” is set to X in subsequent step S65, Y is incremented in step S66, and the beginning of the next row is started. Repeat the pixel data acquisition process.
If Y is 32 in step S67, that is, if the acquisition of pixel data has reached the end of the pixel data array P [Y] [X], the process proceeds to step S51 in FIG.
FIG. 38 is a flowchart showing the flow of attention point extraction processing in step S51 of FIG. As shown in FIG. 38, in step S80, the
In step S82, the
In step S85, the
In step S <b> 87, the
FIG. 39 is a flowchart showing a flow of attention point coordinate calculation processing in step S85 of FIG. As shown in FIG. 39, in step S100, the
In step S104, the
In step S108, the
In step S113, the
In step S117, the
FIG. 40 is a flowchart showing the flow of the game process in step S3 of FIG. As shown in FIG. 40, in step S120, the
In step S <b> 121, the
CPU201 repeats the process between step S122 and step S144 twice. Here, “j” means the guide display number J (see FIG. 43).
In step S123, the
In step S128, the
As is clear from step S128 and step S131, when the note number NN [j] is a note number for instructing the turning of the
As a result of the determination in step S131, the
In step S134, the
In step S137, “3” is added to the score S, and in step S138, “1” is added to the score S for the following reason. From the start of display of the position guide G and the direction guide g (the frame counter C [j] is “0”), within a predetermined period (for example, 10 frames) after a specified number of frames f2 (for example, 50 frames) has elapsed. When the
In step S139, the
FIG. 41 is a flowchart showing the flow of interrupt processing. As shown in FIG. 41, in step S150, the
FIG. 42 is a flowchart showing the flow of the music reproduction process in step S150 of FIG. As shown in FIG. 42, in step S160, the
On the other hand, in step S162, the
In step S164, the
In step S167, the
FIG. 43 is a flowchart showing the guide registration process in step S151 of FIG. As shown in FIG. 43, in step S180, the
On the other hand, in step S182, the
The
On the other hand, if the note number indicates the start of music, the
The
On the other hand, the
If the note number is not one of the note number indicating the end of the song, the note number indicating the start of the song, the note number indicating the fast-speed dance animation, and the note number indicating the slow-speed dance animation, Since the note number is a note number indicating the type of guide (FIGS. 20A to 20C), the
In step S195, the
Next, another example of the direction guide g will be described. FIG. 44 is a view showing an example of a game screen to which another example of the direction guide g is applied. As shown in FIG. 44, a strip-shaped direction guide g20 is displayed so as to extend from the position guide G1 to the position guide G2. The direction guide g20 extends from the position guide G1 to the position guide G2 over time. The direction in which the
FIG. 45 is an illustration of a game screen to which still another example of the direction guide g is applied. As shown in FIG. 45, a direction guide g30 is displayed between the position guide G and another position guide G on the game screen. The direction guide g30 includes five partial paths g31 to g35. In the example of FIG. 45, the colors of the five partial paths g31 to g35 change in order from the position guide G1 to the position guide G2. The color change is indicated by hatching. By doing in this way, the operation direction of the
FIG. 46 is a view showing an example of a game screen to which still another example of the direction guide g is applied. As shown in FIG. 46, a direction guide g40 is displayed on the game screen between the position guide G1 and the position guide G2. The direction guide g40 moves from the position guide G1 to the position guide G2 over time. The direction in which the
As described above, in the present embodiment, when the operation of the
As a result, while the music piece is automatically played without the
In addition, since the guide is controlled at a timing based on the music, if the
Here, for example, the
Note that such a note number (see FIGS. 20A to 20C) is a note number that controls the display of the guide, so the
In the present embodiment, the position guide G guides the movement position and operation timing of the
Therefore, when the
Furthermore, in the present embodiment, the route guide rg guides the moving route, moving direction, and operation timing of the
Furthermore, according to the present embodiment, when the position of the point of interest of the
Further, in the present embodiment, the position guide G is displayed at each of a plurality of predetermined positions on the
Further, in the present embodiment, the direction guide g and the route guide rg are expressed by a display that can visually recognize the movement from the first predetermined position on the
The direction guide g and the route guide rg have a plurality of objects (see FIG. 12 and FIG. 12) arranged on a route starting from the first predetermined position on the
The direction guide g is expressed by the movement of an object (a bird figure in the example of FIG. 46) from a first predetermined position on the
Further, the direction guide g is represented by a change in the form of a route starting from the first predetermined position on the
Furthermore, in the present embodiment, the
Furthermore, in the present embodiment, it is possible to obtain state information of the
The present invention is not limited to the above-described embodiment, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.
(1) In the embodiment, the
(2) In the embodiment, the linear operation of the
(3) In the embodiment, the
(4) In the embodiment, the coordinates of the attention point of the
(5) Although any type of processor can be used as the high-
Although the present invention has been described in detail with reference to the embodiments, it will be apparent to those skilled in the art that the present invention is not limited to the embodiments described herein. The present invention can be implemented as modified and changed modes without departing from the spirit and scope of the present invention defined by the description of the scope of claims. Therefore, the description of the present application is for illustrative purposes and does not have any limiting meaning to the present invention.
Claims (16)
プレイヤによって動かされる被写体を撮像する撮像手段と、
前記撮像手段による撮像画像に基づいて、前記被写体の状態情報を算出する状態情報算出手段と、
画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するガイド制御手段と、
前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するカーソル制御手段と、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体による前記カーソルの操作が、前記位置ガイドに適合しているか否かを判断し、前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイドが案内する前記移動位置の方向に対応して、追従画像の表示を制御する追従画像制御手段と、を備える音楽ゲーム装置。A music game device for automatically playing music,
Imaging means for imaging an object to be moved by the player,
And status-information obtaining means based on the captured image, it calculates the status information of the object by the image pickup means,
Guide control means for guiding the movement position of the cursor linked to the subject by changing the form of the position guide displayed at each of a plurality of predetermined positions on the screen at a timing based on the music ;
Cursor control means for controlling display of the cursor based on the state information of the subject ;
Based on the state information of the subject and information on the position guide, it is determined whether the operation of the cursor by the subject is suitable for the position guide, and the operation of the cursor by the subject is determined by the position. when adapted to guide, in correspondence with the direction of the movement position of the position guide for guiding the music game apparatus comprising: a follow-up image control means for controlling the display of the tracking image.
前記ガイド制御手段は、前記第2のガイドにより、前記第1のガイドの位置から前記第2のガイドの位置へ前記カーソルを案内し、 The guide control means guides the cursor from the position of the first guide to the position of the second guide by the second guide,
前記第1のガイドは、前記第2のガイドによる前記案内の直前に、前記カーソルを案内したガイドである、請求項1記載の音楽ゲーム装置。 The music game apparatus according to claim 1, wherein the first guide is a guide that guides the cursor immediately before the guidance by the second guide.
前記追従画像制御手段は、前記状態情報算出手段が算出した前記被写体の前記位置が、前記位置ガイドが案内する期間内に、前記位置ガイドが案内する領域内に存在する場合に、前記被写体に連動するカーソルの操作が、前記位置ガイドに適合していると判断する、請求項1から3のいずれかに記載の音楽ゲーム装置。The state information calculation means calculates the position of the subject as the state information based on the captured image,
The following image control means, the position of the object in which the state information calculating unit has calculated, within the period in which the position guide to guide, when present in a region where the position guide to guide, in conjunction with the subject operation of the cursor that is, determines that conforms to the position guide, the music game apparatus according to any one of claims 1 to 3.
前記追従画像制御手段は、前記被写体による前記カーソルの操作が、前記経路ガイドに適合したときに、前記経路ガイドが案内する経路に対応して、前記追従画像の表示を制御する、請求項1から4のいずれかに記載の音楽ゲーム装置。The guide control means controls a route guide for guiding a movement route of the cursor at a timing based on the music ,
The following image control means, operation of the cursor by the subject, when adapted to the route guide, in response to the path which the path guide for guiding, controlling the display of the follow-up images, from claim 1 5. The music game apparatus according to any one of 4 .
前記追従画像制御手段は、前記状態情報算出手段が算出した前記被写体の前記位置が、前記経路ガイドが案内する期間内に、前記経路ガイドが案内する複数の所定領域を、前記経路ガイドが案内する所定の順序で移動した場合に、前記被写体に連動するカーソルの操作が、前記経路ガイドに適合していると判断する、請求項5記載の音楽ゲーム装置。The state information calculation means calculates the position of the subject as the state information based on the captured image,
The following image control means, the position of the object in which the state information calculating unit has calculated, within the period in which the path guide for guiding a plurality of predetermined areas in which the path guide for guiding the path guide for guiding The music game apparatus according to claim 5 , wherein when the movement is performed in a predetermined order, it is determined that a cursor operation linked to the subject is suitable for the route guide.
前記ガイド制御手段は、前記第4のガイドの位置から前記第5のガイドの位置への移動が視覚的に認識できるように表現される方向ガイドの表示を、前記楽曲にもとづくタイミングで制御する、請求項1から6のいずれかに記載の音楽ゲーム装置。 The plurality of position guides include a fourth guide and a fifth guide,
The guide control means, the display of the fourth guide from said fifth position in the guide direction guide movement Ru expressed as visually recognizable to the position of the controls at the timing based on the musical composition, The music game device according to claim 1.
プレイヤによって動かされる被写体を撮像する撮像手段と、
前記撮像手段による撮像画像に基づいて、前記被写体の状態情報を算出する状態情報算出手段と、
画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するガイド制御手段と、
前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するカーソル制御手段と、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体によるカーソルの操作が、前記位置ガイドに適合しているか否かを判断し、前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイドが案内する前記移動位置の方向に対応して、追従画像の表示を制御する追従画像制御手段と、を備える音楽ゲームシステム。A music game system for automatically playing music,
Imaging means for imaging an object to be moved by the player,
And status-information obtaining means based on the captured image, it calculates the status information of the object by the image pickup means,
Guide control means for guiding the movement position of the cursor linked to the subject by changing the form of the position guide displayed at each of a plurality of predetermined positions on the screen at a timing based on the music ;
Cursor control means for controlling display of the cursor based on the state information of the subject ;
Based on the state information of the subject and information on the position guide, it is determined whether or not the operation of the cursor by the subject is suitable for the position guide, and the operation of the cursor by the subject is determined by the position guide. And a follow-up image control means for controlling the display of the follow-up image in accordance with the direction of the moving position guided by the position guide when the position guide is adapted.
前記プレイヤによって把持される棒状の把持部と、
前記把持部の一方端に設けられ、受けた光を再帰反射する反射部と、を備え、
前記反射部は、透明色の外殻の内部に固定される、操作物。An operation article operated by a player as a subject of the music game device according to any one of claims 1 to 12 ,
A rod-shaped gripping part gripped by the player;
A reflection part that is provided at one end of the gripping part and retroreflects the received light ;
The reflective part is an operation article that is fixed inside a transparent outer shell .
楽曲を自動演奏するステップと、
前記撮像装置から前記撮像画像を取得して、その撮像画像に基づいて、前記被写体の状態情報を算出するステップと、
前記表示装置の画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するステップと、
前記表示装置の画面上の前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するステップと、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体による前記カーソルの操作が、前記位置ガイドに適合しているか否かを判断するステップと、
前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイドが案内する前記移動位置の方向に対応して、前記表示装置の画面上の追従画像の表示を制御するステップと、を実行させる音楽ゲームプログラム。 The computer of the music game device that analyzes the captured image of the subject that is imaged by the imaging device and is moved by the player, reflects the analysis result in the game process, and controls the video displayed on the display device.
A step of automatically playing music,
Obtaining the captured image from the imaging device and calculating state information of the subject based on the captured image ;
A step of guiding a moving position of a cursor linked to the subject by changing a form of a position guide displayed at each of a plurality of predetermined positions on the screen of the display device at a timing based on the music; When,
Controlling the display of the cursor on the screen of the display device based on the state information of the subject ;
A step of, based on the information about the status information and the position guide of the subject, the operation of the cursor by the subject to determine whether they comply with the said location guide,
A step operation of the cursor by the subject, when adapted to the position guide, which corresponds to the direction of the movement position of the position guide for guiding, controlling the display of the tracking image on the screen of the display device A music game program that lets you run.
楽曲を自動演奏するステップと、
前記撮像装置から前記撮像画像を取得して、その撮像画像に基づいて、前記被写体の状態情報を算出するステップと、
前記表示装置の画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するステップと、
前記表示装置の画面上の前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するステップと、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体による前記カーソルの操作が、前記位置ガイドに適合しているか否かを判断するステップと、
前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイドが案内する前記移動位置の方向に対応して、前記表示装置の画面上の追従画像の表示を制御するステップと、を含む音楽ゲーム方法。 A music game method executed by a computer of a music game apparatus that analyzes a captured image of a subject moved by a player, which is captured by an imaging apparatus, reflects the analysis result in game processing, and controls a video displayed on the display apparatus There,
A step of automatically playing music,
Obtaining the captured image from the imaging device and calculating state information of the subject based on the captured image;
A step of guiding a moving position of a cursor linked to the subject by changing a form of a position guide displayed at each of a plurality of predetermined positions on the screen of the display device at a timing based on the music; When,
Controlling the display of the cursor on the screen of the display device based on the state information of the subject ;
Determining whether an operation of the cursor by the subject is compatible with the position guide based on the state information of the subject and information on the position guide;
A step operation of the cursor by the subject, when adapted to the position guide, which corresponds to the direction of the movement position of the position guide for guiding, controlling the display of the tracking image on the screen of the display device , Including music game methods.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005514131A JP4701411B2 (en) | 2003-09-18 | 2004-09-17 | Music game device, music game system, operation article, music game program, and music game method |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003325381 | 2003-09-18 | ||
JP2003325381 | 2003-09-18 | ||
JP2005514131A JP4701411B2 (en) | 2003-09-18 | 2004-09-17 | Music game device, music game system, operation article, music game program, and music game method |
PCT/JP2004/014025 WO2005028053A1 (en) | 2003-09-18 | 2004-09-17 | Music game device, music game system, operation object, music game program, and music game method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005028053A1 JPWO2005028053A1 (en) | 2006-11-30 |
JP4701411B2 true JP4701411B2 (en) | 2011-06-15 |
Family
ID=34372796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005514131A Expired - Fee Related JP4701411B2 (en) | 2003-09-18 | 2004-09-17 | Music game device, music game system, operation article, music game program, and music game method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4701411B2 (en) |
WO (1) | WO2005028053A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007077851A1 (en) * | 2005-12-30 | 2007-07-12 | Ssd Company Limited | Representation method and operation object |
CN113713371B (en) * | 2021-08-31 | 2023-07-21 | 腾讯科技(深圳)有限公司 | Music synthesis method, device, equipment and medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001074458A (en) * | 1999-09-08 | 2001-03-23 | Hitachi Zosen Corp | Position detecting facility for moving object |
JP2001209487A (en) * | 2000-01-25 | 2001-08-03 | Uw:Kk | Handwriting communication system, and handwriting input and handwriting display device used for the system |
JP2001307124A (en) * | 2000-02-15 | 2001-11-02 | Sega Corp | Image processing system, image processor and image pickup device |
JP2002024833A (en) * | 2000-07-07 | 2002-01-25 | Sony Corp | Entertainment system, entertainment device and information processing method |
JP2003210838A (en) * | 2002-01-22 | 2003-07-29 | Konami Co Ltd | Game system, game system-controlling method, and game system-controlling program |
-
2004
- 2004-09-17 WO PCT/JP2004/014025 patent/WO2005028053A1/en active Application Filing
- 2004-09-17 JP JP2005514131A patent/JP4701411B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001074458A (en) * | 1999-09-08 | 2001-03-23 | Hitachi Zosen Corp | Position detecting facility for moving object |
JP2001209487A (en) * | 2000-01-25 | 2001-08-03 | Uw:Kk | Handwriting communication system, and handwriting input and handwriting display device used for the system |
JP2001307124A (en) * | 2000-02-15 | 2001-11-02 | Sega Corp | Image processing system, image processor and image pickup device |
JP2002024833A (en) * | 2000-07-07 | 2002-01-25 | Sony Corp | Entertainment system, entertainment device and information processing method |
JP2003210838A (en) * | 2002-01-22 | 2003-07-29 | Konami Co Ltd | Game system, game system-controlling method, and game system-controlling program |
Also Published As
Publication number | Publication date |
---|---|
JPWO2005028053A1 (en) | 2006-11-30 |
WO2005028053A1 (en) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4742247B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5130504B2 (en) | Information processing apparatus, information processing method, program, and storage medium | |
KR101009161B1 (en) | Information processor having input system using stroboscope | |
US9235292B2 (en) | Interactive projector system and method | |
JP4895352B2 (en) | Object selection program, object selection device, object selection system, and object selection method | |
JP4590005B2 (en) | Information reproducing apparatus and information input apparatus | |
US20070197290A1 (en) | Music Game Device, Music Game System, Operation Object, Music Game Program, And Music Game Method | |
JP2008518686A (en) | Multi-user touch sensitive entertainment device | |
JP2007300985A (en) | Game program and game device | |
JP4006949B2 (en) | Image processing system, image processing apparatus, and imaging apparatus | |
US20120266739A1 (en) | Storage medium recorded with program for musical performance, apparatus, system and method | |
JP4701411B2 (en) | Music game device, music game system, operation article, music game program, and music game method | |
JP2005230534A (en) | Dress-up game device | |
US7554545B2 (en) | Drawing apparatus operable to display a motion path of an operation article | |
JP5055548B2 (en) | Exercise support apparatus and computer program | |
JP2012252511A (en) | Image processing program, image processing apparatus, image processing method, and image processing system | |
JP4747334B2 (en) | Drawing apparatus, operation article, drawing system, drawing program, and drawing method | |
CN112911769A (en) | Virtual interaction method, equipment and storage medium for head shaking stage lamp | |
JP2004297754A (en) | Automatic photograph making apparatus | |
JP4735802B2 (en) | GAME DEVICE, GAME PROGRAM, AND GAME DEVICE CONTROL METHOD | |
JP3098423U (en) | Automatic performance device and automatic performance system | |
JP2001087549A (en) | Game machine | |
JP3922273B2 (en) | Performance device and performance device control program | |
JP2007518454A (en) | Imaging device and subject | |
JP2009297539A (en) | Information processor having input system using stroboscope, input device, man-machine interface, and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070914 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070914 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110214 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140318 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |