Patent Publication Number: US-8535154-B2

Title: Information storage medium and image generation device

Description:
Japanese Patent Application No. 2010-201484, filed on Sep. 8, 2010, is hereby incorporated by reference in its entirety. 
     BACKGROUND OF THE INVENTION 
     The present invention relates to an information storage medium and an image generation device. 
     An image generation device (game system) that generates an image viewed from a virtual camera (given viewpoint) within an object space (virtual three-dimensional space) where an object (e.g., character) is disposed has been known, and is very popular as a means that allows the player to experience virtual reality. 
     For example, a related-art image generation device generates an image of a shooting game that allows the player to fire a bullet at an enemy character in an object space (three-dimensional space) using an input section. 
     JP-A-11-259686 disclose related-art technology. 
     Such a shooting game requires a reticle that allows the player to aim at a target object. A related-art shooting game is generally configured so that the reticle is disposed in a two-dimensional layer for displaying the score, ranking, and the like. In this case, an image obtained by superimposing an image projected onto a screen (projection plane) by perspective transformation and an image of a two-dimensional layer (in which the reticle and the like are disposed) is displayed (presented to the player). 
     However, the player may not be able to accurately determine the hit position when using the reticle disposed on a two-dimensional layer. In particular, the difference between the reticle position and the hit position may increase when the distance between the viewpoint and the hit position is long. Moreover, the operation of the shooting device and the movement of the reticle cannot be sufficiently synchronized when using the reticle disposed in a two-dimensional layer. 
     When implementing a shooting game that displays a stereoscopic image, the player may not be able to determine the hit position when using the reticle disposed on a two-dimensional layer, and the stereoscopic image may be impaired due to the two-dimensionally displayed reticle. 
     The inventors of the present application have been developing a shooting game that disposes a reticle within a virtual three-dimensional space, and moves a reticle corresponding to an operation performed by the player in order to enable accurate shooting. In such a shooting game, when a target object or a background object is present at the position of the reticle, the observability (visibility) is improved by displaying the reticle at (or on the front side of) the position of the object in the depth direction. When implementing a battle scene in which a number of target objects appear on the display screen, however, the target object disappears when the target object has been shot, and the reticle suddenly moves backward within the game space. This makes it difficult for the player to determine the reticle position. 
     SUMMARY 
     According to a first aspect of the invention, there is provided a non-transitory computer-readable information storage medium storing a program that generates an image of a virtual three-dimensional space, the program causing a computer to function as: 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section determining whether or not the capture target is present in the capture direction within the virtual three-dimensional space, and specifying the capture target when the capture target is present, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to the capture target when the capture target is present, setting a depth value of a drawn object that is positioned furthest from the virtual camera in the capture direction, or a predetermined depth value, as the depth value of the capture point when the capture target is not present, and performing a depth value correction process that corrects the depth value of the capture point when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. 
     According to a second aspect of the invention, there is provided a non-transitory computer-readable information storage medium storing a program that generates an image of a virtual three-dimensional space, the program causing a computer to function as: 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section predicting a change in the capture direction based on a change history of the capture direction, and specifying the capture target taking account of the predicted change in the capture direction, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to the capture target when the capture target is present, and disposing the marker at a position in the capture direction corresponding to the determined depth value. 
     According to a third aspect of the invention, there is provided a non-transitory computer-readable information storage medium storing a program that generates an image of a virtual three-dimensional space, the program causing a computer to function as: 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section grouping a plurality of objects, and detecting an object group present in the capture direction, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to a capture target object group when the capture target object group has been detected. 
     According to a fourth aspect of the invention, there is provided an image generation device that generates an image of a virtual three-dimensional space, the image generation device including: 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section determining whether or not the capture target is present in the capture direction within the virtual three-dimensional space, and specifying the capture target when the capture target is present, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to the capture target when the capture target is present, setting a depth value of a drawn object that is positioned furthest from the virtual camera in the capture direction, or a predetermined depth value, as the depth value of the capture point when the capture target is not present, and performing a depth value correction process that corrects the depth value of the capture point when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
         FIG. 1  is an example of a functional block diagram of an image generation device according to one embodiment of the invention. 
         FIG. 2  is an external view illustrating an image generation device according to one embodiment of the invention. 
         FIG. 3  illustrates an example of a game image according to one embodiment of the invention. 
         FIG. 4  illustrates a virtual three-dimensional space viewed from a Y-axis direction. 
         FIG. 5  illustrates an example of a game image according to one embodiment of the invention. 
         FIG. 6  illustrates a virtual three-dimensional space viewed from a Y-axis direction. 
         FIG. 7  illustrates an example of a game image according to one embodiment of the invention. 
         FIG. 8  illustrates a virtual three-dimensional space viewed from a Y-axis direction. 
         FIGS. 9A to 9C  illustrate the concept of a capture direction according to one embodiment of the invention. 
         FIG. 10  illustrates a normal control process that controls the depth value of a reticle (marker) when the capture target is identical. 
         FIG. 11  illustrates a normal control process when a capture target has been lost. 
         FIG. 12  illustrates an example of a control process that does not change the depth value for a predetermined period when the capture target has been lost due to a change in the capture direction. 
         FIG. 13  illustrates an example of a control process that does not change the depth value of a capture point for a predetermined period when the capture target has been lost due to disappearance of the capture target. 
         FIG. 14  illustrates another example of a normal control process when a capture target has been lost. 
         FIG. 15  illustrates an example of a control process that changes the speed when a capture target has been lost. 
         FIG. 16  illustrates another example of a control process that changes the speed when a capture target has been lost. 
         FIGS. 17A and 17B  illustrate examples of a game image. 
         FIGS. 18A and 18B  illustrate a capture determination process that is performed corresponding to each object group. 
         FIGS. 19A and 19B  illustrate a capture point change prediction process. 
         FIGS. 20A and 20B  three-dimensionally illustrate the situation in  FIGS. 19A and 19B  within a virtual three-dimensional space. 
         FIG. 21  illustrates a capture target determination process. 
         FIG. 22  illustrates an example in which target objects are dynamically grouped. 
         FIG. 23  illustrates a state in which target objects E 21 , E 22 , E 23 , and E 24  are projected onto a screen. 
         FIG. 24  is a flowchart illustrating the flow of a reticle position correction process according to one embodiment of the invention. 
         FIG. 25  illustrates another example of a control process when a capture target has been lost. 
         FIG. 26A  illustrates an example of a display image, and  FIG. 26B  illustrates an example of a calculation image. 
         FIG. 27A  illustrates an example of an object used for a display image, and  FIG. 27B  illustrates an example of an object used for a calculation image. 
         FIGS. 28A and 28B  are views illustrating discrimination of each object based on color information or translucency information. 
         FIG. 29A  illustrates an image buffer and a Z-buffer that store a display image, and  FIG. 29B  illustrates an image buffer and a Z-buffer that store a calculation image. 
         FIGS. 30A and 30B  illustrate an indication position acquisition method. 
         FIGS. 31A to 31C  illustrate a hit area and a pixel selection method. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENT 
     The invention may provide an information storage medium and an image generation device that allow the player (user) to easily determine the positional relationship with an object disposed within a virtual three-dimensional space, and can display a mark with good visibility and operability. 
     (1) One embodiment of the invention relates to a non-transitory computer-readable information storage medium storing a program that generates an image of a virtual three-dimensional space, the program causing a computer to function as: 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section determining whether or not the capture target is present in the capture direction within the virtual three-dimensional space, and specifying the capture target when the capture target is present, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to the capture target when the capture target is present, setting a depth value of a drawn object that is positioned furthest from the virtual camera in the capture direction, or a predetermined depth value, as the depth value of the capture point when the capture target is not present, and performing a depth value correction process that corrects the depth value of the capture point when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. 
     Another embodiment of the invention relates to an image generation device that includes the above components. 
     The term “capture point” used herein refers to a point within the virtual three-dimensional space that is aimed at by the player. When implementing a shooting game or the like, the capture point may be a point aimed at by a shooting device, or may be a reticle position. 
     The term “capture direction” refers to a direction in which the player aims at the target in the virtual three-dimensional space, and may be indicated by a straight line (capture line) disposed within the virtual three-dimensional space. When implementing a shooting game or the like, the capture direction may be a direction in which a shooting device aims at the target, or may be a direction of the reticle position. 
     The term “capture target specifying result” includes a specifying result for the presence or absence of the capture target and a specifying result for the capture target when the capture target is present. 
     The program may be a program that generates an image of a shooting game. The generated image may be a two-dimensional image (i.e., an image obtained by projecting a three-dimensional space onto a plane) or a three-dimensional image (i.e., stereoscopic image). 
     The input information may be an operation signal detected by an input device (e.g., shooting device or pointing device) or an operation section. The input information may be information that makes it possible to acquire the indication position within an image displayed on the screen (e.g., tilt information about the input device, or capture information about a camera for determining the indication position indicated by the input device). 
     When using a first-person viewpoint, the capture direction may be a direction (straight line) that connects the virtual camera and a point within the virtual three-dimensional space corresponding to a point indicated by the player (e.g., a point within the virtual three-dimensional space corresponding to the indication position within the image displayed on the screen). 
     When using a third-person viewpoint, the capture direction may be a direction (straight line) that connects a point within the virtual three-dimensional space corresponding to a point indicated by the player (e.g., a point within the virtual three-dimensional space corresponding to the indication position within the image displayed on the screen) and a player character within the virtual three-dimensional space or a shooting device held by the player character. 
     The object disposed within the virtual three-dimensional space may be either a moving object or stationary object. The object may also be a target object (i.e., an object that is subjected to a hit (shooting) determination process). 
     When a plurality of objects are present in the capture direction, the capture target specifying section may give priority to an object that has a depth value close to that of the virtual camera. 
     The marker placement control section may set the depth value of the capture point at the position of the capture target object or on the front side of the position of the capture target object. 
     The capture target specifying section may detect the capture target object by performing intersection determination (hit check) on a ray set based on the capture direction and the object within the virtual three-dimensional space, or may generate a determination image, and detect the capture target object based on pixel information about the capture position (i.e., the indication position within an image displayed on a screen determined based on the input information). 
     The Z-value of the capture point within the virtual three-dimensional space is determined based on the depth value corresponding to the capture target, and the X-value and the Y-value are the X-coordinate value and the Y-coordinate value of the intersection point of the capture direction (line) and a plane defined by the determined depth value. 
     Note that the depth value corresponding to the capture target may be the depth value of the capture target object, or may be the depth value corresponding to the object group including the capture target object. 
     When the capture target object is not present, the depth value of a drawn object (e.g., background) that is positioned furthest from the virtual camera in the capture direction, or a predetermined depth value, may be set as the depth value of the capture point. 
     The marker disposed at the capture point may be a reticle object that indicates the reticle position, for example. The reticle object may be formed by a polygon plate or the like, and the direction of the reticle object may be set corresponding to the line-of-sight direction. 
     The expression “a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present” refers to a case where a transition to a state in which the capture target is not present has occurred due to a change in the capture direction, or the movement or disappearance of the object, for example. 
     A process that does not change the depth value for a predetermined period, a process that limits an amount of change in the depth value of the capture point, and a process that corrects the depth value of the capture point so that the depth value of the capture point does not instantaneously change to the depth value of the drawn object that is positioned furthest from the virtual camera (e.g., a process that delays a time until the depth value of the drawn object that is positioned furthest from the virtual camera or a predetermined depth value is reached, a process that limits the maximum moving distance in the depth direction, a process that delays the change speed of the capture point in the depth direction, or a control process that differs from the capture point depth value control process when the capture target is present) may be performed. 
     The depth value of the capture point may be controlled when the capture target is present by changing the depth value either instantaneously or after a predetermined time corresponding to the depth value of the capture target object. In this case, the change speed of the capture point (or the moving speed of the marker) is determined by the distance between the capture point before the movement and the capture point after the movement. When correcting the depth value of the capture point, the depth value of the capture point may be changed at a speed lower than the speed determined by the distance between the capture point before the movement and the capture point after the movement. 
     According to the above configuration, since the marker is disposed within the virtual three-dimensional space, the player can accurately determine the indication position (hit position) within the virtual three-dimensional space. When the marker is merely disposed within the virtual three-dimensional space, the capture target may be lost (i.e., a transition may occur from a state in which the capture target is present to a state in which the capture target is not present), so that the movement of the marker in the depth direction may become complex, and an inconvenient image may be generated. According to the above configuration, however, since a rapid backward movement of the marker can be prevented by correcting the depth position of the capture point when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present, a mark with good visibility and operability can be displayed. 
     (2) In each of the above information storage medium and the above image generation device, 
     the marker placement control section may perform at least one of a process that does not change the depth value of the capture point for a predetermined period, a process that limits an amount of change in the depth value of the capture point, and a process that corrects the depth value of the capture point so that the depth value of the capture point does not instantaneously change to the depth value of the drawn object that is positioned furthest from the virtual camera, or the predetermined depth value, as the depth value correction process. 
     The process that corrects the depth value of the capture point so that the depth value of the capture point does not instantaneously change to the depth value of the drawn object that is positioned furthest from the virtual camera, or the predetermined depth value may be a process that delays a time until the depth value of the drawn object that is positioned furthest from the virtual camera, or the predetermined depth value, is reached, a process that reduces the maximum moving distance of the depth value in the depth direction, or a process that reduces the depth value change speed, for example. 
     The process that limits the amount of change in the depth value of the capture point may be implemented by a control process that reduces the degree of change in the depth value of the capture point as compared with that employed during a normal control process, or a control process that reduces the change speed in the depth direction as compared with that employed during a normal control process, as a normal control process that controls the depth value of the capture point when the capture target is present, for example. 
     (3) In each of the above information storage medium and the above image generation device, 
     the marker placement control section may set the depth value of the capture point so that a moving speed of the marker disposed at the capture point increases with time when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. 
     (4) In each of the above information storage medium and the above image generation device, 
     the marker placement control section may change a depth value setting condition based on a type, size, or disposition state of the objects disposed within the virtual three-dimensional space, a predetermined parameter, or a given condition. 
     The disposition state of the objects disposed within the virtual three-dimensional space includes the number, density, distribution, and the like of the objects. The predetermined parameter may be a parameter relating to the number of enemy objects, difficulty level, hit score, strength, stage, and the like. The depth value setting condition includes the time (number of frames) in which the depth value is corrected (e.g., the time in which the depth value is not changed), and the amount of change in the depth value. 
     The depth value of the capture point may be corrected so that the moving speed of the marker in the depth direction increases as the size of the capture target object or the object present in the capture direction increases. 
     The depth value of the capture point may be corrected so that the moving speed of the marker in the depth direction increases as the number of objects positioned within a predetermined range of the current capture target object increases. 
     The depth value of the capture point may be corrected so that the moving speed of the marker in the depth direction decreases, or the period in which the depth value of the marker is fixed increases, as the number of enemy objects present within the virtual three-dimensional space increases. The depth value of the capture point may be corrected so that the moving speed of the marker decreases, or the period in which the depth value of the marker is fixed increases, as the hit score of a shooting game decreases. 
     The moving speed of the marker or the period in which the depth value of the marker may be changed corresponding to the game tempo, the level of the user, the difficulty level, the stage, the duration from the start of the game, or the like. 
     (5) In each of the information storage medium and the above image generation device, 
     the capture target specifying section may predict a change in the capture direction based on a change history of the capture direction, and may specify the capture target taking account of the predicted change in the capture direction. 
     (6) Another embodiment of the invention relates to a non-transitory computer-readable information storage medium storing a program that generates an image of a virtual three-dimensional space, the program causing a computer to function as: 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section predicting a change in the capture direction based on a change history of the capture direction, and specifying the capture target taking account of the predicted change in the capture direction, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to the capture target when the capture target is present, and disposing the marker at a position in the capture direction corresponding to the determined depth value. 
     Another embodiment of the invention relates to an image generation device that includes the above sections. 
     (7) In each of the above information storage medium and the above image generation device, 
     the capture target specifying section may detect an object present in the capture direction as a capture target detection process, and 
     the marker placement control section may determine the depth value of the capture point based on a depth value corresponding to a capture target object when the capture target object has been detected. 
     (8) In each of the above information storage medium and the above image generation device, 
     the capture target specifying section may group a plurality of objects, and may detect an object group present in the capture direction as the capture target detection process, and 
     the marker placement control section may determine the depth value of the capture point based on a depth value corresponding to a capture target object group when the capture target object group has been detected. 
     (9) Another embodiment of the invention relates to a non-transitory computer-readable information storage medium storing a program that generates an image of a virtual three-dimensional space, the program causing a computer to function as 
     a virtual three-dimensional space setting section that disposes an object in the virtual three-dimensional space; 
     a capture direction specifying section that specifies a capture direction based on input information, a capture point being disposed in the capture direction within the virtual three-dimensional space; 
     a capture target specifying section that specifies a capture target within the virtual three-dimensional space based on the capture direction; 
     a marker placement control section that sets a depth value of the capture point based on a capture target specifying result, and disposes a marker at the capture point; and 
     an image generation section that generates an image of the virtual three-dimensional space viewed from a virtual camera, objects including the marker being disposed in the virtual three-dimensional space, 
     the capture target specifying section grouping a plurality of objects, and detecting an object group present in the capture direction as a capture target detection process, and 
     the marker placement control section determining the depth value of the capture point based on a depth value corresponding to a capture target object group when the capture target object group has been detected. 
     Another embodiment of the invention relates to an image generation device that includes the above components. 
     (10) In each of the above information storage medium and the above image generation device, 
     the capture target specifying section may set a first hit check plane or a first hit check volume to an object or an object group disposed within the virtual three-dimensional space, may perform a hit check based on the first hit check plane or the first hit check volume and the capture direction, and may determine a capture target object based on a hit check result. 
     (11) In each of the above information storage medium and the above image generation device, 
     the capture target specifying section may detect the capture target present in the capture direction by using a direction that connects the capture point and the virtual camera positioned in part of a controller as the capture direction. 
     (12) In each of the above information storage medium and the above image generation device, the image of the virtual three-dimensional space may be a stereoscopic image. 
     (13) In each of the above information storage medium and the above image generation device, 
     the image generation section may perform a process that generates a first image (right-eye image) of the virtual three-dimensional space including the marker viewed from a first virtual camera (right-eye virtual camera), and a process that generates a second image (left-eye image) of the virtual three-dimensional space including the marker viewed from a second virtual camera (left-eye virtual camera), and may generate a stereoscopic image based on the first image (right-eye image) and the second image (left-eye image). 
     (14) In each of the above information storage medium and the above image generation device, 
     the capture target specifying section may detect the capture target present in the capture direction by using a direction that connects the capture point and the virtual camera set at a position suitable for observing the stereoscopic image as the capture direction. 
     (15) In each of the above information storage medium and the above image generation device, 
     the capture target specifying section may detect the capture target present in the capture direction (capture line) by using a direction that connects the capture point and a third virtual camera (center camera) disposed at a midpoint between the first virtual camera (left-eye camera) and the second virtual camera (right-eye camera) as the capture direction (capture line). 
     Exemplary embodiments of the invention are described below. Note that the following embodiments do not unduly limit the scope of the invention as stated in the claims. Note also that all of the elements described below should not necessarily be taken as essential elements of the invention. 
     1. Configuration 
       FIG. 1  illustrates an example of a functional block diagram of an image generation device (computer, terminal, or game machine) according to one embodiment of the invention. Note that the image generation system may have a configuration in which some of the elements (sections) illustrated in  FIG. 1  are omitted. 
     An input section  160  allows the player to input information, and outputs the input information input by the player to a processing section. The input section  160  includes a detection section  162  that detects the input information (input signal) input by the player. The input section  160  may be implemented by a lever, a button, a steering wheel, a microphone, a touch panel display, or the like. The input section  160  may include a vibration section that vibrates based on a predetermined vibration signal. 
     The input section  160  may be an input device that includes an acceleration sensor that detects three-axis accelerations, a gyrosensor that detects angular velocity, and an imaging section. For example, the input device may be operated by the player in a state in which the input device is held or worn by the player. The term “input device” used herein includes a controller that imitates a tool such as a sword-type controller or a gun-type controller that is held by the player, or a glove-type controller that is worn by the player. The term “input device” used herein also includes an image generation device, a portable image generation device, a mobile phone, or the like that is integrated with the input device. 
     The detection section  162  detects the input information that has been input using the input section  160 . For example, the detection section  162  may detect an input signal generated when the player has pulled a trigger of the input section  160  as the input information (attack input information). The detection section  162  may also detect the input information (instruction input information) that has been input using the input section  160  and indicates (instructs) the position of a reticle, for example. 
     For example, when the input section  160  is a touch panel display produced by stacking a liquid crystal display and a touch panel for detecting the touch position of the player, the input section  160  may detect touch position information about an input device (e.g., touch pen) or a fingertip as the input information. 
     When the input section  160  is an input device that includes an imaging section, the input section  160  may detect indication position information about a captured image as the input information. More specifically, the imaging section includes an infrared filter, a lens, an imaging element (image sensor), and an image processing circuit. The infrared filter is disposed on the front side of the input device, and allows only infrared radiation contained in light incident from a light source (two light sources) disposed corresponding to the display section  190  to pass through. The lens condenses the infrared radiation that has passed through the infrared filter, and emits the focused infrared radiation to the imaging element. The imaging element is a solid-state imaging element such as a CMOS sensor or a CCD. The imaging element captures the infrared radiation condensed by the lens to generate a captured image. The captured image generated by the imaging element is processed by the image processing circuit. For example, the input device that includes the imaging section may process the captured image generated by the imaging device to detect a high-luminance component, and may detect light source position information (indication position information) within the captured image as the input information. 
     A storage section  200  serves as a work area for a processing section  100 , a communication section  196 , and the like. The function of the storage section  200  may be implemented by a RAM, a VRAM, or the like. 
     The storage section  200  may include an image buffer that stores an image, and a Z-buffer that stores a depth value (Z-value) of each pixel of an image. An image buffer  221  stores (R, G, B, A) values (RGB color values and alpha-value (A-value)) of each pixel of a display image. Specifically, the image buffer  221  stores color information (R, G, B) and translucency information (alpha-value (A-value)) about each pixel of the display image. A Z-buffer  222  stores the depth value of each pixel that is drawn in the image buffer  221 . 
     An image buffer  231  (drawing plane A) may store the (R, G, B, A) values of each pixel of a calculation image. The image buffer  231  stores the (R, G, B, A) values of the calculation image that indicate information (e.g., ID (hit ID), part, and hit type) about an object. An image buffer  232  (drawing plane B) may store the (R, G, B, A) values of each pixel of the calculation image. The image buffer  232  stores the (R, G, B, A) values of the calculation image that indicate the normal vector and attribute information (e.g., the material of an object). A Z-buffer  233  (drawing plane C) stores the depth value of each pixel that is drawn in the image buffers  231  and  232 . Note that the images buffers  231  and  232  and the Z-buffer  233  (reduction buffers) may have a size equal to 1/nth of the size of the image buffer  221  and the Z-buffer  222 . 
     An information storage medium  180  (computer-readable medium) stores a program, data, and the like. The function of the information storage medium  180  may be implemented by an optical disk (CD or DVD), a magneto-optical disk (MO), a magnetic disk, a hard disk, a magnetic tape, a memory (ROM), or the like. The processing section  100  performs various processes according to one embodiment of the invention based on a program (data) stored in the information storage medium  180 . A program that causes a computer to function as each section according to one embodiment of the invention (i.e., a program that causes a computer to execute the process of each section) may be stored in the information storage medium  180 . 
     A display section  190  outputs an image generated according to one embodiment of the invention. The function of the display section  190  may be implemented by a CRT, an LCD, a touch panel display, a head mount display (HMD), or the like. A sound output section  192  outputs sound generated according to one embodiment of the invention. The function of the sound output section  192  may be implemented by a speaker, a headphone, or the like. 
     The communication section  196  controls communication with the outside (e.g., another image generation device). The function of the communication section  196  may be implemented by hardware such as a processor or a communication ASIC, a program, or the like. 
     Note that the image generation device may receive a program (data) that causes a computer to function as each section according to one embodiment of the invention from an information storage medium or a storage section included in a server via a network, and may store the program (data) in the information storage medium  180  or the storage section  200 . A case where the image generation device is operated based on a program (data) received from the server is also included within the scope of the invention. 
     The processing section  100  (processor) performs a game process, an image generation process, a sound generation process, and the like based on the input information input using the input section  160 , a program, and the like. 
     The processing section  100  performs various processes using a main storage section  210  included in the storage section  200  as a work area. The function of the processing section  100  may be implemented by hardware such as a processor (e.g., CPU, GPU, or DSP) or an ASIC (e.g., gate array), or may be implemented by a program. 
     The processing section  100  includes an object space setting section  110 , an acquisition section  111 , a capture direction specifying section  112 , a capture target specifying section  113 , a marker placement control section  114 , a movement/motion processing section  115 , a game calculation section  116 , an image generation section (drawing section)  120 , and a sound processing section  130 . Note that the processing section  100  may have a configuration in which some of these sections are omitted. 
     The object space setting section  110  disposes a display object (e.g., character (enemy object), building, stadium, car, tree, pillar, wall, or map (topography)) in an object space. 
     The term “object space” used herein refers to a virtual three-dimensional space. The term “three-dimensional space” used herein refers to a space in which an object is disposed at three-dimensional coordinates (X, Y, Z), for example. 
     For example, the object space setting section  110  disposes an object (i.e., an object formed by a primitive such as a polygon, a free-form surface, or a subdivision surface) in a world coordinate system when the object space is a three-dimensional space. The object space setting section  110  determines the position and the rotation angle (synonymous with orientation or direction) of the object in the world coordinate system, and disposes the object at the determined position (X, Y, Z) and the determined rotation angle (rotation angles around the X, Y, and Z-axes). 
     The acquisition section  111  acquires an indication position (cursor position) within an image (calculation image) based on the input information input using the input section  160 . For example, the acquisition section  111  may acquire an indication position within a display image based on the input information input using the input section  160 . For example, the acquisition section  111  acquires the indication position detected by the input section  160  as an indication position within an image (calculation image). 
     The capture direction specifying section  112  specifies a capture direction in which a capture point is disposed within the virtual three-dimensional space based on the input information, the capture target specifying section  113  specifies a capture target within the virtual three-dimensional space based on the capture direction, and the marker placement control section  114  sets the depth value of the capture point based on the capture target specifying result, and disposes a marker at the capture point. 
     The capture target specifying section  113  determines whether or not the capture target is present in the capture direction within the virtual three-dimensional space, and specifies the capture target when the capture target is present. The marker placement control section  114  determines the depth value of the capture point based on the depth value corresponding to the capture target when the capture target is present, sets the depth value of a drawn object that is furthest from the virtual camera in the capture direction, or a predetermined depth value, as the depth value of the capture point when the capture target is not present, and performs a depth value correction process that corrects the depth value of the capture point when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. 
     The marker placement control section  114  may perform at least one of a process that does not change the depth value of the capture point for a predetermined period, a process that limits the amount of change in the depth value of the capture point, and a process that corrects the depth value of the capture point so that the depth value of the capture point does not instantaneously change to the depth value of a drawn object that is positioned furthest from the virtual camera, or a predetermined depth value, as the depth value correction process. 
     The marker placement control section  114  may set the depth value of the capture point so that the moving speed of the marker disposed at the capture point increases with time when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. 
     The marker placement control section  114  may change a depth value setting condition based on the type, size, or disposition state of the objects disposed within the virtual three-dimensional space, a predetermined parameter, or a given condition. 
     The capture target specifying section  113  may predict a change in the capture direction based on the change history of the capture direction, and may specify the capture target taking account of the predicted change in the capture direction. 
     The capture target specifying section  113  may detect an object present in the capture direction as the capture target detection process, and the marker placement control section  114  may determine the depth value of the capture point based on the depth value corresponding to a capture target object when the capture target object has been detected. 
     The capture target specifying section  113  may group a plurality of objects, and may detect an object group present in the capture direction as the capture target detection process, and the marker placement control section  114  may determine the depth value of the capture point based on the depth value corresponding to a capture target object group when the capture target object group has been detected. 
     The capture target specifying section  113  may set a first hit check plane or a first hit check volume to an object or an object group disposed within the virtual three-dimensional space, may perform a hit check based on the first hit check plane or the first hit check volume and the capture direction, and may determine the capture target object based on the hit check result. 
     The game calculation section  116  performs various game processes. For example, the game calculation section  116  starts the game when game start conditions have been satisfied, proceeds with the game, finishes the game when game finish conditions have been satisfied, and performs an ending process when the final stage has been cleared, for example. 
     The game calculation section  116  determines whether or not a given parameter (strength value) of the player character has reached a predetermined value ( 0 ), and determines that the game has ended when the given parameter (strength value) of the player character has reached the predetermined value ( 0 ). 
     The image generation section  120  performs a drawing process based on the results of various processes performed by the processing section  100  to generate an image, and outputs the generated image to the display section  190 . The image generated by the image generation section  120  may be either a two-dimensional image or a three-dimensional image (stereoscopic image). 
     When generating a three-dimensional game image, the image generation section  120  receives object data (model data) including vertex data (e.g., vertex position coordinates, texture coordinates, color data, normal vector, or alpha value) about each vertex of the object (model), and performs a vertex process (shading using a vertex shader) based on the vertex data included in the received object data. When performing the vertex process, the image generation section  120  may perform a vertex generation process (tessellation, surface division, or polygon division) for dividing the polygon, if necessary. 
     In the vertex process, the image generation section  120  performs a vertex movement process and a geometric process such as coordinate transformation (world coordinate transformation or camera coordinate transformation), clipping, or perspective transformation based on a vertex processing program (vertex shader program or first shader program), and changes (updates or adjusts) the vertex data of each vertex that forms the object based on the processing results. 
     The image generation section  120  then performs a rasterization process (scan conversion) based on the vertex data changed by the vertex process so that the surface of the polygon (primitive) is linked to pixels. The image generation section  120  then performs a pixel process (shading using a pixel shader or a fragment process) that draws the pixels that form the image (fragments that form the display screen). In the pixel process, the image generation section  120  determines the drawing color of each pixel that forms the image by performing various processes such as a texture reading (texture mapping) process, a color data setting/change process, a translucent blending process, and an anti-aliasing process based on a pixel processing program (pixel shader program or second shader program), and outputs (draws) the drawing color of the object subjected to perspective transformation to a drawing buffer (i.e., a buffer that can store image information corresponding to each pixel; VRAM or rendering target). Specifically, the pixel process includes a per-pixel process that sets or changes pixel data or voxel data (e.g., color (RGB), alpha-value, Z-value, and luminance) in pixel units. The image generation section  120  thus generates an image viewed from the virtual camera (given viewpoint) in the object space. When a plurality of virtual cameras (viewpoints) are provided, the image generation section  120  may generate images viewed from the respective virtual cameras. 
     The image generation section  120  controls the virtual camera (view point) for generating an image viewed from a given (arbitrary) viewpoint in the object space. Specifically, the image generation section  120  controls the position (X, Y, Z) or the rotational angle (e.g., the rotational angle of the virtual camera when the virtual camera is rotated clockwise around each of the X, Y, and Z axes) of the virtual camera in the world coordinate system when generating a three-dimensional image. More specifically, the image generation section  120  controls the viewpoint position, the line-of-sight direction, and the angle of view of the virtual camera. The image generation section  120  may rotate the virtual camera by a predetermined rotation angle. In this case, the image generation section  120  controls the virtual camera based on virtual camera data that specifies the position or the rotational angle of the virtual camera. When a plurality of virtual cameras (viewpoints) are provided, the image generation section  120  performs the above control process on each virtual camera. 
     For example, the image generation section  120  may generate an image based on the viewpoint (first-person viewpoint) of the player character (i.e., first-person shooter game), or may generate an image based on the viewpoint (third-person viewpoint) of a third-person (i.e., third-person shooter game). The movement, the direction, and the angle of view of the virtual camera may be controlled based on a program, or may be controlled based on the input information input using the input section  160 . 
     For example, when photographing the object (e.g., player character) from behind using the virtual camera, the image generation section  120  controls the position or the direction of the virtual camera so that the virtual camera follows a change in the position or the direction of the object. In this case, the image generation section  120  may control the virtual camera based on information about the position, direction, speed, and the like of the object obtained by the movement/motion processing section  114 . Alternatively, the image generation section  120  may set the virtual camera in a predetermined direction, and may move the virtual camera along a predetermined path. In this case, the image generation section  120  controls the virtual camera based on virtual camera data that specifies the position (moving path) or the direction of the virtual camera. When a plurality of virtual cameras (viewpoints) are provided, the image generation section  120  performs the above control process on each virtual camera. 
     The vertex process and the pixel process may be implemented by hardware that enables a programmable polygon (primitive) drawing process (i.e., programmable shader (vertex shader and pixel shader)) according to a shader program written in shading language. The programmable shader enables a programmable per-vertex process and a per-pixel process, and increases the degree of freedom of the drawing process so that the representation capability can be significantly improved as compared with a fixed drawing process using hardware. 
     The image generation section  120  performs a geometric process, texture mapping, hidden surface removal, alpha-blending, and the like when drawing the object. 
     In the geometric process, the image generation section  120  subjects the object to coordinate transformation, clipping, perspective projection transformation, light source calculation, and the like. The object data (e.g., object&#39;s vertex position coordinates, texture coordinates, color data (luminance data), normal vector, or alpha-value) obtained by the geometric process (perspective transformation) is stored in the storage section  200 . 
     The term “texture mapping” refers to a process that maps a texture (texel value) stored in the storage section  200  onto the object. Specifically, the image generation section  120  reads a texture (surface properties such as color (RGB) and alpha-value) from the storage section  200  using the texture coordinates set (assigned) to the vertices of the object, and the like. The image generation section  120  maps the texture (two-dimensional image) onto the object. In this case, the image generation section  120  performs a pixel-texel link process, a bilinear interpolation process (texel interpolation process), and the like. 
     The image generation section  120  may perform a hidden surface removal process by a Z-buffer method (depth comparison method or Z-test) using a Z-buffer (depth buffer) that stores the Z-value (depth information) of the drawing pixel. Specifically, the image generation section  120  refers to the Z-value stored in the Z-buffer when drawing the drawing pixel corresponding to the primitive of the object. The image generation section  120  compares the Z-value stored in the Z-buffer with the Z-value of the drawing pixel of the primitive. When the Z-value of the drawing pixel is the Z-value in front of the virtual camera (e.g., a small Z-value), the image generation section  120  draws the drawing pixel, and updates the Z-value stored in the Z-buffer with a new Z-value. 
     The term “alpha-blending” refers to a translucent blending process (e.g., normal alpha-blending, additive alpha-blending, or subtractive alpha-blending) based on the alpha-value (A-value). 
     Note that the alpha-value is information that can be stored corresponding to each pixel (texel or dot), such as additional information other than the color information. The alpha-value may be used as mask information, translucency (equivalent to transparency or opacity), bump information, or the like. 
     The image generation section  120  may generate the display image and the calculation image. The image generation section  120  does not perform the pixel process (per-pixel process using a pixel shader) when generating the calculation image. Note that the image generation section  120  may perform the pixel process when it is necessary for the calculation process. When determining the Z-value for the calculation process, the Z-value may be changed based on a predetermined depth relationship between a plurality of objects. 
     The sound generation section  130  performs a sound generation process based on the results of various processes performed by the processing section  100  to generate game sound such as background music (BGM), effect sound, or voice, and outputs the generated game sound to the sound output section  192 . 
     The image generation device according to one embodiment of the invention may be a device dedicated to a single-player mode that allows only one player to play the game, or may be a device that also implements a multi-player mode that allows a plurality of players to play the game. 
     As illustrated in  FIG. 2 , the multi-player mode may be implemented by providing input sections  160 - 1  and  160 - 2  for respective players, and performing an enemy character hit process and the like based on a gun sight position indicated by each of the input sections  160 - 1  and  160 - 2 , for example. In one embodiment of the invention, data, a display image, a calculation image, and game sound provided to a plurality of players are generated using a single image generation device. Note that the image generation device may exchange data (e.g., input information) with another image generation device via a network, and may perform the image generation process based on the received data and the input information input using the input section  160 . 
     2. Marker Placement Method 
     (1) Example of Input Section 
     The image generation device according to one embodiment of the invention performs a process that implements a shooting game that allows the player to fire a bullet (i.e., specific object) at an enemy character in an object space. 
       FIG. 2  is a perspective view illustrating the external configuration of a game system  10  that is implemented by applying the image generation device according to one embodiment of the invention. As illustrated in  FIG. 2 , the game system  10  includes a display  12  that displays an image, a pedestal  14  that is disposed on the front side of a display screen  13  of the display  12 , and a first controller  16  (i.e., first operation section or first indicator) and a second controller  18  (i.e., second operation section or second indicator) that are disposed on the upper side of the pedestal  14  and imitate a machine gun. A single player may play the game using the game system  10 , or two or more players (i.e., operators) may play the game at the same time using the game system  10 . 
     The first controller  16  is secured on the pedestal  14  so that the first controller  16  can be rotated around a first axis  20  that is vertical to the upper side of the pedestal  14 , and can be rotated around a second axis  22  that is parallel to the upper side of the pedestal  14 . A left grip  24  that is held with the left hand of the player, and a right grip  26  that is held with the right hand of the player are provided on the rear end of the first controller  16 . The player holds the left grip  24  and the right grip  26 , and arbitrarily changes the direction of the end (i.e., muzzle) of the first controller  16  (i.e., changes the indication position of the indicator) by rotating the first controller  16  around the first axis  20  and the second axis  22  (i.e., designating the position). The movable range of the first controller  16  is set so that the end of the first controller  16  can indicate (i.e., designate) a predetermined area within the display screen  13 . For example, the movable range of the first controller  16  may be set so that the end of the first controller  16  can indicate the entire display screen  13 , or may be set so that the end of the first controller  16  can indicate a limited area within the display screen  13 . The first controller  16  includes a first variable resistor  28  that detects the amount of rotation of the first controller  16  around the first axis  20 , and a second variable resistor  30  that detects the amount of rotation of the first controller  16  around the second axis  22 . 
     The game system  10  calculates a first indication position  31  (i.e., first designation position) that is a position (i.e., a position within an image or a position within a display area) within the display screen  13  indicated by the end of the first controller  16  as coordinate values (i.e., first information) in a two-dimensional coordinate system (i.e., virtual space) based on the detection results of the first variable resistor  28  and the second variable resistor  30  included in the first controller  16 . The game system  10  displays an image in which a first mark  32  (i.e., first designation position indicator or first indicator) that indicates the position indicated by the first controller  16  is disposed at a position within a virtual three-dimensional space (game space) corresponding to the first indication position  31  on the display screen  13 . 
     The game system  10  displays a target object  42  (i.e., display object) that indicates a target on the display screen  13  while moving the target object  42 , and determines that a first bullet object  40  has hit the target object  42  when the left button  36  or the right button  38  of the first controller  16  has been pressed in a state in which the center of the first mark  32  is displayed (positioned) within (superimposed on or overlaps) the target object  42 . 
     The second controller  18  includes a left grip  24 , a right grip  26 , a first variable resistor  28 , a second variable resistor  30 , a left button  36  (i.e., second operating section), and a right button  38  (i.e., second operating section) in the same manner as the first controller  16 . The second controller  18  is secured on the pedestal  14  so that the second controller  18  does not come in contact with the first controller  16 , and can be rotated around the first axis  20  and the second axis  22 . The movable range of the second controller  18  is set so that the end of the second controller  18  can indicate a predetermined area within the display screen  13 . 
     The game system  10  calculates a second indication position  43  (i.e., second designation position) that is a position within the display screen  13  indicated by the end of the second controller  18  as coordinate values (i.e., second information) in a two-dimensional coordinate system based on the detection results of the first variable resistor  28  and the second variable resistor  30  included in the second controller  18 . The game system  10  may display an image in which a second mark  44  (i.e., second designation position indicator or second indicator) that indicates the position indicated by the second controller  18  is disposed at a position within the virtual three-dimensional space (game space) corresponding to the second indication position  43  on the display screen  13 . 
     When the player has pressed the left button  36  or the right button  38  of the second controller  18 , the game system  10  moves a second bullet object  48  (i.e., second moving object) that indicates a bullet fired from a second gun object  46  from the end of the second gun object  46  toward the center of the second mark  44 . 
     When the player has pressed the left button  36  or the right button  38  of the second controller  18  in a state in which the center of the second mark  44  is displayed (positioned) within the target object  42 , the game system  10  determines that the second bullet object  48  has hit the target object  42 . 
     The game system  10  is thus configured so that the first mark  32 , the second mark  44 , the first bullet object  40 , and the second bullet object  48  move individually based on an arbitrary operation performed using the first controller  16  or the second controller  18 . The game system  10  determines whether or not the first bullet object  40  has hit the target object  42 , and determines whether or not the second bullet object  48  has hit the target object  42 . 
     (2) Marker Image and Placement of Marker 
     A marker placement control process according to one embodiment of the invention is described below taking an example in which a marker is a reticle of a shooting game that allows the player to shoot a target object disposed within a virtual three-dimensional space. 
       FIG. 3  illustrates an example of a game image according to one embodiment of the invention. 
     A game image  310 - 1  illustrated in  FIG. 3  is a first-person-viewpoint game image of a virtual three-dimensional space viewed from a virtual camera. The virtual camera is disposed at the position of a player character or a predetermined position around the position of the player character within the virtual three-dimensional space. Note that the game image may be either a two-dimensional image or a three-dimensional (stereoscopic) image. 
     Reference symbols E 1  to E 7  indicate target objects that are present within the virtual three-dimensional space.  FIG. 3  illustrates an example in which the target objects move and make a motion in the virtual three-dimensional space. Note that the target objects may be stationary. 
     The player shoots an arbitrary target object by operating the controller illustrated in  FIG. 2  while observing the game image. Reference symbol  330 - 1  indicates a reticle image that is displayed to indicate the position (capture point) aimed at by the player. When the capture target object is present in the capture direction, the reticle image  330 - 1  is displayed on the front side of the capture target object (see  FIG. 3 ). 
       FIG. 4  illustrates the virtual three-dimensional space viewed from a Y-axis direction when the game image illustrated in  FIG. 3  is generated. A reticle object S corresponding to the reticle is disposed at a capture point CP in a virtual three-dimensional space  320  in order to generate the reticle image  330 - 1 . 
     Since the reticle indicates a direction (capture direction) CL in which the player aims at the capture target object, the reticle object S is disposed at a position along the capture direction (capture line) CL in the virtual three-dimensional space. For example, when the target object E 1  is present in the capture direction, the target object is the capture target. The capture point CP is set at a position on the front side of the target object E 1  (may be set at the position of the target object E 1 ) in the capture direction (capture line) CL, and the reticle object S is disposed at the capture point CP. 
       FIG. 5  illustrates another example of the game image according to one embodiment of the invention, and  FIG. 6  illustrates the virtual three-dimensional space viewed from the Y-axis direction when the game image illustrated in  FIG. 5  is generated.  FIGS. 5 and 6  illustrate an example in which the capture direction is the same as that illustrated in  FIGS. 3 and 4 , but a target object as the capture target is not present in the capture direction. In this case, the depth value (i.e., the Z-coordinate value in the world coordinate system) of the point at which the reticle object S is disposed is set to the depth value of a drawn object (e.g., background) that is positioned furthest from the virtual camera in the capture direction, or the depth value of a preset deepest position, for example. Therefore, since the reticle object is disposed away from a virtual camera  300  as compared with  FIGS. 3 and 4 , the size of the reticle image  330 - 2  displayed within the game image  310 - 2  decreases. 
       FIG. 7  illustrates another example of the game image according to one embodiment of the invention, and  FIG. 8  illustrates the virtual three-dimensional space viewed from the Y-axis direction when the game image illustrated in  FIG. 7  is generated. As illustrated in  FIG. 8 , the target objects E 3  and E 7  are present along the capture direction (capture line) CL. In this case, the target object E 3  that is positioned on the front side in the capture direction (i.e., a target object having a depth value closer to that of the virtual camera  300 ) is determined to be the capture target. The capture point CP is set at a position on the front side of the target object E 3  (may be set at the position of the target object E 3 ) in the capture direction (capture line) CL, and the reticle object S is disposed at the capture point CP. 
     (3) Capture Direction (Capture Line) 
       FIGS. 9A to 9C  illustrate the concept of the capture direction according to one embodiment of the invention. Reference symbol P in  FIG. 9A  indicates an indication position of a controller (shooting device) within an image (i.e., an image displayed on a screen S of a game device). The indication position P is specified based on controller output information (i.e., output information that can specify the tilt and the indication position of the controller), as described with reference to  FIG. 2 . A virtual screen S′ corresponding to the screen S is disposed within the virtual three-dimensional space.  FIGS. 9B and 9C  illustrate a state in which the virtual screen S′ is disposed within the virtual three-dimensional space. A point P′ on the virtual screen S′ corresponds to the indication position P on the screen S of the game device (e.g., a point having the same X-coordinate value and the same Y-coordinate value as those of the indication position P). 
     When using a first-person viewpoint, a direction (straight line) that connects the virtual camera  300  and the point P′ is determined to be the capture direction (capture line) CL.  FIGS. 9B and 9C  illustrate a state in which the target objects E 11  and E 12  are present along the capture direction (capture line) CL. 
     Note that the virtual camera refers to a virtual camera positioned at the center between the right eye and the left eye of the player, or a virtual camera disposed at the muzzle of a controller that imitates a gun. 
     (4) Capture Target Determination Process 
       FIG. 21  illustrates a capture target determination process. 
     As illustrated in  FIG. 21 , a first hit check volume HB 1  may be set to the target object E disposed within the virtual three-dimensional space. A hit check may be performed based on the first hit check volume HB 1  and the capture direction (capture line) CL, and the capture target object may be determined based on the hit check result. 
     A hit check (intersection determination process) may be performed on the first hit check volume HB 1  and a second hit check volume HB 2  that is set based on the capture direction (capture line) CL, and the capture target object may be determined based on the hit check (determination) result. 
     A first hit check plane may be set to the target object E disposed within the virtual three-dimensional space, a hit check may be performed based on the first hit check plane and the capture direction, and the capture target object may be determined based on the hit check result. 
     For example, a hit determination image may be generated based on the first hit check plane using a rendering hit process, the indication position in the screen plane may be determined based on the capture direction, and the capture target object may be determined based on the pixel values of the pixels present in a determination area including the position corresponding to the indication position within the hit determination image. 
     The term “rendering hit process” refers to a method that generates an image including a plurality of objects based on pixel data that discriminates the plurality of objects, acquires the indication position within the image based on the input information input using the input section, and determines the object indicated by the pixel(s) corresponding to the indication position based on the pixel data about the pixel(s) corresponding to the indication position. The rendering hit process is described in detail below. 
     When using the rendering hit process, a display image D displayed on the display section  190  and a calculation image E (E 1  to E 3 ) are generated, and a hit determination process is performed based on the calculation image E. 
     Specifically, the calculation image E is generated so that a plurality of objects (e.g., enemy object and background object) other than a bullet object present within the object space are color-coded. The pixels of the calculation image E within a predetermined range corresponding to the indication position (reticle position) are selected, and it is determined that the enemy object has been hit when the color of the selected pixels indicates the enemy object. This makes it possible to reduce the processing load as compared with a method that performs a hit determination process on the ray of a bullet and an object within a three-dimensional object space. 
     The display image D and the calculation image E 1  (hit check image E 1 ) are generated as described below. In one embodiment of the invention, the display image D illustrated in  FIG. 26A  and the calculation image E 1  illustrated in  FIG. 26B  are generated every frame (e.g., every 1/60th of a second). 
       FIGS. 27A and 27B  illustrate object data (model data) about an enemy object OB 1 .  FIG. 27A  illustrates the object data about an enemy object OB 1 - 1  used for the display image D.  FIG. 27B  illustrates the object data about an enemy object EOB 1 - 2  used for the calculation image E 1 . Specifically, the object (model) used for the calculation image E 1  is a simple object for which the number of vertices is smaller than that of the object used for the display image D. In one embodiment of the invention, the display image D is generated using the enemy object OB 1 - 1 . The calculation image E 1  is drawn using the enemy object EOB 1 - 2  for which the number of vertices is reduced as compared with the enemy object OB 1 - 1  used for the display image D. Specifically, since the calculation image E 1  is used for the hit determination process, it is desirable to use a simple object for which the number of vertices is reduced as compared with the object used for the display image D taking account of a reduction in processing load and an improvement in efficiency of the hit determination process. 
     When generating the calculation image E, the (R, G, B, A) values of the vertex data about each object are determined to be (discriminable) (R, G, B, A) values that specify the object. When the object is formed by a plurality of parts, the (R, G, B, A) values of the object are determined to be (discriminable) (R, G, B, A) values that specify each part of the object. The calculation image E 1  is generated based on the determined (R, G, B, A) values of the vertex data about the object. 
     Specifically, when generating the calculation image E 1 , a plurality of objects are color-coded, and a plurality of parts of each object are also color-coded. 
     As illustrated in  FIG. 28A , the ID of each object is determined based on the R-value and the G-value, the part of the object is determined based on the B-value, and the hit type is determined based on the A-value. Note that the hit type classifies each object. For example, each object may be classified as “character”, “background”, or “object other than character and background”. 
     As illustrated in  FIG. 28B , the (R, G, B, A) values of the vertex data about a head object F 1  (ID=1, part=1, hit type=1) of the enemy character OB 1 - 2  are determined to be (1, 1, 1, 1), for example. 
     The (R, G, B, A) values of each object are thus determined. When the object is formed by a plurality of parts, the (R, G, B, A) values of each part are also determined as described above. The calculation image E 1  is generated based on the (R, G, B, A) values thus determined. 
     Specifically, the display image D and the calculation image E 1  are generated as described below. A display object (e.g., OB 1 - 1 ) is disposed in the world coordinate system (three-dimensional object space), and the display image D is drawn using the virtual camera. Likewise, a calculation object (e.g., OB 1 - 2 ) is disposed in the world coordinate system, and the calculation image E 1  is drawn using the virtual camera. In one embodiment of the invention, the display image D and the calculation image E 1  are generated based on the position, the direction, and the angle of view of an identical virtual camera. 
     Note that the calculation image E 1  may be drawn at an angle of view higher than that employed when drawing the display image D. This makes it possible to implement hit determination over a wide range. 
     The calculation image E 1  is generated so that the calculation image E 1  does not include a bullet object (specific object) (i.e., attack object). This is because it is necessary to determine whether or not the bullet object has hit an object other than the bullet object. 
     The pixel process is performed after the vertex process when generating the display image D. On the other hand, the pixel process is not performed after the vertex process when generating the calculation image E 1  so that the color coding of each object (part object) is maintained. Specifically, the calculation image is generated so that the vertex color of the polygon of each object (part object) is identical (i.e., the polygon of each object has a uniform color). If the color of each pixel is changed by the pixel process, an accurate hit determination process cannot be implemented. 
     The display image D is drawn in the image buffer  221  (see  FIG. 29A ), and the calculation image E 1  is drawn in the calculation image buffer  231  (see  FIG. 29B ). Since the calculation image buffer  231  ( 232 ,  233 ) is a reduction buffer (⅛ frame buffer), the resolution of the calculation image E is lower than that of the display image D. However, a hit determination process that does not cause inconsistency can be performed using such a calculation image. Moreover, the processing load due to the drawing process (processing load of the GPU) for generating the calculation image E can be reduced by utilizing the reduction buffer. 
     The Z-buffer  222  illustrated in  FIG. 29A  stores the Z-value (depth value) of each pixel of the display image D, and the Z-buffer  233  illustrated in  FIG. 29B  stores the Z-value of each pixel of the calculation image E 1 . 
     As illustrated in  FIG. 26A , a reticle (i.e., indication marker) M is drawn within the display image D at the indication position P indicated by the input section  160 . Specifically, the player performs an input operation that aims the reticle M at the shooting target while observing the display image D. As illustrated in  FIG. 26B , the reticle M is not drawn within the calculation image E 1 . If the reticle M is drawn within the calculation image E 1 , the hit determination process may be adversely affected. 
     The vertex data (R, G, B, A) about each vertex of the object that forms the model data illustrated in  FIG. 27A  may include (part of) information about the (R, G, B, A) values defined in advance (see  FIG. 28B ). 
     The display image D and the calculation image E 1  are generated as described above. 
     The hit determination process is described below. Specifically, one or more pixels of the calculation image E 1  within a hit area (predetermined range) N based on the indication position Q are selected (extracted), and whether or not the bullet object has hit a given object is determined based on the color information or the translucency information (R, G, B, A) about the selected pixel(s). 
     As illustrated in  FIGS. 30A and 30B , the indication position P within the display image D and the indication position Q within the calculation image E 1  corresponding to the indication position P are acquired based on the input information input using the input section  160 , for example. Note that the indication position P within the display image D may be converted into the indication position Q within the calculation image E 1 . For example, since the size of the calculation image E 1  is ⅛th of the size of the display image D, the indication position Q may be calculated based on the size ratio. 
     As illustrated in  FIGS. 31A to 31C , a plurality of pixels of the calculation image E 1  within the hit area N that is set around the indication position Q are selected. For example, a plurality of pixels may be selected at predetermined intervals, as illustrated in  FIG. 31A . Alternatively, a predetermined number of pixels within the hit area N may be randomly selected, as illustrated in  FIG. 31B . 
     The hit area N is set based on at least one of the shape and the size of the reticle M. This makes it possible for the player to cause the bullet object to hit an object within the display image D corresponding to the shape and/or the size of the reticle M. 
     For example, when the reticle M has a circular shape (see  FIG. 30A ), the hit area N is set to have a circular shape. 
     When the reticle M displayed within the display image D has a diamond shape, the hit area N is set to have a diamond shape (see  FIG. 31C ). In this case, the pixels of the calculation image E 1  positioned at the indication position Q and the vertices of the diamond may be selected. 
     When arbitrary pixels within the hit area have been selected, whether or not the bullet object has hit a given object is determined based on the (R, G, B, A) values (i.e., pixel data) of the pixels. 
     For example, when pixels K 1  to K 9  have been selected (see  FIG. 31A ), whether or not the bullet object has hit a given object is determined based on the (R, G, B, A) values of each of the pixels K 1  to K 9 . The hit area (part) of the object that has been determined to be hit by the bullet object is determined based on the (R, G, B, A) values of each of the pixels K 1  to K 9 . 
     For example, when the color information (R, G) about the pixel K 1  is (1, 1), it is determined that the enemy object OB 1  has been hit by the bullet object since the color information (1, 1) (=(R, G)) indicates “ID=1”. Specifically, it can be determined that the object indicated by the pixel K 1  is the enemy object OB 1  based on the color information about the pixel K 1 . It is thus determined that the bullet object has hit the enemy object OB 1 . When the B-value (color information) of the pixel K 1  is 1, it is determined that the bullet object has hit the head F 1  of the enemy object OB 1 . Specifically, it can be determined that the object indicated by the pixel K 1  is the head F 1  of the enemy object OB 1  based on the color information about the pixel K 1 . It is thus determined that the bullet object has hit the head F 1  of the enemy object OB 1 . Specifically, when the color information and the translucency information (R, G, B, A) about the pixel K 1  are (1, 1, 1, 1), it is determined that the bullet object has hit the head F 1  of the enemy object OB 1  (see  FIG. 28B ). 
     Note that it may be determined that the bullet object has hit the object that is closest to the projection plane (i.e., closest to the viewpoint) corresponding to each hit type referring to the depth value of each of the pixels K 1  to K 9  stored in the Z-buffer  233 . 
     For example, the pixels K 1  to K 9  are classified by the hit type based on the translucency information A about the pixels K 1  to K 9 . For example, when the pixels K 1  and K 2  are classified as the hit type “character” (A=1), and it has been determined that the pixel K 1  is positioned closer to the virtual camera referring to the depth values of the pixels K 1  and K 2 , it is determined that the bullet object has hit the character determined by the (R, G, B, A) values of the pixel K 1 . Likewise, an object that has been hit by the bullet object is determined corresponding to the hit type “background” (A=2) and the hit type “another object” (A=3). 
     The hit determination process is performed at a timing at which the trigger of the input section  160  has been pulled (i.e., at a timing at which the attack input information has been detected). Specifically, it is determined that the bullet object has hit another object in the object space at a timing at which the trigger has been pulled. 
     When the object indicated by the (R, G, B, A) values of the selected pixel is an enemy object, a given calculation process is performed corresponding to the enemy object. For example, a hit process that causes the enemy object to be hit by the bullet object is performed. More specifically, a process that controls the parameter (e.g., strength value) of the enemy object (e.g., subtraction process), or an effect process that causes the enemy object to be attacked (attack motion process) is performed. A process that generates a display image in which the bullet object hits the enemy object is also performed. A process that adds points to the score of the player character may be performed when the bullet object has hit the enemy object. 
     The rendering hit process can thus reduce the processing load due to the wide-range hit determination process. The rendering hit process makes it possible to perform the hit determination process on the bullet object and another object based on the (R, G, B, A) values of the selected pixel without determining whether or not the bullet object has hit another object in the three-dimensional space. Since a three-dimensional calculation process need not be performed when using the above method, the processing load can be reduced. 
     Note that the hit determination process may be performed in a state in which the bullet object is not present in the object space. Specifically, the hit determination process may be performed on the assumption that the bullet object has hit a given object based on the (R, G, B, A) values of the selected pixel of the calculation image. 
     (5) Normal Control Process 
       FIG. 10  illustrates a normal control process that controls the depth value of the reticle (marker) when the capture target is identical. The following description is given taking an example in which a target object E 20  moves along a path  360  in the virtual three-dimensional space. Reference symbols EP-t 1 , EP-t 2 , EP-t 3 , EP-t 4 , and EP-t 5  indicate the positions of the target object in frames corresponding to times t 1 , t 2 , t 3 , t 4 , and t 5 , respectively. In this case, when the player has moved the indication position of the controller to follow the movement of the target object E 20 , the depth component (e.g., Z-coordinate value) of positions CP-t 1 , CP-t 2 , CP-t 3 , CP-t 4 , and CP-t 5  of the capture point (where the reticle object S is disposed) at the times t 1 , t 2 , t 3 , t 4 , and t 5  changes corresponding to the depth component (e.g., Z-coordinate value) of the positions EP-t 1 , EP-t 2 , EP-t 3 , EP-t 4 , and EP-t 5  of the target object E 20  at the times t 1 , t 2 , t 3 , t 4 , and t 5 , respectively. 
     Specifically, when the capture target is identical (normal control process), the capture point is instantaneously located at a position corresponding to the depth value of the capture target (e.g., a position having the same depth value as that of the capture target or a position closer to the virtual camera by deltaZ). Therefore, the degree of change in the depth value of the capture point is identical with the degree of change in the depth value of the capture target (e.g., the moving speed in the depth direction), and the change value in the depth value of the capture point (e.g., the moving distance in the depth direction) is also identical with the change value in the depth value of the capture target. 
       FIG. 11  illustrates a problem that may occur when performing the normal control process when a transition has occurred from a state in which the capture target is present to a state in which the capture target is not present. An example in which the capture direction is changed in a state in which the target object is stationary is described below for convenience of illustration. 
     For example, when target objects E 31  and E 32  are present in the virtual three-dimensional space, and the target object E 31  is present in the capture direction (capture line) at a time t 1 , the capture point where the reticle object S is disposed is set on the front side of the target object E 31  (capture target) (may be set at the same position as that of the target object E 31 ) at the time t 1 . 
     When the capture direction (capture line) has changed to CL-t 2 , CL-t 3 , CL-t 4 , and CL-t 5  at times t 2 , t 3 , t 4 , and t 5 , since the capture target object is not present in the capture direction (capture line) CL-t 2 , CL-t 3 , or CL-t 4  at the times t 2 , t 3  and t 4 , the capture point where the reticle object S is disposed is set to CP-t 2 , CP-t 3 , or CP-t 4  (i.e., the position of a drawn object (e.g., background) that is positioned furthest from the virtual camera in the capture direction, or the position of a preset deepest position) in the capture direction (capture line) CL-t 2 , CL-t 3 , or CL-t 4 . 
     Since the target object E 32  (capture target) is present in the capture direction (capture line) CL-t 5  at the time t 5 , the capture point where the reticle object S is disposed is set to the front side of the target object E 32  (may be set at the same position as that of the target object E 32 ) (capture point CP-t 5 ). 
     Specifically, since the depth value of the capture point where the reticle object S is set rapidly changes when a transition has occurred from a state in which the capture target is present in the capture direction to a state in which the capture target is not present in the capture direction, the reticle suddenly moves to a deep position inside the virtual three-dimensional space. Therefore, it may be difficult for the player to determine the reticle position. A similar situation (i.e., a rapid change in depth value) also occurs when the player changes the direction of the controller (shooting device) in order to change the capture target from the target object E 31  to the target object E 32 , or when the player loses the target object due to the movement of the target object, or when the capture target has been shot and disappeared, for example. 
     (6) Control Process that does not Change Depth Value of Capture Point for Predetermined Period 
     A control process that does not change the depth value of the capture point for a predetermined period is described below as an example of a process that controls the depth value of the capture point when a transition has occurred from a state in which the capture target is present in the capture direction to a state in which the capture target is not present in the capture direction (i.e., when the capture target has been lost). 
       FIG. 12  illustrates an example of the control process that does not change the depth value of the capture point for a predetermined period when the capture target has been lost due to a change in the capture direction. As illustrated in  FIG. 12 , the target object E 31  (capture target) is present in the capture direction CL-t 1  at the time t 1 , and no target object (capture target) is present in the capture direction CL-t 2  at the time t 2 . 
     In this case, the depth value of the capture point where the reticle object S is disposed may not be changed for a predetermined period (time) in order to avoid a rapid backward movement of the reticle. 
     For example, the depth value of the capture point may not be changed for k 1  frames after a transition to a state in which the capture target is not present in the capture direction has occurred. When t 5 -t 2 &lt;k 1 , the depth value of the capture point is not changed from the time t 2  to the time t 4 . Therefore, the capture points CP-t 2  to CP-t 4  at the times t 2  to t 4  are disposed along the capture directions (capture lines) CL-t 2  to CL-t 4  at the same depth value as that of the capture point CP-t 1  at the time t 1 . Since a transition from a state in which the capture target is not present in the capture direction to a state in which the capture target is present in the capture direction occurs at the time t 5 , the depth value of the capture point CP-t 5  may be instantaneously changed to a position on the front side of the target object E 32  (may be changed to the same position as that of the target object E 32 ). 
     Therefore, since the depth value of the capture point does not change even if the capture target has been lost due to a change in the capture direction, the reticle can be smoothly moved to another target object positioned near the reticle without causing a rapid backward movement of the reticle. 
     The above control process is also effective when the capture target has been lost due to the movement of the capture target, or when the capture target has been lost due to a change in the capture direction and the movement of the capture target. The above control process is also effective when the capture target has been lost due to disappearance of the capture target (e.g., the capture target has been shot). 
       FIG. 13  illustrates an example of the control process that does not change the depth value of the capture point for a predetermined period when the capture target has been lost due to disappearance of the capture target. 
     As illustrated in  FIG. 13 , the target object E 31  (capture target) is present in the capture direction CL-t 0  at the time t 1 , and no target object (capture target) is present in the capture direction CL-t 1  at the time t 1  due to disappearance of the capture target (e.g., the capture target has been shot). In this case, the depth value of the reticle may not be changed for a predetermined period (time) in the same manner as in  FIG. 12  in order to avoid a rapid backward movement of the reticle. 
     For example, the depth value of the capture point may not be changed for k 1  frames after a transition to a state in which the capture target is not present in the capture direction has occurred. When t 5 -t 1 &lt;k 1 , the depth value of the capture point is not changed from the time t 1  to the time t 4 . Therefore, the capture points CP-t 1  to CP-t 4  at the times t 1  to t 4  are disposed along the capture directions (capture lines) CL-t 1  to CL-t 4  at the same depth value as that of the capture point CP-t 0  at the time t 0 . Since a transition from a state in which the capture target is not present in the capture direction to a state in which the capture target is present in the capture direction occurs at the time t 5 , the depth value of the capture point CP-t 5  may be instantaneously changed to a position on the front side of the target object E 32  (may be changed to the same position as that of the target object E 32 ). 
     Although an example in which the capture direction changes with time has been described above, the above description also applies to a case where the capture direction does not change for a while after the capture target has disappeared. In this case, the capture point is disposed at the same position (i.e., the reticle position does not change) for a while since the depth value and the capture direction do not change. 
     Therefore, since the depth value of the capture point does not change even if the capture target has disappeared, the reticle can be smoothly moved to another target object positioned near the reticle without causing a rapid backward movement of the reticle. 
     Although an example in which the depth value of the capture point is not changed for a predetermined period has been described above, the depth value of the capture point may be changed to only a small extent for a predetermined period, and may be set to the deepest position in the capture direction after the predetermined period has elapsed. 
       FIG. 14  illustrates an example of the control process that changes the depth value of the capture point to only a small extent for a predetermined period when the capture target has been lost, and changes the depth value of the capture point to the maximum setting value when the predetermined period has elapsed. The following description illustrates an example in which the capture target has been lost due to a change in the capture direction. 
     As illustrated in  FIG. 14 , the target object E 31  (capture target) is present in the capture direction CL-t 1  at the time t 1 , and no target object (capture target) is present in the capture direction CL-t 2  at the time t 2 . In this case, the depth value of the capture point may be changed to only a small extent for a predetermined period, and may be set to the maximum setting value after the predetermined period (k 2 ) has elapsed in order to avoid a rapid backward movement of the reticle. 
     For example, the depth value of the capture point may not be changed for k 2  frames after a transition to a state in which the capture target is not present in the capture direction has occurred. When t 3 -t 1 &lt;k 2 , the depth value of the capture point is changed to only a small extent (i.e., a position moved backward by a second change value  12 ) from the time t 1  to the time t 3 . Therefore, the capture points CP-t 2  and CP-t 3  at the times t 2  and t 3  are disposed along the capture directions (capture line) CL-t 2  and CL-t 3  at a position z(t 1 )+12 (i.e., the depth value has changed by the change value  12  from the depth value z(t 1 ) of the capture point CP-t 0  at the time t 1 ). When t 4 -t 1 &gt;k 2 , the depth value of the capture point CP-t 4  is changed to the maximum setting value at the time t 4 . 
     Since a transition from a state in which the capture target is not present in the capture direction to a state in which the capture target is present in the capture direction occurs at the time t 5 , the depth value of the capture point CP-t 5  may be instantaneously changed to a position on the front side of the target object E 32  (may be changed to the same position as that of the target object E 32 ). 
     Therefore, since the depth value of the capture point does not change even if the capture target has been lost, the reticle can be smoothly moved to another target object positioned near the reticle without causing a rapid backward movement of the reticle. 
     Note that the predetermined periods k 1  and k 2  may be appropriately set. For example, the predetermined periods k 1  and k 2  (i.e., depth value setting condition (e.g., the time in which the depth value is not changed, or the change speed)) may be changed based on given conditions such as the type, size, and disposition state (number, density, and distribution) of the object in the virtual three-dimensional space, a predetermined parameter (e.g., the number of enemies, difficulty level, hit score, strength, and stage), or a change in operation input performed by the player (e.g., a rapid change in reticle position). 
     (7) Control Process that Changes Moving Speed of Capture Point in Depth Direction 
     A control process that changes the moving speed of the capture point in the depth direction is described below as an example of a process that controls the depth value of the capture point when a transition has occurred from a state in which the capture target is present in the capture direction to a state in which the capture target is not present in the capture direction (i.e., when the capture target has been lost). 
       FIG. 15  illustrates an example of a control process that changes the speed when the capture target has been lost due to a change in the capture direction. 
     As illustrated in  FIG. 15 , the target object E 31  (capture target) is present in the capture direction CL-t 1  at the time t 1 , and no target object (capture target) is present in the capture direction CL-t 2  at the time t 2 . In this case, the moving speed of the reticle in the depth direction may be changed in order to avoid a rapid backward movement of the reticle. The moving speed of the reticle in the depth direction may be changed by increasing the moving time of the reticle in the depth direction, or setting a change value  14  per frame to a value sufficiently smaller than the maximum setting value in the depth direction, for example. 
     When the change value  14  per frame is set, and the depth value is set to the deepest position when the capture target has been lost, for example, the depth value may be changed in the depth direction (i.e., the direction away from the virtual camera) by the change value  14  for predetermined frames instead of instantaneously changing the depth value to the deepest position within one frame. 
     Specifically, the depth value of the capture point may be changed in the depth direction by the change value  12  from the time t 2  to the time t 4  before the reticle aims at a new capture target. When the depth value of the capture point CP-t 1  at the time t 1  is referred to as z(t 1 ), the depth value z(t 2 ) of the capture point CP-t 2  at the time t 2  is z(t 1 )+12, the depth value z(t 3 ) of the capture point CP-t 3  at the time t 3  is z(t 2 )+12, and the depth value z(t 4 ) of the capture point CP-t 4  at the time t 4  is z(t 3 )+12. Since a transition from a state in which the capture target is not present in the capture direction to a state in which the capture target is present in the capture direction occurs at the time t 5 , the depth value of the capture point CP-t 5  may be instantaneously changed to a position on the front side of the target object E 32  (may be changed to the same position as that of the target object E 32 ). 
     In this case, since the depth value of the capture point changes little by little, the player is given an impression that the moving speed of the reticle has decreased. Therefore, since the depth value of the capture point does not rapidly change even if the capture target has been lost, the reticle can be smoothly moved to another target object positioned near the reticle without causing a rapid backward movement of the reticle. 
     The above control process is also effective when the capture target has been lost due to the movement of the capture target, or when the capture target has been lost due to a change in the capture direction and the movement of the capture target. 
     A control process that sets the depth value of the capture point when the capture target has been lost so that the moving speed of the reticle in the depth direction increases with time is described below. 
       FIG. 16  illustrates an example of the control process that changes the speed (i.e., changes the moving speed with time) when the capture target has been lost due to a change in the capture direction. 
     As illustrated in  FIG. 16 , the target object E 31  (capture target) is present in the capture direction CL-t 1  at the time t 1 , and no target object (capture target) is present in the capture direction CL-t 2  at the time t 2 . A state in which no target object (capture target) is present in the capture direction continues for a while. In this case, the moving speed of the reticle in the depth direction may be increased with time in order to avoid a rapid backward movement of the reticle. 
     For example, when a reference change value  13  per frame is set, and the depth value is set to the deepest position when the capture target has been lost, the depth value may be changed in the depth direction (i.e., the direction away from the virtual camera) by 13×n (where, n is the number of elapsed frames) for a plurality of frames instead of instantaneously changing the depth value to the deepest position within one frame. 
     When the depth value of the capture point CP-t 1  at the time t 1  is referred to as z(t 1 ), the depth value z(t 2 ) of the capture point CP-t 2  at the time t 2  is z(t 1 )+13, the depth value z(t 3 ) of the capture point CP-t 3  at the time t 3  is z(t 2 )+13×2, the depth value z(t 4 ) of the capture point CP-t 4  at the time t 4  is z(t 3 )+13×3, and the depth value z(t 5 ) of the capture point CP-t 5  at the time t 5  is z(t 4 )+13×4. 
     Therefore, the player is given an impression that the change speed of the depth value of the capture point increases with time. Therefore, since the depth value of the capture point does not instantaneously change, but a change in the depth value of the capture point increases with time even if the capture target has been lost, a reticle image that is comfortable for the player can be provided. 
     (8) Process that Sets Object Group as Capture Target 
       FIGS. 17A and 17B  illustrate examples of a game image. 
       FIG. 17A  illustrates an image in which a number of target objects move in the virtual three-dimensional space in a group, and  FIG. 17B  illustrates an image in which the target objects move individually. Since the player shoots the target objects one after another in a situation illustrated in  FIG. 17A , the reticle image moves in the depth direction even if a number of target objects are present if the reticle moves backward in the virtual three-dimensional space each time the target object has disappeared (shot). Therefore, a game image inconvenient to the player is generated. In a situation illustrated in  FIG. 17A , a game image convenient to the player can be generated by not moving the reticle position backward even if the target object positioned corresponding to the reticle has disappeared. 
     Therefore, a plurality of target objects E 21 , E 22 , E 23 , E 24 , . . . may be grouped into an object group  410 , and the object group may be set as the capture target. In this case, when the object group is present in the capture direction, the depth value is set corresponding to the object group. Therefore, even if the target object E 24  that belongs to the object group  410  has been shot and disappeared, for example, the depth value of the capture point is set to the depth value linked to the object group without being changed in the depth direction in the virtual three-dimensional space. 
     The depth value linked to the object group may be the average value of the depth values of the objects that belong to the object group, the depth value of one of the objects that belong to the object group that is positioned closest to the virtual camera, or the depth value of a representative object of the object group, for example. 
     The target objects may be grouped by a predetermined method. For example, when controlling the movement of a plurality of target objects as a group (e.g., group control process), the target objects may be grouped in a movement control unit. 
     The target objects that move individually may be grouped based on the position of each target object in each frame, and the target objects may be dynamically grouped corresponding to a change in the position of each target object. 
       FIG. 22  illustrates an example in which the target objects are dynamically grouped. 
     As illustrated in  FIG. 22 , when target objects E 31  to E 39  are present in the virtual three-dimensional space, and the number of target objects present within a predetermined range (e.g., a sphere having a radius of r) from the given target object E 34  is equal to or larger than a predetermined number, the target objects may be grouped. For example, when a group setting condition whereby the target objects are grouped when the number of target object present within a predetermined range is equal to or larger than two has been set, since the target objects E 31 , E 32 , E 35 , and E 36  are present within a predetermined range  420 - 1  around the target object E 34 , the group setting condition is satisfied, and a group G 1  including the target objects E 31 , E 32 , E 34 , E 35 , and E 36  is formed. Since the target objects E 36  and E 38  are present within a predetermined range  420 - 2  around the target object E 37 , the group setting condition is satisfied, and a group G 2  including the target objects E 36 , E 37 , and E 38  is formed. Since only the target object E 38  is present within a predetermined range  420 - 3  around the target object E 39 , the group setting condition is not satisfied (i.e., a group is not formed). 
     In  FIG. 22 , the target object  36  belongs to the groups G 1  and G 2 . Specifically, a group may be formed so that one target object belongs to a plurality of groups. 
     The target objects may be grouped using the method that defines the group setting in advance and the method that dynamically changes the group setting in combination. For example, the target objects may be grouped in advance when the objects appear on the screen, and the group setting may be canceled when most of the target objects belonging to the group have been shot and disappeared (i.e., when the number of target objects has decreased). For example, when the target objects that have been grouped in advance (see  FIG. 17A ) have been shot so that the number of target objects has decreased (see  FIG. 17B ), whether or not to cancel the group setting may be determined based on a parameter (e.g., the number of objects and the positional dispersion), and the group setting may be canceled when it has been determined to cancel the group setting. 
       FIGS. 18A and 18B  illustrate a capture determination process that is performed corresponding to each object group. 
     As illustrated in  FIG. 18A , a hit check volume  420  may be set to an object group including the target objects E 21 , E 22 , E 23 , and E 24 , and whether or not the object group is the capture target may be determined by performing a hit check (intersection determination) on the hit check volume  420  and the capture direction (capture line) CL to specify the object group as the capture target. 
     The shape of the hit check volume  420  may be dynamically changed corresponding to the disposition state of the target objects E 21 , E 22 , E 23 , and E 24  that form the object group in each frame. For example, a hit check volume that includes the target objects E 21 , E 22 , E 23 , and E 24  that form the object group may be calculated in each frame based on the position information about each target object. 
     When the positional relationship between the target objects that form the object group does not change to a large extent, a hit check volume provided in advance may be used. 
     A hit check (intersection determination) on the hit check volume  420  and the capture direction (capture line) CL may be performed using a hit check volume HB 2  (see  FIG. 21 ) that is set corresponding to the capture direction (capture line) CL instead of the capture direction (capture line) CL. 
     As illustrated in  FIG. 18B , a hit check plane (plate)  430  (may be a two-dimensional area) may be set to an object group including the target objects E 21 , E 22 , E 23 , and E 24 , and whether or not the object group is the capture target may be determined by performing a hit check (intersection determination) on the hit check plane  430  and the capture direction (capture line) CL to specify the object group as the capture target. The hit check plane  430  may be set so that a normal  423  coincides with the line-of-sight direction. 
     The shape of the hit check plane  430  may be dynamically changed corresponding to the disposition state of the target objects E 21 , E 22 , E 23 , and E 24  that form the object group in each frame. As illustrated in  FIG. 23 , the target objects E 21 , E 22 , E 23 , and E 24  may be projected onto the screen, a two-dimensional area  440  including the target objects E 21 , E 22 , E 23 , and E 24  may be calculated, and a hit check plane having the shape of the two-dimensional area  440  may be calculated, for example. 
     When the positional relationship between the target objects that form the object group does not change to a large extent, a hit check plane provided in advance may be used. 
     A hit check (intersection determination) on the hit check plane  430  and the capture direction (capture line) CL may be performed using the hit check volume HB 2  (see  FIG. 21 ) that is set corresponding to the capture direction (capture line) CL instead of the capture direction (capture line) CL. 
     (9) Capture Target Determination Process by Predicting Change in Capture Direction 
     An example of a process that predicts a change in the capture direction based on the change history of the capture direction, and specifies the capture target taking account of the predicted change in the capture direction is described below. 
       FIGS. 19A and 19B  illustrate a capture point change prediction process. 
       FIG. 19A  illustrates an example in which the capture target is determined without predicting a change in the capture direction. Note that reference symbols P n , P n+1 , and P n+2  indicate the indication positions within a screen  460  at times t 1 , t 2 , and t 3 , respectively. 
     In this case, when a target object that is drawn within a predetermined area HE n  around the indication position P n  is present at the time t 1 , the target object can be set as the capture target. When a target object that is drawn within a predetermined area HE n+1  around the indication position P n+1  is present at the time t 2 , the target object can be set as the capture target. When a target object that is drawn within a predetermined area HE n+2  around the indication position P n+2  is present at the time t 3 , the target object can be set as the capture target. In  FIG. 19A , a target object that satisfies the above condition is not present. 
       FIG. 19A  illustrates an example in which a change in the capture direction is predicted, and the capture target is determined taking account of the predicted change in the capture direction. Note that reference symbols P n , P n+1 , and P n+2  indicate the indication positions within a screen  460  at times t 1 , t 2 , and t 3 , respectively. For example, when determining the capture target taking account of an estimated moving vector v in the current frame based on the movement history of the indication position in the previous frame, estimated moving vectors v n , v n+1 , and v n+2  in the current frame are calculated based on the movement history of the indication position in the previous frame. The estimated moving vectors v n , v n+1 , and v n+2  may be calculated based on the actual movement history corresponding to a predetermined number of previous frames, for example. 
     The velocity vector corresponding to a predetermined period may be calculated based on the movement results within a predetermined period immediately before the time t 1 , and determined to be the estimated moving vector v n  at the time t 1 . Likewise, the velocity vectors may be calculated based on the movement results within a predetermined period immediately before the times t 2  and t 3 , and determined to be the estimated moving vectors v n+1  and v n+2  at the times t 2  and t 3 . 
     A determination area HE′ n  obtained by deforming a predetermined area HE around the indication position P n  corresponding to the estimated moving vector v n  may be set at the time t 1 , and a target object present within the determination area HE′ n  may be set as the capture target. A determination area HE′ n+1  obtained by deforming a predetermined area HE n+1  around the indication position P n+1  corresponding to the estimated moving vector v n+1  may be set at the time t 2 , and a target object present within the determination area HE′ n+1  may be set as the capture target. A determination area HE′ n+2  obtained by deforming a predetermined area HE n+2  around the indication position P n+2  corresponding to the estimated moving vector v n+2  may be set at the time t 3 , and a target object present within the determination area HE′ n+2  may be set as the capture target. 
     An area obtained by enlarging the predetermined area HE n  (see  FIG. 19A ) in the direction of the estimated moving vector v n  may be set as the determination area HE′ n . 
     In this case, when a target object E 40  is present in the forward direction of the capture direction even if a target object is not present in the capture direction, the target object E 40  is set as the capture target. Therefore, a situation in which the reticle moves backward can be reduced, so that a reticle image that can be easily observed can be provided. 
       FIGS. 20A and 20B  three-dimensionally illustrate the situation in  FIGS. 19A and 19B  within the virtual three-dimensional space. 
       FIG. 20A  illustrates an example in which the capture target is determined without predicting a change in the capture direction. Reference symbol S′ indicates a virtual screen that is set within the virtual three-dimensional space corresponding to the display  460  (see  FIG. 19A ). Reference symbols P′ n , P′ n+1 , and P′ n+2  indicate points on the virtual screen corresponding to the indication positions P n , P n+1 , and P n+2  (see  FIG. 19A ). 
     A hit-check determination space HB-t 1  (e.g., a columnar space (centerline: CL-t 1 ), a hit-check determination space HB-t 2  (e.g., a columnar space (centerline: CL-t 2 ), and a hit-check determination space HB-t 3  (e.g., a columnar space (centerline: CL-t 3 ) may be set corresponding to the capture directions (capture lines) CL-t 1 , CL-t 2 , and CL-t 3  at the times t 1 , t 2 , and t 3  within the virtual three-dimensional space. The presence or absence of the capture target may be detected, or the capture target may be specified by performing a hit check on the determination space and the target object (or a hit check volume set to the target object). In  FIG. 19B , a capture target is not present at the times t 1 , t 2 , and t 3 . 
     Note that the determination space is not limited to a columnar space, but may have a conical shape having a vertex at the position of a muzzle or the like. The determination space may have another shape. For example, a columnar determination space is suitable when using a bazooka as the weapon, and a conical determination space is suitable when using a shotgun as the weapon. The determination space may be changed when the weapon has been changed during the game, for example. 
       FIG. 20A  illustrates an example in which a change in the capture direction is predicted, and the capture target is determined taking account of the predicted change in the capture direction. Reference symbol S′ indicates a virtual screen that is set within the virtual three-dimensional space corresponding to the display  460  (see  FIG. 19B ). Reference symbols P′ n , P′ n+1 , and P′ n+2  indicate points on the virtual screen corresponding to the indication positions P n , P n+1 , and P n+2  (see  FIG. 19B ). 
     The hit-check determination spaces HB-t 1 , HB-t 2 , and HB-t 3  determined taking account of the predicted change in the capture direction are set corresponding to the capture directions (capture lines) CL-t 1 , CL-t 2 , and CL-t 3  at the times t 1 , t 2 , and t 3  within the virtual three-dimensional space. The determination spaces may be obtained by deforming the determination spaces HB-t 1 , HB-t 2 , and HB-t 3  (see  FIG. 20A ) based on the estimated moving vectors v n , v n+1 , and v n+2  (see  FIG. 19B ). For example, the determination spaces may be obtained by enlarging the determination spaces HB-t 1 , HB-t 2 , and HB-t 3  in the direction of the estimated moving vectors v n , v n+1 , and v n+2  at the times t 1 , t 2 , and t 3 . 
     3. Process 
       FIG. 24  is a flowchart illustrating the flow of the reticle position correction process according to one embodiment of the invention. 
     The following process may be performed every frame to calculate the position of the capture point, and the reticle object may be disposed at the capture point. 
     The indication position P on the screen is detected based on the input information (step S 10 ). For example, the indication position P on the screen may be calculated by the process described with reference to  FIGS. 9A to 9C . The point P′ within the virtual space corresponding to the indication position P on the screen is calculated (step S 20 ). 
     When using a first-person viewpoint (YES in step S 30 ), the capture direction (capture line) is calculated based on the point P′ and the position of the virtual camera within the virtual space. When using a third-person viewpoint (NO in step S 30 ), the capture direction (capture line) is calculated based on the point P′ and the position of the character object within the virtual space (step S 50 ). 
     A hit check is performed on the capture line and the target object (or target object group) in the virtual space to specify the capture target (step S 60 ). When the capture target is present (YES in step S 70 ), the depth value of the capture target is determined based on the depth value corresponding to the capture target object (or target object group) (step S 80 ). When using a presence flag in order to determine whether or not the preceding capture target is present during the subsequent process, the presence flag may be set to ON when the process in the current frame has ended. 
     When the capture target is not present (NO in step S 70 ), whether or not the capture target was present in the preceding frame is determined (step S 90 ). Whether or not the capture target was present in the preceding frame may be determined based on the presence flag set in the preceding frame. 
     When the capture target was present in the preceding frame (YES in step S 90 ) (i.e., the capture target has been lost in the current frame), the mode is set to the correction mode for a correction period corresponding to the correction (correction type) performed on the depth value (step S 100 ). For example, a timer may be set, and the correction mode may be terminated, and the normal mode may be started when the timer value has become 0. This is advantageous when correcting the depth value over a plurality of frames (e.g., when the depth value is not changed for a predetermined period, or is changed little by little over a predetermined period). For example, when the depth value is not changed for the predetermined period k 1  (see  FIG. 11 ), the predetermined period k 1  may be set using a timer. 
     When the mode is the correction mode (YES in step S 110 ), the depth value is corrected corresponding to the correction type (step S 120 ). For example, when the depth value is not changed for a predetermined period, the depth value is corrected using the depth value in the preceding frame. When the depth value is changed little by little, the depth value is corrected by adding a predetermined correction value to the depth value in the preceding frame (see  FIG. 15 ). 
     When the mode is not the correction mode (NO in step S 110 ), the depth value of the capture point is determined to be the maximum setting value (step S 130 ). 
     The position of the capture point is then determined based on the capture direction (capture line) and the determined depth value, and the marker object is disposed at the capture point (step S 140 ). 
     Note that the invention is not limited to the above embodiments. Various modifications and variations may be made. For example, any term cited with a different term having a broader meaning or the same meaning at least once in the specification and the drawings may be replaced by the different term in any place in the specification and the drawings. 
     The above embodiments have been described taking the position of the camera control data as an example. Note that the invention is not limited thereto. The above control process may be similarly performed using the rotation or the angle of view. 
     The above embodiments have been described taking an example in which the image is generated as a normal two-dimensional image. Note that the image of the virtual three-dimensional space may be a three-dimensional (stereoscopic) image. 
     For example, when generating a binocular stereoscopic image, a process that generates a first image (right-eye image) of the virtual three-dimensional space including the marker viewed from a first virtual camera (right-eye virtual camera), and a process that generates a second image (left-eye image) of the virtual three-dimensional space including the marker viewed from a second virtual camera (left-eye virtual camera) may be performed, and a stereoscopic image may be generated based on the first image (right-eye image) and the second image (left-eye image). 
     The capture target present in the capture direction may be detected using a direction that connects the capture point and the virtual camera set at a position suitable for observing a stereoscopic image as the capture direction (capture line). 
     For example, when generating a binocular stereoscopic image, the capture target specifying section may detect the capture target present in the capture direction (capture line) using a direction that connects the capture point and a third virtual camera (center camera) disposed at the midpoint between the first virtual camera (left-eye camera) and the second virtual camera (right-eye camera). 
     A case where the capture point is set at a forward position, and the position of the capture point is clamped to the initial value when the initial value is exceeded is also included within the scope of the invention. 
     For example, a case where the depth value is set based on a function for controlling a change in the depth value (e.g., function z=f(t) that calculates the depth (Z) value using time t as a variable), and a case where the output value of the function is filtered are also included within the scope (correction of the depth value) of the invention. 
     As illustrated in  FIG. 25 , a function that calculates the depth value z at the time t is given by a quadratic function shown by z=(t-a) 2 −a 2 , for example, a parabola in which Z=0 when t=0 and Z=−a 2  (minimum value) when t=a is obtained. In this case, if a filtering process is performed so that Z=0 (initial value) when t=0 and the Z-value is clamped to the initial value when Z&lt;0, the Z-value is fixed at 0 in a period from t=0 to t=2a when the Z-value forms a broken line  500 . In this case, an effect similar to that obtained when setting a predetermined period, and setting the Z-value to the initial value in the predetermined period (e.g., a control process that does not change the depth value for a predetermined period (see  FIG. 13 ) can be obtained. Such a case is also included within the scope (correction of the depth value) of the invention. 
     Note that a function other than a quadratic function may also be used. 
     The invention may be applied to various game systems such as an arcade game system, a consumer game system, a portable game system, and a system board that generates a game image. 
     Although only some embodiments of the invention have been described in detail above, those skilled in the art would readily appreciate that many modifications are possible in the embodiments without materially departing from the novel teachings and advantages of the invention. Accordingly, such modifications are intended to be included within the scope of the invention.