US20080146303A1 - Game for moving an object on a screen in response to movement of an operation article - Google Patents
Game for moving an object on a screen in response to movement of an operation article Download PDFInfo
- Publication number
- US20080146303A1 US20080146303A1 US11/952,769 US95276907A US2008146303A1 US 20080146303 A1 US20080146303 A1 US 20080146303A1 US 95276907 A US95276907 A US 95276907A US 2008146303 A1 US2008146303 A1 US 2008146303A1
- Authority
- US
- United States
- Prior art keywords
- cpu
- operation article
- image
- cursor
- mermaid
- 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.)
- Abandoned
Links
- 230000004044 response Effects 0.000 title description 4
- 238000000034 method Methods 0.000 claims description 115
- 230000008569 process Effects 0.000 claims description 111
- 238000003384 imaging method Methods 0.000 claims description 18
- 239000013598 vector Substances 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000037361 pathway Effects 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 6
- 239000002184 metal Substances 0.000 description 6
- 229910052751 metal Inorganic materials 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000004069 differentiation Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
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/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- 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/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- 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/20—Input arrangements for video game devices
- A63F13/24—Constructional details thereof, e.g. game controllers with detachable joystick handles
-
- 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/10—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 input arrangements for converting player-generated signals into game device control signals
- A63F2300/1012—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 input arrangements for converting player-generated signals into game device control signals involving biosensors worn by the player, e.g. for measuring heart beat, limb activity
-
- 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/10—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 input arrangements for converting player-generated signals into game device control signals
- A63F2300/1087—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 input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
-
- 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/8094—Unusual game types, e.g. virtual cooking
Definitions
- the present invention is related to a game apparatus and related arts thereof for playing by operating an operation article to move an object displayed on a screen.
- a pathway is formed by arranging two metal wires vertically.
- a player inserts a bar provided with metal to the pathway from the side, and moves the bar along the pathway trying not to touch the metal wires.
- the metal part of the bar touches either of metal wires, since an electric current flows through the metal wires, it results in giving off sparks, and then the game is over.
- the computer game operable to perform the game originally played in the real space has been available.
- a player operates an input device (a controller for game apparatus etc.) to move an object displayed on a screen for proceeding through a maze. Then, when the object touches wails of the maze, the game is over.
- the TV game Product name: Denryu Iraira-bou (registered trademark) Returns
- the player since the object is operated by a multipurpose controller for an game apparatus, the player operates direction keys and an analog stick to move the object. In other words, the player does not actually move the controller itself but pushes the provided direction keys or operates the analog stick to move the object. Some people find it difficult to operate this kind of controller efficiently.
- a game apparatus comprises: a stroboscope operable to direct light onto an operation article at predetermined intervals; an imaging device operable to image said operation article with and without light emitted from said stroboscope and generate a lighted image signal and a non-lighted image signal; a differential signal generating unit operable to generate a differential signal between said lighted image signal and said non-lighted image signal; a state information calculating unit operable to calculate state information of said operation article on the basis of said differential signal; a coupled object control unit operable to control display of a coupled object which moves as said operation article moves in accordance with said state information of said operation article; and a restrictive image control unit operable to control a restrictive image which limits movement of said coupled object.
- the coupled object moves in conjunction with the motion of the operation article.
- the game apparatus allows intuitive operation of the coupled object displayed on a screen and can be played with easy operation.
- a game apparatus comprises: a stroboscope operable to direct light onto a operation article at predetermined intervals; an imaging device operable to image said operation article with and without light emitted from said stroboscope and generate a lighted image signal and a non-lighted image signal; a differential signal generating unit operable to generate a differential signal between the lighted image signal and the non-lighted image signal; a state information calculating unit operable to calculate state information of said operation article; a cursor control unit operable to control display of a cursor indicating location of said operation article on a screen and a following object control unit operable to control display of a following object which follows said cursor on the basis of coordinate information of said cursor.
- the motion of the cursor since the cursor represents location of the operation article on the screen, the motion of the cursor needs to be synchronized or almost synchronized with the motion of the operation article. Therefore, the cursor control is bound by the motion of the operation article.
- the following object follows the motion of the cursor, it is possible to set arbitrary in what manner the following object follows the cursor. Therefore, it is possible to give variety to the motion of the following object and also give more impressive optical effect.
- the cursor since the cursor is controlled on the basis of the state information of the operation article, the cursor moves in synchronization with the motion of the operation article. Therefore, intuitive operation of the cursor becomes possible so that the player can play the game with easy operation.
- This game apparatus further comprises a restrictive image control unit operable to control a restrictive image which limits movement of the following object.
- the player has to move the following object and avoid the restrictive image by operating the cursor using the operation article. In this way, the game becomes more exciting so that the player can enjoy the game more.
- the above game apparatus further comprises a game managing unit operable to manage information indicating whether a player can continue a game and ends the game in accordance with said information.
- said restrictive image control unit comprises a background image control unit operable to control background scroll and wherein said background image includes said restrictive image.
- said restrictive image control unit comprises a restrictive object control unit operable to control a restrictive object which consists of a single sprite or a plurality of sprites as said restrictive image.
- said restrictive image is an image constructing a maze.
- said state information of said operation article derived by said state information calculating unit includes any one of speed information, movement direction information, movement distance information, velocity vector information, acceleration information, motion path information, area information and location information, or a combination thereof.
- FIG. 1 is a view showing the overall configuration of a game system in accordance with the embodiment of the present invention.
- FIG. 2 is a perspective view of the operation article of FIG. 1 .
- FIG. 3A is a top view of the reflecting ball of FIG. 2 .
- FIG. 3B is a side view from the direction of an arrow A of FIG. 3A .
- FIG. 3C is a side view from the direction of an arrow B of FIG. 3A .
- FIG. 4 is a vertical cross-sectional view of the reflecting ball of FIG. 2 .
- FIG. 5 is a cross-sectional view of an example of the imaging unit of FIG. 1 .
- FIG. 6 is a view showing the electrical structure of the game apparatus of FIG. 1 .
- FIG. 7 is a block diagram of the high speed processor of FIG. 6 .
- FIG. 8 is a circuit diagram showing the configuration for inputting the pixel data from the image sensor to the high speed processor of FIG. 6 , and a LED driver circuit.
- FIG. 9 is a timing chart illustrating the process for inputting the pixel data from the image sensor to the high speed processor.
- FIG. 10 is an enlarged view of a portion of the timing chart shown in FIG. 9 .
- FIG. 11 is a view showing an example of the game screen in the first stage displayed on the screen of the television monitor.
- FIG. 12 is a view showing another example of the game screen in the first stage displayed on the screen of the television monitor.
- FIG. 13 is a view showing an example of the game screen in the second stage displayed on the screen of the television monitor of FIG. 1 .
- FIG. 14 is a view for explaining sprites constructing an object displayed on the screen.
- FIG. 15 is a view for explaining the background screen displayed on the screen of the television monitor of FIG. 1 .
- FIG. 16A is a view for explaining the background screen before scrolled.
- FIG. 16B is a view for explaining the background screen after scrolled.
- FIG. 17 is a schematic representation of a program and data stored in RON of FIG. 6 .
- FIG. 18A is a view showing an example of an image which is imaged by a general image sensor and is not applied any special process.
- FIG. 18B is a view showing an example of an image based on a result of level-discriminating the image of FIG. 18A with a predetermined threshold value.
- FIG. 18C is a view showing an example of an image based on a result of level-discriminating an image which is obtained through the infrared filter while the infrared-emitting diodes emit infrared light.
- FIG. 18D is a view showing an example of an image based on a result of level-discriminating an image which is obtained through the infrared filter while the infrared-emitting diodes do not emit the infrared light.
- FIG. 18E is a view showing an example of an image based on a difference between the image with light emitted and the image without light emitted from the infrared-emitting diodes.
- FIG. 19 is a view for explaining coordinate calculation of the target point of the operation article.
- FIG. 20A is a view for explaining scanning process in X-axial direction when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value.
- FIG. 20B is a view for explaining the beginning of the scanning process in Y-axial direction when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value.
- FIG. 20C is a view for explaining the scanning process in Y-axial direction when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value.
- FIG. 20D is a view for explaining the result when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value.
- FIG. 21 is a view for explaining the following object control process performed by the CPU.
- FIG. 22A is a view showing a relation between a value of the angle flag and the angle.
- FIG. 22B is a view showing a relation between a value of the direction flag and a sign indicating the direction.
- FIG. 22C is a view showing a relation among the angle flag, the direction flag and the movement direction information.
- FIG. 23 is a view showing a relation between the movement direction information of FIG. 22C and a direction of the mermaid.
- FIG. 24 is a view showing a relation between the movement direction information A 0 to A 7 and the storage location information of the animation table.
- FIG. 25 is a view showing an example of the animation table designated by the storage location information of FIG. 24 for animating the mermaid.
- FIG. 26 is a view for explaining the clash judging process performed by the CPU.
- FIG. 27 is a view for explaining overlapping patterns judged by the following object control process performed by the CPU.
- FIG. 28A is a view showing an example of a frame part of the power gauge shown in FIG. 11 to FIG. 13 .
- FIG. 28B is a view showing an example of elements constructing the bar of the power gauge.
- FIG. 29 is a flowchart showing the overall process flow of the game machine.
- FIG. 30 is a flowchart showing the process flow of the initial setting process of step S 1 of FIG. 29 .
- FIG. 31 is a flowchart showing the process flow of the sensor initial setting process of step S 20 of FIG. 30 .
- FIG. 32 is a flowchart showing the process flow of the command transmitting process of step S 31 of FIG. 31 .
- FIG. 33A is a timing chart of the register setting clock “CLK” of FIG. 8 .
- FIG. 33B is a timing chart of the register Data of FIG. 8 .
- FIG. 34 is a flowchart showing the process flow of the register setting process of step S 33 of FIG. 31 .
- FIG. 35 is a flowchart showing the process flow of the state information calculating process of step S 4 of FIG. 29 .
- FIG. 36 is a flowchart showing the process flow of the pixel data aggregation acquiring process of step S 60 of FIG. 35 .
- FIG. 37 is a flowchart showing the process flow of the pixel data acquiring process of step S 71 of FIG. 36 .
- FIG. 38 is a flowchart showing the process flow of the target point extracting process of step S 61 of FIG. 35 .
- FIG. 39 is a flowchart showing the process flow of the target point coordinate calculating process of step S 95 of FIG. 38 .
- FIG. 40 is a flowchart showing the process flow of the following object control process of step S 8 of FIG. 29 .
- FIG. 41 is a view showing an example of game screen in another embodiment.
- FIG. 42 is a view for explaining a clash judgment on the game screen of FIG. 41 .
- FIG. 43 is a view for explaining a coordinate calculation when the cursor of FIG. 41 clashes the wall.
- FIG. 1 is a view showing the overall configuration of a game system in accordance with the embodiment of the present invention. As illustrated in FIG. 1 , this game system includes a game apparatus 1 , an operation article 150 , and a television monitor 90 .
- An imaging unit 13 is installed in a housing 19 of the game apparatus 1 .
- the imaging unit 13 has four infrared-emitting diodes 15 and an infrared filter 17 . Light emitting portions of the infrared-emitting diodes 15 are exposed from the infrared filter 17 .
- An AC adapter 92 supplies the game apparatus I with direct current power voltage.
- the game apparatus 1 can be supplied with the direct current power voltage from batteries (not shown)
- a screen 91 is provided on the front surface of the television monitor 90 .
- the television monitor 90 and the game apparatus 1 are connected by an AV cable 93 .
- the game apparatus 1 is set up on the television monitor 90 as illustrated in FIG. 1 .
- a game screen is displayed on the screen 91 .
- the player 94 operates the operation article 150 to move a cursor and a following object (hereinafter described) on the game screen, and proceeds with a game. Meanwhile, operating the operation article 150 does not mean pushing switches or operating analog sticks but moving the operation article 150 itself.
- Each of the infrared-emitting diodes 15 intermittently emits infrared-light.
- the infrared-light as emitted by the infrared-emitting diodes 15 is reflected by reflecting sheets (hereinafter described) provided on the operation article 150 , and then the return light is input to a imaging device (hereinafter referred) placed behind the infrared filter 17 .
- a imaging device hereinafter referred
- the game apparatus 1 can acquire intermittent image signals of the operation article 150 moved by the player 94 .
- the game apparatus 1 analyzes the image signals, and reflects the result to game process.
- the reflecting sheet used in this embodiment is, for example, a retroreflective sheet.
- FIG. 2 is a perspective view of the operation article 150 of FIG. 1 .
- the operation article is provided with a reflecting ball 151 fixed on the top of a stick 152 .
- the reflecting ball 151 reflects the infrared-light emitted by infrared emitting diodes 15 .
- the reflecting ball 151 will be described in detail.
- FIG. 3A is a top view of the reflecting ball 151 of FIG. 2 .
- FIG. 3B is a side view from the direction of an arrow A of FIG. 3A .
- FIG. 3C is a side view from the direction of an arrow B of FIG. 3A .
- the reflecting ball 151 consists of a transparent (including translucent, colored transparent and colorless transparent) outer spherical shell 153 and an inner spherical shell 154 , wherein the inner spherical shell 154 is secured inside of the outer spherical shell 153 .
- Reflecting sheets 155 are provided on the surface of the inner spherical shell 154 . These reflecting sheets 155 reflect the infrared-light coming from infrared-emitting diodes 15 .
- FIG. 4 is a vertical cross-sectional view of the reflecting ball 151 of FIG. 2 .
- the outer spherical shell 153 is formed by two outer semispherical shells fixed together by bosses 156 and screws (not shown).
- the inner spherical shell 154 is formed by two inner semispherical shells fixed together by bosses 157 inside of the outer spherical shell 153 .
- the stick 152 is set in and fixed with the reflecting ball 151 .
- the stick 152 is nipped between two outer semispherical shells constructing the outer spherical shell 153 and also nipped between two inner semispherical shells constructing the inner spherical shell 154 , then the outer semispherical shells are fixed by the bosses 156 and the screws, and then the inner semispherical shells are fixed by the bosses 157 .
- FIG. 5 is a cross-sectional view of an example of the imaging unit 13 of FIG. 1 .
- this imaging unit 13 includes a unit base 35 which is, for example, formed of plastic, and a supporting cylindrical part 36 is attached inside of the unit base 35 .
- an inverted-cone-shaped (or trumpet-shaped) aperture 41 is formed in the upper side of the supporting cylindrical part 36 .
- An optical system including a concave lens 39 and converging lens 37 is attached inside of the supporting cylindrical part 36 so that it is located under the inverted-cone-shaped aperture 41 .
- the concave lens 39 and the converging lens 37 are formed of lucent plastic.
- An image sensor 43 as an imaging device is firmly fixed under the converging lens 37 . Therefore the image sensor 43 can pick up an image in response to incident light passing through the concave lends 39 and the converging lends 37 from the aperture 41 .
- the image sensor 43 is a low-resolution CMOS image sensor (for example, 32 pixels ⁇ 32 pixels, gray scale). However, this image sensor 43 can be replaced by a higher resolution image sensor or other device such as CCD. In what follows, it is assumed that the image sensor 43 consists of 32 pixels ⁇ 32 pixels. Furthermore, the unit base 35 has several (4 in this embodiment) infrared-emitting diodes 15 which flash upwardly. The upside of the imaging unit 13 is lighted by infrared-light from these infrared-emitting diodes 15 . Meanwhile, the infrared filter 17 (which transmits only infrared-light) is arranged in a manner to bring it cover the aperture 41 .
- the infrared-emitting diodes 15 repeat flash and un-flash alternately so that they can serve as a stroboscope.
- the term “stroboscope” is a generic term, which indicates an apparatus that intermittently irradiates light to a moving object.
- the above-mentioned image sensor 43 can, therefore, image an article that moves within a scope of the imaging unit 13 , or the operation article 150 in this embodiment.
- the stroboscope consists of the infrared-emitting diodes 15 , a LED drive circuit 75 and a high speed processor 200 .
- the imaging unit 13 is installed in the housing 19 and its light receiving surface is inclined prescribed angle (for example, 90 degrees) from horizontal-plane.
- the scope of the image sensor 43 is a range of 60 degrees, which depends on the concave lens 39 and the converging lends 37 .
- FIG. 6 is a view showing the electrical structure of the game apparatus 1 of FIG. 1 .
- the game apparatus 1 include the image sensor 43 , the infrared-emitting diodes 15 , a video signal output terminal 47 , an audio signal output terminal 49 , the high speed processor 200 , a ROM (read only memory) 51 and a bus 53 .
- the high speed processor 200 is connected with the bus 53 . Furthermore, the bus 53 is connected with the ROM 51 . Therefore, the high speed processor 200 can access the ROM 51 via the bus 53 so that the high speed processor 200 can read a control program stored in the ROM 51 and execute the control program. In addition, the high speed processor 200 reads image data and sound data stored in the ROM 51 and processes them. Then, the high speed processor 200 generates a video signal and an audio signal, and outputs them to the video output terminal 47 and the sound output terminal 49 .
- the operation article 150 is exposed to infrared-light coining from the infrared-emitting diodes 15 and reflects the infrared-light by the reflecting sheets 155 .
- the return light from reflecting sheets 155 is detected by the image sensor 43 , and then the image sensor 43 outputs an analog image signal of the reflecting sheets 155 .
- the analog image signal from the image sensor 43 is converted into a digital image signal by an A/D converter (hereinafter referred) built in the high speed processor 200 .
- the same process is also executed when the infrared-emitting diodes 15 do not flash. Then the high speed processor 200 analyzes these digital image signals and reflects the result to game processing.
- FIG. 7 is a block diagram of the high speed processor 200 of FIG. 6 .
- this high speed processor 200 includes a CPU (central processing unit) 201 , a graphic processor 202 , a sound processor 203 , a DMA (direct memory access) controller 204 , a first bus arbitrator circuit 205 , a second bus arbitrator circuit 206 , an inner memory 207 , an A/D converter (ADC: analog to digital converter) 208 , an I/O (input and output) control circuit 209 , a timer circuit 210 , a DRAM (dynamic random access memory) refresh control circuit 211 , an external memory interface circuit 212 , a clock driver 213 , a PLL (phase-locked loop) circuit 214 , a low voltage detector circuit 215 , a first bus 218 and a second bus 219 .
- ADC analog to digital converter
- the CPU 201 performs various operations and controls the overall system in accordance with a program stored in the memory (the inner memory 207 , or the ROM 51 ).
- the CPU 201 is a bus master of the first bus 218 and the second bus 219 , and able to access resources connected with the each bus.
- the graphic processor 202 is a bus master of the first bus 218 and the second bus 219 .
- the graphic processor 202 generates a video signal on the basis of the data stored in the inner memory 207 or ROM 51 , and then output the video signal to the video signal output terminal 47 .
- the graphic processor 202 is controlled by the CPU 201 via the first bus 218 .
- the graphic processor 202 has the functionality of generating an interrupt request signal 220 to the CPU 201 .
- the sound processor 203 is a bus master of the first bus 218 and second bus address bus 219 .
- the sound processor generates an audio signal on the basis of the data stored in the inner memory 207 or ROW 51 , and then output the audio signal to the audio signal output terminal 49 .
- the sound processor 203 is controlled by the CPU 201 trough the first bus 218 .
- the sound processor 203 has the functionality of generating an interrupt request signal 220 to the CPU 201 .
- the DMA controller 204 controls data transfer from the ROM 51 to the inner memory 207 . Also, the DMA controller 204 has the functionality of outputting, to the CPU 201 , an interrupt request signal 220 indicative of the completion of the data transfer.
- the DMA controller 204 is a bus master of the first bus 218 and second bus 219 . In addition, the DMA controller 204 is controlled by the CPU 201 via the first bus 218 .
- the inner memory 207 may be implemented with appropriate one of a mask ROM, an SKAM (static random access memory) and a DRAM in accordance with the system requirements. If data in SRAH has to be kept by a battery, a battery 217 is provided. In the case where a DRAM is used, the so called refresh cycle is periodically performed to maintain the data contained therein.
- the first bus arbitrator circuit 205 accepts a first bus request signal from each bus master of the first bus 218 , and performs arbitration, and then issues a first bus grant signal to each bus master. Each bus master is allowed to access the first bus after receiving the first bus grant signal.
- the first bus request signal and the first bus grant signal are referred as first bus arbitration signals 222 .
- the second bus arbitrator circuit 206 accepts a second bus request signal from each bus master of the second bus 219 , and performs out arbitration, and then, issues a second bus grant signal to each bus master. Each bus master is allowed to access the second bus after receiving the second bus grant signal.
- the second bus request signal and the second bus grant signal are referred as second bus arbitrator signals 223 .
- the input/output control circuit 209 serves to perform input and output operations of input/output signals to enable the communication with external input/output device(s) and/or external semiconductor device(s).
- the read and write operations of input/output signals are performed by the CPU 201 through the first bus 218 .
- the Input/output control circuit 209 has the functionality of generating an interrupt request signal 220 to the CPU 201 .
- a LED control signal “LEDC” which controls the infrared-emitting diodes 15 is output from this I/O control circuit 209 .
- the timer circuit 210 has the functionality of generating an interrupt request signal 220 to the CPU 201 at time intervals as preset.
- the setting of the timer circuit 210 such as the time interval is performed by the CPU 201 through the first bus 218 .
- the ADC 208 converts an analog input signal into a digital signal.
- the digital signal is read by the CPU 201 via the first bus 218 .
- the ADC 208 has the functionality of generating an interrupt request signal 220 to the CPU 201 .
- This ADC 208 receives analog pixel data from the image sensor 43 and converts the analog pixel data into digital pixel data.
- the PLL circuit 214 generates a high frequency clock signal by multiplication of the sinusoidal signal as obtained from a quartz oscillator 216 .
- the clock driver 213 amplifies the high frequency clock signal as received from the PLL circuit 214 to sufficient signal level to provide the clock signal to each function block.
- the low voltage detector circuit 215 monitors the power voltage “Vcc” of a system, and issues the reset signal 226 of the PLL circuit 214 and the reset signal 227 of entire system when the power voltage falls below a certain voltage.
- the low voltage detector 215 has the functionality of issuing a battery back-up control signal 224 when the power voltage “Vcc” falls below the certain voltage.
- the external memory interface circuit 212 has the functionality of connecting the second bus 219 to the external bus 53 and issuing a bus cycle completion signal 228 of the second bus 219 to control the length of the bus cycle of the second bus.
- the DRAM refresh cycle control circuit 211 periodically and unconditionally gets the ownership of the first bus 218 to perform the refresh cycle of the DRAM at certain intervals. Needless to say, the DRAM refresh cycle control circuit 211 is provided in case where the inner memory 207 includes a DRAM.
- FIG. 8 is a circuit diagram showing the configuration for inputting the pixel data from the image sensor 43 to the high speed processor 200 of FIG. 6 , and a LED driver circuit.
- FIG. 9 is a timing chart illustrating the process for inputting the pixel data from the image sensor 43 to the high speed processor 200 .
- FIG. 10 is an enlarged view of a portion of the timing chart shown in FIG. 9 .
- pixel data D (X, Y) is input to the analog input port of the high speed processor 200 since the image sensor 43 outputs the pixel data D (X, Y) as an analog signal.
- the analog input port is connected with the ADC 208 in this high speed processor 200 . Therefore, the high speed processor 200 obtains the pixel data converted into digital data.
- the middle point of above-mentioned analog pixel data D (X, Y) is determined on the basis of reference voltage applied to a reference voltage terminal “Vref” of the image sensor 43 . Therefore, a reference voltage generating circuit 59 comprising a voltage dividing circuit is provided, and this circuit 59 constantly applies the reference voltage to the reference voltage terminal “Verf”.
- Each digital signal to control the image sensor 43 is input to the Input/output ports of the high speed processor 200 , and also output from the Input/output ports.
- Each input/output port is a digital port operable to control input and output operation, and connected with the input/output control circuit 209 of the high speed processor 200 .
- a reset signal “reset” to reset the image sensor 43 is output from the input/output port of the high speed processor 200 , and transmitted to the image sensor 43 .
- a pixel data strobe signal “PDS” and a frame status flag signal “FSF” are output from the image sensor 43 to the input/output ports of the high speed processor 200 .
- the pixel data strobe signal “PDS” is a strobe signal to read above-mentioned each pixel data D (X, Y) from the image sensor 43 .
- the frame status flag signal “FSF” indicates a state of the image sensor 43 , and as shown in FIG. 9 , it determines an exposure period of the image sensor 43 . In other words, a low-level period of the frame status flag signal “FSF” as illustrated in FIG. 9 shows the exposure period, and a high-level period shows an unexposure period.
- the high speed processor 200 outputs a command (or a command and data) as register data to be set to a control register (not shown) of the image sensor 43 via the input/output ports. Furthermore, the high speed processor 200 outputs a register setting clock “CLK” which repeats a low-level period and a high-level period alternately. The register data and the register setting clock “CLK” are sent to the image sensor 43 .
- the four infrared-emitting diodes 15 are connected in parallel. As hereinbefore referred, these infrared-emitting diodes 15 are arranged so as to encompass the image sensor 43 and emit infrared-light to the direction same as a viewpoint direction of the image sensor 43 to irradiate the operation article 150 with the infrared-light.
- the LED driver circuit 75 receives the above-mentioned frame status flag signal “FSF”, and then, the signal “FSF” is applied to a base terminal of a PNP transistor 77 via a differentiation circuit 67 consisting of a resistor 69 and a capacitor 71 .
- the base terminal of the PNP transistor 77 is connected with a pull-up resistor 79 , and is normally pulled up to high level.
- the frame status flag signal “FSF” becomes low level
- the low-level signal “FSF” is input to the base terminal via the differentiation circuit 67 . Therefore, the PNP transistor 77 is-turned on only when the level of the flag signal “FSF” is low.
- An emitter terminal of the PNP transistor 77 is grounded via resistors 73 and 65 .
- the connecting point of the emitter resistances 73 and 65 is connected with a base terminal of a NPN transistor 81 .
- a collector terminal of this NPN transistor 81 is connected to anodes of the infrared-emitting diodes 15 in common.
- An emitter terminal of the NPN transistor 81 is connected to a base terminal of a NPN transistor 61 directly.
- a collector terminal of the NPN transistor 61 is connected to cathodes of the infrared-emitting diodes 15 in common.
- An emitter terminal of the NPN transistor 61 is grounded.
- This LED driver circuit 75 turns on the infrared-emitting diodes 15 only when the LED control signal “LEDC” which is output from the input/output port of the high speed processor 200 is active (high-level) and also the level of the frame status flag signal “FSF” from the image sensor 43 is low.
- the FNP transistor 77 is turned on while the level of the frame status flag signal “FSF” is low (there is actually a time-lag caused by a time constant of the differentiation circuit 67 ). Therefore, when the LED control signal “LEDC” illustrated in FIG. 9 is set to a high level by the high speed processor 200 , the electric potential at the base terminal of the NPN transistor 81 becomes a high level. As a result, this transistor 81 is turned on. Then, when the transistor 81 is turned on, the transistor 61 is also turned on. Therefore, a current passes through each infrared-emitting diodes 15 and the transistor 61 from a power supply (described as a small circle in FIG. 8 ), and consequently the infrared-emitting diodes 15 flash as described in FIG. 9 .
- a power supply described as a small circle in FIG. 8
- the LED driver circuit 75 turns on the infrared-emitting diodes 15 only while the LED control signal “LEDC” illustrated in FIG. 9 is active, and also the level of the frame status flag signal “FSF” is low. This means that the infrared-emitting diodes 15 flash only during the exposure period of the image sensor 43 (see FIG. 9 ).
- the transistor 77 will be turned off after a predefined period and also the infrared-emitting diodes 15 will be turned off after the predefined period because the frame status flag signal “FSF” is coupled by the capacitor 71 .
- the image sensor 43 is exposed to the return light from the operation article 150 . Accordingly, in response to it, the above-mentioned pixel data D (X, Y) is output from the image sensor 43 . More specifically, as shown FIG. 9 , when the level of the frame status flag signal “FSF” is high (the unflash period of the infrared-emitting diodes 15 ), the image sensor 43 outputs the analog pixel data D (X, Y) in synchronization with the pixel data strobe “PDS”.
- the high speed processor 200 obtains the digital pixel data front the ADC 208 while monitoring the frame status flag signal “FSF” and the pixel data strobe “PDS”.
- the pixel data D (X, Y) is output sequentially in order of row, for example, the zeroth row, the first row, . . . and the thirty first row.
- the first one pixel of each row is dummy data.
- FIG. 11 is a view showing an example of the game screen in the first stage displayed on the screen 91 of the television monitor 90 .
- the game screen includes a background 120 , a cursor 111 , a following object 112 , obstacle objects 104 to 160 , a power gauge 131 , and masks 101 and 102 .
- the background 120 includes obstacle images 113 to 115 .
- the power gauge 131 includes a bar 103 .
- the following object 112 is a mermaid-shaped figure, it may be called merely “mermaid 112 ”.
- the obstacle objects 104 to 106 and after-mentioned obstacle objects might be sometimes collectively referred to as the obstacle object(s) “P”.
- the obstacle images 113 to 115 and after-mentioned obstacle images might be sometimes collectively referred to as the obstacle image(s) “Q”.
- the power gauge 131 shows the power of the mermaid 112 .
- the bar 103 is the longest, which means the power is full.
- the bar 103 is getting shorter as time passes (getting less power), and when the bar 103 reaches “0” (running out of power), the game is over.
- the bar 103 is getting shorter from the longest to “0” at a constant speed as a general rule. In other words, the mermaid 112 is losing its power at the constant speed as the genera rule.
- each of the obstacle objects 104 to 105 is formed by a single or several sprite(s).
- the obstacle objects appear from the right side on the screen 91 (the side of the mask 102 ), and then move to the left side on the screen 93 . (the side of the mask 101 ) and vanish.
- the sprite(s) will be explained later.
- the cursor 111 indicates a location of the operation article 150 on the screen 91 , and moves on the screen 91 in conjunction with movement of the operation article 150 . Therefore, operating the operation article 150 is same as operating the cursor ill for the player 94 .
- the mermaid 112 follows the motion of the cursor 111 (indirectly the motion of the operation article 150 ).
- the player 94 moves the mermaid 112 by the operation article 150 trying to avoid the obstacle objects 104 to 106 and the obstacle images 113 to 115 to reach goal before running out of the power (before the length of the bar 103 becomes “0”).
- the bar 103 of the power gauge 131 becomes shorter for a predetermined length independently of the before-mentioned constant speed, which means the power of the mermaid decreases drastically. It is possible to set not to decrease the power of mermaid 112 drastically when the mermaid 112 encounters another clash after predetermined period from the clash with the obstacle objects 104 to 106 or the obstacle images 113 to 115 .
- FIG. 12 is a view showing another example of the game screen in the first stage displayed on the screen 91 of the television monitor 90 .
- this game screen contains a background 120 , the cursor 111 , the mermaid 112 , obstacle objects 107 to 109 , the power gauge 131 , an item 110 , and masks 101 and 102 .
- the background 120 includes obstacle images 116 and 117 .
- the bar 103 of the power gauge 131 becomes longer for a predetermined length. In other words, in this case, since the power of the mermaid 112 increases, it is advantageous for the player 94 .
- the obstacle objects 107 to 109 and the obstacle images 116 and 117 are respectively similar to the obstacle objects 104 to 106 and the obstacle images 113 to 115 .
- FIG. 13 is a view showing an example of the game screen in the second stage displayed on the screen 91 of the television monitor 90 of FIG. 1 .
- this game screen includes a background 120 , the cursor 111 , the mermaid 112 , obstacle objects 121 to 125 , the power gauge 131 , and an item 126 .
- Each of the obstacle objects 121 to 125 and the item 126 are formed by a single or several sprite(s).
- the objects and the item appear from the top of the screen 91 , and descend, and then vanish into the bottom of the screen 91 .
- the background 120 is not scrolled in the second stage.
- the player 94 operates the mermaid 112 by the operation article 150 to avoid the obstacle objects 121 to 125 .
- the bar 103 of the power gauge 131 becomes shorter for a certain length. In other words, the power of the mermaid 112 decreases.
- the item 126 is similar to the item 110 shown in FIG. 12 .
- series of images are provided for animation.
- Series of images of the mermaid 112 are provided for animating the mermaid 112 .
- series of images of the obstacle object are also provided for animating the obstacle object “P”.
- each image for animating is called “segment”.
- the mermaid 112 , the obstacle objects 104 to 109 and 121 to 125 , the items 110 and 126 , and the power gauge 131 are formed respectively by a single or several sprite(s).
- One sprite comprises a set of pixel of which shape is oblong. Incidentally, the sprite can be arranged at any arbitrary position on the screen 91 .
- the mermaid 112 , the obstacle objects 104 to 109 and 121 to 125 , the item 110 and 126 , and the power gauge 131 are sometimes collectively called an object(s) (or an object image(s))
- FIG. 14 is a view for explaining sprites constructing an object displayed on the screen 91 .
- the mermaid 112 shown in FIG. 11 is composed of six sprites sp 0 to sp 5 .
- each sprite SP 0 to SP 5 consists of 16 (width) ⁇ 16 (height) pixels.
- a coordinate where the center of the upper left sprite sp 0 is arranged is designated. Coordinates where each center of sprites SP 1 to SP 5 should be arranged are calculated on the basis of the designated coordinate and the size of each sprite SP 0 to SP 5 .
- FIG. 15 is a view for explaining the background screen displayed on the screen 91 of the television monitor 90 of FIG. 1 .
- the background screen 140 is formed by 32 ⁇ 32 blocks “0” to “1023”.
- each block “0” to “1023” is a square element consisting of 8 ⁇ 8 pixels.
- Array PA[ 0 ] to PA[ 1023 ] and array CA[ 0 ] to CA[ 1023 ] corresponding to the blocks “0” to “1023” are provided.
- the blocks “0” to “1023” are sometimes collectively called “block(s)”, the array PA[ 0 ] to PA[ 1023 ] are sometimes collectively called “array PA”, and the array CA[ 0 ] to CA[ 1023 ] are sometimes collectively called “array CA”.
- Storage location information of pixel pattern data (or data designating a pixel pattern) of each block is assigned to corresponding array PA.
- the pixel pattern data consists of color information of each pixel constructing the block.
- color palette information or information designating a color palette
- a depth value of each block are assigned to corresponding array CA.
- the color palette consists of a certain number of color information items.
- the depth value indicates a depth position of a pixel, and if a plurality of pixels overlap each other, only the pixel having the largest depth value is displayed.
- FIG. 16A is a view for explaining the background screen 140 before scrolled.
- FIG. 16B is a view for explaining the background screen 140 after scrolled.
- the size of the screen 91 is 256 pixels(width) ⁇ 224 pixels(height)
- the area of 256 pixels ⁇ 224 pixels of the background screen 140 is displayed on the screen 91 .
- the background screen 140 is scrolled leftwards so as to move the center of the background screen 140 for k pixels.
- the width of the background screen 140 is same as the width of the screen 91 of the television monitor 91 , as shown in FIG. 16B , a part (a shaded area) of the background screen 140 which has moved outside of the screen 91 is displayed on the right side of the screen 91 .
- the part (the shaded area) of the background screen 140 which has moved outside of the screen 91 consists of the blocks “64”, “96”, . . . “896”, “928”.
- the image designated by the array PA[ 64 ], PA[ 96 ], . . . , PA[ 896 ], PA[ 928 ] and CA[ 64 ], CA[ 96 ], . . . , CA[ 896 ], CA[ 928 ] corresponding to those blocks is displayed on the right side of the screen 91 .
- the background 120 is scrolled by scrolling the background screen 140 .
- FIG. 17 is a schematic representation of a program and data stored in ROM 51 of FIG. 6 .
- the ROM 51 stores a game program 300 , image data 301 , and sound data 304 .
- the image data 302 includes object image data (including the mermaid 112 , the obstacle objects 104 to 109 and 121 to 125 , the items 110 and 126 , and power gauge 131 ) and background image data 303 .
- the sound data 304 includes musical score data 305 and wave data (or sound source data) 306 .
- the high speed processor 200 executes the game program 300 stored in the RON 51 and uses the image data 301 and the sound data 304 .
- the CPU 201 obtains the digital pixel data converted from the analog pixel data D (X, Y) output from the image sensor 43 , and then assigns it to an array P [X] [Y]. The CPU 201 assigns conclusively all digital pixel data to array P[X][Y]. Horizontal direction of the image sensor 43 is defined as X-axis, and vertical direction of the image sensor 43 is defined as Y-axis.
- the CPU 201 calculates a difference between pixel data P [X] [Y] with and without light emitted from the infrared-emitting diodes 15 , and then assigns it to an array Dif[X][Y].
- the CPU 201 assigns conclusively all differences to the array Dif[X)[Y].
- the pixel data indicates luminance. Therefore, the difference (or differential data) also indicates luminance.
- FIG. 18A is a view showing an example of an image which is imaged by a general image sensor and is not applied any special process.
- FIG. 18B is a view showing an example of an image when the image of FIG. 18A is level-discriminated with a predetermined threshold value.
- FIG. 18C is a view showing an example of an image when an image which is obtained through the infrared filter 17 while the infrared-emitting diodes 15 emit infrared light is level-discriminated with a predetermined threshold.
- FIG. 18A is a view showing an example of an image which is imaged by a general image sensor and is not applied any special process.
- FIG. 18B is a view showing an example of an image when the image of FIG. 18A is level-discriminated with a predetermined threshold value.
- FIG. 18C is a view showing an example of an image when an image which is obtained through the infrared filter 17 while the infrared-emitting diodes 15 emit in
- FIG. 18D is a view showing an example of an image when an image which is obtained through the infrared filter 17 while the infrared-emitting diodes 15 do not emit the infrared light is level-discriminated with the predetermined threshold.
- FIG. 18E is a view showing an example of an image based on a difference between the image with light emitted (shown in FIG. 18C ) and the image without light emitted (shown in FIG. 18D ) from the infrared-emitting diodes 15 .
- the image shown in FIG. 18A should be displayed in gray scale, but it is omitted to do so for convenience.
- the reflecting sheets 155 of the operation article 150 are imaged by the image sensor 43 .
- the general image sensor corresponding to the image sensor 43 of FIG. 5
- the general image sensor captures not only the operation article 150 but also all other things in the room and light sources such as a fluorescent lamp, an incandescent lamp (not shown), and sunlight (a window).
- FIG. 18B it is possible to cut out an image(s) having lower luminance than predetermined luminance by level-discrimination. However, the image shown in FIG. 18B still includes high luminance images such as the light sources.
- the CPU 201 calculates the difference between the image (shown in FIG. 18C ) with light emitted and the image (shown in FIG. 18D ) without light emitted from the infrared-emitting diodes 15 . As a result of the calculation, the image as shown in FIG. 18E is acquired. Comparing to the image of FIG. 18A , it is obvious that the image shown in FIG. 18E based on the differential data calculating process includes only the image of the operation article 150 .
- the CPU 201 acquires the differential data between the pixel data with and without light emitted from the infrared-emitting diodes 15 .
- FIG. 19 is a view for explaining coordinate calculation of the target point of the operation article 150 .
- the image sensor 43 of FIG. 19 consists of 32 pixels ⁇ 32 pixels.
- the CPU 201 scans the differential data for 32 pixels in the direction of X-axis (horizontal direction), and then the CPU 201 increments the Y-coordinate. In this way, the CPU 201 scans the differential data for 32 ⁇ 32 pixels while updating the Y-coordinate.
- the CPU 201 searches the differential data having the maximum luminance value, and then compares the maximum luminance value to a predefined threshold value “Th”. If the maximum luminance value is larger than the predefined threshold value “Th”, the CPU 201 calculates the coordinate of the target point of the operation article 150 on the basis of the pixel having the maximum luminance value. This will be explained in detail.
- FIG. 20A is a view for explaining scanning process in X-axial direction when the CPU 201 calculates the coordinate of the target point of the operation article 130 on the basis of the pixel having the maximum luminance value.
- FIG. 20B is a view for explaining the beginning of the scanning process in Y-axial direction when the CPU 201 calculates the coordinate of the target point of the operation article 150 on the basis of the pixel having the maximum luminance value
- FIG. 20C is a view for explaining the scanning process in Y-axial direction when the CPU 201 calculates the coordinate of the target point of the operation article 150 on the basis of the pixel having the maximum luminance value.
- FIG. 20D is a view for explaining the result when the CPU 201 calculates the coordinate of the target point of the operation article 150 on the basis of the pixel having the maximum luminance value.
- the CPU 201 detects a pixel having a luminance value which is larger than the predetermined threshold value “Th” by scanning the differential data in X-axial direction on the basis of the pixel having the maximum luminance value.
- the CPU 201 executes the aforesaid process to acquire the coordinate (Ax[M], Ay[M]) of the target point every time a video frame is updated.
- an origin of coordinates on the screen 91 is a center of the screen 91 .
- the CPU 201 calculates the moving average for (n+1) video frames using following formulas.
- “n” is a natural number (for example, “3”).
- AX ( PX[M]+PX[M ⁇ 1]+ . . . + PX[M ⁇ n ])/( n+ 1) (1)
- the “M” is an integral number, and it is incremented every time the video frame is updated.
- the CPU 201 changes the center location of the background screen 140 at predetermined speed (refer to FIG. 16A and FIG. 16B ), and registers a coordinate of the center location after changed. In this case, the CPU 201 updates data stored in the relevant array PA and the array CA. In this way, the CPU 201 performs the scroll control of the background 120 .
- the CPU 201 changes a part of or whole background 120 by updating data stored in the array PA and the array CA in accordance with the game program 300 .
- the CPU 201 calculates and registers coordinates of the obstacle objects “P” and the items 110 and 126 . For example, the CPU 201 performs coordinate calculation so that the obstacle objects “P” and the items 110 and 126 move at predetermined speed, and then registers the result (stores in the inner memory 207 ). In addition, the CPU 201 registers storage location information of an animation table for the obstacle objects and the items 110 and 126 to be displayed. This animation table is similar to an after-mentioned animation table for the mermaid 112 .
- the CPU 201 registers the coordinate (Ax[M], Ay[M]) of the target point of the operation article 150 as a coordinate of the cursor 111 to be displayed in the next video frame (stores in the inner memory 207 ). Moreover, the CPU 201 registers storage location information of an animation table for the cursor 111 . This animation table is similar to the after-mentioned animation table for the mermaid 112 .
- the CPU 201 makes the mermaid 112 follow the cursor 111 .
- the CPU 201 makes the mermaid 112 move at the first accelerated velocity.
- the first accelerated velocity is set to a larger value if a distance between the cursor 111 and the mermaid 112 is long, and if the distance is short, the first accelerated velocity is set to a smaller value.
- a direction of the first accelerated velocity is positive direction.
- the positive direction indicates a direction of movement of the mermaid 112 .
- the CPU 201 makes the mermaid 112 move at the second accelerated velocity.
- the second accelerated velocity is set a larger value if a velocity of the mermaid 112 is large, and if the velocity of the mermaid 112 is small, the accelerated velocity is set a smaller value.
- a direction of the second accelerated velocity is negative direction.
- the negative direction indicates an opposite direction of movement of the mermaid 112 . In this way, it is possible to display the mermaid 112 as if the mermaid 112 were moving in the water. This point will be explained in detail with reference to examples.
- FIG. 21 is a view for explaining the following object control process performed by the CPU 201 .
- the CPU 201 calculates a current coordinate (xm[M], ym[M]) of the mermaid 112 using following formulas.
- xm[M] xm[M ⁇ 1]+ Vxm[M ⁇ 1] x (1 ⁇ k )+ Bx[M] (3)
- Vxm[M ⁇ 1) xm[M ⁇ 1] ⁇ xm[M ⁇ 2] (5)
- Vym[M ⁇ 1] ym[M ⁇ 1] ⁇ ym[M ⁇ 2] (6)
- the formula (3) to formula (10) use the previous Coordinate (xm[M ⁇ 1], ym[M ⁇ 1]) of the mermaid 112 , the previous velocity vector (Vxm[M ⁇ 1], Vym[M ⁇ 1]) of the mermaid 112 , the current acceleration vector (Bx[M], By[M]) of the mermaid 112 , the coordinate (xm[M ⁇ 2], ym[M ⁇ 2]) which is the coordinate before the previous coordinate of the mermaid 112 , the constant number k (k ⁇ 1) indicating a resistance of water, and the constant number B 0 for adjusting the accelerated velocity of the mermaid 112 .
- the acceleration value (Bx[M], By[M]) of the mermaid 112 is proportional to the distance (Lx[M],Ly[M]) between a current location of the cursor 111 and a previous location of the mermaid 112 . It is possible to set an arbitrary value to the constant number k and the constant number B 0 . For example, it is possible to determine from one's own experiences.
- the CPU 201 calculates a current velocity vector (Vxm[M], Vym[M]) of the mermaid 112 using following formulas.
- the CPU 201 calculates an x-direction movement distance “m ⁇ ” and a y-direction movement distance “my” of the mermaid 112 .
- the x-direction movement distance “m ⁇ ” is an absolute value of the x component Vxm[M]
- the y-direction movement distance “my” is an absolute value of an y component Vym[M].
- the CPU 201 controls not only a location of the mermaid 112 in above-mentioned way, but also controls animation of the mermaid 112 . This will be explained in detail.
- the CPU 201 determines which is larger between the x-direction movement distance “m ⁇ ” of the mermaid 112 and a predetermined value “xr”. Additionally, the CPU 201 determines which is larger between the y-direction movement distance “my” of the mermaid 112 and a predetermined value “yr”. As a result, when CPU 201 determines that the x-direction movement distance “m ⁇ ” is larger than the predetermined value “xr” and also the y-direction movement distance “my” is smaller than the predetermined value “yr”, the CPU 201 sets an angle flag to a corresponding value so as to move the mermaid 112 horizontally.
- the CPU 201 determines that the x-direction movement distance “m ⁇ ” is smaller than the predetermined value “xr” and also the y-direction movement distance “my” is larger than the predetermined value “yr”, the CPU 201 sets the angle flag to a corresponding value so as to move the mermaid 112 vertically. Moreover, when the CPU 201 determines that the x-direction movement distance “m ⁇ ” is larger than the predetermined value “xr” and the y-direction movement distance “my” is also larger than the predetermined value “yr”, the CPU 201 sets the angle flag to a corresponding value so as to move the mermaid 112 obliquely.
- the CPU 201 refers to the sign of the velocity vector (Vxm[M],Vym[M]) of the mermaid 112 , and sets corresponding values to an x-direction flag and a y-direction flag.
- the x-direction flag and the y-direction flag might be sometimes co) lectively referred to as a direction flag(s).
- the CPU 201 determines movement direction information of the mermaid 112 in accordance with values of the angle flag, the x-direction flag and the y-direction flag.
- the movement direction information of the mermaid 112 indicates a direction of a movement of the mermaid 112 .
- the CPU 201 determines a direction of the mermaid 112 with reference to the movement direction information. This will be explained in detail.
- FIG. 22A is a view showing a relation between a value of the angle flag and the angle.
- FIG. 22B is a view showing a relation between a value of the direction flag and a sign indicating the direction.
- FIG. 22C is a view showing a relation among the angle flag, the direction flag and the movement direction information.
- the CPU 201 judges the magnitude among the movement distances “m ⁇ ” and “my” and the predetermined values “xr” and “yr”. Then, as shown in FIG. 22A , the CPU 201 sets the angle flag.
- the CPU 201 refers to the sign of the velocity vector (Vxm[M),vym[M]) of the mermaid 112 . Then, as shown in FIG. 22B , the CPU 201 sets the x-direction flag and y-direction flag.
- the CPU 201 determines the movement direction information of the mermaid 112 in accordance with values of the angle flag, the x-direction flag, and the y-direction flag.
- FIG. 23 is a view showing a relation between the movement direction information of FIG. 22C and a movement direction of the mermaid 112 .
- the movement direction information A 0 indicates to move the mermaid 112 horizontally in positive direction (rightward) of x-axis.
- the movement direction information A 0 indicates to move the mermaid 112 horizontally in negative direction (leftward) of x-axis.
- the movement direction information A 2 indicates to move the mermaid 112 vertically in positive direction (upward) of y-axis.
- the movement direction information A 3 indicates to move the mermaid 112 vertically in negative direction (downward) of y-axis.
- the movement direction information A 4 indicates to move the mermaid 112 obliquely to upper right.
- the movement direction information A 5 indicates to move the mermaid 112 obliquely to lower right.
- the movement direction information A 6 indicates to move the mermaid 112 obliquely to upper left.
- the movement direction information A 7 indicates to move the mermaid 112 obliquely to lower left.
- the CPU 201 registers storage location information of the animation table associated with thus acquired movement direction information A 0 to A 7 (mermaid animation registration).
- the animation table includes various information to animate the mermaid 112 .
- FIG. 24 is a view showing a relation between the movement direction information A 0 to A 7 and the storage location information of the animation table. As illustrated in FIG. 24 , for example, the movement direction information A 0 is associated with the storage location information “address 0 ” of the animation table.
- the storage location information of the animation table is start address information of an area storing the animation table.
- FIG. 25 is a view showing an example of the animation table designated by the storage location information of FIG. 24 for animating the mermaid 112 .
- the animation table is a table wherein storage location information of animation image data, segment number, duration information, next segment information, object size information (or segment size information), color palette information, depth value, and sprite size information are associated with each other.
- Animation consists of a plurality of segment which are arranged in time series. Therefore, the animation image data consists of segment image data set. Each segment image data consists of object data which expresses the mermaid 112 . Each object data expresses different types of mermaid 112 .
- the object data is pixel pattern data.
- the pixel pattern data and the depth value are related to the sprites constructing the object (or the mermaid 112 ). Meanwhile, they are similar to the ones of the block of FIG. 15 .
- the segment number is a number assigned to each segment.
- the duration information indicates how many frames the same segment (or the same object) should be successively displayed.
- the next segment information designates the number of the segment (or the object) which should be displayed next after the current object is displayed according to the duration information. For example, the next segment information “next” indicates that the segment of the number “2” must be displayed after displaying the segment of the number “1” during one frame (the duration information). In addition, for example, the next segment information “top” indicates that the segment of the initial number “1” must be displayed after displaying the segment of the number “15” during one frame (the duration information)
- the animation table of FIG. 25 is used for animating the mermaid 112 . Therefore, for example, since the movement direction information A 0 of FIG. 24 indicates to move the mermaid 112 horizontally in positive direction, the storage location information “ad 0 ” which is contained in the animation table indicated by the storage location information “address 0 ” corresponding to the movement direction information A 0 designates the storage location of the animation image data expressing the mermaid 112 which is heading horizontally in positive direction.
- the CPU 201 registers the storage location information “address 0 ” to “address 7 ” of the animation table corresponding to the movement direction information A 0 to A 7 of the mermaid 112 .
- the movement direction information A 0 to A 7 are based on the coordinate (Ax[M],Ay[M]) of the target point of the operation article 150 (refer to the formulas (9) and (10)).
- an animation of the mermaid 112 which is heading movement direction of the operation article 150 (the cursor 111 ) is performed.
- the CPU 201 judges whether or not the mermaid 112 clashes the obstacle objects “P” or the obstacle images “Q”. When the mermaid 112 clashes either of them, the CPU 201 restricts the motion of the mermaid 112 , and turns a clash flag on. This will be explained in detail.
- FIG. 26 is a view for explaining the clash judging process performed by the CPU 201 .
- the mermaid 112 , the obstacle object “P”, and the obstacle image “Q” are simplified by using a single rectangle or several rectangles.
- the CPU 201 judges whether or not the mermaid 112 clashes any of all obstacle objects “P” and obstacle images “Q” displayed on the screen.
- the rectangle constructing the mermaid 112 is called “mermaid rectangle” and the rectangle constructing the obstacle object “P” or the obstacle image “Q” is called “obstacle rectangle”. The clash judgment will be described in detail.
- the CPU 201 determines whether or not the mermaid rectangle and the obstacle rectangle overlap each other using each vertex coordinate of the mermaid rectangle and each vertex coordinate of each obstacle rectangle. When the mermaid rectangle overlaps any of the obstacle rectangles, the cpu 201 determines that the mermaid 112 clashes the obstacle object “P” having the overlapping obstacle rectangle, or the obstacle image “Q” having the overlapping obstacle rectangle, and turns the clash flag on.
- FIG. 27 is a view for explaining overlapping patterns judged by the following object control process performed by the CPU 201 .
- the CPU 201 determines that the mermaid 112 clashes the obstacle object “P” or the obstacle image.
- the CPU 201 controls the power gauge 131 . This will be explained with reference to drawings.
- FIG. 28A is a view showing an example of a frame part of the power gauge 131 shown in FIG. 11 to FIG. 13 .
- FIG. 28B is a view showing an example of elements constructing the bar 103 of the power gauge 131 .
- a size of the frame part is 8 pixels ⁇ 56 pixels.
- the frame part consists of 7 sprites each of which consists of 8 ⁇ 8 pixels.
- sprites P 0 to P 7 each of which consists of 8 ⁇ 8 pixels are provided in order to display the bar 103 .
- the shaded area is red, and the other area is white.
- the CPU 201 selects a single sprite or several sprites out of sprites P 0 to P 7 in order to shorten the bar 103 at predetermined speed and display the selected sprite(s) within the frame part of the power gauge 131 .
- the CPU 201 displays 7 sprites P 7 within the frame part to make the bar 103 longest at the beginning of the game. Then, after a predetermined period “t” from the start of the game, the CPU 201 displays the sprite P 6 instead of the rightmost sprite P 7 . Furthermore, after further predetermined period “t”, the CPU 201 displays the sprite P 5 instead of the right most sprite P 6 . In this way, the CPU 201 makes the red bar 103 shorten as the predetermined period “t” passes. In other words, the bar 103 becomes shorter by 1 pixel for every predetermined period “t”.
- the CPU 201 selects sprites from the sprites P 0 to P 7 so as to make the red bar 103 shorter for a predetermined length (for example, 4 pixels). For example, when the clash flag is on while the sprites from the first to the sixth are all sprites P 7 and the seventh sprite (or the rightmost sprite) is sprite P 0 in the power gauge 131 , the CPU 201 takes off the seventh sprite P 0 and replaces the sixth sprite P 7 by the sprite P 4 . In this way, the bar 103 becomes 4 pixels shorter.
- a predetermined length for example, 4 pixels.
- the CPU 201 sends necessary information for display to the graphic processor 202 during a vertical blanking period on the basis of information registered by the background control processing, the automatic object control processing, the cursor control processing, the following object control processing, and the power gauge control processing. Then, the graphic processor 202 generates the video signal in accordance with the information sent from the CPU 201 , and outputs the video signal to the video signal output terminal 47 . In this way, the game screen including the mermaid 112 and so on is displayed on the screen 91 of the television monitor 90 . This will be explained in detail.
- the CPU 201 calculates a display coordinate of each sprite constructing the obstacle object “P” in accordance with the coordinate information registered by the automatic object control process and the animation table for the obstacle object “P”. Then, the CPU 201 sends information of each sprite constructing the obstacle object “P” including the display coordinate information, the color palette information, the depth value, the size information, and the storage location information of the pixel pattern data to the graphic processor 202 with reference to the animation table for the obstacle object “P”.
- the CPU 201 calculates a display coordinate of each sprite constructing the cursor III in accordance with the animation table for the cursor 111 and the coordinate information (the coordinate information of the target point of the operation article 150 ) registered by the cursor control process. Then, the CPU 201 sends information of each sprite constructing the cursor 111 including the display coordinate information, the color palette information, the depth value, the size information, and the storage location information of the pixel pattern data to the graphic processor 202 with reference to the animation table for the cursor 111 .
- the CPU 201 refers to the animation table in accordance with the storage location information thereof registered by the following object control process, and obtains size information of the mermaid 112 (or the object) and size information of each sprite constructing the mermaid 112 . Then, the CPU 201 calculates a display coordinate of each sprite constructing the mermaid 112 on the basis of the obtained information and the coordinate (xm[M],ym[M]) registered by the following object control process.
- the CPU 201 calculates storage location information of pixel pattern data of each sprite constructing the mermaid 112 on the basis of the number of the segment including the mermaid 112 to be displayed, the size information of the mermaid 112 , the size information of the sprite constructing the mermaid 112 , and the storage location information of the animation image data.
- the CPU 201 sends information of each sprite constructing the mermaid 112 including the color palette information, the depth value, and the size information to the graphic processor 202 with reference to the animation table, together with the storage location information of pixel pattern data of each sprite and the display coordinate information.
- the CPU 201 sends the above-mentioned information to the graphic processor 202 in accordance with the duration information and the next segment information of the animation table.
- the CPU 201 sends information of each sprite constructing the frame part of the power gauge 131 including the color palette information, the depth value, the size information, the storage location information of pixel pattern data, and the display coordinate information to the graphic processor 202 . Furthermore, the CPU 201 sends information of each sprite constructing the bar 103 registered by the power gauge control process including the color palette information, the depth value, the size information, the storage location information of pixel pattern data, and the display coordinate information to the graphic processor 202 .
- the CPU 201 sends the coordinate of the center of the background screen 140 registered by the background control process and start addresses of the array PA[ 0 ] to PA[ 1023 ] and the array CA[ 0 ] to CA[ 1023 ] set by the background control process to the graphic processor 202 .
- the graphic processor 202 reads information stored in the array PA[ 0 ] to PA[ 1023 ] according to the sent start address, and then according to the read information, the graphic processor 202 reads storage location information of pixel pattern data for displaying each of the block[0] to block[1023].
- the graphic processor 202 reads information stored in the array CA[ 0 ] to CA[ 1023 ] according to the sent start address.
- the graphic processor 202 generates the video signal to display the obstacle objects “P”, the cursor 111 , the mermaid 112 , the power gauge 131 , and the background 120 on the basis of the information sent from the CPU 201 and the read information, and outputs it to the video signal output terminal 47 .
- the audio playback is performed by interrupt processing.
- the CPU 201 reads and interprets commands from the musical score data 305 while incrementing a musical data pointer.
- the musical data pointer indicates a location to start reading information contained in the musical score data 305 .
- the CPU 201 sends a start address storing the wave data 306 corresponding to a pitch (the frequency of sound vibration) designated by a note number and an musical instrument (tone quality) designated by instrument designation information contained in the musical score data 305 to the sound processor 203 .
- the CPU 201 sends a start address storing necessary envelope data to the sound processor 203 .
- the CPU 201 sends pitch control information corresponding to the pitch designated by the note number and volume information contained in the musical score data 305 to the sound processor 306 .
- the pitch control information is used for pitch controlling performed by changing a cycle of reading the wave data 306 (the sound source data). More specifically, the sound processor 203 periodically reads the pitch control information at certain interval, and accumulates the information. The sound processor 203 processes the result of the accumulation, and makes use of the result of the processing as an address pointer for the wave data 306 . Accordingly, if a large value is set to the pitch control information, the address pointer is quickly incremented to increase the frequency of the wave data 306 . Conversely, if a small value is set to the pitch control information, the address pointer is slowly incremented to decrease the frequency of the wave data 306 . In this way, the sound processor 203 performs the pitch control of wave data 306 .
- the sound processor 203 reads from the RON 51 the wave data 306 , which is stored in the area pointed by the provided start address while incrementing the address pointer on the basis of the pitch control information. Then, the sound processor 203 generates an audio signal by multiplying the wave data 306 , as sequentially read, by the envelope data and the volume information item. In this way, the audio signal indicative of the tone quality of the musical instrument, the pitch and the sound volume designated by the musical score data 305 is produced and output to the audio signal output terminal 49 by the sound processor 203 .
- the CPU 201 manages a gate time contained in the musical score data 305 as read. Accordingly, when a gate time elapses, the CPU 201 instructs the sound processor 203 to stop outputting the sound corresponding to the gate time. In response to this, the sound processor 203 terminates the sound output as instructed.
- music is produced on the basis of the musical score data 305 , and output from the speaker (not shown) of the television monitor 90 .
- FIG. 29 is a flowchart showing the overall process flow of the game apparatus 1 . As illustrated in FIG. 29 , the CPU 201 performs the initial setup of the system in step S 1 .
- step S 2 the CPU 201 checks the remaining power of the mermaid 112 .
- the CPU 201 displays a predetermined failure screen and then ends the game, otherwise proceeds to step S 3 .
- step S 3 the CPU 201 determines whether or not the mermaid 112 reaches a goal. When the mermaid 112 reaches the goal, the CPU 201 displays a predetermined success screen and ends the game, otherwise proceeds to step S 4 .
- step S 4 the CPU 201 calculates state information of the operation article 150 .
- the state information could be, for example, any one of speed information, movement direction information, movement distance information, velocity vector information, acceleration information, motion path information, area information and positional information, or a combination thereof.
- the CPU 201 performs display control of the background 120 .
- the CPU 201 performs display control of the obstacle object “P”.
- the CPU 201 performs display control of the cursor 111 on the basis of the state information of the operation article 150 .
- step S 8 the CPU 201 performs display control of the mermaid 112 on the basis of coordinate information of the cursor 111 . (refer to the formula (3) to formula (12)).
- step S 9 the CPU 201 performs display control of the power gauge 131 .
- step S 10 the CPU 201 determines whether or not “M” is smaller than a predetermined value “K”. If “N” is equal to or more than the predetermined value “K”, the CPU 201 proceeds to step S 11 , and assigns “0” to “M”, and then proceeds to step S 12 . On the other hand, if the variable “M” is smaller than the predetermined value “K”, the CPU 201 proceeds from step 510 to step S 12 .
- the above mentioned variable “M” will be explained later.
- step S 12 the CPU 201 determines whether or not the CPU 201 waits for the video system synchronous interrupt.
- the CPU 201 supplies the graphics processor 202 with the image information for refreshing the display screen of the television monitor 90 after the vertical blanking period starts. Accordingly, after completing the arithmetic operations for refreshing the display screen, the CPU 201 refrains from proceeding its operation until the next video system synchronous interrupt is issued. Namely, while it is “YES” in step S 12 , i.e., while the CPU 201 waits for the video system synchronous interrupt (i.e., there is no interrupt signal responsive to the video system synchronous signal), the process repeats the same step S 12 .
- step S 12 if it is “NO” in step S 12 , i.e., if the CPU 201 gets out of the state of waiting for the video system synchronous interrupt (i.e., the CPU 201 is given the video system synchronous interrupt), the process proceeds to step S 13 .
- step S 13 the CPU 201 sends necessary image information to generate a game screen (refer to FIG. 11 to FIG. 13 ) to the graphics processor 202 on the basis of the results of step S 5 to S 9 (the image displaying process).
- FIG. 30 is a flowchart showing the process flow of the initial setting process of step S 1 of FIG. 29 .
- the CPU 201 initializes the image sensor 43 .
- the CPU 201 initializes various flags and counters.
- the CPU 201 sets the timer circuit 210 as a source of generating an interrupt request signal for generating sound. By this interrupting process, the sound processor 203 performs processing, and sound is output from the speakers of the television monitor 90 .
- FIG. 31 is a flowchart showing the process flow of the sensor initialization of step S 20 of FIG. 30 .
- the high speed processor 200 sets a command “CONF” as a setting data.
- This command “CONF” is a command which instructs the image sensor 43 to enter setting mode to send a command from the high speed processor 200 .
- the high speed processor 200 performs the command transmitting process.
- FIG. 32 is a flowchart showing the process flow of the command transmitting process of step S 31 of FIG. 31 .
- step S 40 the high speed processor 200 sets setting data (in case of step S 31 , the command “CONE”) as register data (I/O port).
- step S 41 the high speed processor 200 sets register setting clock CLK (I/O port) to low level.
- step S 43 the high speed processor 200 sets the register setting clock CLK to high level.
- the high speed processor 200 sets the register setting clock CLK to low level.
- the high speed processor 200 performs the command (command or command+data) transmitting process by periodically changing the register setting clock CLK into low level, high level, and low level while waiting for the predetermined periods “t 1 ” and “t 2 ”.
- step S 32 the high speed processor 200 sets a pixel mode and also sets an exposure period.
- the high speed processor 200 sets “Oh” which indicates it consists of 32 pixels ⁇ 32 pixels, to a pixel mode register whose setting address is “0”.
- step S 33 the high speed processor 200 performs a register setting process.
- FIG. 34 is a flowchart showing the process flow of the register setting process of step S 33 of FIG. 31 .
- the high speed processor 200 sets a command “MOV”+“address” as a setting data.
- the high speed processor 200 transmits the command to the image sensor 43 by executing the command transmitting process as explained hereinbefore (refer to FIG. 32 ).
- the high speed processor 200 sets a command “LD”+“data” as a setting data.
- step S 53 the high speed processor 200 transmits the command to the image sensor 43 by executing the command transmitting process as explained hereinbefore (refer to FIG.
- step S 54 the high speed processor 200 sets a command “SET” as a setting data
- step S 55 the high speed processor 200 transmits the command to the image sensor 43 by executing the command transmitting process as explained hereinbefore (refer to FIG. 32 ).
- the command “MOV” indicates to transmit an address of the control register.
- the command “LD” indicates to transmit data.
- the command “SET” indicates to set data to the address. Incidentally, if there are several control registers to set, the register setting process is repeatedly executed.
- step S 34 the high speed processor 200 sets “1” (indicating an address of low nibble of an exposure period setting register) as a setting address, and also sets low nibble data “Fh” of “FFh” indicating the maximum exposure period. Then, in step S 35 , the high speed processor 200 executes the register setting process of FIG. 34 . In a similar way, in step S 36 , the high speed processor 200 sets “2” (indicating an address of high nibble of the exposure period setting register) as a setting address, and also sets high nibble data “Fh” of “FFh” indicating the maximum exposure period. Then, in step S 37 , the CPU 201 executes the register setting process of FIG. 34 .
- step S 38 the highs peed processor 200 sets a command “RUN” which indicates an end of setting and also makes the image sensor 43 start outputting data. Then, in step S 39 , the high speed processor 200 transmits it. In this way, the sensor setting process of step S 20 of FIG. 30 is performed.
- the example from FIG. 31 to FIG. 34 may be changed depending on the specification of the image sensor 43 .
- FIG. 35 is a flowchart showing the process flow of the state information calculating process of step S 4 of FIG. 29 .
- the CPU 201 obtains the digital pixel data from ADC 208 .
- This digital pixel data is obtained by converting the analog pixel data as output from the image sensor 43 .
- step S 61 the target point extracting process is executed. More specifically, the CPU 201 obtains the differential data between the pixel data with and without light emitted from the infrared-emitting diodes 15 . Then, the CPU 201 retrieves the maximum value of the differential data and compares it with the predetermined threshold “Th”. In addition, when the maximum value of the differential data exceeds the predetermined threshold value “Th”, the CPU 201 calculates a coordinate of the pixel which has the maximum value of the differential data. Furthermore, the CPU 201 calculates the moving average of thus calculated coordinates. Then, the CPU 201 converts it to the coordinate on the screen 91 of the television monitor 90 , and makes use of it as the coordinate (Ax[M],Ay[M]) of the target point of the operation article 150 .
- FIG. 36 is a flowchart showing the process flow of the pixel data aggregation acquiring process of step S 60 of FIG. 35 .
- the CPU 201 sets “ ⁇ 1” to “X” and “0” to “Y” as an element number of a pixel data array.
- “ ⁇ 1” is set as an initial value of “X”.
- the CPU 201 executes a pixel data acquiring process.
- FIG. 37 is a flowchart showing the process flow of the pixel data acquiring process of step S 71 of FIG. 36 .
- the CPU 201 checks the frame status flag signal FSF as transmitted from the image sensor 43 . Then, when CPU 201 detects the rising edge of the frame status flag signal FSF, the process proceeds to step S 82 , otherwise proceeds to step S 80 (step S 81 ).
- step S 82 the CPU 201 instructs the ADC 208 to start converting the analog pixel data into the digital data.
- step S 83 the CPU 201 checks the pixel strobe PDS as transmitted from the image sensor 43 . Then, when CPU 201 detects the rising edge of the pixel strobe PDS, the process proceeds to step S 85 , otherwise proceeds to step S 83 (step S 84 ).
- step S 85 the CPU 201 determines “NO” in step S 85 , since the pixel data is pixel data after second in the row, in step S 86 and S 88 , the CPU 201 acquires the pixel data at the time and stores it in temporary register (not shown). After that, the CPU 201 proceeds to step S 72 of big. 36 .
- step S 72 of FIG. 36 the CPU 201 assigns the pixel data stored in the temporary register to the pixel data array P[x] [X]
- FIG. 38 is a flowchart showing the process flow of the target point extracting process of step S 61 of FIG. 35 .
- the CPU 201 calculates the difference between the pixel data with and without light emitted from the infrared-emitting diodes 15 to obtain differential data.
- step S 93 the CPU 201 scans all elements of the array Dif[X] [Y] to detect the maximum value from all elements of the array Dif[X] [Y].
- step S 94 if the maximum value is larger than the predetermined threshold value “Th”, the CPU 201 proceeds to step S 95 . If the maximum value is smaller than the predetermined threshold value “Th”, the CPU 201 proceeds to step S 10 of FIG. 29 .
- step S 95 the CPU 202 calculates the coordinate (Xc, Yc) of the target point of the operation article 150 on the basis of the coordinate of the maximum value.
- step S 97 the CPU 201 assigns the coordinates Xc and Yc to the array PX[M] and PY[M]. Then, in step S 98 , the CPU 201 calculates the moving average (AX[M],AY[M]) of the target point (Xc, Yc) of the operation article 150 . In step S 99 , the CPU 201 converts the average coordinate ([M] AY[M]) of the target point on the image sensor 43 into the coordinate (xc, yc) on the screen 91 of the television monitor 90 .
- FIG. 39 is a flowchart showing the process flow of the target point coordinate calculating process of step S 95 of FIG. 38 .
- the CPU 201 assigns the X coordinate and Y coordinate of the maximum value calculated in step S 93 to “m” and “n”.
- step S 103 the CPU 201 assigns “m” at the time to “mr”. In this way, the CPU 201 scans from the coordinate of the pixel having the maximum value in positive direction of X-axis while repeatedly executing the process from step S 101 to S 103 and obtains the X-coordinate of the cndmost differential data exceeding the threshold value “Th”.
- step S 104 the CPU 201 assigns the X-coordinate of the maximum value calculated in step S 93 to “m”.
- step S 105 the CPU 201 decrements “m” by one. If the differential data Dif[m] [n] is larger than the predetermined threshold value “Th”, the CPU 201 proceeds to step S 107 , otherwise the CPU 201 proceeds to step S 108 (step S 106 ). In step S 107 , the CPU 201 assigns “m” at the tine to “ml”.
- the CPU 201 scans from the coordinate of the pixel having the maximum value in negative direction of X-axis while repeatedly executing the process from step S 105 to S 107 and obtains an X-coordinate of the endmost differential data exceeding the threshold value “Th”.
- step S 108 the CPU 201 calculates the center coordinate between X-coordinate “mr” and X-coordinate “ml”, and makes use of it as the X-coordinate (Xc) of the target point.
- step S 109 the CPU 201 assigns the “Xc” calculated in step S 108 and the Y-coordinate of the pixel having the maximum value calculated in step S 93 to “m” and “n”.
- step S 112 the CPU 201 assigns “n” at the time to “nd”. In this way, the CPU 201 scans from the coordinate of the pixel having the maximum value in positive direction of Y-axis while repeatedly executing the process from step S 110 to S 112 and obtains the Y-coordinate of the endmost differential data exceeding the threshold value “Th”
- step S 113 the CPU 201 assigns the Y-coordinate of the pixel having the maximum value calculated in step S 93 to “n”.
- step S 114 the CPU 201 decrements “n” by one. If the differential data Dif[m] [n] is larger than the predetermined threshold value “Ph”, the CPU 201 proceeds to step S 116 , otherwise proceeds to step S 117 (step S 115 ). In step S 116 , the CPU 201 assigns “n” at the time to “nu”.
- the CPU 201 scans from the coordinate of the pixel having the maximum value in negative direction of Y-axis while repeatedly executing the process from step S 114 to S 126 and obtains the Y-coordinate of the endmost differential data exceeding the threshold value “Th”.
- step S 117 the CPU 201 calculates a center coordinate between the Y-coordinate “nd” and the Y-coordinate “nu”, and makes use of it as the Y-coordinate (Yc) of the target point. In this way, the coordinate (Xc, Yc) of the target point of the operation article 150 is calculated.
- FIG. 40 is a flowchart showing the process flow of the following object control process of step S 8 of FIG. 29 .
- the CPU 201 calculates the display coordinate (xm[M], ym[M)) of the mermaid 112 using the formula (3) and formula (4), and registers it.
- step S 141 the CPU 201 determines whether or not the mermaid 112 clashes the obstacle image “Q” or the obstacle object “P” on the frame being displayed with reference to the clash flag. As a result, if the clash flag is on, the CPU 201 proceeds to step S 151 , otherwise proceeds to step S 142 (step S 141 ).
- step S 142 the CPU 201 compares the x-direction movement distance “m ⁇ ” of the mermaid 112 with the predetermined value “xr”. In addition, the CPU 201 compares the y-direction movement distance “my” of the mermaid 112 with the predetermined value “yr”. In step S 143 , the CPU 201 sets the angle flag on the basis of the result of the comparison of step S 142 (refer to FIG. 22A )
- step S 144 the CPU 201 refers to the sign of the velocity vector (Vxm[M],Vym[M]) of the mermaid 112 .
- step S 145 the CPU 201 sets the direction flag on the basis of the sign of the velocity vector (refer to FIG. 22B )
- step S 146 the CPU 201 determines the movement direction information in accordance with the angle flag and the direction flag (refer to FIG. 22C ).
- step S 147 the CPU 201 registers storage location information of the animation table in accordance with the movement direction information.
- step S 151 the CPU 201 determines whether or not the obstacle which the mermaid 112 clashed is the obstacle image “Q”. As a result, if the obstacle is the obstacle image “Q”, the CPU 201 proceeds to step S 152 . If it is not, i.e., the obstacle is the obstacle object “P”, the CPU 201 proceeds to stop S 153 .
- step S 152 the CPU 201 calculates a display coordinate of the mermaid 112 on the basis of scroll velocity of the background 120 again and re-registers it. More specifically, the CPU 201 adds the x-element of the scroll velocity to the x-coordinate of the mermaid 112 and makes use of it as the new x-coordinate of the mermaid 112 .
- the y-coordinate of the mermaid is same as the previous y-coordinate.
- step S 153 the CPU 201 re-registers the coordinate of the mermaid 112 being displayed.
- step S 154 the CPU 201 registers the storage location information of the animation table which is used when the mermaid 112 clashes.
- step S 155 the CPU 201 turns the clash flag off.
- step S 148 the CPU 201 determines whether or not the mermaid 112 clashes the obstacle image “Q” or the obstacle object “P” on the basis of the coordinate of the mermaid 112 calculated in step S 140 . Then, if the CPU 201 determines the mermaid 112 clashes, it turns the clash flag on.
- the cursor 111 (the coupled object) moves in conjunction with the motion of the operation article 150 , it is possible to operate the cursor 111 intuitively and make it easier to play the game with easy operation.
- the motion of the cursor 111 should be synchronized or almost synchronized with the motion of the operation article 150 . Therefore, the motion of the cursor 111 is restrained by the motion of the operation article 150 .
- the mermaid 112 (the following object) follows the motion of the cursor 111 , it is possible to decide arbitrarily how the mermaid 112 follows the cursor 111 . Therefore, it is possible to give variety to the movement of the mermaid 112 and give the player impressive optical effects.
- the mermaid 112 moves as if it were swimming in the water by adding acceleration determined by positional relation between the cursor 111 and the mermaid 112 , and resistance corresponding to its velocity to the movement of the mermaid 112 (refer to the formula (3) and formula (4)).
- the CPU 201 manages the power gauge 131 (an indicator showing remaining power of the mermaid 112 ) and ends the game with reference to the power gauge 131 .
- the power gauge 131 an indicator showing remaining power of the mermaid 112
- the CPU 201 manages the power gauge 131 (an indicator showing remaining power of the mermaid 112 ) and ends the game with reference to the power gauge 131 .
- the length of the bar 103 of the power gauge reaches “0”, the game is over. In this way, the player 94 can not play the game without any restriction. Therefore, since the player 94 has to play the game carefully with a sense of tension, the game becomes more exciting.
- the power gauge 131 is changed according not to the first rule (a general rule) but to the second rule (an exceptional rule which is disadvantageous for the player 94 ) when the mermaid 112 touches or enters the area which contains a restrictive image (the obstacle object “P” or the obstacle image “Q”). More specifically, in this case, the bar 103 of the power gauge 131 becomes drastically shorter (the second rule). Accordingly, since the player 94 needs to operate the mermaid 112 through the cursor ill to avoid the restrictive image, the game becomes more exciting.
- the first rule a general rule
- the second rule an exceptional rule which is disadvantageous for the player 94
- the power gauge 131 is changed according not to the first rule (the general rule) but to the third rule (an exceptional rule which is advantageous for the player 94 ) when the mermaid 112 touches or enaters the area where the item 110 or 126 is displayed. More specifically, in this case, the bar 103 of the power gauge 131 becomes a certain length longer (the third rule). Accordingly, since the player 94 needs to operate the mermaid 112 through the cursor 111 trying to obtain the item 110 and 126 , the game becomes more exciting.
- controlling the background scroll and controlling the obstacle image “Q” are similar in the meaning. Therefore, it becomes easier to perform the display control of the obstacle image “Q”.
- the obstacle object “P” is constructed by a single or several sprite(s), it is possible to perform more detailed display control of the obstacle object “P” so that the flexibility of designing game contents is improved.
- any one of state information of the operation article 150 such as the speed information, the movement direction information, the movement distance information, the velocity vector information, the acceleration information, the motion path information, the area information and the positional information, or a combination thereof. Accordingly, since it is possible to Control the cursor 111 and the mermaid 112 by using various information of the operation article 150 , the flexibility of designing game contents is improved.
- the game apparatus I images the operation article 150 by intermittently emitting light to the operation article 150 to derive the state information of the operation article 150 . Accordingly, it is not necessary to provide the operation article 150 with a power supply circuit and electric circuits. Therefore, it is possible to improve operationally and reliability of the operation article 150 and also reduce the cost.
- FIG. 41 is a view showing an example of the game screen in the modification of this embodiment.
- a maze comprising a pathway 133 and a wall 134 is displayed on the screen 91 of the television monitor 90 .
- the player 94 operates the operation article 150 to operate a cursor 135 on the screen 91 .
- This cursor 135 is similar to the cursor 111 shown in FIG. 11 to FIG. 13 , and the cursor 135 moves in conjunction with the operation article 150 . Meanwhile, controlling the cursor 135 is similar to controlling the cursor 111 .
- the player 94 operates the cursor 135 by means of the operation article 150 to proceed the pathway 133 .
- the cursor 135 reaches the right edge or left edge of the screen 91 , the game screen is scrolled.
- the scroll control is similar to the scroll control performed in the above embodiment. Therefore, the game screen is formed as the background screen 140 (refer to FIG. 15 ).
- FIG. 42 is a view for explaining a clash judgment on the game screen of FIG. 41 .
- the range (28 ⁇ 32 blocks) displayed on the screen 91 within the background screen 140 is taken into consideration.
- the array JA[ 0 ] to JA[ 895 ] corresponding to 28 ⁇ 32 blocks is provided.
- the array JA[ 0 ] to JA[ 895 ] may be collectively called the array JA.
- “0” is assigned to the array JA corresponding to the block constructing the pathway 133
- “1” is assigned to the array JA corresponding to the ⁇ block constructing the wall 134 .
- the CPU 201 checks an element of the array JA corresponding to the block located at the position of the target point of the operation article 150 . Then, if the element of the array JA is “1”, the CPU 201 makes the cursor 135 move to the wall 134 as bellow. More specifically, the cursor 135 can not move through the wall 134 .
- FIG. 43 is a view for explaining the coordinate calculation when the cursor 135 of FIG. 41 clashes the wall 134 .
- the block 149 corresponding to the array JA[ 10 ] assigned “1” as an element is taken into consideration.
- the CPU 203 derives which straight line “ab”, “bc”, “cd”, or “da” crosses the straight line AB. In other ward, if the cross product is “0”, the intersecting point of the two vectors does not exist.
- the CPU 201 calculates the intersecting point “I” of the straight line AB and the straight line “ac” intersecting the straight line AB. Then, the CPU 201 makes use of the coordinate of the intersecting point “I” as a current display coordinate of the cursor 135 . In this configuration, the cursor 135 does not thrust into the wall 134 .
- the cursor 135 is operated by the operation article 150 .
- the cursor control and the following object control are performed in similar way to the cursor Ill and the mermaid 112 .
- the cursor 135 is moved to the border between the pathway 133 and the wall 134 so that the cursor 135 can move only within the pathway 133 .
- the target point of the operation article 150 exists in the block 149 corresponding to the array JA assigned “1” as its element. Therefore, in this case, the player 94 has to operate the cursor 135 trying to avoid clashing the wall 134 .
- it is possible to use a following object in addition to the cursor 135 and operate the following object by operating the cursor 135 .
- the cursor 135 can be operated by moving the operation article 150 as well as the above mentioned embodiment, the player 94 can enjoy feeling as if the player 94 operated the operation article 150 to avoid obstacles existing in real space even though the wall 134 corresponding to an obstacle exists on the screen 91 .
- the mermaid 112 as the following object is made to follow the cursor 111 (the coupled object) in the case of this embodiment.
- the player 94 operates the operation article 150 to move the mermaid 112 as the cursor 111 .
- the player 94 directly operates the mermaid 112 by means of the operation article 150 .
- the player 94 indirectly operates the mermaid 112 through the cursor 111 which is operated by the operation article 150 .
- the operation article 150 which consists of the stick 152 and the reflecting ball 151 is used as an operation article.
- the operation article is provided with a reflecting portion, it is not limited to the operation article 150 .
- the coordinate of the target point of the operation article 150 is derived in the manner described in FIG. 20A to FIG. 20D .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Since a cursor displayed on a screen of a television monitor moves in conjunction with a motion of an operation article operated by a player, intuitive operation can be possible so that the player can play a game easily. A mermaid displayed on the screen follows the cursor when the player moves the cursor by operating the operation article. In this way, the player operates the mermaid indirectly and avoids obstacle objects and obstacle images.
Description
- This application claims foreign priority based on Japanese Patent application No. 2003-362637, filed Oct. 23, 2003, the contents of which is incorporated herein by reference in its entirety.
- 1. Field of the Invention
- The present invention is related to a game apparatus and related arts thereof for playing by operating an operation article to move an object displayed on a screen.
- 2. Description of the Related Art
- The following maze game apparatus is described in patent publication (Jpn. unexamined patent publication No. 2002-263370). A player operates an input device (key board, mouse etc.) to move an object displayed on a screen for proceeding through a maze. In this case, a pathway of the maze is changed every predetermined period. As a result, the player can enjoy the maze game without growing weary.
- In case of this conventional maze game apparatus, since the object is operated by an ordinary input device such as a mouse used for a personal computer, the operation is merely extension of operation of the personal computer. In addition, because the input device is used for the personal computer, it is hard to say it is suitable for this kind of game from the point of view of operationally. Furthermore, sometimes it is difficult for people who do not get used to use a personal computer if a game is performed on the personal computer.
- So far, the following game played in real space has been available. For example, a pathway is formed by arranging two metal wires vertically. A player inserts a bar provided with metal to the pathway from the side, and moves the bar along the pathway trying not to touch the metal wires. When the metal part of the bar touches either of metal wires, since an electric current flows through the metal wires, it results in giving off sparks, and then the game is over.
- Conventionally, the computer game operable to perform the game originally played in the real space has been available. In other words, a player operates an input device (a controller for game apparatus etc.) to move an object displayed on a screen for proceeding through a maze. Then, when the object touches wails of the maze, the game is over. For example, there is the TV game (Product name: Denryu Iraira-bou (registered trademark) Returns) released by Zaurus Corporation on 19 Mar. 1998.
- In case of the conventional game apparatus, since the object is operated by a multipurpose controller for an game apparatus, the player operates direction keys and an analog stick to move the object. In other words, the player does not actually move the controller itself but pushes the provided direction keys or operates the analog stick to move the object. Some people find it difficult to operate this kind of controller efficiently.
- It is an object of the present invention to provide a game apparatus which allows intuitive operation of an object displayed on a screen and can be played with easy operation.
- In accordance with the first aspect of the present invention, a game apparatus comprises: a stroboscope operable to direct light onto an operation article at predetermined intervals; an imaging device operable to image said operation article with and without light emitted from said stroboscope and generate a lighted image signal and a non-lighted image signal; a differential signal generating unit operable to generate a differential signal between said lighted image signal and said non-lighted image signal; a state information calculating unit operable to calculate state information of said operation article on the basis of said differential signal; a coupled object control unit operable to control display of a coupled object which moves as said operation article moves in accordance with said state information of said operation article; and a restrictive image control unit operable to control a restrictive image which limits movement of said coupled object.
- In accordance with this configuration, the coupled object moves in conjunction with the motion of the operation article. As a result, the game apparatus allows intuitive operation of the coupled object displayed on a screen and can be played with easy operation.
- In accordance with the second aspect of the present invention, a game apparatus comprises: a stroboscope operable to direct light onto a operation article at predetermined intervals; an imaging device operable to image said operation article with and without light emitted from said stroboscope and generate a lighted image signal and a non-lighted image signal; a differential signal generating unit operable to generate a differential signal between the lighted image signal and the non-lighted image signal; a state information calculating unit operable to calculate state information of said operation article; a cursor control unit operable to control display of a cursor indicating location of said operation article on a screen and a following object control unit operable to control display of a following object which follows said cursor on the basis of coordinate information of said cursor.
- In accordance with this configuration, since the cursor represents location of the operation article on the screen, the motion of the cursor needs to be synchronized or almost synchronized with the motion of the operation article. Therefore, the cursor control is bound by the motion of the operation article. On the other hand, since the following object follows the motion of the cursor, it is possible to set arbitrary in what manner the following object follows the cursor. Therefore, it is possible to give variety to the motion of the following object and also give more impressive optical effect.
- In addition, since the cursor is controlled on the basis of the state information of the operation article, the cursor moves in synchronization with the motion of the operation article. Therefore, intuitive operation of the cursor becomes possible so that the player can play the game with easy operation.
- This game apparatus further comprises a restrictive image control unit operable to control a restrictive image which limits movement of the following object.
- In accordance with this configuration, the player has to move the following object and avoid the restrictive image by operating the cursor using the operation article. In this way, the game becomes more exciting so that the player can enjoy the game more.
- The above game apparatus according to the first and second aspect of the present invention further comprises a game managing unit operable to manage information indicating whether a player can continue a game and ends the game in accordance with said information.
- In accordance with this configuration, since the player can not play the game without any restriction, the player has to play the game with a sense of tension so that the game becomes more exciting.
- In the above game apparatus according to the first and second aspect of the present invention, said restrictive image control unit comprises a background image control unit operable to control background scroll and wherein said background image includes said restrictive image.
- In accordance with this configuration, since controlling the background image scroll and controlling the obstacle image are similar meaning, the restrictive image display control becomes easier.
- In the above game apparatus according to the first and second aspect of the present invention, said restrictive image control unit comprises a restrictive object control unit operable to control a restrictive object which consists of a single sprite or a plurality of sprites as said restrictive image.
- In accordance with this configuration, it is possible to perform more detailed display control of the restrictive image so that the flexibility of designing game contents is improved.
- In the above game apparatus according to the first and second aspect of the present invention, said restrictive image is an image constructing a maze.
- In accordance with this configuration, as mentioned above, since the coupled object or the cursor moves in conjunction with the motion of the operation article, more intuitive operation becomes possible and the player can play the maze game with ease.
- In the above game apparatus according to the first and second aspect of the present invention, when said coupled object touches or thrusts into an area which said restrictive image is displayed, a game is over.
- In accordance with this configuration, since it is possible to operate the coupled object or the cursor by operating the operation article, the player can enjoy feeling as if the player operated the operation article to avoid obstacles existing in actual space even though the restrictive image and the coupled object or the restrictive image and the cursor actually exist on the screen. In addition, it is possible to reduce the cost and necessary space to play the game as compared to a game apparatus for dodging obstacles in real space
- In the above game apparatus according to the first and second aspect of the present invention, said state information of said operation article derived by said state information calculating unit includes any one of speed information, movement direction information, movement distance information, velocity vector information, acceleration information, motion path information, area information and location information, or a combination thereof.
- In accordance with this configuration, since it is possible to control the coupled object or the cursor by using various information of the operation article, the flexibility of designing game contents is improved.
- The aforementioned and other features and objects of the present invention and the manner of attaining them will become more apparent and the invention itself will be best understood by reference to the following description of a preferred embodiment taken in conjunction with the accompanying drawings, wherein:
-
FIG. 1 is a view showing the overall configuration of a game system in accordance with the embodiment of the present invention. -
FIG. 2 is a perspective view of the operation article ofFIG. 1 . -
FIG. 3A is a top view of the reflecting ball ofFIG. 2 . -
FIG. 3B is a side view from the direction of an arrow A ofFIG. 3A . -
FIG. 3C is a side view from the direction of an arrow B ofFIG. 3A . -
FIG. 4 is a vertical cross-sectional view of the reflecting ball ofFIG. 2 . -
FIG. 5 is a cross-sectional view of an example of the imaging unit ofFIG. 1 . -
FIG. 6 is a view showing the electrical structure of the game apparatus ofFIG. 1 . -
FIG. 7 is a block diagram of the high speed processor ofFIG. 6 . -
FIG. 8 is a circuit diagram showing the configuration for inputting the pixel data from the image sensor to the high speed processor ofFIG. 6 , and a LED driver circuit. -
FIG. 9 is a timing chart illustrating the process for inputting the pixel data from the image sensor to the high speed processor. -
FIG. 10 is an enlarged view of a portion of the timing chart shown inFIG. 9 . -
FIG. 11 is a view showing an example of the game screen in the first stage displayed on the screen of the television monitor. -
FIG. 12 is a view showing another example of the game screen in the first stage displayed on the screen of the television monitor. -
FIG. 13 is a view showing an example of the game screen in the second stage displayed on the screen of the television monitor ofFIG. 1 . -
FIG. 14 is a view for explaining sprites constructing an object displayed on the screen. -
FIG. 15 is a view for explaining the background screen displayed on the screen of the television monitor ofFIG. 1 . -
FIG. 16A is a view for explaining the background screen before scrolled. -
FIG. 16B is a view for explaining the background screen after scrolled. -
FIG. 17 is a schematic representation of a program and data stored in RON ofFIG. 6 . -
FIG. 18A is a view showing an example of an image which is imaged by a general image sensor and is not applied any special process. -
FIG. 18B is a view showing an example of an image based on a result of level-discriminating the image ofFIG. 18A with a predetermined threshold value. -
FIG. 18C is a view showing an example of an image based on a result of level-discriminating an image which is obtained through the infrared filter while the infrared-emitting diodes emit infrared light. -
FIG. 18D is a view showing an example of an image based on a result of level-discriminating an image which is obtained through the infrared filter while the infrared-emitting diodes do not emit the infrared light. -
FIG. 18E is a view showing an example of an image based on a difference between the image with light emitted and the image without light emitted from the infrared-emitting diodes. -
FIG. 19 is a view for explaining coordinate calculation of the target point of the operation article. -
FIG. 20A is a view for explaining scanning process in X-axial direction when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value. -
FIG. 20B is a view for explaining the beginning of the scanning process in Y-axial direction when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value. -
FIG. 20C is a view for explaining the scanning process in Y-axial direction when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value. -
FIG. 20D is a view for explaining the result when the CPU calculates the coordinate of the target point of the operation article on the basis of the pixel having the maximum luminance value. -
FIG. 21 is a view for explaining the following object control process performed by the CPU. -
FIG. 22A is a view showing a relation between a value of the angle flag and the angle. -
FIG. 22B is a view showing a relation between a value of the direction flag and a sign indicating the direction. -
FIG. 22C is a view showing a relation among the angle flag, the direction flag and the movement direction information. -
FIG. 23 is a view showing a relation between the movement direction information ofFIG. 22C and a direction of the mermaid. -
FIG. 24 is a view showing a relation between the movement direction information A0 to A7 and the storage location information of the animation table. -
FIG. 25 is a view showing an example of the animation table designated by the storage location information ofFIG. 24 for animating the mermaid. -
FIG. 26 is a view for explaining the clash judging process performed by the CPU. -
FIG. 27 is a view for explaining overlapping patterns judged by the following object control process performed by the CPU. -
FIG. 28A is a view showing an example of a frame part of the power gauge shown inFIG. 11 toFIG. 13 . -
FIG. 28B is a view showing an example of elements constructing the bar of the power gauge. -
FIG. 29 is a flowchart showing the overall process flow of the game machine. -
FIG. 30 is a flowchart showing the process flow of the initial setting process of step S1 ofFIG. 29 . -
FIG. 31 is a flowchart showing the process flow of the sensor initial setting process of step S20 ofFIG. 30 . -
FIG. 32 is a flowchart showing the process flow of the command transmitting process of step S31 ofFIG. 31 . -
FIG. 33A is a timing chart of the register setting clock “CLK” ofFIG. 8 . -
FIG. 33B is a timing chart of the register Data ofFIG. 8 . -
FIG. 34 is a flowchart showing the process flow of the register setting process of step S33 ofFIG. 31 . -
FIG. 35 is a flowchart showing the process flow of the state information calculating process of step S4 ofFIG. 29 . -
FIG. 36 is a flowchart showing the process flow of the pixel data aggregation acquiring process of step S60 ofFIG. 35 . -
FIG. 37 is a flowchart showing the process flow of the pixel data acquiring process of step S71 ofFIG. 36 . -
FIG. 38 is a flowchart showing the process flow of the target point extracting process of step S61 ofFIG. 35 . -
FIG. 39 is a flowchart showing the process flow of the target point coordinate calculating process of step S95 ofFIG. 38 . -
FIG. 40 is a flowchart showing the process flow of the following object control process of step S8 ofFIG. 29 . -
FIG. 41 is a view showing an example of game screen in another embodiment. -
FIG. 42 is a view for explaining a clash judgment on the game screen ofFIG. 41 . -
FIG. 43 is a view for explaining a coordinate calculation when the cursor ofFIG. 41 clashes the wall. - In what follows, an embodiment of the present invention will be explained in conjunction with the accompanying drawings. Similar elements are given similar references throughout the respective drawings.
-
FIG. 1 is a view showing the overall configuration of a game system in accordance with the embodiment of the present invention. As illustrated inFIG. 1 , this game system includes agame apparatus 1, anoperation article 150, and atelevision monitor 90. - An
imaging unit 13 is installed in ahousing 19 of thegame apparatus 1. Theimaging unit 13 has four infrared-emittingdiodes 15 and aninfrared filter 17. Light emitting portions of the infrared-emittingdiodes 15 are exposed from theinfrared filter 17. - An
AC adapter 92 supplies the game apparatus I with direct current power voltage. However, instead of using theAC adaptor 92, thegame apparatus 1 can be supplied with the direct current power voltage from batteries (not shown) Ascreen 91 is provided on the front surface of thetelevision monitor 90. Thetelevision monitor 90 and thegame apparatus 1 are connected by an AV cable 93. For example, thegame apparatus 1 is set up on thetelevision monitor 90 as illustrated inFIG. 1 . - When a
player 94 turns on a power switch (not shown) provided on back of thegame apparatus 1, a game screen is displayed on thescreen 91. Theplayer 94 operates theoperation article 150 to move a cursor and a following object (hereinafter described) on the game screen, and proceeds with a game. Meanwhile, operating theoperation article 150 does not mean pushing switches or operating analog sticks but moving theoperation article 150 itself. - Each of the infrared-emitting
diodes 15 intermittently emits infrared-light. The infrared-light as emitted by the infrared-emittingdiodes 15 is reflected by reflecting sheets (hereinafter described) provided on theoperation article 150, and then the return light is input to a imaging device (hereinafter referred) placed behind theinfrared filter 17. In this way, theoperation article 150 is imaged intermittently. Therefore, thegame apparatus 1 can acquire intermittent image signals of theoperation article 150 moved by theplayer 94. Thegame apparatus 1 analyzes the image signals, and reflects the result to game process. The reflecting sheet used in this embodiment is, for example, a retroreflective sheet. -
FIG. 2 is a perspective view of theoperation article 150 ofFIG. 1 . As Illustrated inFIG. 2 , the operation article is provided with a reflectingball 151 fixed on the top of astick 152. The reflectingball 151 reflects the infrared-light emitted by infrared emittingdiodes 15. The reflectingball 151 will be described in detail. -
FIG. 3A is a top view of the reflectingball 151 ofFIG. 2 .FIG. 3B is a side view from the direction of an arrow A ofFIG. 3A .FIG. 3C is a side view from the direction of an arrow B ofFIG. 3A . - As illustrated in
FIG. 3A to 3C , the reflectingball 151 consists of a transparent (including translucent, colored transparent and colorless transparent) outerspherical shell 153 and an innerspherical shell 154, wherein the innerspherical shell 154 is secured inside of the outerspherical shell 153. Reflectingsheets 155 are provided on the surface of the innerspherical shell 154. These reflectingsheets 155 reflect the infrared-light coming from infrared-emittingdiodes 15. -
FIG. 4 is a vertical cross-sectional view of the reflectingball 151 ofFIG. 2 . As illustrated inFIG. 4 , the outerspherical shell 153 is formed by two outer semispherical shells fixed together bybosses 156 and screws (not shown). The innerspherical shell 154 is formed by two inner semispherical shells fixed together bybosses 157 inside of the outerspherical shell 153. Meanwhile, thestick 152 is set in and fixed with the reflectingball 151. More specifically, thestick 152 is nipped between two outer semispherical shells constructing the outerspherical shell 153 and also nipped between two inner semispherical shells constructing the innerspherical shell 154, then the outer semispherical shells are fixed by thebosses 156 and the screws, and then the inner semispherical shells are fixed by thebosses 157. -
FIG. 5 is a cross-sectional view of an example of theimaging unit 13 ofFIG. 1 . As shown inFIG. 5 , thisimaging unit 13 includes aunit base 35 which is, for example, formed of plastic, and a supportingcylindrical part 36 is attached inside of theunit base 35. In addition, an inverted-cone-shaped (or trumpet-shaped)aperture 41 is formed in the upper side of the supportingcylindrical part 36. An optical system including aconcave lens 39 and converginglens 37 is attached inside of the supportingcylindrical part 36 so that it is located under the inverted-cone-shapedaperture 41. For example, theconcave lens 39 and the converginglens 37 are formed of lucent plastic. Animage sensor 43 as an imaging device is firmly fixed under the converginglens 37. Therefore theimage sensor 43 can pick up an image in response to incident light passing through the concave lends 39 and the converging lends 37 from theaperture 41. - The
image sensor 43 is a low-resolution CMOS image sensor (for example, 32 pixels×32 pixels, gray scale). However, thisimage sensor 43 can be replaced by a higher resolution image sensor or other device such as CCD. In what follows, it is assumed that theimage sensor 43 consists of 32 pixels×32 pixels. Furthermore, theunit base 35 has several (4 in this embodiment) infrared-emittingdiodes 15 which flash upwardly. The upside of theimaging unit 13 is lighted by infrared-light from these infrared-emittingdiodes 15. Meanwhile, the infrared filter 17 (which transmits only infrared-light) is arranged in a manner to bring it cover theaperture 41. Moreover, as explained later, the infrared-emittingdiodes 15 repeat flash and un-flash alternately so that they can serve as a stroboscope. The term “stroboscope” is a generic term, which indicates an apparatus that intermittently irradiates light to a moving object. The above-mentionedimage sensor 43 can, therefore, image an article that moves within a scope of theimaging unit 13, or theoperation article 150 in this embodiment. Referring to after-mentionedFIG. 8 , the stroboscope consists of the infrared-emittingdiodes 15, aLED drive circuit 75 and ahigh speed processor 200. - The
imaging unit 13 is installed in thehousing 19 and its light receiving surface is inclined prescribed angle (for example, 90 degrees) from horizontal-plane. In addition the scope of theimage sensor 43 is a range of 60 degrees, which depends on theconcave lens 39 and the converging lends 37. -
FIG. 6 is a view showing the electrical structure of thegame apparatus 1 of FIG. 1. As shown inFIG. 6 , thegame apparatus 1 include theimage sensor 43, the infrared-emittingdiodes 15, a videosignal output terminal 47, an audiosignal output terminal 49, thehigh speed processor 200, a ROM (read only memory) 51 and abus 53. - The
high speed processor 200 is connected with thebus 53. Furthermore, thebus 53 is connected with theROM 51. Therefore, thehigh speed processor 200 can access theROM 51 via thebus 53 so that thehigh speed processor 200 can read a control program stored in theROM 51 and execute the control program. In addition, thehigh speed processor 200 reads image data and sound data stored in theROM 51 and processes them. Then, thehigh speed processor 200 generates a video signal and an audio signal, and outputs them to thevideo output terminal 47 and thesound output terminal 49. - The
operation article 150 is exposed to infrared-light coining from the infrared-emittingdiodes 15 and reflects the infrared-light by the reflectingsheets 155. The return light from reflectingsheets 155 is detected by theimage sensor 43, and then theimage sensor 43 outputs an analog image signal of the reflectingsheets 155. The analog image signal from theimage sensor 43 is converted into a digital image signal by an A/D converter (hereinafter referred) built in thehigh speed processor 200. The same process is also executed when the infrared-emittingdiodes 15 do not flash. Then thehigh speed processor 200 analyzes these digital image signals and reflects the result to game processing. -
FIG. 7 is a block diagram of thehigh speed processor 200 ofFIG. 6 . As shown inFIG. 7 , thishigh speed processor 200 includes a CPU (central processing unit) 201, agraphic processor 202, asound processor 203, a DMA (direct memory access)controller 204, a firstbus arbitrator circuit 205, a secondbus arbitrator circuit 206, aninner memory 207, an A/D converter (ADC: analog to digital converter) 208, an I/O (input and output)control circuit 209, atimer circuit 210, a DRAM (dynamic random access memory)refresh control circuit 211, an externalmemory interface circuit 212, aclock driver 213, a PLL (phase-locked loop)circuit 214, a lowvoltage detector circuit 215, afirst bus 218 and asecond bus 219. TheCPU 201 performs various operations and controls the overall system in accordance with a program stored in the memory (theinner memory 207, or the ROM 51). In addition, theCPU 201 is a bus master of thefirst bus 218 and thesecond bus 219, and able to access resources connected with the each bus. - The
graphic processor 202 is a bus master of thefirst bus 218 and thesecond bus 219. Thegraphic processor 202 generates a video signal on the basis of the data stored in theinner memory 207 orROM 51, and then output the video signal to the videosignal output terminal 47. Thegraphic processor 202 is controlled by theCPU 201 via thefirst bus 218. In addition, thegraphic processor 202 has the functionality of generating an interruptrequest signal 220 to theCPU 201. - The
sound processor 203 is a bus master of thefirst bus 218 and secondbus address bus 219. The sound processor generates an audio signal on the basis of the data stored in theinner memory 207 orROW 51, and then output the audio signal to the audiosignal output terminal 49. Thesound processor 203 is controlled by theCPU 201 trough thefirst bus 218. In addition, thesound processor 203 has the functionality of generating an interruptrequest signal 220 to theCPU 201. - The
DMA controller 204 controls data transfer from theROM 51 to theinner memory 207. Also, theDMA controller 204 has the functionality of outputting, to theCPU 201, an interrupt request signal 220 indicative of the completion of the data transfer. TheDMA controller 204 is a bus master of thefirst bus 218 andsecond bus 219. In addition, theDMA controller 204 is controlled by theCPU 201 via thefirst bus 218. - The
inner memory 207 may be implemented with appropriate one of a mask ROM, an SKAM (static random access memory) and a DRAM in accordance with the system requirements. If data in SRAH has to be kept by a battery, abattery 217 is provided. In the case where a DRAM is used, the so called refresh cycle is periodically performed to maintain the data contained therein. - The first
bus arbitrator circuit 205 accepts a first bus request signal from each bus master of thefirst bus 218, and performs arbitration, and then issues a first bus grant signal to each bus master. Each bus master is allowed to access the first bus after receiving the first bus grant signal. InFIG. 7 , the first bus request signal and the first bus grant signal are referred as first bus arbitration signals 222. - The second
bus arbitrator circuit 206 accepts a second bus request signal from each bus master of thesecond bus 219, and performs out arbitration, and then, issues a second bus grant signal to each bus master. Each bus master is allowed to access the second bus after receiving the second bus grant signal. InFIG. 7 , the second bus request signal and the second bus grant signal are referred as second bus arbitrator signals 223. - The input/
output control circuit 209 serves to perform input and output operations of input/output signals to enable the communication with external input/output device(s) and/or external semiconductor device(s). The read and write operations of input/output signals are performed by theCPU 201 through thefirst bus 218. Moreover, the Input/output control circuit 209 has the functionality of generating an interruptrequest signal 220 to theCPU 201. - A LED control signal “LEDC” which controls the infrared-emitting
diodes 15 is output from this I/O control circuit 209. - The
timer circuit 210 has the functionality of generating an interruptrequest signal 220 to theCPU 201 at time intervals as preset. The setting of thetimer circuit 210 such as the time interval is performed by theCPU 201 through thefirst bus 218. - The
ADC 208 converts an analog input signal into a digital signal. The digital signal is read by theCPU 201 via thefirst bus 218. Moreover, theADC 208 has the functionality of generating an interruptrequest signal 220 to theCPU 201. - This
ADC 208 receives analog pixel data from theimage sensor 43 and converts the analog pixel data into digital pixel data. - The
PLL circuit 214 generates a high frequency clock signal by multiplication of the sinusoidal signal as obtained from aquartz oscillator 216. - The
clock driver 213 amplifies the high frequency clock signal as received from thePLL circuit 214 to sufficient signal level to provide the clock signal to each function block. - The low
voltage detector circuit 215 monitors the power voltage “Vcc” of a system, and issues the reset signal 226 of thePLL circuit 214 and the reset signal 227 of entire system when the power voltage falls below a certain voltage. In addition, in the case where theinner memory 207 comprises an SRAM and needs to maintain data by the power supply from thebattery 217, thelow voltage detector 215 has the functionality of issuing a battery back-upcontrol signal 224 when the power voltage “Vcc” falls below the certain voltage. - The external
memory interface circuit 212 has the functionality of connecting thesecond bus 219 to theexternal bus 53 and issuing a buscycle completion signal 228 of thesecond bus 219 to control the length of the bus cycle of the second bus. - The DRAM refresh
cycle control circuit 211 periodically and unconditionally gets the ownership of thefirst bus 218 to perform the refresh cycle of the DRAM at certain intervals. Needless to say, the DRAM refreshcycle control circuit 211 is provided in case where theinner memory 207 includes a DRAM. - Hereafter, with reference to
FIG. 8 toFIG. 10 , a configuration for inputting the pixel data from theimage sensor 43 to thehigh speed processor 200 will be explained in detail. -
FIG. 8 is a circuit diagram showing the configuration for inputting the pixel data from theimage sensor 43 to thehigh speed processor 200 ofFIG. 6 , and a LED driver circuit.FIG. 9 is a timing chart illustrating the process for inputting the pixel data from theimage sensor 43 to thehigh speed processor 200.FIG. 10 is an enlarged view of a portion of the timing chart shown inFIG. 9 . - As shown in
FIG. 8 , pixel data D (X, Y) is input to the analog input port of thehigh speed processor 200 since theimage sensor 43 outputs the pixel data D (X, Y) as an analog signal. The analog input port is connected with theADC 208 in thishigh speed processor 200. Therefore, thehigh speed processor 200 obtains the pixel data converted into digital data. - The middle point of above-mentioned analog pixel data D (X, Y) is determined on the basis of reference voltage applied to a reference voltage terminal “Vref” of the
image sensor 43. Therefore, a referencevoltage generating circuit 59 comprising a voltage dividing circuit is provided, and thiscircuit 59 constantly applies the reference voltage to the reference voltage terminal “Verf”. - Each digital signal to control the
image sensor 43 is input to the Input/output ports of thehigh speed processor 200, and also output from the Input/output ports. Each input/output port is a digital port operable to control input and output operation, and connected with the input/output control circuit 209 of thehigh speed processor 200. - More specifically, a reset signal “reset” to reset the
image sensor 43 is output from the input/output port of thehigh speed processor 200, and transmitted to theimage sensor 43. A pixel data strobe signal “PDS” and a frame status flag signal “FSF” are output from theimage sensor 43 to the input/output ports of thehigh speed processor 200. - As shown in
FIG. 9 , the pixel data strobe signal “PDS” is a strobe signal to read above-mentioned each pixel data D (X, Y) from theimage sensor 43. The frame status flag signal “FSF” indicates a state of theimage sensor 43, and as shown inFIG. 9 , it determines an exposure period of theimage sensor 43. In other words, a low-level period of the frame status flag signal “FSF” as illustrated inFIG. 9 shows the exposure period, and a high-level period shows an unexposure period. - In addition, the
high speed processor 200 outputs a command (or a command and data) as register data to be set to a control register (not shown) of theimage sensor 43 via the input/output ports. Furthermore, thehigh speed processor 200 outputs a register setting clock “CLK” which repeats a low-level period and a high-level period alternately. The register data and the register setting clock “CLK” are sent to theimage sensor 43. - As shown in
FIG. 8 , the four infrared-emittingdiodes 15 are connected in parallel. As hereinbefore referred, these infrared-emittingdiodes 15 are arranged so as to encompass theimage sensor 43 and emit infrared-light to the direction same as a viewpoint direction of theimage sensor 43 to irradiate theoperation article 150 with the infrared-light. - These infrared-emitting
diodes 15 are turned on or turned off by theLED driver circuit 75. TheLED driver circuit 75 receives the above-mentioned frame status flag signal “FSF”, and then, the signal “FSF” is applied to a base terminal of aPNP transistor 77 via adifferentiation circuit 67 consisting of aresistor 69 and a capacitor 71. In addition, the base terminal of thePNP transistor 77 is connected with a pull-upresistor 79, and is normally pulled up to high level. When the frame status flag signal “FSF” becomes low level, the low-level signal “FSF” is input to the base terminal via thedifferentiation circuit 67. Therefore, thePNP transistor 77 is-turned on only when the level of the flag signal “FSF” is low. - An emitter terminal of the
PNP transistor 77 is grounded viaresistors emitter resistances NPN transistor 81. A collector terminal of thisNPN transistor 81 is connected to anodes of the infrared-emittingdiodes 15 in common. An emitter terminal of theNPN transistor 81 is connected to a base terminal of aNPN transistor 61 directly. Moreover, a collector terminal of theNPN transistor 61 is connected to cathodes of the infrared-emittingdiodes 15 in common. An emitter terminal of theNPN transistor 61 is grounded. - This
LED driver circuit 75 turns on the infrared-emittingdiodes 15 only when the LED control signal “LEDC” which is output from the input/output port of thehigh speed processor 200 is active (high-level) and also the level of the frame status flag signal “FSF” from theimage sensor 43 is low. - As shown in
FIG. 9 , theFNP transistor 77 is turned on while the level of the frame status flag signal “FSF” is low (there is actually a time-lag caused by a time constant of the differentiation circuit 67). Therefore, when the LED control signal “LEDC” illustrated inFIG. 9 is set to a high level by thehigh speed processor 200, the electric potential at the base terminal of theNPN transistor 81 becomes a high level. As a result, thistransistor 81 is turned on. Then, when thetransistor 81 is turned on, thetransistor 61 is also turned on. Therefore, a current passes through each infrared-emittingdiodes 15 and thetransistor 61 from a power supply (described as a small circle inFIG. 8 ), and consequently the infrared-emittingdiodes 15 flash as described inFIG. 9 . - The
LED driver circuit 75 turns on the infrared-emittingdiodes 15 only while the LED control signal “LEDC” illustrated inFIG. 9 is active, and also the level of the frame status flag signal “FSF” is low. This means that the infrared-emittingdiodes 15 flash only during the exposure period of the image sensor 43 (seeFIG. 9 ). - Therefore, it is possible to restrain unnecessary power consumption. Besides, if the flag signal “FSF” retains its low-level because of overrun of the
image sensor 43, thetransistor 77 will be turned off after a predefined period and also the infrared-emittingdiodes 15 will be turned off after the predefined period because the frame status flag signal “FSF” is coupled by the capacitor 71. - As described above, it is possible to set and change the exposure period of the
image sensor 43 arbitrarily and freely by controlling the flame status signal “FSF”. - In addition, it is possible to set and change a light emitting cycle (or the flash period and the unflash period) of the infrared-emitting diodes 15 (or the stroboscope) arbitrarily and freely by controlling the frame status flag signal “FSF” and/or the LED control signal “LEDC”.
- As already mentioned, when the
operation article 150 is irradiated the infrared-light from the infrared-emittingdiodes 15, theimage sensor 43 is exposed to the return light from theoperation article 150. Accordingly, in response to it, the above-mentioned pixel data D (X, Y) is output from theimage sensor 43. More specifically, as shownFIG. 9 , when the level of the frame status flag signal “FSF” is high (the unflash period of the infrared-emitting diodes 15), theimage sensor 43 outputs the analog pixel data D (X, Y) in synchronization with the pixel data strobe “PDS”. - The
high speed processor 200 obtains the digital pixel data front theADC 208 while monitoring the frame status flag signal “FSF” and the pixel data strobe “PDS”. - As shown in
FIG. 10 , the pixel data D (X, Y) is output sequentially in order of row, for example, the zeroth row, the first row, . . . and the thirty first row. As hereinafter referred, the first one pixel of each row is dummy data. - In what follows, contents of the game served by the
game apparatus 1 will be explained with reference to examples.FIG. 11 is a view showing an example of the game screen in the first stage displayed on thescreen 91 of thetelevision monitor 90. As illustrated inFIG. 11 , the game screen includes abackground 120, acursor 111, a followingobject 112, obstacle objects 104 to 160, apower gauge 131, and masks 101 and 102. Thebackground 120 includesobstacle images 113 to 115. Thepower gauge 131 includes abar 103. Meanwhile, since the followingobject 112 is a mermaid-shaped figure, it may be called merely “mermaid 112”. The obstacle objects 104 to 106 and after-mentioned obstacle objects might be sometimes collectively referred to as the obstacle object(s) “P”. Theobstacle images 113 to 115 and after-mentioned obstacle images might be sometimes collectively referred to as the obstacle image(s) “Q”. - The
power gauge 131 shows the power of themermaid 112. At the beginning, thebar 103 is the longest, which means the power is full. Thebar 103 is getting shorter as time passes (getting less power), and when thebar 103 reaches “0” (running out of power), the game is over. Thebar 103 is getting shorter from the longest to “0” at a constant speed as a general rule. In other words, themermaid 112 is losing its power at the constant speed as the genera rule. - The
background 120 is scrolled to the left direction. Needless to say, theobstacle images 113 to 115 which are parts of thebackground 120 are also scrolled to the left direction. On the other hand, each of the obstacle objects 104 to 105 is formed by a single or several sprite(s). The obstacle objects appear from the right side on the screen 91 (the side of the mask 102), and then move to the left side on the screen 93. (the side of the mask 101) and vanish. The sprite(s) will be explained later. - The
cursor 111 indicates a location of theoperation article 150 on thescreen 91, and moves on thescreen 91 in conjunction with movement of theoperation article 150. Therefore, operating theoperation article 150 is same as operating the cursor ill for theplayer 94. Themermaid 112 follows the motion of the cursor 111 (indirectly the motion of the operation article 150). Theplayer 94 moves themermaid 112 by theoperation article 150 trying to avoid the obstacle objects 104 to 106 and theobstacle images 113 to 115 to reach goal before running out of the power (before the length of thebar 103 becomes “0”). - If the
mermaid 112 clashes the obstacle objects 104 to 106 or theobstacle images 113 to 115, thebar 103 of thepower gauge 131 becomes shorter for a predetermined length independently of the before-mentioned constant speed, which means the power of the mermaid decreases drastically. It is possible to set not to decrease the power ofmermaid 112 drastically when themermaid 112 encounters another clash after predetermined period from the clash with the obstacle objects 104 to 106 or theobstacle images 113 to 115. -
FIG. 12 is a view showing another example of the game screen in the first stage displayed on thescreen 91 of thetelevision monitor 90. As illustrated inFIG. 12 , this game screen contains abackground 120, thecursor 111, themermaid 112, obstacle objects 107 to 109, thepower gauge 131, anitem 110, and masks 101 and 102. Thebackground 120 includesobstacle images - If the
player 94 operates themermaid 112 by theoperation article 150 to move to a predefined area including theitem 110, thebar 103 of thepower gauge 131 becomes longer for a predetermined length. In other words, in this case, since the power of themermaid 112 increases, it is advantageous for theplayer 94. The obstacle objects 107 to 109 and theobstacle images obstacle images 113 to 115. -
FIG. 13 is a view showing an example of the game screen in the second stage displayed on thescreen 91 of thetelevision monitor 90 ofFIG. 1 . As illustrated inFIG. 13 , this game screen includes abackground 120, thecursor 111, themermaid 112, obstacle objects 121 to 125, thepower gauge 131, and anitem 126. - Each of the obstacle objects 121 to 125 and the
item 126 are formed by a single or several sprite(s). The objects and the item appear from the top of thescreen 91, and descend, and then vanish into the bottom of thescreen 91. Thebackground 120 is not scrolled in the second stage. - The
player 94 operates themermaid 112 by theoperation article 150 to avoid the obstacle objects 121 to 125. When themermaid 112 clashes with one of the obstacle objects 121 to 125, thebar 103 of thepower gauge 131 becomes shorter for a certain length. In other words, the power of themermaid 112 decreases. Theitem 126 is similar to theitem 110 shown inFIG. 12 . - Generally, series of images are provided for animation. Series of images of the
mermaid 112 are provided for animating themermaid 112. In addition, series of images of the obstacle object are also provided for animating the obstacle object “P”. In this specification, each image for animating is called “segment”. - As mentioned above, the
mermaid 112, the obstacle objects 104 to 109 and 121 to 125, theitems power gauge 131 are formed respectively by a single or several sprite(s). One sprite comprises a set of pixel of which shape is oblong. Incidentally, the sprite can be arranged at any arbitrary position on thescreen 91. Themermaid 112, the obstacle objects 104 to 109 and 121 to 125, theitem power gauge 131 are sometimes collectively called an object(s) (or an object image(s)) -
FIG. 14 is a view for explaining sprites constructing an object displayed on thescreen 91. For example, as illustrated inFIG. 14 , themermaid 112 shown inFIG. 11 is composed of six sprites sp0 to sp5. For example, each sprite SP0 to SP5 consists of 16 (width)×16 (height) pixels. For example, when themermaid 112 is arranged on thescreen 91, a coordinate where the center of the upper left sprite sp0 is arranged is designated. Coordinates where each center of sprites SP1 to SP5 should be arranged are calculated on the basis of the designated coordinate and the size of each sprite SP0 to SP5. - Next, the scrolling of the
background 120 will be explained. First, a background screen will be explained. -
FIG. 15 is a view for explaining the background screen displayed on thescreen 91 of thetelevision monitor 90 ofFIG. 1 . For example, as illustrated inFIG. 15 , thebackground screen 140 is formed by 32×32 blocks “0” to “1023”. For example, each block “0” to “1023” is a square element consisting of 8×8 pixels. Array PA[0] to PA[1023] and array CA[0] to CA[1023] corresponding to the blocks “0” to “1023” are provided. The blocks “0” to “1023” are sometimes collectively called “block(s)”, the array PA[0] to PA[1023] are sometimes collectively called “array PA”, and the array CA[0] to CA[1023] are sometimes collectively called “array CA”. - Storage location information of pixel pattern data (or data designating a pixel pattern) of each block is assigned to corresponding array PA. The pixel pattern data consists of color information of each pixel constructing the block. Incidentally, color palette information (or information designating a color palette) and a depth value of each block are assigned to corresponding array CA. The color palette consists of a certain number of color information items. The depth value indicates a depth position of a pixel, and if a plurality of pixels overlap each other, only the pixel having the largest depth value is displayed.
-
FIG. 16A is a view for explaining thebackground screen 140 before scrolled.FIG. 16B is a view for explaining thebackground screen 140 after scrolled. As illustrated inFIG. 16A , since the size of thescreen 91 is 256 pixels(width)×224 pixels(height), the area of 256 pixels×224 pixels of thebackground screen 140 is displayed on thescreen 91. It is assumed that thebackground screen 140 is scrolled leftwards so as to move the center of thebackground screen 140 for k pixels. As a result, since the width of thebackground screen 140 is same as the width of thescreen 91 of thetelevision monitor 91, as shown inFIG. 16B , a part (a shaded area) of thebackground screen 140 which has moved outside of thescreen 91 is displayed on the right side of thescreen 91. - In other words, in case where the
background screen 140 is scrolled horizontally, it is considered conceptually that the plurality of sane background screens 140 are lined up sideways. - For example, it is assumed that the part (the shaded area) of the
background screen 140 which has moved outside of thescreen 91 consists of the blocks “64”, “96”, . . . “896”, “928”. The image designated by the array PA[64], PA[96], . . . , PA[896], PA[928] and CA[64], CA[96], . . . , CA[896], CA[928] corresponding to those blocks is displayed on the right side of thescreen 91. Therefore, in order that the background successively appears by scrolling thebackground screen 140 to the left, data assigned to the arrays PA and CA corresponding to the blocks in the part (shaded area) of thebackground screen 140 which has moved outside of thescreen 91 needs to be updated. As a result, the image indicated by the updated arrays PA and CA is displayed on the right side of thescreen 91. - In order to display the background successively and smoothly, data stored in relevant arrays PA and CA needs to be updated before a part corresponding to the relevant arrays PA and CA is displayed on the right side of the
screen 91. Since the data stored in the relevant arrays PA and CA needs to be updated when the part corresponding to the relevant arrays PA and CA is still being displayed on the left side of thescreen 91, display becomes discontinuous on the left side of thescreen 91. However, as shown inFIG. 11 andFIG. 12 , this shortcoming can be avoided by adding themask 101 on the left side of thescreen 91. Incidentally, in this embodiment, thebackground screen 140 is not scrolled to the right. However, themask 102 is also provided on the right side for balance. - In this way, the
background 120 is scrolled by scrolling thebackground screen 140. -
FIG. 17 is a schematic representation of a program and data stored inROM 51 ofFIG. 6 . As illustrated inFIG. 17 , theROM 51 stores agame program 300,image data 301, andsound data 304. Theimage data 302 includes object image data (including themermaid 112, the obstacle objects 104 to 109 and 121 to 125, theitems background image data 303. Thesound data 304 includesmusical score data 305 and wave data (or sound source data) 306. Thehigh speed processor 200 executes thegame program 300 stored in theRON 51 and uses theimage data 301 and thesound data 304. - Next, main process which the
high speed processor 200 executes will be explained. - [Pixel Data Aggregation Acquiring Process]
- The
CPU 201 obtains the digital pixel data converted from the analog pixel data D (X, Y) output from theimage sensor 43, and then assigns it to an array P [X] [Y]. TheCPU 201 assigns conclusively all digital pixel data to array P[X][Y]. Horizontal direction of theimage sensor 43 is defined as X-axis, and vertical direction of theimage sensor 43 is defined as Y-axis. - [Differential Data Calculating Process]
- The
CPU 201 calculates a difference between pixel data P [X] [Y] with and without light emitted from the infrared-emittingdiodes 15, and then assigns it to an array Dif[X][Y]. TheCPU 201 assigns conclusively all differences to the array Dif[X)[Y]. Next, effects from calculating the difference will be explained with reference to drawings. In this embodiment, the pixel data indicates luminance. Therefore, the difference (or differential data) also indicates luminance. -
FIG. 18A is a view showing an example of an image which is imaged by a general image sensor and is not applied any special process.FIG. 18B is a view showing an example of an image when the image ofFIG. 18A is level-discriminated with a predetermined threshold value.FIG. 18C is a view showing an example of an image when an image which is obtained through theinfrared filter 17 while the infrared-emittingdiodes 15 emit infrared light is level-discriminated with a predetermined threshold.FIG. 18D is a view showing an example of an image when an image which is obtained through theinfrared filter 17 while the infrared-emittingdiodes 15 do not emit the infrared light is level-discriminated with the predetermined threshold.FIG. 18E is a view showing an example of an image based on a difference between the image with light emitted (shown inFIG. 18C ) and the image without light emitted (shown inFIG. 18D ) from the infrared-emittingdiodes 15. - The image shown in
FIG. 18A should be displayed in gray scale, but it is omitted to do so for convenience. - In the
FIG. 18A toFIG. 18E , the reflectingsheets 155 of theoperation article 150 are imaged by theimage sensor 43. As illustrated inFIG. 18A , when the general image sensor (corresponding to theimage sensor 43 ofFIG. 5 ) captures theoperation article 150 by means of a stroboscope under a general light source in a general condition room, the general image sensor captures not only theoperation article 150 but also all other things in the room and light sources such as a fluorescent lamp, an incandescent lamp (not shown), and sunlight (a window). As illustrated inFIG. 18B , it is possible to cut out an image(s) having lower luminance than predetermined luminance by level-discrimination. However, the image shown inFIG. 18B still includes high luminance images such as the light sources. - As shown in
FIG. 5 , by using theinfrared filter 17, only the infrared-light falls on theimage sensor 43. As a result, as shown inFIG. 18C , it is possible to cut out the fluorescent lamp which has little infrared-light. However, the image shown inFIG. 18C still includes the sunlight (the window) and the incandescent lamp (not shown). Because of this, theCPU 201 calculates the difference between the image (shown inFIG. 18C ) with light emitted and the image (shown inFIG. 18D ) without light emitted from the infrared-emittingdiodes 15. As a result of the calculation, the image as shown inFIG. 18E is acquired. Comparing to the image ofFIG. 18A , it is obvious that the image shown inFIG. 18E based on the differential data calculating process includes only the image of theoperation article 150. - Because of above-mentioned reasons, the
CPU 201 acquires the differential data between the pixel data with and without light emitted from the infrared-emittingdiodes 15. - [Target Point Extracting Process]
-
FIG. 19 is a view for explaining coordinate calculation of the target point of theoperation article 150. Theimage sensor 43 ofFIG. 19 consists of 32 pixels×32 pixels. - As illustrated in
FIG. 19 , theCPU 201 scans the differential data for 32 pixels in the direction of X-axis (horizontal direction), and then theCPU 201 increments the Y-coordinate. In this way, theCPU 201 scans the differential data for 32×32 pixels while updating the Y-coordinate. - In this case, the
CPU 201 searches the differential data having the maximum luminance value, and then compares the maximum luminance value to a predefined threshold value “Th”. If the maximum luminance value is larger than the predefined threshold value “Th”, theCPU 201 calculates the coordinate of the target point of theoperation article 150 on the basis of the pixel having the maximum luminance value. This will be explained in detail. -
FIG. 20A is a view for explaining scanning process in X-axial direction when theCPU 201 calculates the coordinate of the target point of the operation article 130 on the basis of the pixel having the maximum luminance value.FIG. 20B is a view for explaining the beginning of the scanning process in Y-axial direction when theCPU 201 calculates the coordinate of the target point of theoperation article 150 on the basis of the pixel having the maximum luminance value,FIG. 20C is a view for explaining the scanning process in Y-axial direction when theCPU 201 calculates the coordinate of the target point of theoperation article 150 on the basis of the pixel having the maximum luminance value.FIG. 20D is a view for explaining the result when theCPU 201 calculates the coordinate of the target point of theoperation article 150 on the basis of the pixel having the maximum luminance value. - As illustrated in
FIG. 20A , theCPU 201 detects a pixel having a luminance value which is larger than the predetermined threshold value “Th” by scanning the differential data in X-axial direction on the basis of the pixel having the maximum luminance value. In this example ofFIG. 20A , the pixels from X=11 to X=15 exceed the threshold value “Th”. - Next, as illustrated in
FIG. 20B , theCPU 201 derives a center pixel of the pixels from X=11 to 15. The X-coordinate of the center pixel is Xc=13. - Next, as illustrated in
FIG. 20C , theCPU 201 detects a pixel having a luminance value which is larger than the predetermined threshold value “Th” by scanning the differential data in Y-axial direction on the basis of the X-coordinate (=13) derived inFIG. 20B . In this example ofFIG. 20C , the pixels from Y=5 to Y=10 exceed the threshold value “Th”. - Next, as illustrated in
FIG. 20D , theCPU 201 derives a center pixel of the pixels from Y=5 to Y=10. The Y-coordinate of the center pixel is Yc=7. - The
CPU 201 assigns the coordinate Xc (=13) of the target point to PX[M], and the coordinate Yc (=7) to PY[M]. Then, theCPU 201 calculates a moving average (AX, AY) of the target point (Xc, Yc). In addition, theCPU 201 converts the moving average (AX, AY) of the target point on theimage sensor 43 into a coordinate (xc, yc) on thescreen 91. Then, theCPU 201 assigns the coordinate xc to an array Ax[M], and the coordinate yc to an array Ay[M]. TheCPU 201 executes the aforesaid process to acquire the coordinate (Ax[M], Ay[M]) of the target point every time a video frame is updated. For example, an origin of coordinates on thescreen 91 is a center of thescreen 91. - The
CPU 201, for example, calculates the moving average for (n+1) video frames using following formulas. “n” is a natural number (for example, “3”). -
AX=(PX[M]+PX[M−1]+ . . . +PX[M−n])/(n+1) (1) -
AY=(PY[M]+PY[M−1]+ . . . +PY(M−n])/(n+1) (2) - Incidentally, the “M” is an integral number, and it is incremented every time the video frame is updated.
- [Background Control Process]
- At the first stage of the game (refer to
FIG. 11 andFIG. 12 ), theCPU 201 changes the center location of thebackground screen 140 at predetermined speed (refer toFIG. 16A andFIG. 16B ), and registers a coordinate of the center location after changed. In this case, theCPU 201 updates data stored in the relevant array PA and the array CA. In this way, theCPU 201 performs the scroll control of thebackground 120. Incidentally, at the second stage of the game (refer toFIG. 13 ), theCPU 201 changes a part of orwhole background 120 by updating data stored in the array PA and the array CA in accordance with thegame program 300. - [Automatic Object Control Process]
- The
CPU 201 calculates and registers coordinates of the obstacle objects “P” and theitems CPU 201 performs coordinate calculation so that the obstacle objects “P” and theitems CPU 201 registers storage location information of an animation table for the obstacle objects and theitems mermaid 112. - [Cursor Control Process]
- The
CPU 201 registers the coordinate (Ax[M], Ay[M]) of the target point of theoperation article 150 as a coordinate of thecursor 111 to be displayed in the next video frame (stores in the inner memory 207). Moreover, theCPU 201 registers storage location information of an animation table for thecursor 111. This animation table is similar to the after-mentioned animation table for themermaid 112. - [Following Object Control Process]
- The
CPU 201 makes themermaid 112 follow thecursor 111. In this case, theCPU 201 makes themermaid 112 move at the first accelerated velocity. The first accelerated velocity is set to a larger value if a distance between thecursor 111 and themermaid 112 is long, and if the distance is short, the first accelerated velocity is set to a smaller value. Incidentally, a direction of the first accelerated velocity is positive direction. The positive direction indicates a direction of movement of themermaid 112. In addition, theCPU 201 makes themermaid 112 move at the second accelerated velocity. The second accelerated velocity is set a larger value if a velocity of themermaid 112 is large, and if the velocity of themermaid 112 is small, the accelerated velocity is set a smaller value. Incidentally, a direction of the second accelerated velocity is negative direction. The negative direction indicates an opposite direction of movement of themermaid 112. In this way, it is possible to display themermaid 112 as if themermaid 112 were moving in the water. This point will be explained in detail with reference to examples. -
FIG. 21 is a view for explaining the following object control process performed by theCPU 201. For example, theCPU 201 calculates a current coordinate (xm[M], ym[M]) of themermaid 112 using following formulas. -
xm[M]=xm[M−1]+Vxm[M−1]x(1−k)+Bx[M] (3) -
ym[M]=ym[M−1]+Vym[M−1]x(1−k)+By[M] (4) -
Vxm[M−1)=xm[M−1]−xm[M−2] (5) -
Vym[M−1]=ym[M−1]−ym[M−2] (6) -
Bx[M]=Lx[M]xB0 (7) -
By[M]=Ly[M]xB0 (8) -
Lx[M]=Ax[M]−xm[M−1] (9) -
Ly[M]=Ay[M]−ym[M−1] (10) - As illustrated in
FIG. 21 , the formula (3) to formula (10) use the previous Coordinate (xm[M−1], ym[M−1]) of themermaid 112, the previous velocity vector (Vxm[M−1], Vym[M−1]) of themermaid 112, the current acceleration vector (Bx[M], By[M]) of themermaid 112, the coordinate (xm[M−2], ym[M−2]) which is the coordinate before the previous coordinate of themermaid 112, the constant number k (k<1) indicating a resistance of water, and the constant number B0 for adjusting the accelerated velocity of themermaid 112. When the resistance of water is needed to be high, it is possible to set a large value to the constant number k, and when the resistance of water is needed to be low, it is possible to set a small value to the constant number k. In addition, the acceleration value (Bx[M], By[M]) of themermaid 112 is proportional to the distance (Lx[M],Ly[M]) between a current location of thecursor 111 and a previous location of themermaid 112. It is possible to set an arbitrary value to the constant number k and the constant number B0. For example, it is possible to determine from one's own experiences. - Moreover, the
CPU 201 calculates a current velocity vector (Vxm[M], Vym[M]) of themermaid 112 using following formulas. -
Vxm[M]=xm[M]−xm[M−1] (11) -
Vym[M]=ym[M)−ym[M−1] (12) - Furthermore, the
CPU 201 calculates an x-direction movement distance “m×” and a y-direction movement distance “my” of themermaid 112. The x-direction movement distance “m×” is an absolute value of the x component Vxm[M], and the y-direction movement distance “my” is an absolute value of an y component Vym[M]. - The
CPU 201 controls not only a location of themermaid 112 in above-mentioned way, but also controls animation of themermaid 112. This will be explained in detail. - The
CPU 201 determines which is larger between the x-direction movement distance “m×” of themermaid 112 and a predetermined value “xr”. Additionally, theCPU 201 determines which is larger between the y-direction movement distance “my” of themermaid 112 and a predetermined value “yr”. As a result, whenCPU 201 determines that the x-direction movement distance “m×” is larger than the predetermined value “xr” and also the y-direction movement distance “my” is smaller than the predetermined value “yr”, theCPU 201 sets an angle flag to a corresponding value so as to move themermaid 112 horizontally. - Contrary, when the
CPU 201 determines that the x-direction movement distance “m×” is smaller than the predetermined value “xr” and also the y-direction movement distance “my” is larger than the predetermined value “yr”, theCPU 201 sets the angle flag to a corresponding value so as to move themermaid 112 vertically. Moreover, when theCPU 201 determines that the x-direction movement distance “m×” is larger than the predetermined value “xr” and the y-direction movement distance “my” is also larger than the predetermined value “yr”, theCPU 201 sets the angle flag to a corresponding value so as to move themermaid 112 obliquely. - Additionally, the
CPU 201 refers to the sign of the velocity vector (Vxm[M],Vym[M]) of themermaid 112, and sets corresponding values to an x-direction flag and a y-direction flag. The x-direction flag and the y-direction flag might be sometimes co) lectively referred to as a direction flag(s). - Then, the
CPU 201 determines movement direction information of themermaid 112 in accordance with values of the angle flag, the x-direction flag and the y-direction flag. The movement direction information of themermaid 112 indicates a direction of a movement of themermaid 112. TheCPU 201 determines a direction of themermaid 112 with reference to the movement direction information. This will be explained in detail. -
FIG. 22A is a view showing a relation between a value of the angle flag and the angle.FIG. 22B is a view showing a relation between a value of the direction flag and a sign indicating the direction.FIG. 22C is a view showing a relation among the angle flag, the direction flag and the movement direction information. As mentioned above, theCPU 201 judges the magnitude among the movement distances “m×” and “my” and the predetermined values “xr” and “yr”. Then, as shown inFIG. 22A , theCPU 201 sets the angle flag. - In addition, the
CPU 201 refers to the sign of the velocity vector (Vxm[M),vym[M]) of themermaid 112. Then, as shown inFIG. 22B , theCPU 201 sets the x-direction flag and y-direction flag. - Moreover, as illustrated in
FIG. 22C , theCPU 201 determines the movement direction information of themermaid 112 in accordance with values of the angle flag, the x-direction flag, and the y-direction flag. -
FIG. 23 is a view showing a relation between the movement direction information ofFIG. 22C and a movement direction of themermaid 112. As illustrated inFIG. 22 andFIG. 23 , the movement direction information A0 indicates to move themermaid 112 horizontally in positive direction (rightward) of x-axis. The movement direction information A0 indicates to move themermaid 112 horizontally in negative direction (leftward) of x-axis. The movement direction information A2 indicates to move themermaid 112 vertically in positive direction (upward) of y-axis. The movement direction information A3 indicates to move themermaid 112 vertically in negative direction (downward) of y-axis. The movement direction information A4 indicates to move themermaid 112 obliquely to upper right. The movement direction information A5 indicates to move themermaid 112 obliquely to lower right. The movement direction information A6 indicates to move themermaid 112 obliquely to upper left. The movement direction information A7 indicates to move themermaid 112 obliquely to lower left. - The
CPU 201 registers storage location information of the animation table associated with thus acquired movement direction information A0 to A7 (mermaid animation registration). The animation table includes various information to animate themermaid 112. -
FIG. 24 is a view showing a relation between the movement direction information A0 to A7 and the storage location information of the animation table. As illustrated inFIG. 24 , for example, the movement direction information A0 is associated with the storage location information “address0” of the animation table. The storage location information of the animation table is start address information of an area storing the animation table. -
FIG. 25 is a view showing an example of the animation table designated by the storage location information ofFIG. 24 for animating themermaid 112. As illustrated inFIG. 25 , the animation table is a table wherein storage location information of animation image data, segment number, duration information, next segment information, object size information (or segment size information), color palette information, depth value, and sprite size information are associated with each other. - Animation consists of a plurality of segment which are arranged in time series. Therefore, the animation image data consists of segment image data set. Each segment image data consists of object data which expresses the
mermaid 112. Each object data expresses different types ofmermaid 112. - In addition, the object data is pixel pattern data. The pixel pattern data and the depth value are related to the sprites constructing the object (or the mermaid 112). Meanwhile, they are similar to the ones of the block of
FIG. 15 . The segment number is a number assigned to each segment. The duration information indicates how many frames the same segment (or the same object) should be successively displayed. The next segment information designates the number of the segment (or the object) which should be displayed next after the current object is displayed according to the duration information. For example, the next segment information “next” indicates that the segment of the number “2” must be displayed after displaying the segment of the number “1” during one frame (the duration information). In addition, for example, the next segment information “top” indicates that the segment of the initial number “1” must be displayed after displaying the segment of the number “15” during one frame (the duration information) - The animation table of
FIG. 25 is used for animating themermaid 112. Therefore, for example, since the movement direction information A0 ofFIG. 24 indicates to move themermaid 112 horizontally in positive direction, the storage location information “ad0” which is contained in the animation table indicated by the storage location information “address0” corresponding to the movement direction information A0 designates the storage location of the animation image data expressing themermaid 112 which is heading horizontally in positive direction. - In this way, the
CPU 201 registers the storage location information “address0” to “address7” of the animation table corresponding to the movement direction information A0 to A7 of themermaid 112. In addition, the movement direction information A0 to A7 are based on the coordinate (Ax[M],Ay[M]) of the target point of the operation article 150 (refer to the formulas (9) and (10)). As a result, an animation of themermaid 112 which is heading movement direction of the operation article 150 (the cursor 111) is performed. - In addition, the
CPU 201 judges whether or not themermaid 112 clashes the obstacle objects “P” or the obstacle images “Q”. When themermaid 112 clashes either of them, theCPU 201 restricts the motion of themermaid 112, and turns a clash flag on. This will be explained in detail. -
FIG. 26 is a view for explaining the clash judging process performed by theCPU 201. As illustrated inFIG. 26 , themermaid 112, the obstacle object “P”, and the obstacle image “Q” are simplified by using a single rectangle or several rectangles. Then, theCPU 201 judges whether or not themermaid 112 clashes any of all obstacle objects “P” and obstacle images “Q” displayed on the screen. The rectangle constructing themermaid 112 is called “mermaid rectangle” and the rectangle constructing the obstacle object “P” or the obstacle image “Q” is called “obstacle rectangle”. The clash judgment will be described in detail. - The
CPU 201 determines whether or not the mermaid rectangle and the obstacle rectangle overlap each other using each vertex coordinate of the mermaid rectangle and each vertex coordinate of each obstacle rectangle. When the mermaid rectangle overlaps any of the obstacle rectangles, thecpu 201 determines that themermaid 112 clashes the obstacle object “P” having the overlapping obstacle rectangle, or the obstacle image “Q” having the overlapping obstacle rectangle, and turns the clash flag on. -
FIG. 27 is a view for explaining overlapping patterns judged by the following object control process performed by theCPU 201. As illustrated inFIG. 27 , there are 14 overlapping patterns of the mermaid rectangle “rcm” and the obstacle rectangle “rco”. In the clash judging process, when a relation between the mermaid rectangle “rcm” and the obstacle rectangle “rco” corresponds to one of the overlapping patterns, theCPU 201 determines that themermaid 112 clashes the obstacle object “P” or the obstacle image. - The
mermaid 112 and all obstacle objects “P” and all obstacle images “Q” being displayed are applied this process. - [Power Gauge Control Process]
-
FIG. 28A is a view showing an example of a frame part of thepower gauge 131 shown inFIG. 11 toFIG. 13 .FIG. 28B is a view showing an example of elements constructing thebar 103 of thepower gauge 131. As illustrated inFIG. 28A , a size of the frame part is 8 pixels×56 pixels. Also, the frame part consists of 7 sprites each of which consists of 8×8 pixels. - As illustrated in
FIG. 28B , sprites P0 to P7 each of which consists of 8×8 pixels are provided in order to display thebar 103. InFIG. 28B , for example, the shaded area is red, and the other area is white. TheCPU 201 selects a single sprite or several sprites out of sprites P0 to P7 in order to shorten thebar 103 at predetermined speed and display the selected sprite(s) within the frame part of thepower gauge 131. - For example, the
CPU 201displays 7 sprites P7 within the frame part to make thebar 103 longest at the beginning of the game. Then, after a predetermined period “t” from the start of the game, theCPU 201 displays the sprite P6 instead of the rightmost sprite P7. Furthermore, after further predetermined period “t”, theCPU 201 displays the sprite P5 instead of the right most sprite P6. In this way, theCPU 201 makes thered bar 103 shorten as the predetermined period “t” passes. In other words, thebar 103 becomes shorter by 1 pixel for every predetermined period “t”. - In addition, when the clash flag is on, i.e. the
mermaid 112 clashes the obstacle object “P” or the obstacle image “Q”, theCPU 201 selects sprites from the sprites P0 to P7 so as to make thered bar 103 shorter for a predetermined length (for example, 4 pixels). For example, when the clash flag is on while the sprites from the first to the sixth are all sprites P7 and the seventh sprite (or the rightmost sprite) is sprite P0 in thepower gauge 131, theCPU 201 takes off the seventh sprite P0 and replaces the sixth sprite P7 by the sprite P4. In this way, thebar 103 becomes 4 pixels shorter. - [Image Display Process]
- The
CPU 201 sends necessary information for display to thegraphic processor 202 during a vertical blanking period on the basis of information registered by the background control processing, the automatic object control processing, the cursor control processing, the following object control processing, and the power gauge control processing. Then, thegraphic processor 202 generates the video signal in accordance with the information sent from theCPU 201, and outputs the video signal to the videosignal output terminal 47. In this way, the game screen including themermaid 112 and so on is displayed on thescreen 91 of thetelevision monitor 90. This will be explained in detail. - The
CPU 201 calculates a display coordinate of each sprite constructing the obstacle object “P” in accordance with the coordinate information registered by the automatic object control process and the animation table for the obstacle object “P”. Then, theCPU 201 sends information of each sprite constructing the obstacle object “P” including the display coordinate information, the color palette information, the depth value, the size information, and the storage location information of the pixel pattern data to thegraphic processor 202 with reference to the animation table for the obstacle object “P”. - In addition, the
CPU 201 calculates a display coordinate of each sprite constructing the cursor III in accordance with the animation table for thecursor 111 and the coordinate information (the coordinate information of the target point of the operation article 150) registered by the cursor control process. Then, theCPU 201 sends information of each sprite constructing thecursor 111 including the display coordinate information, the color palette information, the depth value, the size information, and the storage location information of the pixel pattern data to thegraphic processor 202 with reference to the animation table for thecursor 111. - Moreover, the
CPU 201 refers to the animation table in accordance with the storage location information thereof registered by the following object control process, and obtains size information of the mermaid 112 (or the object) and size information of each sprite constructing themermaid 112. Then, theCPU 201 calculates a display coordinate of each sprite constructing themermaid 112 on the basis of the obtained information and the coordinate (xm[M],ym[M]) registered by the following object control process. In addition, theCPU 201 calculates storage location information of pixel pattern data of each sprite constructing themermaid 112 on the basis of the number of the segment including themermaid 112 to be displayed, the size information of themermaid 112, the size information of the sprite constructing themermaid 112, and the storage location information of the animation image data. - Furthermore, the
CPU 201 sends information of each sprite constructing themermaid 112 including the color palette information, the depth value, and the size information to thegraphic processor 202 with reference to the animation table, together with the storage location information of pixel pattern data of each sprite and the display coordinate information. In this case, theCPU 201 sends the above-mentioned information to thegraphic processor 202 in accordance with the duration information and the next segment information of the animation table. - The
CPU 201 sends information of each sprite constructing the frame part of thepower gauge 131 including the color palette information, the depth value, the size information, the storage location information of pixel pattern data, and the display coordinate information to thegraphic processor 202. Furthermore, theCPU 201 sends information of each sprite constructing thebar 103 registered by the power gauge control process including the color palette information, the depth value, the size information, the storage location information of pixel pattern data, and the display coordinate information to thegraphic processor 202. - Moreover, the
CPU 201 sends the coordinate of the center of thebackground screen 140 registered by the background control process and start addresses of the array PA[0] to PA[1023] and the array CA[0] to CA[1023] set by the background control process to thegraphic processor 202. Thegraphic processor 202 reads information stored in the array PA[0] to PA[1023] according to the sent start address, and then according to the read information, thegraphic processor 202 reads storage location information of pixel pattern data for displaying each of the block[0] to block[1023]. In addition, thegraphic processor 202 reads information stored in the array CA[0] to CA[1023] according to the sent start address. Thegraphic processor 202 generates the video signal to display the obstacle objects “P”, thecursor 111, themermaid 112, thepower gauge 131, and thebackground 120 on the basis of the information sent from theCPU 201 and the read information, and outputs it to the videosignal output terminal 47. - [Audio Playback]
- The audio playback is performed by interrupt processing. The
CPU 201 reads and interprets commands from themusical score data 305 while incrementing a musical data pointer. The musical data pointer indicates a location to start reading information contained in themusical score data 305. - Then, when the command included in the read
musical score data 305 is note on, theCPU 201 sends a start address storing thewave data 306 corresponding to a pitch (the frequency of sound vibration) designated by a note number and an musical instrument (tone quality) designated by instrument designation information contained in themusical score data 305 to thesound processor 203. In addition, when the command included in the readmusical score data 305 is note on, theCPU 201 sends a start address storing necessary envelope data to thesound processor 203. Furthermore, when the command included in the readmusical score data 305 is note on, theCPU 201 sends pitch control information corresponding to the pitch designated by the note number and volume information contained in themusical score data 305 to thesound processor 306. - In what follows, the pitch control information will be explained. The pitch control information is used for pitch controlling performed by changing a cycle of reading the wave data 306 (the sound source data). More specifically, the
sound processor 203 periodically reads the pitch control information at certain interval, and accumulates the information. Thesound processor 203 processes the result of the accumulation, and makes use of the result of the processing as an address pointer for thewave data 306. Accordingly, if a large value is set to the pitch control information, the address pointer is quickly incremented to increase the frequency of thewave data 306. Conversely, if a small value is set to the pitch control information, the address pointer is slowly incremented to decrease the frequency of thewave data 306. In this way, thesound processor 203 performs the pitch control ofwave data 306. - The
sound processor 203 reads from theRON 51 thewave data 306, which is stored in the area pointed by the provided start address while incrementing the address pointer on the basis of the pitch control information. Then, thesound processor 203 generates an audio signal by multiplying thewave data 306, as sequentially read, by the envelope data and the volume information item. In this way, the audio signal indicative of the tone quality of the musical instrument, the pitch and the sound volume designated by themusical score data 305 is produced and output to the audiosignal output terminal 49 by thesound processor 203. - On the other hand, the
CPU 201 manages a gate time contained in themusical score data 305 as read. Accordingly, when a gate time elapses, theCPU 201 instructs thesound processor 203 to stop outputting the sound corresponding to the gate time. In response to this, thesound processor 203 terminates the sound output as instructed. - As has been discussed above, music is produced on the basis of the
musical score data 305, and output from the speaker (not shown) of thetelevision monitor 90. - Next, an example of the process flow of the
game machine 1 will be explained with reference to several flow charts. -
FIG. 29 is a flowchart showing the overall process flow of thegame apparatus 1. As illustrated inFIG. 29 , theCPU 201 performs the initial setup of the system in step S1. - In step S2, the
CPU 201 checks the remaining power of themermaid 112. When the power is “0” (the length of thebar 103 within thepower gauge 131 is “0”), theCPU 201 displays a predetermined failure screen and then ends the game, otherwise proceeds to step S3. In step S3, theCPU 201 determines whether or not themermaid 112 reaches a goal. When themermaid 112 reaches the goal, theCPU 201 displays a predetermined success screen and ends the game, otherwise proceeds to step S4. - In step S4, the
CPU 201 calculates state information of theoperation article 150. - The state information could be, for example, any one of speed information, movement direction information, movement distance information, velocity vector information, acceleration information, motion path information, area information and positional information, or a combination thereof. In step S5, the
CPU 201 performs display control of thebackground 120. In step S6, theCPU 201, performs display control of the obstacle object “P”. In step S7, theCPU 201 performs display control of thecursor 111 on the basis of the state information of theoperation article 150. - In step S8, the
CPU 201 performs display control of themermaid 112 on the basis of coordinate information of thecursor 111. (refer to the formula (3) to formula (12)). In step S9, theCPU 201 performs display control of thepower gauge 131. - In step S10, the
CPU 201 determines whether or not “M” is smaller than a predetermined value “K”. If “N” is equal to or more than the predetermined value “K”, theCPU 201 proceeds to step S11, and assigns “0” to “M”, and then proceeds to step S12. On the other hand, if the variable “M” is smaller than the predetermined value “K”, theCPU 201 proceeds from step 510 to step S12. The above mentioned variable “M” will be explained later. - In step S12, the
CPU 201 determines whether or not theCPU 201 waits for the video system synchronous interrupt. TheCPU 201 supplies thegraphics processor 202 with the image information for refreshing the display screen of thetelevision monitor 90 after the vertical blanking period starts. Accordingly, after completing the arithmetic operations for refreshing the display screen, theCPU 201 refrains from proceeding its operation until the next video system synchronous interrupt is issued. Namely, while it is “YES” in step S12, i.e., while theCPU 201 waits for the video system synchronous interrupt (i.e., there is no interrupt signal responsive to the video system synchronous signal), the process repeats the same step S12. On the other hand, if it is “NO” in step S12, i.e., if theCPU 201 gets out of the state of waiting for the video system synchronous interrupt (i.e., theCPU 201 is given the video system synchronous interrupt), the process proceeds to step S13. - In step S13, the
CPU 201 sends necessary image information to generate a game screen (refer toFIG. 11 toFIG. 13 ) to thegraphics processor 202 on the basis of the results of step S5 to S9 (the image displaying process). -
FIG. 30 is a flowchart showing the process flow of the initial setting process of step S1 ofFIG. 29 . As illustrated inFIG. 30 , theCPU 201 initializes theimage sensor 43. In step S21, theCPU 201 initializes various flags and counters. In step S22, theCPU 201 sets thetimer circuit 210 as a source of generating an interrupt request signal for generating sound. By this interrupting process, thesound processor 203 performs processing, and sound is output from the speakers of thetelevision monitor 90. -
FIG. 31 is a flowchart showing the process flow of the sensor initialization of step S20 ofFIG. 30 . As illustrated inFIG. 31 , in step S30, thehigh speed processor 200 sets a command “CONF” as a setting data. This command “CONF” is a command which instructs theimage sensor 43 to enter setting mode to send a command from thehigh speed processor 200. In step S31, thehigh speed processor 200 performs the command transmitting process. -
FIG. 32 is a flowchart showing the process flow of the command transmitting process of step S31 ofFIG. 31 . As illustrated inFIG. 32 , in step S40, thehigh speed processor 200 sets setting data (in case of step S31, the command “CONE”) as register data (I/O port). In step S41, thehigh speed processor 200 sets register setting clock CLK (I/O port) to low level. After waiting for a predetermined period t1” in step S42, in the next step S43, thehigh speed processor 200 sets the register setting clock CLK to high level. Then, after waiting for a predetermined period “t2” in step S44, in the next step S45, thehigh speed processor 200 sets the register setting clock CLK to low level. - In this way, as illustrated in
FIG. 33A andFIG. 33B , thehigh speed processor 200 performs the command (command or command+data) transmitting process by periodically changing the register setting clock CLK into low level, high level, and low level while waiting for the predetermined periods “t1” and “t2”. - Returning to
FIG. 31 , in step S32, thehigh speed processor 200 sets a pixel mode and also sets an exposure period. In this embodiment, since theimage sensor 43 is the CMOS image sensor which consists of 32 pixels×32 pixels as mentioned above, thehigh speed processor 200 sets “Oh” which indicates it consists of 32 pixels×32 pixels, to a pixel mode register whose setting address is “0”. In step S33, thehigh speed processor 200 performs a register setting process. -
FIG. 34 is a flowchart showing the process flow of the register setting process of step S33 ofFIG. 31 . As illustrated inFIG. 34 , in the first step S50, thehigh speed processor 200 sets a command “MOV”+“address” as a setting data. Then, in step S51, thehigh speed processor 200 transmits the command to theimage sensor 43 by executing the command transmitting process as explained hereinbefore (refer toFIG. 32 ). In step S52, thehigh speed processor 200 sets a command “LD”+“data” as a setting data. Then, in step S53, thehigh speed processor 200 transmits the command to theimage sensor 43 by executing the command transmitting process as explained hereinbefore (refer toFIG. 32 ) Then, in step S54, thehigh speed processor 200 sets a command “SET” as a setting data, Then, in step S55, thehigh speed processor 200 transmits the command to theimage sensor 43 by executing the command transmitting process as explained hereinbefore (refer toFIG. 32 ). The command “MOV” indicates to transmit an address of the control register. The command “LD” indicates to transmit data. The command “SET” indicates to set data to the address. Incidentally, if there are several control registers to set, the register setting process is repeatedly executed. - Returning to
FIG. 31 , in step S34, thehigh speed processor 200 sets “1” (indicating an address of low nibble of an exposure period setting register) as a setting address, and also sets low nibble data “Fh” of “FFh” indicating the maximum exposure period. Then, in step S35, thehigh speed processor 200 executes the register setting process ofFIG. 34 . In a similar way, in step S36, thehigh speed processor 200 sets “2” (indicating an address of high nibble of the exposure period setting register) as a setting address, and also sets high nibble data “Fh” of “FFh” indicating the maximum exposure period. Then, in step S37, theCPU 201 executes the register setting process ofFIG. 34 . - In step S38, the highs peed
processor 200 sets a command “RUN” which indicates an end of setting and also makes theimage sensor 43 start outputting data. Then, in step S39, thehigh speed processor 200 transmits it. In this way, the sensor setting process of step S20 ofFIG. 30 is performed. However, the example fromFIG. 31 toFIG. 34 may be changed depending on the specification of theimage sensor 43. -
FIG. 35 is a flowchart showing the process flow of the state information calculating process of step S4 ofFIG. 29 . As illustrated inFIG. 35 , in step S60, theCPU 201 obtains the digital pixel data fromADC 208. This digital pixel data is obtained by converting the analog pixel data as output from theimage sensor 43. - In step S61, the target point extracting process is executed. More specifically, the
CPU 201 obtains the differential data between the pixel data with and without light emitted from the infrared-emittingdiodes 15. Then, theCPU 201 retrieves the maximum value of the differential data and compares it with the predetermined threshold “Th”. In addition, when the maximum value of the differential data exceeds the predetermined threshold value “Th”, theCPU 201 calculates a coordinate of the pixel which has the maximum value of the differential data. Furthermore, theCPU 201 calculates the moving average of thus calculated coordinates. Then, theCPU 201 converts it to the coordinate on thescreen 91 of thetelevision monitor 90, and makes use of it as the coordinate (Ax[M],Ay[M]) of the target point of theoperation article 150. -
FIG. 36 is a flowchart showing the process flow of the pixel data aggregation acquiring process of step S60 ofFIG. 35 . As illustrated inFIG. 36 , in the first step S70, theCPU 201 sets “−1” to “X” and “0” to “Y” as an element number of a pixel data array. In this embodiment, the pixel data array is a two-dimensional array such as X=0 to 31 and Y=0 to 31. However, since dummy data is output as first pixel data of each row as explained before, “−1” is set as an initial value of “X”. In the following step S71, theCPU 201 executes a pixel data acquiring process. -
FIG. 37 is a flowchart showing the process flow of the pixel data acquiring process of step S71 ofFIG. 36 . As illustrated inFIG. 37 , in the first step S80, theCPU 201 checks the frame status flag signal FSF as transmitted from theimage sensor 43. Then, whenCPU 201 detects the rising edge of the frame status flag signal FSF, the process proceeds to step S82, otherwise proceeds to step S80 (step S81). In step S82, theCPU 201 instructs theADC 208 to start converting the analog pixel data into the digital data. After that, in step S83, theCPU 201 checks the pixel strobe PDS as transmitted from theimage sensor 43. Then, whenCPU 201 detects the rising edge of the pixel strobe PDS, the process proceeds to step S85, otherwise proceeds to step S83 (step S84). - In step S85, the
CPU 201 determines whether or not X=−1, i.e., “X” is the first pixel. As explained before, since the first pixel of each row is set as the dummy pixel, if theCPU 201 determines “YES” in step S85, in the next step S87, theCPU 201 does not acquire the pixel data at the time but increments the element number “X”. - If the
CPU 201 determines “NO” in step S85, since the pixel data is pixel data after second in the row, in step S86 and S88, theCPU 201 acquires the pixel data at the time and stores it in temporary register (not shown). After that, theCPU 201 proceeds to step S72 of big. 36. - In step S72 of
FIG. 36 , theCPU 201 assigns the pixel data stored in the temporary register to the pixel data array P[x] [X] - In step S73, the
CPU 201 increments “X”. If X is smaller than “32”, the process from step S71 to step S73 is repeatedly executed. If X=32, i.e., the acquisition of pixel data reaches the end of the row, theCPU 201 sets “−1” to “X” in step S75, and then increments “Y” in step S76. Then,CPU 201 repeats the pixel data acquiring process from head of the next row. - In step S77, if Y=32, i.e., the acquisition of pixel data reaches the end of the pixel data array P[X][Y], the
CPU 201 proceeds to step S61 ofFIG. 35 . -
FIG. 38 is a flowchart showing the process flow of the target point extracting process of step S61 ofFIG. 35 . As illustrated inFIG. 38 , in step S90, theCPU 201 calculates the difference between the pixel data with and without light emitted from the infrared-emittingdiodes 15 to obtain differential data. In step S91, theCPU 201 assigns the differential data to the array Dif[X] [Y]. In this embodiment, since the 32 pixel x 32pixel image sensor 43 is used, X=0 to 31 and Y=0 to 31. - In step S93, the
CPU 201 scans all elements of the array Dif[X] [Y] to detect the maximum value from all elements of the array Dif[X] [Y]. In step S94, if the maximum value is larger than the predetermined threshold value “Th”, theCPU 201 proceeds to step S95. If the maximum value is smaller than the predetermined threshold value “Th”, theCPU 201 proceeds to step S10 ofFIG. 29 . - In step S95, the
CPU 202 calculates the coordinate (Xc, Yc) of the target point of theoperation article 150 on the basis of the coordinate of the maximum value. In step S96, theCPU 201 increments a value of the variable “M” by one (M=M+1). - In step S97, the
CPU 201 assigns the coordinates Xc and Yc to the array PX[M] and PY[M]. Then, in step S98, theCPU 201 calculates the moving average (AX[M],AY[M]) of the target point (Xc, Yc) of theoperation article 150. In step S99, theCPU 201 converts the average coordinate ([M] AY[M]) of the target point on theimage sensor 43 into the coordinate (xc, yc) on thescreen 91 of thetelevision monitor 90. -
FIG. 39 is a flowchart showing the process flow of the target point coordinate calculating process of step S95 ofFIG. 38 . As illustrated in rig. 39, in step S100, theCPU 201 assigns the X coordinate and Y coordinate of the maximum value calculated in step S93 to “m” and “n”. In step S101, theCPU 201 increments “m” by one (m=m+1). - If the differential data Dif[m] [n] is larger than the predetermined threshold value “Th”, the
CPU 201 proceeds to step S103, otherwise proceeds to step S104 (step S102). In step S103, theCPU 201 assigns “m” at the time to “mr”. In this way, theCPU 201 scans from the coordinate of the pixel having the maximum value in positive direction of X-axis while repeatedly executing the process from step S101 to S103 and obtains the X-coordinate of the cndmost differential data exceeding the threshold value “Th”. - In step S104, the
CPU 201 assigns the X-coordinate of the maximum value calculated in step S93 to “m”. In step S105, theCPU 201 decrements “m” by one. If the differential data Dif[m] [n] is larger than the predetermined threshold value “Th”, theCPU 201 proceeds to step S107, otherwise theCPU 201 proceeds to step S108 (step S106). In step S107, theCPU 201 assigns “m” at the tine to “ml”. In this way, theCPU 201 scans from the coordinate of the pixel having the maximum value in negative direction of X-axis while repeatedly executing the process from step S105 to S107 and obtains an X-coordinate of the endmost differential data exceeding the threshold value “Th”. - In step S108, the
CPU 201 calculates the center coordinate between X-coordinate “mr” and X-coordinate “ml”, and makes use of it as the X-coordinate (Xc) of the target point. In step S109, theCPU 201 assigns the “Xc” calculated in step S108 and the Y-coordinate of the pixel having the maximum value calculated in step S93 to “m” and “n”. In step S110, theCPU 202 increments “n” by one (n=n+1)). If the differential data Dif[m] [n] is larger than the predetermined threshold value “Th”, theCPU 201 proceeds to step S112, otherwise proceeds to step S113 (step Sill). In step S112, theCPU 201 assigns “n” at the time to “nd”. In this way, theCPU 201 scans from the coordinate of the pixel having the maximum value in positive direction of Y-axis while repeatedly executing the process from step S110 to S112 and obtains the Y-coordinate of the endmost differential data exceeding the threshold value “Th” - In step S113, the
CPU 201 assigns the Y-coordinate of the pixel having the maximum value calculated in step S93 to “n”. In step S114, theCPU 201 decrements “n” by one. If the differential data Dif[m] [n] is larger than the predetermined threshold value “Ph”, theCPU 201 proceeds to step S116, otherwise proceeds to step S117 (step S115). In step S116, theCPU 201 assigns “n” at the time to “nu”. In this way, theCPU 201 scans from the coordinate of the pixel having the maximum value in negative direction of Y-axis while repeatedly executing the process from step S114 to S126 and obtains the Y-coordinate of the endmost differential data exceeding the threshold value “Th”. - In step S117, the
CPU 201 calculates a center coordinate between the Y-coordinate “nd” and the Y-coordinate “nu”, and makes use of it as the Y-coordinate (Yc) of the target point. In this way, the coordinate (Xc, Yc) of the target point of theoperation article 150 is calculated. -
FIG. 40 is a flowchart showing the process flow of the following object control process of step S8 ofFIG. 29 . As illustrated inFIG. 40 , in step S140, theCPU 201 calculates the display coordinate (xm[M], ym[M)) of themermaid 112 using the formula (3) and formula (4), and registers it. - In step S141, the
CPU 201 determines whether or not themermaid 112 clashes the obstacle image “Q” or the obstacle object “P” on the frame being displayed with reference to the clash flag. As a result, if the clash flag is on, theCPU 201 proceeds to step S151, otherwise proceeds to step S142 (step S141). - In step S142, the
CPU 201 compares the x-direction movement distance “m×” of themermaid 112 with the predetermined value “xr”. In addition, theCPU 201 compares the y-direction movement distance “my” of themermaid 112 with the predetermined value “yr”. In step S143, theCPU 201 sets the angle flag on the basis of the result of the comparison of step S142 (refer toFIG. 22A ) - In step S144, the
CPU 201 refers to the sign of the velocity vector (Vxm[M],Vym[M]) of themermaid 112. In step S145, theCPU 201 sets the direction flag on the basis of the sign of the velocity vector (refer toFIG. 22B ) - In step S146, the
CPU 201 determines the movement direction information in accordance with the angle flag and the direction flag (refer toFIG. 22C ). In step S147, theCPU 201 registers storage location information of the animation table in accordance with the movement direction information. - On the other hand, in step S151, the
CPU 201 determines whether or not the obstacle which themermaid 112 clashed is the obstacle image “Q”. As a result, if the obstacle is the obstacle image “Q”, theCPU 201 proceeds to step S152. If it is not, i.e., the obstacle is the obstacle object “P”, theCPU 201 proceeds to stop S153. - In step S152, the
CPU 201 calculates a display coordinate of themermaid 112 on the basis of scroll velocity of thebackground 120 again and re-registers it. More specifically, theCPU 201 adds the x-element of the scroll velocity to the x-coordinate of themermaid 112 and makes use of it as the new x-coordinate of themermaid 112. The y-coordinate of the mermaid is same as the previous y-coordinate. On the other hand, in step S153, theCPU 201 re-registers the coordinate of themermaid 112 being displayed. - In step S154, the
CPU 201 registers the storage location information of the animation table which is used when themermaid 112 clashes. In step S155, theCPU 201 turns the clash flag off. - Next, in step S148, the
CPU 201 determines whether or not themermaid 112 clashes the obstacle image “Q” or the obstacle object “P” on the basis of the coordinate of themermaid 112 calculated in step S140. Then, if theCPU 201 determines themermaid 112 clashes, it turns the clash flag on. - In this embodiment, since the cursor 111 (the coupled object) moves in conjunction with the motion of the
operation article 150, it is possible to operate thecursor 111 intuitively and make it easier to play the game with easy operation. - In addition, since the
cursor 111 represents location of theoperation article 150 on thescreen 91, the motion of thecursor 111 should be synchronized or almost synchronized with the motion of theoperation article 150. Therefore, the motion of thecursor 111 is restrained by the motion of theoperation article 150. On the other hand, since the mermaid 112 (the following object) follows the motion of thecursor 111, it is possible to decide arbitrarily how themermaid 112 follows thecursor 111. Therefore, it is possible to give variety to the movement of themermaid 112 and give the player impressive optical effects. In this embodiment, themermaid 112 moves as if it were swimming in the water by adding acceleration determined by positional relation between thecursor 111 and themermaid 112, and resistance corresponding to its velocity to the movement of the mermaid 112 (refer to the formula (3) and formula (4)). - Moreover, in this embodiment, the
CPU 201 manages the power gauge 131 (an indicator showing remaining power of the mermaid 112) and ends the game with reference to thepower gauge 131. In other words, in this embodiment, when the length of thebar 103 of the power gauge reaches “0”, the game is over. In this way, theplayer 94 can not play the game without any restriction. Therefore, since theplayer 94 has to play the game carefully with a sense of tension, the game becomes more exciting. - Furthermore, in this embodiment, the
power gauge 131 is changed according not to the first rule (a general rule) but to the second rule (an exceptional rule which is disadvantageous for the player 94) when themermaid 112 touches or enters the area which contains a restrictive image (the obstacle object “P” or the obstacle image “Q”). More specifically, in this case, thebar 103 of thepower gauge 131 becomes drastically shorter (the second rule). Accordingly, since theplayer 94 needs to operate themermaid 112 through the cursor ill to avoid the restrictive image, the game becomes more exciting. - In addition, in this embodiment, the
power gauge 131 is changed according not to the first rule (the general rule) but to the third rule (an exceptional rule which is advantageous for the player 94) when themermaid 112 touches or enaters the area where theitem bar 103 of thepower gauge 131 becomes a certain length longer (the third rule). Accordingly, since theplayer 94 needs to operate themermaid 112 through thecursor 111 trying to obtain theitem - Moreover, in this embodiment, because the
background 120 contains the obstacle image “Q”, controlling the background scroll and controlling the obstacle image “Q” are similar in the meaning. Therefore, it becomes easier to perform the display control of the obstacle image “Q”. - Furthermore, in this embodiment, since the obstacle object “P”, is constructed by a single or several sprite(s), it is possible to perform more detailed display control of the obstacle object “P” so that the flexibility of designing game contents is improved.
- Moreover, in this embodiment, it is possible to Use any one of state information of the
operation article 150 such as the speed information, the movement direction information, the movement distance information, the velocity vector information, the acceleration information, the motion path information, the area information and the positional information, or a combination thereof. Accordingly, since it is possible to Control thecursor 111 and themermaid 112 by using various information of theoperation article 150, the flexibility of designing game contents is improved. - Additionally, in this embodiment, the game apparatus I images the
operation article 150 by intermittently emitting light to theoperation article 150 to derive the state information of theoperation article 150. Accordingly, it is not necessary to provide theoperation article 150 with a power supply circuit and electric circuits. Therefore, it is possible to improve operationally and reliability of theoperation article 150 and also reduce the cost. - Next, a modification of this embodiment will be explained.
FIG. 41 is a view showing an example of the game screen in the modification of this embodiment. As illustrated inFIG. 41 , a maze comprising apathway 133 and awall 134 is displayed on thescreen 91 of thetelevision monitor 90. Theplayer 94 operates theoperation article 150 to operate acursor 135 on thescreen 91. Thiscursor 135 is similar to thecursor 111 shown inFIG. 11 toFIG. 13 , and thecursor 135 moves in conjunction with theoperation article 150. Meanwhile, controlling thecursor 135 is similar to controlling thecursor 111. - The
player 94 operates thecursor 135 by means of theoperation article 150 to proceed thepathway 133. When thecursor 135 reaches the right edge or left edge of thescreen 91, the game screen is scrolled. Meanwhile, the scroll control is similar to the scroll control performed in the above embodiment. Therefore, the game screen is formed as the background screen 140 (refer toFIG. 15 ). -
FIG. 42 is a view for explaining a clash judgment on the game screen ofFIG. 41 . As illustrated inFIG. 42 , the range (28×32 blocks) displayed on thescreen 91 within thebackground screen 140 is taken into consideration. Then, the array JA[0] to JA[895] corresponding to 28×32 blocks is provided. Meanwhile, the array JA[0] to JA[895] may be collectively called the array JA. Then, “0” is assigned to the array JA corresponding to the block constructing thepathway 133, and “1” is assigned to the array JA corresponding to the˜ block constructing thewall 134. - The
CPU 201 checks an element of the array JA corresponding to the block located at the position of the target point of theoperation article 150. Then, if the element of the array JA is “1”, theCPU 201 makes thecursor 135 move to thewall 134 as bellow. More specifically, thecursor 135 can not move through thewall 134. -
FIG. 43 is a view for explaining the coordinate calculation when thecursor 135 ofFIG. 41 clashes thewall 134. As illustrated inFIG. 43 , for example, theblock 149 corresponding to the array JA[10] assigned “1” as an element is taken into consideration. In addition, it is assumed that the previous position of the target point is at point A and the current position of the target point is at point B. In this case, theCPU 203 derives which straight line “ab”, “bc”, “cd”, or “da” crosses the straight line AB. In other ward, if the cross product is “0”, the intersecting point of the two vectors does not exist. - Next, the
CPU 201 calculates the intersecting point “I” of the straight line AB and the straight line “ac” intersecting the straight line AB. Then, theCPU 201 makes use of the coordinate of the intersecting point “I” as a current display coordinate of thecursor 135. In this configuration, thecursor 135 does not thrust into thewall 134. - According to this modified example, since the
cursor 135 moves in conjunction with the motion of theoperation article 150, it is possible to operate thecursor 135 intuitively so that the player can play the maze game with easy operation. - Incidentally, it is possible to make an only certain area including the
cursor 135 visible by making the rest of the area dark as though the area were spotlighted. In this way, even though the maze is easy, theplayer 94 feels more difficulty, and the game becomes more exciting. - In above mentioned example, the
cursor 135 is operated by theoperation article 150. However, as illustrated inFIG. 11 , it is possible to use a following object in addition to thecursor 135, and operate the following object by operating thecursor 135. In this case, for example, the cursor control and the following object control are performed in similar way to the cursor Ill and themermaid 112. - By the way, in above example, if the target point of the
operation article 150 enters the block corresponding to the array JA assigned “1” as its element, thecursor 135 is moved to the border between thepathway 133 and thewall 134 so that thecursor 135 can move only within thepathway 133. However, it is possible to end the game if the target point of theoperation article 150 exists in theblock 149 corresponding to the array JA assigned “1” as its element. Therefore, in this case, theplayer 94 has to operate thecursor 135 trying to avoid clashing thewall 134. Incidentally, as illustrated inFIG. 11 , it is possible to use a following object in addition to thecursor 135, and operate the following object by operating thecursor 135. - In this modified example, since the
cursor 135 can be operated by moving theoperation article 150 as well as the above mentioned embodiment, theplayer 94 can enjoy feeling as if theplayer 94 operated theoperation article 150 to avoid obstacles existing in real space even though thewall 134 corresponding to an obstacle exists on thescreen 91. In addition, it is possible to reduce the cost and necessary space to play the game as compared to game apparatus for dodging obstacles in real space. - Incidentally, the present invention is not limited to the above embodiment, and a variety of variations and modifications may be effected without departing from the spirit and scope thereof, as described in the following exemplary modifications.
- (1) The
mermaid 112 as the following object is made to follow the cursor 111 (the coupled object) in the case of this embodiment. However, it is possible to use themermaid 112 instead of thecursor 111 without using themermaid 112 as the following object. In this case, theplayer 94 operates theoperation article 150 to move themermaid 112 as thecursor 111. In this way, theplayer 94 directly operates themermaid 112 by means of theoperation article 150. Incidentally, in the above embodiment, theplayer 94 indirectly operates themermaid 112 through thecursor 111 which is operated by theoperation article 150. - (2) In the above embodiment, the
operation article 150 which consists of thestick 152 and the reflectingball 151 is used as an operation article. However, if the operation article is provided with a reflecting portion, it is not limited to theoperation article 150. - (3) In the above embodiment, the coordinate of the target point of the
operation article 150 is derived in the manner described inFIG. 20A toFIG. 20D . However, it is possible to define the coordinate of the pixel having the maximum luminance value exceeding the predetermined threshold value “Th” as a coordinate of the target point. - (4) While any appropriate processor can be used as the
high speed processor 200 ofFIG. 6 , it is preferred to use the high speed processor in relation to which the applicant has been filed patent applications. The details of this high speed processor are disclosed, for example, in Jpn. unexamined patent publication No. 10-307790 and U.S. Pat. No. 6,070,205 corresponding thereto. - The foregoing description of the embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form described, and obviously many modifications and variations are possible in light of the above teaching. The embodiment was chosen in order to explain most clearly the principles of the invention and its practical application thereby to enable others in the art to utilize most effectively the invention in various embodiments and with various modifications as are suited to the particular use contemplated.
Claims (16)
1-19. (canceled)
20. A game apparatus comprising:
an imaging device operable to image an operation article and generate an image signal;
a state information calculating unit operable to calculate state information of said operation article on the basis of said image signal;
a cursor control unit operable to control display of a cursor indicating location of said operation article on a screen in accordance with said state information of said operation article; and
a following object control unit operable to control display of a following object which follows said cursor on the basis of a coordinate information of said cursor.
21. A game apparatus as claimed in claim 20 further comprising a restrictive image control unit operable to control a restrictive image which limits movement of the following object.
22. A game apparatus as claimed in claim 21 wherein said restrictive image control unit comprises:
a background image control unit operable to control background scroll;
wherein a background includes said restrictive image.
23. A game apparatus as claimed in claim 21 wherein said restrictive image is an image constructing a maze.
24. A game apparatus as claimed in claim 21 wherein, when said following object touches or enters an area where said restrictive image is displayed, a game is over.
25. A game apparatus as claimed in claim 27 wherein said operation article comprises: a reflecting portion which reflects light.
26. A game program embodied in a computer readable medium which enables a computer to perform a process, said process comprising:
a step of imaging an operation article and generating an image signal;
a step of calculating state information of said operation article on the basis of said image signal;
a step of controlling display of a cursor which indicates location of said operation article on a screen on the basis of said state information; and
a step of controlling display of a following object which follows said cursor on the basis of coordinate information of said cursor.
27. A game apparatus as claimed in claim 20 , further comprising a light emitting unit operable to direct light onto said operation article.
28. A game apparatus as claimed in claim 27 , wherein:
said light emitting unit directs light onto said operation article at a predetermined interval;
said imaging device is operable to image said operation article with and without light emitted from said light emitting unit, and generate the lighted image signal and a non-lighted image signal;
said game apparatus further comprises a differential signal generating unit operable to generate a differential signal between said lighted image signal and said non-lighted image signal; and
said state information calculating unit calculates the state information of said operation article on the basis of said differential signal.
29. A game apparatus as claimed in claim 25 , wherein said reflecting portion retroreflects light.
30. A game program as claimed in claim 26 , wherein said process further comprises a step of directing light onto said operation article.
31. A game program as claimed in claim 30 , wherein:
said step of directing light directs light onto said operation article at predetermined intervals;
said step of imaging images said operation article with and without light emitted, and generates a lighted and a non-lighted image signal;
said process further comprises a step of generating a differential signal between said lighted image signal and said non-lighted image signal; and
said step of calculating calculates said state information on the basis of the differential signal.
32. A game method comprising:
a step of imaging an operation article and generating an image signal;
a step of calculating state information of said operation article on the basis of said image signal;
a step of controlling display of a cursor which indicates location of said operation article on a screen on the basis of said state information; and
a step of controlling display of a following object which follows said cursor on the basis of coordinate information of said cursor.
33. A game method as claimed in claim 32 , further comprising a step of directing light onto said operation article.
34. A game method as claimed in claim 33 , wherein:
said step of directing light directs light onto said operation article at predetermined intervals;
said step of imaging images said operation article with and without light emitted, and generates a lighted and a non-lighted image signal;
said game method further comprises a step of generating a differential signal between said lighted image signal and said non-lighted image signal; and
said step of calculating calculates said state information on the basis of the differential signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/952,769 US20080146303A1 (en) | 2003-10-23 | 2007-12-07 | Game for moving an object on a screen in response to movement of an operation article |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003362637 | 2003-10-23 | ||
JP2003-362637 | 2003-10-23 | ||
US10/972,284 US7322889B2 (en) | 2003-10-23 | 2004-10-22 | Game for moving an object on a screen in response to movement of an operation article |
US11/952,769 US20080146303A1 (en) | 2003-10-23 | 2007-12-07 | Game for moving an object on a screen in response to movement of an operation article |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/972,284 Division US7322889B2 (en) | 2003-10-23 | 2004-10-22 | Game for moving an object on a screen in response to movement of an operation article |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080146303A1 true US20080146303A1 (en) | 2008-06-19 |
Family
ID=34631348
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/972,284 Expired - Fee Related US7322889B2 (en) | 2003-10-23 | 2004-10-22 | Game for moving an object on a screen in response to movement of an operation article |
US11/952,769 Abandoned US20080146303A1 (en) | 2003-10-23 | 2007-12-07 | Game for moving an object on a screen in response to movement of an operation article |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/972,284 Expired - Fee Related US7322889B2 (en) | 2003-10-23 | 2004-10-22 | Game for moving an object on a screen in response to movement of an operation article |
Country Status (2)
Country | Link |
---|---|
US (2) | US7322889B2 (en) |
JP (1) | JP4742247B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050096132A1 (en) * | 2003-09-22 | 2005-05-05 | Hiromu Ueshima | Music game with strike sounds changing in quality in the progress of music and entertainment music system |
US20070265088A1 (en) * | 2006-05-09 | 2007-11-15 | Nintendo Co., Ltd. | Storage medium storing game program, game apparatus, and game system |
US20080234045A1 (en) * | 2007-03-21 | 2008-09-25 | Aristocrat Technologies Australia Pty, Ltd. | Gaming system and method of gaming |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5109221B2 (en) * | 2002-06-27 | 2012-12-26 | 新世代株式会社 | Information processing device equipped with an input system using a stroboscope |
JP4262726B2 (en) | 2005-08-24 | 2009-05-13 | 任天堂株式会社 | Game controller and game system |
US8870655B2 (en) * | 2005-08-24 | 2014-10-28 | Nintendo Co., Ltd. | Wireless game controllers |
JP4125760B2 (en) * | 2006-03-15 | 2008-07-30 | 株式会社スクウェア・エニックス | Video game processing apparatus, video game processing method, and video game processing program |
JP4171039B2 (en) * | 2006-12-22 | 2008-10-22 | 株式会社コナミデジタルエンタテインメント | GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM |
JP5420824B2 (en) * | 2007-03-30 | 2014-02-19 | 任天堂株式会社 | GAME DEVICE AND GAME PROGRAM |
US9383814B1 (en) * | 2008-11-12 | 2016-07-05 | David G. Capper | Plug and play wireless video game |
JP5269745B2 (en) * | 2009-10-30 | 2013-08-21 | 任天堂株式会社 | Object control program, object control apparatus, object control system, and object control method |
JP6379077B2 (en) * | 2015-09-03 | 2018-08-22 | 株式会社カプコン | GAME PROGRAM AND GAME DEVICE |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144366A (en) * | 1996-10-18 | 2000-11-07 | Kabushiki Kaisha Toshiba | Method and apparatus for generating information input using reflected light image of target object |
US20010031662A1 (en) * | 2000-01-07 | 2001-10-18 | Isaac Larian | Personal electronic game |
US20020036617A1 (en) * | 1998-08-21 | 2002-03-28 | Timothy R. Pryor | Novel man machine interfaces and applications |
US20020119819A1 (en) * | 2001-02-28 | 2002-08-29 | Kunzle Adrian E. | Systems and methods wherein a portion of landscape information is provided to a remote player device |
US20020160823A1 (en) * | 2000-02-18 | 2002-10-31 | Hajime Watabe | Game apparatus, storage medium and computer program |
US20040063480A1 (en) * | 2002-09-30 | 2004-04-01 | Xiaoling Wang | Apparatus and a method for more realistic interactive video games on computers or similar devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2622620B2 (en) * | 1989-11-07 | 1997-06-18 | プロクシマ コーポレイション | Computer input system for altering a computer generated display visible image |
JPH0777590B2 (en) * | 1991-01-16 | 1995-08-23 | 美津濃株式会社 | Golf game simulator |
JP3218716B2 (en) * | 1992-07-31 | 2001-10-15 | ソニー株式会社 | Input device and input system |
JP3907213B2 (en) * | 1992-09-11 | 2007-04-18 | 伸壹 坪田 | Game control device |
US7098891B1 (en) * | 1992-09-18 | 2006-08-29 | Pryor Timothy R | Method for providing human input to a computer |
US5982352A (en) * | 1992-09-18 | 1999-11-09 | Pryor; Timothy R. | Method for providing human input to a computer |
US5652630A (en) * | 1995-05-31 | 1997-07-29 | International Business Machines Corporation | Video receiver display, three axis remote control, and microcontroller for executing programs |
JP3257585B2 (en) * | 1996-03-29 | 2002-02-18 | 株式会社ビジュアルサイエンス研究所 | Imaging device using space mouse |
JP3410919B2 (en) * | 1997-01-31 | 2003-05-26 | 株式会社東芝 | Image extraction device |
JP3467382B2 (en) | 1997-05-06 | 2003-11-17 | 新世代株式会社 | High speed processor |
US6070205A (en) | 1997-02-17 | 2000-05-30 | Ssd Company Limited | High-speed processor system having bus arbitration mechanism |
JP3048346B2 (en) * | 1997-06-04 | 2000-06-05 | コナミ株式会社 | Method for expressing motion of object and computer-readable recording medium on which game program is recorded |
JP2001209487A (en) * | 2000-01-25 | 2001-08-03 | Uw:Kk | Handwriting communication system, and handwriting input and handwriting display device used for the system |
JP2002263370A (en) | 2001-03-07 | 2002-09-17 | Enix Corp | Communication game system, recording medium and program |
JP3470119B2 (en) * | 2002-02-14 | 2003-11-25 | コナミ株式会社 | Controller, controller attitude telemetry device, and video game device |
-
2004
- 2004-10-22 US US10/972,284 patent/US7322889B2/en not_active Expired - Fee Related
-
2007
- 2007-12-07 US US11/952,769 patent/US20080146303A1/en not_active Abandoned
-
2010
- 2010-09-15 JP JP2010206544A patent/JP4742247B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144366A (en) * | 1996-10-18 | 2000-11-07 | Kabushiki Kaisha Toshiba | Method and apparatus for generating information input using reflected light image of target object |
US20020036617A1 (en) * | 1998-08-21 | 2002-03-28 | Timothy R. Pryor | Novel man machine interfaces and applications |
US20010031662A1 (en) * | 2000-01-07 | 2001-10-18 | Isaac Larian | Personal electronic game |
US20020160823A1 (en) * | 2000-02-18 | 2002-10-31 | Hajime Watabe | Game apparatus, storage medium and computer program |
US20020119819A1 (en) * | 2001-02-28 | 2002-08-29 | Kunzle Adrian E. | Systems and methods wherein a portion of landscape information is provided to a remote player device |
US20040063480A1 (en) * | 2002-09-30 | 2004-04-01 | Xiaoling Wang | Apparatus and a method for more realistic interactive video games on computers or similar devices |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050096132A1 (en) * | 2003-09-22 | 2005-05-05 | Hiromu Ueshima | Music game with strike sounds changing in quality in the progress of music and entertainment music system |
US7682237B2 (en) * | 2003-09-22 | 2010-03-23 | Ssd Company Limited | Music game with strike sounds changing in quality in the progress of music and entertainment music system |
US20070265088A1 (en) * | 2006-05-09 | 2007-11-15 | Nintendo Co., Ltd. | Storage medium storing game program, game apparatus, and game system |
US9199166B2 (en) * | 2006-05-09 | 2015-12-01 | Nintendo Co., Ltd. | Game system with virtual camera controlled by pointing device |
US20080234045A1 (en) * | 2007-03-21 | 2008-09-25 | Aristocrat Technologies Australia Pty, Ltd. | Gaming system and method of gaming |
Also Published As
Publication number | Publication date |
---|---|
JP4742247B2 (en) | 2011-08-10 |
US7322889B2 (en) | 2008-01-29 |
US20050124413A1 (en) | 2005-06-09 |
JP2010279742A (en) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080146303A1 (en) | Game for moving an object on a screen in response to movement of an operation article | |
JP5130504B2 (en) | Information processing apparatus, information processing method, program, and storage medium | |
US7682237B2 (en) | Music game with strike sounds changing in quality in the progress of music and entertainment music system | |
US6761634B1 (en) | Arcade table | |
US20140132546A1 (en) | Information processing apparatus and storage medium for storing information processing program | |
US20030210255A1 (en) | Image display processing apparatus, image display processing method, and computer program | |
US20060183545A1 (en) | Multi-user touch-responsive entertainment device | |
US20070197290A1 (en) | Music Game Device, Music Game System, Operation Object, Music Game Program, And Music Game Method | |
AU9418701A (en) | Image processing apparatus, image processing method, record medium, computer program, and semiconductor device | |
JP2011145744A (en) | Information processing apparatus, information processing program, information processing system, and method of selecting object to be selected | |
US8352267B2 (en) | Information processing system and method for reading characters aloud | |
US7554545B2 (en) | Drawing apparatus operable to display a motion path of an operation article | |
US7297864B2 (en) | Image signal generating apparatus, an image signal generating program and an image signal generating method | |
JP5758202B2 (en) | Image processing program, image processing apparatus, image processing method, and image processing system | |
WO2019244409A1 (en) | Video display system, video display method, and computer program | |
JP4735802B2 (en) | GAME DEVICE, GAME PROGRAM, AND GAME DEVICE CONTROL METHOD | |
US20060187193A1 (en) | System and method for generating a virtual reality presentation | |
JP7310283B2 (en) | Display control system, display control device, display control method, and program | |
JP2010022673A (en) | Finger input device and game device using finger input device | |
JP4701411B2 (en) | Music game device, music game system, operation article, music game program, and music game method | |
JP2009008821A (en) | Image display device | |
CN213338681U (en) | Multimedia interaction device with metal touch sensor combined with real object | |
CN222439928U (en) | Real-time interactive system of contact response based on practicality or stage property | |
JP2008178600A (en) | Game program and its device | |
JP3098423U (en) | Automatic performance device and automatic performance system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |