Patent Publication Number: US-8529348-B2

Title: Game apparatus and storage medium storing game program

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     The disclosure of Japanese Patent Application No. 2008-103824, filed Apr. 11, 2008, is incorporated herein by reference. 
     BACKGROUND AND SUMMARY 
     1. Technical Field 
     The technology presented herein relates to a game apparatus and a storage medium storing a game program. The present technology particularly relates to a game apparatus and a game program for simulating a versus game against another player, and to a storage medium storing the game program. 
     2. Description of the Background Art 
     Conventionally, there are known game systems for simulating a versus game against another player, as disclosed in, e.g., Japanese Laid-Open Patent Publication No. 2005-319134 (herein after, referred to as Patent Document 1) and Japanese Laid-Open Patent Publication No. 2006-280453 (herein after, referred to as Patent Document 2). A game apparatus disclosed in Patent Document 1 generates, based on a play history of a player, a tendency parameter indicative of a tendency in a game play of the player (i.e., the player&#39;s habit), and transmits the tendency parameter to another game apparatus. When the game apparatus receives such a tendency parameter from another game apparatus, an application processing section of the game apparatus causes a character to act based on the tendency parameter. This allows the player of the game apparatus to perform a simulated versus play against another player. 
     Patent Document 2 discloses a server system for reproducing a tendency in operation inputs, performed by a player using a game apparatus capable of communicating with a server, in another game apparatus, thereby realizing, in said another game apparatus, a versus play against a character simulating the player. In the server system disclosed in Patent Document 2, the server generates a reproduction code based on play tendency data uploaded by a game apparatus, and transmits the generated reproduction code to a player terminal. Accordingly, a player of the player terminal can use the obtained reproduction code to perform a simulated versus play against another player. 
     However, the game apparatus disclosed in Patent Document 1 and the server system disclosed in Patent Document 2 are each for enabling a simulated versus play against another player, by only transmitting/receiving the play tendency data (player&#39;s habit). Here, when the play tendency data of a player is transmitted/received, the play tendency data is not associated with character data representing the player. For example, a character to be controlled using the received play tendency data is selected from among a plurality of types of characters which are stored in advance in the game apparatus, and therefore, there is a case where a feature of the player, based on which the play tendency data is generated, does not match a feature of the selected character. Thus, there is a problem that the simulated versus game lacks reality. 
     SUMMARY 
     Therefore, a main feature of the example embodiments presented herein is to provide a game apparatus and a game program which are capable of improving reality of a simulated versus game against another player, and to provide a storage medium storing the game program. 
     The present embodiments have the following features to achieve the above. Note that reference numerals, step numbers and the like indicated between parentheses are merely provided to facilitate the understanding of the present embodiment in relation to the later-described embodiment, rather than limiting the scope of the present embodiment in any way. 
     A first aspect of the present embodiment is a game apparatus ( 3 ) capable of executing a predetermined game in accordance with operation inputs performed by a player, and communicating with another game apparatus. The game apparatus comprises operation data obtaining means (a CPU  10  performing step S 103 ; hereinafter, only step numbers are indicated), player character control means (S 103 ), operation tendency data generation means (S 105 , S 122 ), player data storage means (S 52  to S 54 , S 105 , S 122 , Db, Dc), transmission means (S 86 , S 124 ), reception means (S 87 , S 125 ), non-player data storage means (S 88 , S 126 , Dd, De), display control means (S 114 ,  FIGS. 9 to 11 ) and non-player character control means (S 108  to S 114 ). The operation data obtaining means obtains operation data (Da) outputted from an input device. The player character control means causes a player character appearing in a virtual game world to perform an action in accordance with the operation data. The operation tendency data generation means generates, based on actions performed by the player character controlled by the player character control means, operation tendency data (habit data) which indicates a tendency in operations performed by the player operating the player character. The player data storage means stores image data of the player character controlled by the player character control means and the operation tendency data generated by the operation tendency data generation means. The transmission means transmits, to said another game apparatus, a group of the image data and the operation tendency data stored in the player data storage means. The reception means receives a group of the image data and the operation tendency data transmitted from said another game apparatus. The non-player data storage means stores the group of the image data and the operation tendency data of said another game apparatus which the reception means has received. Based on the image data of said another game apparatus stored in the non-player data storage means, the display control means displays on a display device ( 2 ) an image of a non-player character indicated by the image data. The non-player character control means controls, based on the operation tendency data of said another game apparatus stored in the non-player data storage means, an action performed by the non-player character in the virtual game world. 
     In a second aspect of the present embodiment, the game apparatus further comprises image data generation means for generating, as the image data, data indicating a portrait (portrait data) which is created by selecting, in accordance with the operation data, a part object for each part of the portrait from among a plurality of types of part objects prepared in advance for each part of the portrait, and by compositing selected part objects. 
     In a third aspect of the present embodiment, the non-player character control means determines an action of the non-player character by weighting, using numerical values (coefficient A and coefficient B) indicated by the operation tendency data, respective points of items set for a game situation (safety basic points, winning probability basic points, and specific situation additional points). 
     In a fourth aspect of the present embodiment, the non-player character control means: weights, using the numerical values indicated by the operation tendency data, the respective points of the items which are set for each action option (possible move) for the game situation; calculates total points (E) for each action option; and determines an action option of highest total points as an action to be performed by the non-player character. 
     In a fifth aspect of the present embodiment, the operation tendency data generation means generates the operation tendency data by estimating, based on a rate of selecting an action of the player character in a game situation (specific situation), a tendency in operations performed by the player ( FIG. 15 ). 
     In a sixth aspect of the present embodiment, each time a similar situation to the game situation appears, the operation tendency data generation means updates the rate of selecting the action, thereby updating the operation tendency data. 
     In a seventh aspect of the present embodiment, the operation tendency data generation means includes statistical information generation means (S 121 ) for generating and storing statistical information about a result of the game in which the player character has performed actions (Dl). The operation tendency data generation means estimates, based on the statistical information about the player character, a tendency in operations performed by the player, thereby generating the operation tendency data. 
     In an eighth aspect of the present embodiment, the game apparatus further comprises: question providing means and operation tendency data correction means. The question providing means provides a question in relation to a player of said another game apparatus. The operation tendency data correction means corrects, in accordance with the operation data which is obtained as an answer to the question from the question providing means, the operation tendency data indicating a tendency in operations performed by the player of said another game apparatus, which operation tendency data is stored in the non-player data storage means. 
     In a ninth aspect of the present embodiment, the operation tendency data generation means sets an initial value indicated by the operation tendency data, in accordance with the part object selected by the image data generating means. 
     A tenth aspect of the present embodiment is a game apparatus capable of executing a predetermined game in accordance with operation inputs performed by a player. The game apparatus comprises operation data obtaining means, player character control means, operation tendency data generation means, player data storage means, non-player data storage means, display control means and non-player character control means. The operation data obtaining means obtains operation data outputted from an input device. The player character control means causes a player character appearing in a virtual game world to perform an action in accordance with the operation data. The operation tendency data generation means generates, based on actions performed by the player character controlled by the player character control means, operation tendency data which indicates a tendency in operations performed by the player operating the player character. The player data storage means stores image data of the player character controlled by the player character control means and the operation tendency data generated by the operation tendency data generation means. Then on-player data storage means selects, from among groups of the image data and the operation tendency data stored in the player data storage means, a group of the image data and the operation tendency data to be used to display a non-player character and cause the non-player character to perform an action, and stores the selected group of the image data and the operation tendency data. Based on the image data stored in the non-player data storage means, the display control means displays on a display device an image of the non-player character indicated by the image data. The non-player character control means controls, based on the operation tendency data stored in the non-player data storage means, the action of the non-player character in the virtual game world. 
     An eleventh aspect of the present embodiment is a computer-readable storage medium for storing a game program to be executed by a computer ( 10 ) of a game apparatus which is capable of executing a predetermined game in accordance with operation inputs performed by a player and which is capable of communicating with another game apparatus. The game program causes the computer to act as operation data obtaining means, player character control means, operation tendency data generation means, player data storage control means, transmission means, reception means, non-player data storage control means, display control means, and non-player character control means. The operation data obtaining means obtains operation data outputted from an input device. The player character control means causes a player character appearing in a virtual game world to perform an action in accordance with the operation data. The operation tendency data generation means generates, based on actions of the player character controlled by the player character control means, operation tendency data which indicates a tendency in operations performed by the player operating the player character. The player data storage control means stores, in a memory ( 12 ,  17 ,  35 ), image data of the player character controlled by the player character control means and the operation tendency data generated by the operation tendency data generation means. The transmission means transmits, to said another game apparatus, a group of the image data and the operation tendency data stored in the memory. The reception means receives a group of the image data and the operation tendency data transmitted from said another game apparatus. The non-player data storage control means stores, in the memory, the group of the image data and the operation tendency data of said another game apparatus which the reception means has received. Based on the image data of said another game apparatus which the non-player data storage control means has stored in the memory, the display control means displays on a display device an image of a non-player character indicated by the image data. The non-player character control means controls, based on the operation tendency data of said another game apparatus which the non-player data storage control means has stored in the memory, an action performed by the non-player character in the virtual game world. 
     A twelfth aspect of the present embodiment is a computer-readable storage medium for storing a game program to be executed by a computer of a game apparatus which is capable of executing a predetermined game in accordance with operation inputs performed by a player. The game program causes the computer to act as operation data obtaining means, player character control means, operation tendency data generation means, player data storage control means, non-player data storage control means, display control means and non-player character control means. The operation data obtaining means obtains operation data outputted from an input device. The player character control means causes a player character appearing in a virtual game world to perform an action in accordance with the operation data. The operation tendency data generation means generates, based on actions of the player character controlled by the player character control means, operation tendency data which indicates a tendency in operations performed by the player operating the player character. The player data storage control means stores, in a memory, image data of the player character controlled by the player character control means and the operation tendency data generated by the operation tendency data generation means. The non-player data storage control means selects, from among groups of the image data and the operation tendency data stored by the player data storage control means, a group of the image data and the operation tendency data to be used to display a non-player character and cause the non-player character to perform an action, and stores, in the memory, the selected group of the image data and the operation tendency data. Based on the image data which the non-player data storage control means has stored in the memory, the display control means displays on a display device an image of the non-player character indicated by the image data. Then on-player character control means controls, based on the operation tendency data which the non-player data storage control means has stored in the memory, the action of the non-player character in the virtual game world. 
     According to the above first aspect, the operation tendency data of players and the image data of player characters operated by the players are transmitted/received between the game apparatus and another game apparatus. Then, even after the game apparatus has ended a communication with said another game apparatus, the game apparatus can use, as a non-player character, the character previously used by said another game apparatus. In this case, the character is displayed on a screen based on the image data which has already been received, and actions of the character are controlled based on the operation tendency data which has already been received. This allows the player of the game apparatus to feel as if to be really playing the game against the player character operated by the player of said another game apparatus. Thus, reality of the simulated play is improved. 
     According to the above second aspect, a portrait which represents a player operating another game apparatus is transmitted and received together with an operation tendency of the player. This further improves the reality of the simulated play. 
     According to the above third aspect, an action of the non-player character to be performed in a specific situation or the like which appears during the game, is determined by weighting in accordance with an operation tendency of another player. Therefore, the non-player character can perform an action which reflects the operation tendency of said another player in the specific situation. 
     According to the above fourth aspect, when there are a plurality of action options in the specific situation or the like which appears during the game, an action to be selected by the non-player character is determined by weighting in accordance with the operation tendency of said another player. Therefore, the non-player character can perform an action which is selected so as to reflect the operation tendency of said another player in the specific situation. 
     According to the above fifth aspect, the operation tendency data, which reflects the operation tendency of said another player in the specific situation or the like appearing during the game, can be generated. 
     According to the above sixth aspect, the operation tendency data is updated each time the specific situation or the like appears during the game. Therefore, then on-player character can perform an action which reflects a most recent operation tendency. 
     According to the above seventh aspect, an action of the non-player character is determined by weighting in accordance with the operation tendency of said another player, which operation tendency is based on statistical information about a game result. Therefore, the non-player character can perform an action which reflects said another player&#39;s tendency to advance through the game. 
     According to the above eighth aspect, the operation tendency data is corrected in accordance with an answer to the question in relation to said another player. This allows the operation tendency data, which reflects personalities or the like of said another player observed from an objective point of view, to be generated. 
     According to the above ninth aspect, the operation tendency data is generated based on a portrait created by the player. 
     According to the above tenth aspect, the operation tendency data of a player who has played using the game apparatus, and the image data of a player character operated by the player are stored. This allows a character previously used by the game apparatus to be used as a non-player character. In this case, the character is displayed on a screen based on the image data previously used in a game play, and actions of the character are controlled based on the operation tendency data. This allows a player to feel as if to be really playing the game against a player character operated by another player who played in the past using the game apparatus. Thus, reality of the simulated play is improved. For example, in the case of such a game as a mah-jong game, card game or the like where opponents&#39; tiles or cards are hidden during the game, it is difficult for a plurality of players to operate the same game apparatus at the same time to play the game. However, using the image data and the operation tendency data obtained in advance realizes a realistic game in which the player feels as if the game was played by a plurality of players performing operations at the same time. 
     According to the storage medium storing the game program of the present embodiment, the same effect as that of the above-described game apparatus can be obtained. 
     These and other features, aspects and advantages of the present embodiment will become more apparent from the following detailed description of the present embodiment when taken in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an external view illustrating a game system  1  according to an embodiment; 
         FIG. 2  is a functional block diagram of a game apparatus body  5  of  FIG. 1 ; 
         FIG. 3  is an isometric view of the controller  7  of  FIG. 1 , seen from a top rear side thereof; 
         FIG. 4  is an isometric view of the controller  7  of  FIG. 3 , seen from a bottom front side thereof; 
         FIG. 5  is an isometric view illustrating a state where an upper casing of the controller  7  of  FIG. 3  is removed; 
         FIG. 6  is an isometric view illustrating a state where a lower casing of the controller  7  of  FIG. 4  is removed; 
         FIG. 7  is a block diagram showing a configuration of the controller  7  of  FIG. 3 ; 
         FIG. 8  is an example of a game display which is provided on a monitor  2  in accordance with a game process performed by the game apparatus body  5 ; 
         FIG. 9  is an example of a game display which is provided on the monitor  2  in accordance with the game process performed by the game apparatus body  5 ; 
         FIG. 10  is an example of a game display which is provided on the monitor  2  in accordance with the game process performed by the game apparatus body  5 ; 
         FIG. 11  is an example of a game display which is provided on the monitor  2  in accordance with the game process performed by the game apparatus body  5 ; 
         FIG. 12  shows an example of main data to be stored in a main memory and/or a flash memory  17  of the game apparatus body  5 ; 
         FIG. 13  shows exemplary data showing a coefficient A calculation table, which is contained in habit data calculation table data Dh of  FIG. 12 ; 
         FIG. 14  shows exemplary data showing a coefficient B calculation table, which is contained in the habit data calculation table data Dh of  FIG. 12 ; 
         FIG. 15  shows exemplary data showing a specific situation additional point calculation table, which is contained in the habit data calculation table data Dh of  FIG. 12 , and shows an exemplary specific situation; 
         FIG. 16  shows exemplary data showing a safety basic point calculation table, which is contained in basic point calculation table data Di of  FIG. 12 ; 
         FIG. 17  shows exemplary data showing an winning probability basic point calculation table, which is contained in the basic point calculation table data Di of  FIG. 12 ; 
         FIG. 18  is a flowchart showing an exemplary flow of the game process performed by the game apparatus body  5 ; 
         FIG. 19  is a subroutine showing in detail operations performed in a game mode selection process at step  55  of  FIG. 18 ; 
         FIG. 20  is a subroutine showing in detail operations performed in a player-versus-player game process at step  56  of  FIG. 18 ; and 
         FIG. 21  is a subroutine showing in detail operations performed in a player-versus-player game ending process at step  57  of  FIG. 18 . 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     With reference to  FIG. 1 , an apparatus for executing an image processing program according to an embodiment will be described. Hereinafter, in order to give a specific description, a game system including a stationary game apparatus body  5  which is an example of the above apparatus will be described.  FIG. 1  is an external view illustrating a game system  1  including a stationary game apparatus  3 .  FIG. 2  is a block diagram of the game apparatus body  5 . The game system  1  will be described below. 
     As shown in  FIG. 1 , the game system  1  comprises: a home-use TV receiver  2  (herein after, referred to as a monitor  2 ) which is an example of display means; and the stationary game apparatus  3  connected to the monitor  2  via a connection cord. The monitor  2  has speakers  2   a  for outputting, in the form of sound, an audio signal outputted from the game apparatus body  5 . The game apparatus  3  includes: an optical disc  4  in which a game program, which is an exemplary game program of the present invention, is stored; the game apparatus body  5  having a computer for executing the game program of the optical disc  4 , thereby causing the monitor  2  to output a game display; and a controller  7  for providing the game apparatus body  5  with necessary operation information for a game in which a character or the like displayed in the game display is controlled. 
     The game apparatus body  5  has a wireless controller module  19  therein (see  FIG. 2 ). The wireless controller module  19  receives data wirelessly transmitted from the controller  7 , and transmits data from the game apparatus body  5  to the controller  7 . In this manner, the controller  7  and game apparatus body  5  are connected by radio communication. Further, the optical disc  4  as an example of an exchangeable information storage medium is detachably mounted on the game apparatus body  5 . 
     On the game apparatus body  5 , a flash memory  17  (see  FIG. 2 ) is mounted, the flash memory  17  functioning as a backup memory for fixedly storing, e.g., later-described various data and saved data for game software processing. The game apparatus body  5  executes the game program or the like stored on the optical disc  4 , and displays a result thereof as a game image on the monitor  2 . The game program or the like to be executed may be stored not only on the optical disc  4 , but also prestored in the flash memory  17 . The game apparatus body  5  can reproduce a state of the game played in the past, by using the saved data stored in the flash memory  17 , and display a game image of the reproduced state on the monitor  2 . A player playing with the game apparatus body  5  can enjoy the game by operating the controller  7  while watching the game image displayed on the monitor  2 . 
     By using the technology of, for example, Bluetooth (registered trademark), the controller  7  wirelessly transmits transmission data such as operation information to the game apparatus body  5  having the wireless controller module  19  therein. The controller  7  is operation means for mainly controlling an object or the like displayed on a display screen of the monitor  2 . The controller  7  has a housing, which is small enough to be held by one hand, and a plurality of operation buttons (including a cross key, a stick or the like) exposed at a surface of the housing. As described later in detail, the controller  7  includes an imaging information calculation section  74  for taking an image of a view seen from the controller  7 . As exemplary imaging targets of the imaging information calculation section  74 , two LED modules  8 L and  8 R (herein after, referred to as “markers  8 L and  8 R”) are provided in the vicinity of the display screen of the monitor  2 . The markers  8 L and  8 R each output, e.g., an infrared light forward from the monitor  2 . The controller  7  is capable of receiving, at a communication section  75 , transmission data wirelessly transmitted from the wireless controller module  19  of the game apparatus body  5 , and generating a sound or vibration based on the transmission data. 
     Next, an internal configuration of the game apparatus body  5  will be described with reference to  FIG. 2 .  FIG. 2  is a block diagram showing the configuration of the game apparatus body  5 . The game apparatus body  5  has a CPU (Central Processing Unit)  10 , system LSI (Large Scale Integration)  11 , external main memory  12 , ROM/RTC (Read Only Memory/Real Time Clock)  13 , disc drive  14 , AV-IC (Audio Video-Integrated Circuit)  15 , and the like. 
     The CPU  10  performs game processing by executing the game program stored in the optical disc  4 , and acts as a game processor. The CPU  10  is connected to the system LSI  11 . In addition to the CPU  10 , the external main memory  12 , ROM/RTC  13 , disc drive  14  and the AV-IC  15  are connected to the system LSI  11 . The system LSI  11  performs processing such as: controlling data transfer among components connected to the system LSI  11 ; generating an image to be displayed; and obtaining data from external devices. An internal configuration of the system LSI  11  will be described later. The external main memory  12 , which is a volatile memory, stores such a program as the game program loaded from the optical disc  4 , or the game program loaded from the flash memory  17 , and various data. The external main memory  12  is used as a work region or buffer region of the CPU  10 . The ROM/RTC  13  has a ROM, in which a boot program for the game apparatus body  5  is incorporated (so-called boot ROM), and a clock circuit (RTC) which counts the time. The disc drive  14  reads program data, texture data and the like from the optical disc  4 , and writes the read data into a later-described internal main memory  35  or into the external main memory  12 . 
     On the system LSI  11 , an input/output processor  31 , a GPU (Graphic Processor Unit)  32 , a DSP (Digital Signal Processor)  33 , a VRAM (Video RAM)  34  and the internal main memory  35  are provided. Although not shown, these components  31  to  35  are connected to each other via an internal bus. 
     The GPU  32  partly forms rendering means, and generates an image in accordance with a graphics command from the CPU  10 . The VRAM  34  stores necessary data for the GPU  32  to execute the graphics command (data such as polygon data and texture data). At the time of generating the image, the GPU  32  uses the data stored in the VRAM  34 , thereby generating image data. 
     The DSP  33  acts as an audio processor, and generates audio data by using sound data and sound waveform (tone) data stored in the internal main memory  35  and external main memory  12 . In order for the speakers  2   a  to output a sound, the DSP  33  reads the sound data, and causes the speakers  2   a  of the monitor  2  to output the sound data via the AV-IC  15  and an AV connector  16 . In order for a speaker  706  (see  FIG. 7 ) of the controller  7  to output a sound, the DSP  33  reads the sound data, and transmits the audio data to the controller  7  via the wireless controller module  19  and an antenna  23 . 
     The image data and audio data generated in the above manner are read by the AV-IC  15 . The AV-IC  15  outputs the read image data to the monitor  2  via the AV connector  16 , and outputs the read audio data to the speakers  2   a  embedded in the monitor  2 . As a result, the image is displayed on the monitor  2  and the sound is outputted from the speakers  2   a.    
     The input/output processor (I/O Processor)  31  performs data transmission/reception with components connected thereto, and downloads data from external devices, for example. The input/output processor  31  is connected to the flash memory  17 , a wireless communication module  18 , the wireless controller module  19 , an expansion connector  20  and an external memory card connector  21 . An antenna  22  is connected to the wireless communication module  18 , and the antenna  23  is connected to the wireless controller module  19 . 
     The input/output processor  31  is connected to a network via the wireless communication module  18  and antenna  22 , thereby communicating with other game apparatuses and various servers connected to the network. The input/output processor  31  regularly accesses the flash memory  17  to detect presence or absence of data which is required to be transmitted to the network. If such data is present, the data is transmitted to the network via the wireless communication module  18  and antenna  22 . Also, the input/output processor  31  receives, via the network, antenna  22  and wireless communication module  18 , data transmitted from other game apparatuses or data downloaded from a download server, and stores the received data in the flash memory  17 . By executing the game program, the CPU  10  reads the data stored in the flash memory  17  to use the data for execution of the game program. In addition to the data transmitted and received between the game apparatus body  5  and other game apparatuses or various servers, the flash memory  17  may store, as described above, saved data of the game which is played using the game apparatus body  5  (such as result data or progress data of the game). 
     Further, the input/output processor  31  receives, via the antenna  23  and wireless controller module  19 , operation data or the like transmitted from the controller  7 , and stores (temporarily) the operation data or the like in a buffer region of the internal main memory  35  or external main memory  12 . Note that, similarly to the external main memory  12 , the internal main memory  35  may store such a program as the game program loaded from the optical disc  4 , or the game program loaded from the flash memory  17 , and various data. The internal main memory  35  may be used as a work region or buffer region of the CPU  10 . 
     In addition, the expansion connector  20  and the external memory card connector  21  are connected to the input/output processor  31 . The expansion connector  20  is a connector for such interface as USB or SCSI. The expansion connector  20 , instead of the wireless communication module  18 , is able to perform communications with a network by being connected to such a medium as external storage medium, a peripheral device, e.g., another controller, or a connector for wired communication. The external memory card connector  21  is a connector to be connected to an external storage medium such as a memory card. For example, the input/output processor  31  is able to access the external storage medium via the expansion connector  20  or external memory card connector  21  to store or read data from the external storage medium. 
     On the game apparatus body  5  (e.g., on a front main surface), a power button  24  of the game apparatus body  5 , a reset button  25  for game processing, an insertion slot for mounting the optical disc  4  in a detachable manner, an eject button  26  for ejecting the optical disc  4  from the insertion slot of the game apparatus body  5 , and the like are provided. The power button  24  and reset button  25  are connected to the system LSI  11 . When the power button  24  is turned on, each component of the game apparatus body  5  is supplied with power via an AC adaptor which is not shown. If, when the power button  24  is already turned on, the power button  24  is pressed again, the game apparatus body  5  shifts to a power-saving stand-by mode in which the game apparatus body  5  operates with relatively low power. Since the power is supplied to the game apparatus body  5  even in the power-saving stand-by mode, the game apparatus body  5  can be always connected to a network, e.g. the Internet. Note that, if it is desired to turn off the game apparatus body  5  completely when the power button  24  is already turned on, the game apparatus body  5  can be turned off completely by pressing the power button  24  for a predetermined period of time or longer. When the reset button  25  is pressed, the system LSI  11  reexecutes the boot program of the game apparatus body  5 . The eject button  26  is connected to the disc drive  14 . When the eject button  26  is pressed, the optical disc  4  is ejected from the disc drive  14 . 
     Described below are types of communications which the game apparatus body  5  performs with another apparatus (another game apparatus or a server). The communications to be performed here can be roughly categorized into two types. The first type is a communication using an always-connected network, which can be performed even in the aforementioned power-saving stand-by mode (herein after, referred to as an always-on connection communication), and the second type is a communication which depends on an application program, e.g., a program of an online player-versus-player game, and in which a communication control is performed such that a connection is established only when necessary (herein after, referred to as an on-demand connection communication). In the always-on connection communication, the input/output processor  31  independently transmits, as described above, transmission data written in the flash memory  17 , regardless of processing based on various programs such as a game program and the like, and writes, into the flash memory  17 , data received or downloaded via the antenna  22  and the wireless communication module  18 . Accordingly, an application using the always-on connection communication (e.g., an email application) is only required to write into the flash memory  17  data to be transmitted, and to read from the flash memory  17  received data. By using the always-on connection communication, the communication can be regularly performed even in the power-saving stand-by mode, and further, even when a predetermined game program is being executed, the communication can be performed also for background processing thereof. 
     The game apparatus body  5  can be communicably connected, via a network or the like, to a server on the network. For example, the game apparatus body  5  uses the above-described on-demand connection communication to perform data transmission/reception to and from the server. Roughly speaking, in the server, a storage device, a memory, a CPU and a communication section are connected to each other via a bus. The CPU of the server is a computing device or a control device for executing various programs loaded from the storage device to the memory. Further, the communication section of the server communicates with the game apparatus body  5  or the like via the network. 
     For example, a main function of the server is to regularly receive terminal information from each game apparatus  3  and store the terminal information in the memory, and in response to a request from a game apparatus  3 , return, based on the terminal information, an address information list to the game apparatus  3 . The terminal information contains a terminal ID, an IP address, a host flag, a user ID and the like of each game apparatus  3 , and is updated based on information transmitted from each game apparatus  3 . The terminal ID is information for identifying a game apparatus  3 . The IP address is address information for accessing the game apparatus  3  by means of TCP/IP protocol, and contains port number information. The host flag indicates whether or not the game apparatus  3  is currently operating as a host terminal. The user ID is information for identifying a user playing a game using the game apparatus  3 . The game apparatuses  3  can use the received address information list to establish a peer-to-peer network so as to allow a plurality of players to play a game together, and in the established peer-to-peer network, the user terminals execute a video game such as a mah-jong game or the like by transmitting/receiving game data to and from each other. 
     As one example, when a game apparatus  3  requests the address information list, the server extracts at least one piece of terminal information in which the host flag is ON, and returns, to the game apparatus  3 , a list of the extracted terminal information as the address information list. Next, the game apparatus  3  extracts, as a connection request destination, the at least one piece of terminal information from the address information list. Then, by using the IP address contained in the extracted terminal information, the game apparatus  3  starts communicating with another game apparatus  3  which is the connection request destination. 
     With reference to  FIGS. 3 and 4 , the controller  7  will be described.  FIG. 3  is an isometric view of the controller  7  seen from a top rear side thereof.  FIG. 4  is an isometric view of the controller  7  seen from a bottom front side thereof. 
     As shown in  FIGS. 3 and 4 , the controller  7  includes a housing  71  formed by plastic molding or the like. The housing  71  has a plurality of operation sections  72  provided thereon. The housing  71  has an approximately parallelepiped shape extending in a longitudinal direction from front to rear. The overall size of the housing  71  is small enough to be held by one hand of an adult or even a child. 
     At the center of a front part of a top surface of the housing  71 , a cross key  72   a  is provided. The cross key  72   a  is a cross-shaped four-direction push switch. The cross key  72   a  includes operation portions corresponding to four directions (front, rear, right and left), which are respectively located on cross-shaped projecting portions arranged at intervals of 90 degrees. A player selects one of the front, rear, right and left directions by pressing one of the operation portions of the cross key  72   a . Through an operation of the cross key  72   a , the player can, for example, indicate a direction in which a player character or the like appearing in a virtual game world is to move, or give an instruction to select one of a plurality of options. 
     The cross key  72   a  is an operation section for outputting an operation signal in accordance with the above-described direction input operation performed by the player. Such an operation section may be provided in another form. For example, an operation section, which has four push switches arranged in crisscross directions and which is capable of outputting an operation signal in accordance with a push switch pressed by the player, may be provided. Alternatively, an operation section, which has a composite switch having, in addition to the above four push switches, a center switch at an intersection point of the above crisscross directions, may be provided. Still alternatively, the cross key  72   a  may be replaced with an operation section which includes an inclinable stick (so-called joy stick) projecting from a top surface of the housing  71  and which outputs an operation signal in accordance with an inclining direction of the stick. Still alternatively, the cross key  72   a  may be replaced with an operation section which includes a horizontally-slidable disc-shaped member and which outputs an operation signal in accordance with a sliding direction of the disc-shaped member. Still alternatively, the cross key  72   a  may be replaced with a touch pad. 
     Behind the cross key  72   a  on the top surface of the housing  71 , a plurality of operation buttons  72   b  to  72   g  are provided. The operation buttons  72   b  to  72   g  are each an operation section for, when the player presses a head thereof, outputting a corresponding operation signal. For example, functions as a 1st button, 2nd button and A button are assigned to the operation buttons  72   b  to  72   d . Also, functions as a minus button, home button and plus button are assigned to the operation buttons  72   e  to  72   g , for example. Various operation functions are assigned to the operation buttons  72   a  to  72   g  in accordance with the game program executed by the game apparatus body  5 . In an exemplary arrangement shown in  FIG. 3 , the operation buttons  72   b  to  72   d  are arranged in a line at the center in a front-rear direction on the top surface of the housing  71 . The operation buttons  72   e  to  72   g  are arranged on the top surface of the housing  71  in a line in a left-right direction between the operation buttons  72   b  and  72   d . The operation button  72   f  has a top surface thereof buried in the top surface of the housing  71 , so as not to be inadvertently pressed by the player. 
     In front of the cross key  72   a  on the top surface of the housing  71 , an operation button  72   h  is provided. The operation button  72   h  is a power switch for turning on and off the power to the game apparatus body  5  by remote control. The operation button  72   h  also has a top surface thereof buried in the top surface of the housing  71 , so as not to be inadvertently pressed by the player. 
     Behind the operation button  72   c  on the top surface of the housing  71 , a plurality of LEDs  702  are provided. Here, a controller type (number) is assigned to the controller  7  such that the controller  7  is distinguishable from the other controllers  7 . The LEDs  702  are used for, e.g., informing the player of the controller type which is currently set for the controller  7 . Specifically, a signal is transmitted from the wireless controller module  19  to the controller  7  such that one of the plurality of LEDs  702 , which corresponds to the controller type of the controller  7 , is lit up. 
     On the top surface of the housing  71 , sound holes for outputting sounds from a later-described speaker (speaker  706  shown in  FIG. 5 ) to the external space are formed between the operation button  72   b  and the operation buttons  72   e  to  72   g.    
     On a bottom surface of the housing  71 , a recessed portion is formed. The recessed portion on the bottom surface of the housing  71  is formed in a position in which an index finger or middle finger of the player is located when the player holds the controller  7  so as to point a front surface thereof to the markers  8 L and  8 R. On a slope surface of the recessed portion, an operation button  72   i  is provided. The operation button  72   i  is an operation section acting as, for example, a B button. 
     On a front surface of the housing  71 , an image pickup element  743  forming a part of the imaging information calculation section  74  is provided. The imaging information calculation section  74  is a system for: analyzing image data of an image taken by the controller  7 ; identifying an area having a high brightness in the image; and detecting a position of a center of gravity, a size and the like of the area. The imaging information calculation section  74  has, for example, a maximum sampling period of approximately 200 frames/sec, and therefore can trace and analyze even a relatively fast motion of the controller  7 . A configuration of the imaging information calculation section  74  will be described later in detail. On a rear surface of the housing  71 , a connector  73  is provided. The connector  73  is, for example, an edge connector, and is used for engaging and connecting the controller  7  with a connection cable. 
     Next, an internal structure of the controller  7  will be described with reference to  FIGS. 5 and 6 .  FIG. 5  is an isometric view, seen from a rear surface side of the controller  7 , illustrating a state where an upper casing (a part of the housing  71 ) of the controller  7  is removed.  FIG. 6  is an isometric view, seen from a front surface side of the controller  7 , illustrating a state where a lower casing (a part of the housing  71 ) of the controller  7  is removed. Here,  FIG. 6  is an isometric view showing a reverse side of a substrate  700  shown in  FIG. 5 . 
     As shown in  FIG. 5 , the substrate  700  is fixed inside the housing  71 . On a top main surface of the substrate  700 , the operation buttons  72   a  to  72   h , an acceleration sensor  701 , the LEDs  702 , an antenna  754  and the like are provided. These elements are connected to, e.g., a microcomputer  751  (see  FIGS. 6 and 7 ) by wirings (not shown) formed on the substrate  700  and the like. The wireless module  753  (see  FIG. 7 ) and antenna  754  allow the controller  7  to act as a wireless controller. Inside the housing  71 , a quartz oscillator, which is not shown, is provided, and the quarts oscillator generates a reference clock of the later-described microcomputer  751 . Further, the speaker  706  and an amplifier  708  are provided on the top main surface of the substrate  700 . 
     The acceleration sensor  701  is provided, on the substrate  700 , to the left side of the operation button  72   d  (i.e., provided not on a central portion but on a peripheral portion of the substrate  700 ). For this reason, in response to the controller  7  having rotated around an axis of a longitudinal direction of the controller  7 , the acceleration sensor  701  is able to detect, in addition to a change in direction of gravitational acceleration, an acceleration containing centrifugal components, and the game apparatus body  5  or the like is able to determine, based on detected acceleration data, a motion of the controller  7  by a predetermined calculation with a favorable sensitivity. For example, the controller  7  has a three-axis acceleration sensor  701 . The three-axis acceleration sensor  701  is able to detect linear acceleration of the controller  7  for three axial directions of the controller  7 , i.e., an up-down direction, a left-right direction, and a front-rear direction. Data indicating the acceleration detected by the acceleration sensor  701  is outputted to the communication section  75 . 
     As shown in  FIG. 6 , at a front edge of a bottom main surface of the substrate  700 , the imaging information calculation section  74  is provided. The imaging information calculation section  74  comprises an infrared filter  741 , a lens  742 , the image pickup element  743  and an image processing circuit  744  which are located in said order from the front surface of the controller  7 . These elements are attached to the bottom main surface of the substrate  700 . At a rear edge of the bottom main surface of the substrate  700 , the connector  73  is attached. Further, a sound IC  707  and the microcomputer  751  are provided on the bottom main surface of the substrate  700 . The sound IC  707  is connected to the microcomputer  751  and amplifier  708  by wirings formed on the substrate  700  and the like, and outputs audio signals via the amplifier  708  to the speaker  706  in response to sound data transmitted from the game apparatus body  5 . 
     On the bottom main surface of the substrate  700 , a vibrator  704  is attached. The vibrator  704  may be, for example, a vibration motor or a solenoid. The vibrator  704  is connected to the microcomputer  751  by wirings formed on the substrate  700  and the like, and is activated or deactivated in response to vibration data transmitted from the game apparatus body  5 . The controller  7  is vibrated by an actuation of the vibrator  704 , and the vibration is conveyed to the player&#39;s hand holding the controller  7 . Thus, a so-called vibration-feedback game is realized. Since the vibrator  704  is provided at a relatively forward position in the housing  71 , the housing  71  held by the player significantly vibrates, and allows the player to clearly feel the vibration. 
     Next, an internal configuration of the controller  7  will be described with reference to  FIG. 7 .  FIG. 7  is a block diagram showing the configuration of the controller  7 . 
     As shown in  FIG. 7 , in addition to the above-described operation sections  72 , imaging information calculation section  74 , acceleration sensor  701 , vibrator  704 , speaker  706 , sound IC  707  and the amplifier  708 , the controller  7  includes the communication section  75 . 
     The imaging information calculation section  74  includes the infrared filter  741 , lens  742 , image pickup element  743  and the image processing circuit  744 . The infrared filter  741  allows, among lights incident thereon through the front surface of the controller  7 , only an infrared light to pass therethrough. The lens  742  converges the infrared light which has passed through the infrared filter  741 , and outputs the infrared light to the image pickup element  743 . The image pickup element  743  is a solid-state image pickup element such as a CMOS sensor or a CCD. The image pickup element  743  takes an image of the infrared light collected by the lens  742 . In other words, the image pickup element  743  takes an image of only the infrared light which has passed through the infrared filter  741 . Then, the image pickup element  743  generates image data of the image. The image data generated by the image pickup element  743  is processed by the image processing circuit  744 . Specifically, the image processing circuit  744  processes the image data obtained from the image pickup element  743 , detects an area of the image, which area has a high brightness, and outputs, to the communication section  75 , process result data indicating, e.g., position coordinates, square measure and the like detected from the area. The imaging information calculation section  74  is fixed to the housing  71  of the controller  7 . An imaging direction of the imaging information calculation section  74  can be changed by changing a facing direction of the housing  71 . 
     The communication section  75  includes the microcomputer  751 , a memory  752 , the wireless module  753  and the antenna  754 . The microcomputer  751  controls the wireless module  753  for wirelessly transmitting transmission data while using the memory  752  as a storage area during processing. The microcomputer  751  also controls operations of the sound IC  707  and vibrator  704  in accordance with data which the wireless module  753  has received from the game apparatus body  5  via the antenna  754 . The sound IC  707  processes sound data or the like transmitted from the game apparatus body  5  via the communication section  75 . Further, the microcomputer  751  activates the vibrator  704  in accordance with vibration data or the like (e.g., a signal for causing the vibrator  704  to be ON or OFF) which is transmitted from the game apparatus body  5  via the communication section  75 . 
     Data from the controller  7  such as operation signals (key data) from the operation sections  72 , acceleration signals (acceleration data) from the acceleration sensor  701  with respect to the three axial directions, and the process result data from the imaging information calculation section  74  are outputted to the microcomputer  751 . The microcomputer  751  temporarily stores inputted data (the key data, acceleration data and process result data) in the memory  752  as transmission data to be transmitted to the wireless controller module  19 . Here, radio transmission from the communication section  75  to the wireless controller module  19  is performed at predetermined time intervals. Since the game processing is generally performed at a cycle of 1/60 sec, the radio transmission needs to be performed at a cycle of a shorter time period. Specifically, the game processing is performed at a cycle of 16.7 ms ( 1/60 sec), and a transmission interval of the communication section  75  structured using the Bluetooth (registered trademark) technology is 5 ms. At a timing of performing a transmission to the wireless controller module  19 , the microcomputer  751  outputs, to the wireless module  753 , the transmission data stored in the memory  752  as a series of pieces of operation information. The wireless module  753  uses, for example, the Bluetooth (registered trademark) technology to radiate, with a carrier wave having a predetermined frequency, a radio signal from the antenna  754 , the radio signal indicating the series of pieces of operation information. Thus, the key data from the operation sections  72 , the acceleration data from the acceleration sensor  701 , and the process result data from the imaging information calculation section  74  are transmitted from the controller  7 . The wireless controller module  19  of the game apparatus body  5  receives the radio signal, and the game apparatus body  5  demodulates or decodes the radio signal to obtain the series of pieces of operation information (the key data, acceleration data and process result data). In accordance with the series of pieces of obtained operation information and the game program, the CPU  10  of the game apparatus body  5  performs game processing. In the case where the communication section  75  is structured using the Bluetooth (registered trademark) technology, the communication section  75  can have a function of receiving transmission data wirelessly transmitted from other devices. 
     Prior to giving a specific description of processing performed by the game apparatus body  5 , a brief description of a game process performed by the game apparatus body  5  and examples of game displays provided on the monitor  2  will be given with reference to  FIGS. 8 to 11 . As an example of the game process of the present invention, there is a mah-jong game to play against a plurality of characters. The game apparatus body  5  is capable of performing the game process in an online versus game mode in which a player-versus-player game proceeds in accordance with data communication performed with one or more other game apparatuses via a network or the like, or in a local versus game mode in which a player-versus-player game proceeds without performing data communication with other game apparatuses, i.e., the versus game proceeds only by the game apparatus body  5 . In either game mode, in the game process, the versus game is performed among a player character controlled by a player using the controller  7  of the game apparatus body  5 , one or more other player characters controlled by one or more other players, and/or one or more non-player characters controlled by the CPU  10 . 
     As shown in  FIG. 8 , the other player characters controlled by the other players and/or the non-player characters, who are possible opponents of the player, are displayed on the monitor  2  in the form of their respective portrait images. In the case of the local versus game mode, a portrait image to be selected as an opponent of the player can be selected from among character portraits which are registered in advance in the game apparatus body  5 . Here, characters which are registered in advance in the game apparatus body  5  are, in addition to preset characters preinstalled in a game program of the mah-jong game, player characters which were used by other game apparatuses  3  when the player played against other players in the past in the online versus game mode (the example of  FIG. 8  shows an opponent selection display in the local versus game mode).  FIG. 8  shows that “Satoh” is selected as an opponent from among a plurality of portrait images. 
     In the case of the online versus game mode, the aforementioned character portraits, which are registered in advance in the game apparatus body  5 , are displayed as possible opponents, and other than that, a player character, which is controlled by another player whom the player plays against for the first time by performing data communication with a game apparatus of said another player via a network or the like, can be selected. The player character controlled by said another player may be displayed, as a possible opponent, using a portrait of the player character of said another player, or only the name of the player character may be displayed as a possible opponent. A manner of displaying, as a possible opponent, the player character of said another player whom the player plays against for the first time, may be determined based on whether or not portrait data has already been received from said another player. 
     Hereinafter, a portrait created by the game apparatus  3  will be described. By operating the controller  7  while watching a portrait creating display provided on the monitor  2 , the player of the game apparatus  3  can create a player character object (portrait image) which represents the player. For example, the player of the game apparatus  3  selects a part object for each part of the portrait from among a plurality of types of part objects prepared in advance for each part of the portrait, and composites the selected part objects, thereby creating the portrait which represents the player. Data indicating the portrait created by the player (portrait data) is stored in the game apparatus body  5  operated by the player. The portrait created by the player may be used as a face of the player character appearing in a virtual game world created by the game apparatus body  5  executing a game program. 
     In the case where characters appear, using such portraits as above, in a game which proceeds in accordance with communication performed by the game apparatus  3  with other game apparatuses  3 , the portrait data of the player character of the game apparatus  3  is registered in the other game apparatuses  3 . Note that, in data communication performed between game apparatuses  3 , portrait data generated by one game apparatus  3  is transmitted to the other game apparatus  3 , and the portrait data received by the other game apparatus  3  is registered in the other game apparatus  3 . Accordingly, the game apparatus body  5  is able to, even after the communication with the other game apparatuses  3  is disconnected, perform a game play, information processing or the like by using portrait data which has previously been created by the other game apparatuses  3  and which has already been registered in the game apparatus body  5 . Note that, in the present invention, operation tendency data (herein after, referred to as habit data), which indicates a tendency in operations performed by the player and which is generated based on actions of the player character performed in response to the operations by the player, is transmitted to the other game apparatuses  3  together with the portrait data of the player character. 
     As a result of the player sequentially selecting opponents from among a plurality of possible opponents displayed in the monitor  2 , three opponents for the mah-jong game are determined. The game display example in  FIG. 9  shows that non-player characters “Satoh”, “Sasaki” and “Chang” displayed with their respective portraits are determined as the three opponents. 
     Next, a player-versus-player game against the three opponents starts as shown in  FIG. 10 . In  FIG. 10 , a player character “Aoi” together with a portrait thereof is displayed as a player character who plays against the aforementioned non-player characters in the player-versus-player game. Typically, the portrait of the player character “Aoi” is a portrait image which has been created and registered in advance so as to represent the player operating the game apparatus body  5 . During the player-versus-player game, portrait images of the player character and the non-player characters, always or as necessary, appear in the virtual game world for display ( FIG. 11 ). Displaying the portrait images of the opponent players allow the player to feel as if to be really playing against the opponent players. 
     During the player-versus-player game, actions of each of the player character controlled by the player and the player characters controlled by the other players are determined in accordance with operations performed by a corresponding player. The CPU  10  controls actions of a non-player character which is not controlled by any player, based on the habit data which is registered together with the portrait data of the non-player character. By controlling, in this manner, the actions of an opponent based on the habit data of a player who previously controlled the opponent, the player of the game apparatus body  5  is allowed to feel as if to be really playing against the opponent player. Note that, a manner of generating the habit data and a manner of controlling actions based on the habit data, will be described later. 
     Next, the game process performed by the game system  1  will be described in detail. Hereinafter, in order to give a specific description, an example of a mah-jong game, in which the player character controlled by the player plays against a plurality of non-player characters and/or other player characters, will be given. 
     With reference to  FIGS. 12 to 17 , main data to be used in the game process will be described.  FIG. 12  shows an example of the main data which is stored in the external main memory  12  and/or in the internal main memory  35  of the game apparatus body  5  (herein after, these two main memories are collectively referred to as a main memory) and in the flash memory  17 .  FIG. 13  shows exemplary data showing a coefficient A calculation table, which is contained in habit data calculation table data Dh.  FIG. 14  shows exemplary data showing a coefficient B calculation table, which is contained in the habit data calculation table data Dh.  FIG. 15  shows exemplary data showing a specific situation additional point calculation table, which is contained in the habit data calculation table data Dh, and also shows an exemplary specific situation.  FIG. 16  shows exemplary data showing a safety basic point calculation table, which is contained in basic point calculation table data Di.  FIG. 17  shows exemplary data showing a winning probability basic point calculation table, which is contained in the basic point calculation table data Di. 
     As shown in  FIG. 12 , the main memory and the flash memory  17  store operation information data Da, player portrait data Db, player habit data Dc, opponent portrait data Dd, opponent habit data De, preset character portrait data Df, preset character habit data Dg, habit data calculation table data Dh, basic point calculation table data Di, evaluation point data Dj, highest point data Dk, statistical information data Dl, image data Dm and the like. Note that, although the main memory and the flash memory  17  store, in addition to the data shown in  FIG. 12 , data necessary for various processing such as data for performing the game process or data for performing other processes, descriptions thereof will be omitted. 
     The operation information data Da contains data showing a series of operation information (key data, acceleration data and process result data) transmitted as transmission data from the controller  7 . Note that, the wireless controller module  19  of the game apparatus body  5  receives the operation information which is transmitted from the controller  7  at predetermined intervals (e.g., every 1/200 sec), and stores the operation information in a buffer (not shown) of the wireless controller module  19 . Thereafter, most recently stored operation information in the buffer is read every frame (e.g., every 1/60 sec) which is a game process cycle, and the operation information Da is updated accordingly. 
     The player portrait data Db contains data indicating the portrait image which the player has created so as to represent the player. The player habit data Dc contains data indicating the player&#39;s habit, which is generated based on actions of the player character performed in response to operations by the player. For example, the player habit data Dc contains, as habit data, data indicating a coefficient A, a coefficient B, specific situation additional points, and the like. Descriptions of these data will be provided later in detail. 
     The opponent portrait data Dd contains data indicating a portrait image which another player, i.e., an opponent, has created so as to represent said another player. The opponent habit data De contains data indicating a habit of the opponent (i.e., said another player), which is generated based on actions of a character performed in response to operations by said another player. For example, as the habit data of the opponent (i.e., said another player), the opponent habit data De contains data indicating the coefficient A, the coefficient B, the specific situation additional points and the like of the opponent. Descriptions of these data will be provided later in detail. 
     The preset character portrait data Df stores data indicating a portrait image of a preset character created in advance. The preset character habit data Dg contains data indicating a habit of the preset character created in advance. For example, the preset character habit data Dg also contains, as the habit data of the preset character, data indicating the coefficient A, the coefficient B, the specific situation additional points and the like of the preset character. 
     The habit data calculation table data Dh contains data which is used to derive the habit data of the player (the coefficients A and B, specific situation additional points and the like) from statistical values or the like obtained in each player-versus-player game, such as statistical values which are obtained from each entire player-versus-player game and which are obtained from actions of the player character performed in response to operations by the player, and local statistical values which are obtained from a specific situation in each player-versus-player game and which are obtained from actions of the player character performed in response to operations by the player in the specific situation. 
     For example, as shown in  FIG. 13 , the habit data calculation table data Dh contains data showing the coefficient A calculation table in which the coefficient A set for each furikomi rate of the player is written. Here, a furikomi rate is a value which indicates a proportion of, in the total number of games which the player has played, the number of games where the player character has done “furikomi” (furikomi is a situation where the player character discards a tile, and an opponent takes the discarded tile and thereby wins the game). For example, the coefficient A calculation table in  FIG. 13  shows: the coefficient A=2.0 is assigned in the case where the furikomi rate is 11% or lower; the coefficient A=1.5 is assigned in the case where the furikomi rate is no lower than 11% and lower than 13%; the coefficient A=1.0 is assigned in the case where the furikomi rate is no lower than 13% and lower than 15%; the coefficient A=0.8 is assigned in the case where the furikomi rate is no lower than 15% and lower than 18%; the coefficient A=0.5 is assigned in the case where the furikomi rate is no lower than 18% and lower than 21%; and the coefficient A=0.0 is assigned in the case where the furikomi rate is no lower than 21%. As is clear from the description below, the coefficient A is a parameter which indicates how much importance the player places on the safety against “furikomi”. 
     As shown in  FIG. 14 , the habit data calculation table data Dh contains data which shows the coefficient B calculation table in which the coefficient B set for each winning rate of the player is written. Here, an winning rate is a value which indicates a proportion of, in the total number of games which the player has played, the number of games which the player character has “won” (here, to win a game means to show the opponents the player&#39;s hand which satisfies a particular condition or rules and obtain points in accordance with rules). For example, the coefficient B calculation table in  FIG. 14  shows: the coefficient B=0.4 is assigned in the case where the winning rate is lower 18%; the coefficient B=0.6 is assigned in the case where the winning rate is no lower than 18% and lower than 20%; the coefficient B=0.8 is assigned in the case where the winning rate is no lower than 20% and lower than 22%; the coefficient B=1.0 is assigned in the case where the winning rate is no lower than 22% and lower than 24%; the coefficient B=1.2 is assigned in the case where the winning rate is no lower than 24% and lower than 26%; the coefficient B=1.4 is assigned in the case where the winning rate is no lower than 26% and lower than 28%; and the coefficient B=1.6 is assigned in the case where the winning rate is no lower than 28%. As is clear from the description provided below, the coefficient B is a parameter which indicates the player&#39;s motivation to “win”. 
     As shown in  FIG. 15 , the habit data calculation table data Dh contains data showing the specific situation additional point calculation table in which additional points are written, which additional points are set in relation to rates of having selected, by the player, a particular option in a specific situation in the player-versus-player game. For example, in the case where the player is “tenpai” (i.e., the player&#39;s hand is one tile short of wining) as shown in  FIG. 15 , the player is still “tenpai” if the player discards either a tile T 1  (five bamboo sticks) or a tile T 2  (seven bamboo sticks). Here, if the player discards the tile T 1 , a tile which allows the player to “win” (i.e., a tile which the player is “waiting” for) is a tile T 3  (six bamboo sticks) as shown in an option P. This state is so-called “kanchan-machi” (“kanchan-machi” is a state where a combination of tiles of sequential numbers lacks a middle tile. The player is able to “win” by obtaining the middle tile). On the other hand, if the player discards the tile T 2 , a tile which allows the player to “win” is a tile T 4  (two bamboo sticks) or a tile T 5  (five bamboo sticks) as shown in an option Q. This state is so-called “shanpon-machi” (“shanpon-machi” is a state where there are two different pairs of same tiles. The player is able to “win” by obtaining a tile which completes either combination of same three tiles). Thus, in the above “tenpai” state, the player has two options. The player&#39;s different favorite “waiting” situations appear depending on what tile the player discards. Here, in the above “tenpai” state, if the player performs an operation to discard the tile T 1 , this means that the player favorably selects the option P (i.e., “kanchan-machi”), whereas if the player performs an operation to discard the tile T 2 , this means that the player favorably selects the option Q (i.e., “shanpon-machi”). The present embodiment focuses on a situation where the player makes a selection from such options as above, as an example of a specific situation where the player&#39;s habit is seen. 
     Written in the specific situation additional point calculation table are additional points for the option P and additional points for the option Q which are both set in relation to rates of having selected, by the player, the option P in such a specific situation as above. For example, the specific situation additional point calculation table in  FIG. 15  shows: the additional points for the option P=−20 and the additional points for the option Q=+20 are assigned in the case where the rate of having selected the option P is lower than 20%; the additional points for the option P=−15 and the additional points for the option Q=+15 are assigned in the case where the rate of having selected the option P is no lower than 20% and lower than 30%; the additional points for the option P=−10 and the additional points for the option Q=+10 are assigned in the case where the rate of having selected the option P is no lower than 30% and lower than 40%; the additional points for the option P=−5 and the additional points for the option Q=+5 are assigned in the case where the rate of having selected the option P is no lower than 40% and lower than 50%; the additional points for the option P=+5 and the additional points for the option Q=−5 are assigned in the case where the rate of having selected the option P is no lower than 50% and lower than 60%; the additional points for the option P=+10 and the additional points for the option Q=−10 are assigned in the case where the rate of having selected the option P is no lower than 60% and lower than 70%; the additional points for the option P=+15 and the additional points for the option Q=−15 are assigned in the case where the rate of having selected the option P is no lower than 70% and lower than 80%; and the additional points for the option P=+20 and the additional points for the option Q=−20 are assigned in the case where the rate of having selected the option P is no lower than 80%. As is clear from the description below, the above additional points are parameters which indicate the player&#39;s tendency in a specific situation. 
     The basic point calculation table data Di contains data which is used to derive safety basic points and winning probability basic points which are used for calculating evaluation points of each possible move. 
     For example, as shown in  FIG. 16 , the basic point calculation table data Di contains data showing the safety basic point calculation table in which safety basic points are written, which safety basic points are set so as to each correspond to a combination of a tile to be discarded by a possible move of the player and a state of an opponent. For example, types of discarded tiles are categorized into: “genbutsu” (a same tile as a tile discarded by the opponent); “suji” (a numbered tile which is different in number by 3 from “genbutsu”) or “kabe” (when four tiles of a same type are shown on the field, a numbered tile having a close number to these tiles is “kabe”); and “others”, and a safety level of each category is quantified. Also, states of the opponent are categorized into: “calling” (to “call” is to show a part of the player&#39;s hand to the opponents, and add to the player&#39;s hand a tile discarded by an opponent); “getting a reach” (to “get a reach” is to declare “tenpai” to the opponents when the player has become “tenpai” without “calling”); and “others”, and a safety level of each category is quantified. For example, the safety basic point calculation table in  FIG. 16  shows: in the case where the player&#39;s discarded tile is “genbutsu”, the safety basic point=0 is assigned for all the states of the opponent; in the case where the discarded tile is “suji” or “kabe”, the safety basic points=−20 are assigned when the state of the opponent is “reach”, and the safety basic points=−4 are assigned when the state of the opponent is “calling”, and the safety basic point=0 is assigned when the state of the opponent is “others”; in the case where the discarded tile is “others”, the safety basic points=−60 are assigned when the state of the opponent is “reach”, and the safety basic points=−10 are assigned when the state of the opponent is “calling”, and the safety basic points=−2 are assigned when the state of the opponent is others. As is clear from the description below, the safety basic points are a parameter which indicates a safety level of the discarded tile in the player-versus-player game (i.e., the more dangerous the discarded tile is in relation to the opponent, the greater the negative value of the parameter). 
     As shown in  FIG. 17 , the basic point calculation table data Di contains data showing an winning probability basic point calculation table in which winning probability basic points are written, which winning probability basic points are set so as to each correspond to the number of necessary tiles for the player to become “tenpai”. For example, the winning probability basic point calculation table in  FIG. 17  shows: the winning probability basic points=250 are assigned in the case where the player is tenpai, i.e., in the case where the number of necessary tiles to become tenpai=0; the winning probability basic points=150 are assigned in the case where the number of necessary tiles to become tenpai=1; the winning probability basic points=80 are assigned in the case where the number of necessary tiles to become tenpai=2; the winning probability basic points=30 are assigned in the case where the number of necessary tiles to become tenpai=3; the winning probability basic points=4 are assigned in the case where the number of necessary tiles to become tenpai=4; the winning probability basic points=2 are assigned in the case where the number of necessary tiles to become tenpai=5; and the winning probability basic point=0 is assigned in the case where the number of necessary tiles to become tenpai≧6. As is clear from the description below, the winning probability basic points are a parameter which indicates a degree of closeness to “win” the player-versus-player game (i.e., the closer to the “win” the player&#39;s hand becomes by the move, the greater the positive value of the parameter). 
     The evaluation point data Dj contains data showing evaluation points E calculated for possible respective moves. The highest point data Dk contains data indicating, among the evaluation points E calculated for the possible respective moves, maximum evaluation points (highest points Ebest). The statistical information data Dl contains data indicating statistical information about the player, which statistical information is obtained from the player-versus-player game which the player has played. The image data Dm contains various image data for creating a virtual game world on a display device (monitor  2 ). 
     Next, with reference to  FIGS. 18 to 21 , the game process performed by the game apparatus body  5  will be described in detail. Note that,  FIG. 18  is a flowchart showing an exemplary flow of the game process performed by the game apparatus body  5 .  FIG. 19  is a subroutine showing in detail operations which are performed in a game mode selection process at step  55  of  FIG. 18 .  FIG. 20  is a subroutine showing in detail operations which are performed in a player-versus-player game process at step  56  of  FIG. 18 .  FIG. 21  is a subroutine showing in detail operations which are performed in a player-versus-player game ending process at step  57  of  FIG. 18 . Note that, only processes in the game process, which allow the player-versus-player game to proceed, are described with reference to the flowchart shown in  FIGS. 18 to 21 , and detailed descriptions of other processes in the game process, which are not directly relevant to the present invention, will be omitted. In  FIGS. 18 to 21 , each step performed by the CPU  10  will be abbreviated as “S”. 
     When the power button  24  of the game apparatus body  5  is turned on, the game apparatus body  5  shifts from the state of completely being turned off or from the aforementioned power-saving stand-by mode to a normal processing mode. Then, the CPU  10  of the game apparatus body  5  executes a boot program stored in the ROM/RTC  13 , whereby each unit such as the main memory is initialized. In the case where the optical disc  4  is inserted, a game program stored in the optical disc  4  is loaded to the main memory, whereby an execution of the game program by the CPU  10  is enabled. The flowchart in  FIG. 18  shows the game process which is performed after the above process is completed. 
     In  FIG. 18 , the CPU  10  determines whether or not the player has selected a player-versus-player game in which existing data is used (step  51 ). Here, the player is able to, by selecting his/her portrait and habit data which are already saved, cause the player character to appear using the existing portrait. In this case, the player operates the controller  7  to select his/her portrait, thereby determining the player character. The player is also able to start the player-versus-player game with a new player character. At the above step  51 , the CPU  10  refers to the operation information data Da to determine what selection the player has made, thereby determining whether or not to play the player-versus-player game using the existing data. In the case of playing the versus game using the existing data, the CPU  10  proceeds to a process at a next step  52 . On the other hand, in the case of playing the versus game using new data, the CPU  10  proceeds to a process at a next step  53 . 
     At step  52 , the CPU  10  updates the player portrait data Db and the player habit data Dc, by using preset portrait data and habit data of the player. Then, the CPU  10  proceeds to a process at a next step  55 . 
     At step  53 , on the other hand, the CPU  10  refers to the operation information data Da to set a portrait selected by the player as a new player character, and then updates the player portrait data Db. Thereafter, the CPU  10  initializes the habit data of the player, and updates the player habit data Dc by using the initialized habit data (step  54 ). Then, the processing proceeds to the next step  55 . For example, at the above step  54 , the CPU  10  initializes the habit data such that a habit indicated by the habit data is flat, i.e., the habit data does not indicate any particular habit. 
     At step  55 , the CPU  10  performs the game mode selection process, and proceeds to a process at a next step. Hereinafter, operations performed in the game mode selection process will be described in detail with reference to  FIG. 19 . 
     In  FIG. 19 , the CPU  10  refers to the operation information data Da to determine whether or not the player has selected an online player-versus-player game (step  81 ). When the online versus game has been selected, the CPU  10  proceeds to a process at a next step  82 . On the other hand, when a local player-versus-player game has been selected, the CPU proceeds to a process at a next step  89 . 
     At step  82 , the CPU  10  searches for possible opponents, by accessing a server in which opponents to whom the player can be connected via a network are registered, and displays the possible opponents on the monitor  2 . Next, the CPU  10  determines whether or not four participants of the versus game, including the player character controlled by the player, have been determined (step  83 ). When the number of participants playing against each other via the network is less than 4, the CPU  10  proceeds to a process at a next step  84 . On the other hand, when four participants playing against each other via the network have been determined, the CPU  10  proceeds to a process at a next step  86 . 
     At step  84 , the CPU  10  randomly selects an opponent (or opponents) from preset characters, in order to fill the shortage in the number of opponents. Then, the CPU  10  updates the preset character portrait data Df and the preset character habit data Dg by using the portrait data and the habit data set for the selected preset character (step  85 ), and proceeds to a process at the next step  86 . 
     At step  86 , via the network, the CPU  10  transmits the portrait data and the habit data of the player contained in the player portrait data Db and the player habit data Dc, to the game apparatuses  3  of the opponents whom the player plays against via the network. Next, the CPU  10  receives the portrait data and the habit data transmitted from the game apparatuses  3  of the opponents whom the player plays against via the network (step  87 ). Thereafter, the CPU  10  updates the opponent portrait data Dd and the opponent habit data De by using the received portrait data and the habit data of the opponents (step  88 ), and then ends the processing of the subroutine. 
     On the other hand, in the case where the local player-versus-player game is selected at the above step  81 , the CPU  10  displays, on the monitor  2 , portraits of registered possible opponents (step  89 ; see  FIG. 8 ). Here, the portraits displayed at step  89  include portraits of player characters which were used in the past by other game apparatuses  3  when the game apparatus  3  played against the other game apparatuses in the online versus game mode. Then, the CPU  10  refers to the operation information data Da, and if the selection of the opponents by the player has been completed (Yes at step  90 ), the CPU  10  updates the opponent portrait data Dd and the opponent habit data De by using the portrait data and the habit data of the selected opponents (step  91 ), and then ends the processing of the subroutine. 
     Return to  FIG. 18 . After the game mode selection process at the above step  55 , the CPU  10  performs the player-versus-player game process (step  56 ), and then proceeds to a process at a next step. Hereinafter, operations performed in the player-versus-player game process at step  56  will be described in detail with reference to  FIG. 20 . 
     As shown in  FIG. 20 , the CPU  10  performs a player-versus-player game starting process, thereby starting a player-versus-player game (step  101 ), and then proceeds to a process at a next step. For example, in the player-versus-player game starting process, in addition to an initial setting process for starting the versus game, e.g., a process for displaying on the monitor  2  a virtual game world in which the portraits of the player and the opponents appear, an initial setting process specific to a mah-jong game is performed (e.g., for deciding a dealer, deciding a seating position of each player character, and assigning tiles to each player character as shown in  FIG. 10 ). Accordingly, at the above step  101 , data indicating operation information about operations performed by the plurality of game apparatuses  3 , and the like are transmitted/received online. However, detailed descriptions thereof will be omitted. 
     Next, the CPU  10  determines whether or not the current state is waiting for the player to perform an operation (step  102 ). When the current state is waiting for the player to perform an operation, the CPU  10  proceeds to a process at a next step  103 . On the other hand, when the current state is not waiting for the player to perform an operation, the CPU  10  proceeds to a process at a next step  107 . 
     At step  103 , the CPU  10  updates the operation information data Da by obtaining, from the controller  7 , data indicating a series of operation information, and causes the player character to perform an action in accordance with the operation information. Then, the processing proceeds to a next step. For example, the CPU  10  causes, in response to an operation by the player, the player character to perform an action, e.g., “select and discard a tile from his/her hand”, “call for a tile discarded by an opponent”, “pass on a tile discarded by an opponent” and “complete his/her hand and declare a win”. Note that, in the case where an online opponent (i.e., another player who operates a game apparatus  3  in an online versus play) is participating in the currently played player-versus-player game, the CPU  10  transmits, to the online opponent, the obtained operation information or data indicating the action performed by the player character. 
     Next, the CPU  10  determines whether or not the current situation of the player-versus-player game is a specific situation (step  104 ). Here, the specific situation is such a situation in the mah-jong game as described above where the player&#39;s habit is likely to appear. Such a situation is preset as the specific situation. The CPU  10  determines whether or not the current situation of the game is the present specific situation. If the current situation is the specific situation, the CPU  10  proceeds to a process at a next step  105 . On the other hand, if the current situation is not the specific situation, the CPU  10  proceeds to a process at a next step  106 . 
     At step  105 , the player habit data Dc is updated in accordance with the action performed by the player character at the above step  103 , and then the processing proceeds to a next step  106 . For example, in the specific situation described with reference to  FIG. 15 , the specific situation additional points are updated in accordance with a change in the rate of having selected, by the player character, the action of the option P. Then, the CPU  10  updates, from among the player habit data Dc, data indicating the specific situation additional points. 
     On the other hand, at the above step  102 , when the current situation is not waiting for the player to perform an operation, the CPU  10  determines whether or not the current situation is waiting for an online opponent to perform an operation (step  107 ). When the current situation is not waiting for the online opponent to perform an operation, the CPU  10  determines that it is a turn of a non-player character operated by the CPU  10 , and then proceeds to a process at a next step  108 . Whereas, when the current situation is waiting for the online opponent to perform an operation, the CPU  10  proceeds to a process at a next step  115 . 
     At step  108 , the CPU  10  initializes the highest points Ebest, thereby updating the highest point data Dk. The CPU  10  then selects a possible move based on the non-player character&#39;s current hand (step  109 ), and updates the evaluation point data Dj by calculating the evaluation points E for the selected move (step  110 ). Then, the processing proceeds to a next step. 
     Hereinafter, the evaluation points E calculated at the above step  110  will be described. For example, the evaluation points E are calculated such that: basic points are calculated for elements of the currently selected move of the non-player character; the calculated basic points are respectively multiplied by coefficients indicated by an opponent&#39;s habit data, i.e., the non-player character&#39;s habit data; and then resultant points are added up. Further, in the case of such a specific situation as described above, the specific situation additional points indicated by the opponent&#39;s habit data, i.e., the non-player character&#39;s habit data, are added to the above added-up points to calculate the evaluation points E. Thus, the evaluation points E are calculated by the following equation:
 
 E =safety basic points×coefficient  A +winning probability basic points×coefficient  B +specific situation additional points
 
     The above safety basic points are a value which is a sum of the safety basic points calculated in relation to the respective opponents of the non-player character, i.e., the safety basic points in relation to an opponent a+the safety basic points in relation to an opponent b+the safety basic points in relation to an opponent c. The safety basic points in relation to the respective opponents are each set using the safety basic point calculation table shown by the basic point calculation table data Di (see  FIG. 16 ). For example, as shown in  FIG. 16 , when a tile to be discarded by the currently selected move is “genbutsu” for the opponent a, the safety basic point=0 is set in relation to the opponent a. When a tile to be discarded by the currently selected move is “suji” or “kabe” for the opponent band the opponent b is in the state of “reach”, the safety basic points=−20 are set in relation to the opponent b. Further, when a tile to be discarded by the currently selected move is neither “genbutsu”, “suji” nor “kabe” for the opponent c and the opponent c is “calling”, the safety basic points=−10 are set in relation to the opponent c. 
     The winning probability basic points are a parameter which indicates, in relation to the currently selected move, a minimum number of necessary tiles to win. The winning probability basic points are set using the winning probability basic point calculation table shown by the basic point calculation table data Di (see  FIG. 17 ). For example, as shown in  FIG. 17 , in the case where a minimum number of necessary tiles to be “tenpai” will become “1” as a result of performing the currently selected move, the winning probability basic points=150 are set. 
     Then, the CPU  10  calculates the evaluation points E of the currently selected move of the non-player character, by using the safety basic points and the winning probability basic points set in the above manner and the habit data (e.g., the coefficient A, the coefficient B and the specific situation additional points) indicated by the opponent habit data De of the opponent, i.e., the non-player character, which is currently having a turn. 
     Next, the CPU  10  determines whether or not the evaluation points E calculated at the above step  110  are greater than current highest points Ebest (step  111 ). When the evaluation points E are not greater than the current highest points Ebest (E≦Ebest), the CPU  10  proceeds to a process at a next step  113 . On the other hand, when the evaluation points E are greater than the current highest points Ebest (E&gt;Ebest), the CPU  10  sets new highest points Ebest by using the evaluation points E, and updates the highest point data Dk (step  112 ). Then, the processing proceeds to the next step  113 . 
     At step  113 , the CPU  10  determines whether or not all the possible moves have been evaluated. When all the possible moves have been evaluated, the CPU  10  proceeds to a process at a next step  114 . On the other hand, when there is a move which has not been evaluated yet, the CPU  10  returns to the above step  109 , and repeats the processing. 
     At step  114 , the CPU  10  selects a move which currently has the highest points Ebest, as a move of the non-player character (an opponent of the player), and causes the opponent non-player character to perform the selected move. Then, the processing proceeds to the next step  106 . At step  114 , a portrait image of the opponent may be displayed. 
     At the above step  107 , when the current situation is waiting for the online opponent to perform an operation, the CPU  10  waits until data transmitted from the online opponent is received (step  115 ). Upon receiving data from the online opponent (Yes at step  115 ), the CPU  10  causes the player character of the online opponent to perform a move in accordance with the data (step  116 ), and then proceeds to a process at the next step  106 . 
     At step  106 , the CPU  10  determines whether or not the player-versus-player game has ended. For example, when any participant of the versus game “wins” the game, the CPU  10  determines that the versus game has ended. When the versus game has not ended, the CPU  10  returns to the above step  102 , and repeats the processing. On the other hand, when the versus game has ended, the CPU  10  ends the processing of the subroutine. 
     Return to  FIG. 18 . After the player-versus-player game process at the above step  56 , the CPU  10  performs the player-versus-player game ending process (step  57 ), and proceeds to a process at a next step. Hereinafter, operations performed in the player-versus-player game ending process at step  57  will be described in detail with reference to  FIG. 21 . 
     In  FIG. 21 , the CPU  10  updates statistical information based on actions of the player character performed during the player-versus-player game which has ended (step  121 ), and proceeds to a process at a next step. For example, the CPU  10  updates statistical information, (e.g., the winning rate, furikomi rate, etc) about the entire versus game which has ended, contained in the statistical information data Dl, by using results of the entire versus game such as whether or not the player character has won the game, whether or not the player character has done furikomi to a non-player character or another player character, and the like. 
     Next, the CPU  10  updates the habit data based on the statistical information updated at the above step  121  (step  122 ), and proceeds to a process at a next step. For example, the CPU  10  refers to the coefficient A calculation table (see  FIG. 13 ) and the coefficient B calculation table (see  FIG. 14 ) of the habit data calculation table data Dh to reset the coefficients A and B based on the updated statistical information. Then, the CPU  10  updates the player habit data Dc by using the reset coefficients A and B. 
     Next, the CPU  10  determines whether or not the player-versus-player game which has ended is an online versus game. For example, if an online versus game has been selected at the process of the above step  81 , the CPU  10  proceeds to a process at a next step  124 . On the other hand, if a local versus game has been selected at the process of the above step  81 , the CPU  10  ends the processing of the subroutine. 
     At step  124 , the CPU  10  transmits, to the game apparatuses  3  of the opponents whom the player has played against via the network, the portrait data and the habit data of the player contained in the player portrait data Db and the player habit data Dc, via the network. Next, the CPU  10  receives the portrait data and the habit data transmitted from the game apparatuses  3  of the opponents whom the player has played against via the network (step  125 ). Then, the CPU  10  updates the opponent portrait data Dd and the opponent habit data De, by using the received portrait data and the habit data of the opponents (step  126 ), and then ends the processing of the subroutine. Then, the game apparatuses  3  exchange their habit data which have been updated by the processes at these steps  124  to  126  after the versus game. 
     Return to  FIG. 18 . After the player-versus-player game ending process at the above step  57 , the CPU  10  determines whether or not to end the game. The game is to be ended, for example, when conditions for game over are satisfied, or when the player has performed an operation to end the game. When the game is not to be ended, the CPU  10  returns to the above step  55  and repeats the processing, whereas when the game is to be ended, the CPU  10  ends the processing of the flowchart. 
     As described above, the game apparatus  3  according to the present embodiment transmits/receives to and from other game apparatuses  3 , the habit data of the players and image data of the player characters controlled by the players. When, after ending the online versus play against the other game apparatuses  3 , the game apparatus  3  uses, as non-player characters in a new versus game, characters previously used by the other game apparatuses  3 , the game apparatus  3  displays, on the screen, the characters based on image data which the game apparatus  3  has already received, and controls actions of the characters in accordance with the habit data which the game apparatus  3  has already received. This allows the player of the game apparatus  3  to feel as if to be really playing the game against the player characters controlled by the players of the other game apparatus  3 , and thus improves reality of the simulated play. 
     Note that, from each player-versus-player game, the furikomi rate and the winning rate of the entire game are used as exemplary statistical values in relation to actions of the player character performed in response to operations by the player. However, the habit data may be set based on other statistical values. For example, a rate of the player having “called” or having got a “reach”, average points which the player has acquired when “winning” the game, a rate of the player having won when getting a “reach”, or the like may be used to estimate a tendency of the player, and the habit data may be generated using a result of the estimation. At a certain number of turns of the player in the versus game (e.g., every fifth turn of the player), the number of honor tiles included in the player&#39;s hand may be counted to estimate a tendency of the player to prefer honor tiles, and the habit data may be generated based on a result of the estimation. Further, various situations in the versus game may be chosen as the aforementioned specific situation. Then, by setting the above-described specific situation additional point calculation table for each chosen situation, parameters indicating tendencies of the player in various specific situations can be added to the habit data. 
     In the initial setting of the habit data in the process at the above step  54 , the habit data is initialized such that a habit indicated by the habit data is flat, i.e., the habit data does not indicate any particular habit. However, the habit data may be initialized differently. As one example, the habit data may be set based on the portrait which is selected in the process at the above step  53 . To be more specific, when the portrait of the player of the game apparatus  3  is created by compositing part objects which are prepared in advance for respective parts of the portrait, the initial habit data is generated based on selected part objects. For instance, when arched eyebrows are selected as parts of the portrait, the value of the coefficient A of the initial habit data is set to be small and the coefficient B thereof is set to be large. When lowered eyebrows are selected as parts of the portrait, the value of the coefficient A of the initial habit data is set to be large and the coefficient B thereof is set to be small. Thus, by setting the habit data so as to be associated with the portrait, a more realistic player-versus-player game can be provided. 
     As another further example, the habit data may be set in accordance with a time consumed to create the portrait in the process at the above step  53 . To be specific, a time consumed by the player of the game apparatus  3  to create the portrait is measured, and then the habit data to be grouped with the portrait is initialized based on the consumed time. For example, the habit data of the player who has consumed a relatively short time for creating the portrait is initialized so as to indicate that the player is a type of person who simply puts a priority on winning the game rather than carefully thinking other things (e.g., the coefficient A is set to have a small value, and the coefficient B is set to have a large value). Also, the habit data of the player who has consumed a relatively long time for creating the portrait is initialized so as to indicate that the player is a type of person who considers carefully and avoids doing furikomi (e.g., the coefficient A is set to have a large value, and the coefficient B is set to have a small value). Thus, by setting the habit data so as to be associated with a time consumed to create the portrait, a more realistic player-versus-player game is realized. 
     Further, questions in relation to other players operating other player characters may be set, and the habit data of the other players may be corrected based on answers to the questions provided by the player. For example, questions in relation to the other players such as “Is he impatient?” or “Is he indrawn?” may be provided, and the values of the coefficients A and B may be corrected based on the answers thereto. This allows the habit data of the other players, which reflect personalities or the like of the other players observed from an objective point of view, to be generated. 
     Still further, in the above-described embodiment, the portrait data is used as data indicating images representing the other player characters operated by the other players. However, different image data may be used as long as the different image data indicates the images representing the other player characters. For example, the player-versus-player game may be executed by using, in addition to the habit data of the other players, data indicating photos of the other players. Alternatively, the player-versus-player game may be executed by using, in addition to the habit data of the other players, data indicating images of characters selected by the other players. 
     Still further, in the above embodiment, the mah-jong game is used as an example of a game to be executed using the portrait data and the habit data of the other players. However, different games can be executed using the portrait data and the habit data of the other players. For example, the present invention may be applied, e.g., to a player-versus-player game such as shogi, go, tennis or baseball game, or to a fighting game in which the player character fights against another player character, or to a game in which the player plays in cooperation with other players. For example, in a tennis game in which the player character plays against an opponent character in a virtual game world, the habit data is generated so as to indicate play habits of another player in his/her past play (e.g., service placements, high accuracy of the first service, aggressive serving at the first service, and a rate of approaching the net). By obtaining the habit data together with image data of the opponent character controlled by said another player, a realistic tennis game for playing against said another player is realized. In a baseball game in which the player character plays against an opponent character in a virtual game world, the habit data is generated so as to indicate play habits of another player in his/her past play (e.g., most of his/her pitches are breaking balls, most of his/her pitches are fast balls, and a rate of hitting a first pitch). By obtaining the habit data together with image data of the opponent character controlled by said another player, a realistic baseball game for playing against said another player is realized. 
     Still further, when online opponents (i.e., other players operating game apparatuses  3  in an online versus play) participate in the above-described player-versus-player game, any one of the game apparatuses  3  participating in the versus game may perform the processes at the above steps  108  to  114  on behalf of all the participants. In this case, said any one of the game apparatuses  3  having performed the above processes transmits a result of the processing to the other game apparatuses  3 . For example, from among a plurality of game apparatuses  3  participating in the player-versus-player game, a game apparatus  3  to act as a “dealer” may be determined, and the game apparatus  3  which is the “dealer” may transmit the aforementioned processing result to the other game apparatuses  3 . 
     Still further, the above embodiment gives an example in which a group of the portrait data and the habit data transmitted from another game apparatus  3  is used to control actions of a non-player character appearing in the virtual game world. However, a group of the portrait data and the habit data, which is generated in advance by the game apparatus  3 , may be used to control actions of a non-player character appearing in the virtual game world. For example, a player A plays the above-described player-versus-player game by using the game apparatus  3 , and the portrait data indicating a portrait created by the player A and the habit data of the player A are stored in the game apparatus  3 . Thereafter, when a player B uses the same game apparatus  3  to play the same player-versus-player game, the player B selects, as an opponent, a non-player character whose actions are controlled using the portrait data and the habit data of the player A which are already stored in the game apparatus  3 . This allows the player B to play a realistic versus game against the player A. For example, in the case of such a game as a mah-jong game, card game or the like where opponents&#39; tiles or cards are hidden during the game, it is difficult for a plurality of players to operate the same game apparatus  3  at the same time to play the game. However, using the portrait data and the habit data obtained in advance realizes a realistic game in which the player feels as if the game was played by a plurality of players performing operations at the same time. In this case, the game apparatus  3  may not necessarily have functions to communicate with another game apparatus  3 . 
     Still further, the above description describes an example in which the present embodiment is applied to the stationary game apparatus body  5  which performs processing in accordance with an operation performed on the controller  7 . However, the present embodiment is also applicable to a handheld game apparatus. For example, the above-described game process is performed in accordance with an operation performed on an operation button provided on a main body of the handheld game apparatus. By applying the present embodiment in such a manner, the game process of the present embodiment can be realized even on a handheld game apparatus or the like. 
     Still further, the above description describes an example in which the present embodiment is applied to a stationary or handheld game apparatus. However, the present embodiment may be applied, e.g., to an information processing apparatus such as a general personal computer operated by an input device, or to a portable information processing device. The portable information processing device to which the present embodiment is applicable is, e.g., a general personal computer, a mobile phone, a PDA (Personal Digital Assistant) or the like. 
     Still further, in the above description, the controller  7  and the game apparatus body  5  are connected by radio communication. However, the controller  7  and game apparatus body  5  may be electrically connected by a cable. In such a case, the cable connected to the controller  7  is connected to a connecting terminal of the game apparatus body  5 . 
     It is understood that the shapes of the controller  7  and the operation sections  72  mounted thereon, the number of operation sections  72 , the positions in which the operation sections  72  are provided, and the like in the above description are merely examples. The present embodiment can be realized even if these shapes, numbers, positions and the like are different from the above description. Further, the manner of generating the habit data to be used in the above processing, the manner of displaying game images, and the like above are merely examples, and the descriptions thereof are simplified in order to give simple descriptions. It is understood that the present embodiment can be realized even if the manner of generating the habit data to be used in the above processing, the manner of displaying game images, and the like are different from the above descriptions. 
     The game program of the present embodiment may be supplied to the game apparatus body  5  not only via an external storage medium such as the optical disc  4 , but also via a wired or wireless communication line. Further, the game program may be prestored in a non-volatile storage device provided within the game apparatus body  5 . Note that, an information storage medium for storing the game program may be a CD-ROM, DVD or other similar optical disc storage medium, or may be a non-volatile semiconductor memory. 
     The game apparatus and the storage medium storing the game program according to the present embodiment are capable of improving reality of a simulated versus game against another player, and useful as an apparatus and a program for performing various information processing such as game processing and the like. 
     While the example embodiments presented herein have been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the embodiments.