Abstract:
An object of the present invention is to impose a penalty on a player, without causing a sudden deceleration, when a moving body moving on a course formed in a virtual space contacts a sidewall at the edge of the course. To achieve this object, assume that a vehicle running on a course formed in a virtual space has contacted a sidewall at point A which corresponds to the 0 th  frame. Whereupon, at point B which corresponds to the 1 st  frame, an amount, Rf, is subtracted from vehicle speed V, and from the 2 nd  frame until point C which corresponds to the 60t th  frame, processing to subtract RSd from vehicle speed V is successively performed.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a computer program product in which a game program is recorded whereby the game develops as a moving body moves on a course formed in a virtual space, in response to manipulation by a player. 
   2. Description of the Related Art 
   Conventionally, game apparatuses are proposed whereby, for a virtual vehicle running on a course formed in a virtual space, the pitch angle, yaw angle, roll angle, running speed, acceleration, etc. of the vehicle are simulated from its movement, acceleration, road surface resistance, centrifugal force, moment of inertia, etc., in response to the player&#39;s inputted manipulations of the steering wheel, accelerator, brakes, gear shift, etc. By displaying the resulting vehicle movement on the game screen, a racing game is developed. In such racing games, sidewalls are provided, such as fences, guard rails, concrete walls, etc. on the edge of the course, as the vehicles race along on the course. 
   However, with conventional game equipment, as shown in  FIGS. 5 and 6 , players, in order to travel the shortest possible course, can ram their vehicle  40  into sidewall  51  on the inner side of a corner and skillfully make it slide in contact therewith, thus causing vehicle  40  to decelerate due to the resistance from friction with sidewall  51 , enabling very fast cornering. This cheating technique, based on “insider knowledge,” has become widespread among advanced players. Taking advantage of this technique, a racing technique becomes possible which could never exist with a real vehicle and, however much one says “it&#39;s a game,” this technique is not desirable in a race game which faithfully simulates the movement of an actual vehicle. 
   For this reason, conventional game equipment is programmed such that, in the case that vehicle  40  comes into contact with sidewall  51 , the speed of vehicle  40  decelerates.  FIG. 7  shows the flow chart which describes the deceleration processing for vehicle  40  that occurs when vehicle  40  comes into contact with sidewall  51 . As shown in the same figure, with a conventional game program, vehicle  40  running processing (S 20 ) is done, and if it is detected (S 21 ; YES) that vehicle  40  has made contact with sidewall  51 , deceleration processing (S 22 ) of speed V of vehicle  40  is done by the amount of Rf. If vehicle  40  contacts sidewall  51  at point A, then through this deceleration processing, as shown in  FIG. 8 , in the frame (frame  1 ) following the frame (frame  0 ) displayed at the time of contact, an image is displayed of vehicle  40  passing point B at a speed of V-Rf. Since images are displayed on the display at the rate of 60 frames per second, vehicle  40 , by contacting sidewall  51 , undergoes a sudden deceleration of vehicle speed in the interval of one frame. 
   However, if for the purpose of detering the above mentioned “insider technique,” vehicle speed is caused to decelerate suddenly when vehicle  40  contacts sidewall  51 , that can cause the fresh feeling of the game to be lost and is thus undesirable. In particular, if, to control use of the above-mentioned insider technique by advanced players, a sudden and large deceleration is applied as the penalty when the sidewall is contacted, beginners will be negatively impacted. Beginners, because of their undeveloped skill level, may contact the sidewall through a mistake in vehicle operation. Thus, if even in such cases beginners are subjected to the same kind of penalty, that may cause them to lose their zest for game play. Thus, what is desired is development of a technology which controls the insider technique of advanced players, while maintaining exciting race development to stimulate the enthusiasm of beginners for the game play, even though they are not skilled in operation. In addition, even in cases where a shortcut is taken, driving off the course, if sudden deceleration is applied as the penalty, as described above, that results in spoiling the player&#39;s enthusiasm for play. 
   To deal with this, the present invention, for a game which has a moving body moving on a course formed in a virtual space, in response to manipulation by a player, provides a computer program product in which a game program is recorded which enables a penalty to be assessed when the moving body contacts the sidewall at the edge of the course, such penalty being applied through an appropriate means without causing sudden deceleration and without spoiling beginners&#39; enthusiasm for play. 
   SUMMARY OF THE INVENTION 
   The computer program product of the present invention which seeks to solve the above-mentioned problem is a computer program product in which a program for causing execution of game processing by a computer system is recorded on a computer-readable recording medium. The above-mentioned computer program is one which causes execution of the following steps: the step of causing a moving body to move on a course formed in a virtual space, in response to manipulation by a player; the step of determining the total amount of running load to be applied to above-mentioned moving body when above-mentioned moving body contacts the partition-indicating body formed at the edge of the course to separate the area within the course from the area outside; and the step of dividing above-mentioned running load on a per unit time basis or per unit distance basis and allocating the divided load for each unit time or unit distance over a specific time or specific distance when above-mentioned moving body moves after contacting the partition-indicating body. In this way, if a moving body moving on a course contacts the sidewall at the edge of the course, it is possible to apply a penalty to the player, without a sudden deceleration. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows an external view of the configuration of a game apparatus according to the present invention; 
       FIG. 2  shows a block diagram of a game apparatus according to the present invention; 
       FIG. 3  is a flow chart indicating the vehicle deceleration processing; 
       FIG. 4  is an explanatory diagram of the vehicle deceleration processing; 
       FIG. 5  is an example of a game screen; 
       FIG. 6  is an example of a game screen; 
       FIG. 7  is a flow chart indicating the vehicle deceleration processing; and 
       FIG. 8  is an explanatory diagram of the vehicle deceleration processing. 
   

   DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Below, embodiments are described while referring to the figures. 
     FIG. 1  shows a coin-operated game apparatus installed at an entertainment facility such as a game center. Game apparatus  10  is configured to comprise seat  11  on which the player sits; control panel  12  on which are positioned a speedometer, tachometer, etc.; steering wheel  12  for controlling the steering angle of the front wheels; gear shift lever  14  for performing gear shifting; and display  15  for displaying game scenes. The player sits in seat  11 , and the race develops as the player operates steering wheel  13 , accelerator, brake pedal, gear shift lever  14 , etc. driving the vehicle on the course displayed on display  11 . 
     FIG. 2  is a block diagram of game apparatus  10 . Game apparatus  10  is primarily a computer system configured of input equipment  20 , main control unit  30 , display  15  and speaker  16 . Input equipment  20  functions as a racing game operating means to be operated by the player and includes the steering wheel, accelerator, brake pedal, and gear shift lever. Operating signals are outputted from input equipment  20  to main control unit  30 , and in main control unit  30  image data to be displayed on display  11  and sound data to be outputted from speaker  16  are generated. Control unit  30  includes main CPU  31 , work memory  32 , bus arbiter  33 , program memory  34 , rendering processor  35 , frame memory  36 , audio processor  37 , and audio memory  38 . 
   Operating signals are sent from input equipment  20  to main CPU  31  via bus arbiter  33 . Main CPU  31  loads the game program from program memory  34  which stores the game program and develops the game in work memory  32 . Then, based on each kind of operating signal outputted from input equipment  20  via bus arbiter  33 , the image of the vehicle body which is to be formed in the virtual space is converted into an image as viewed from a specified viewpoint and plotting commands are issued to rendering processor  25 . Rendering processor  35 , following the plotting commands issued by main CPU  31 , performs polygon rendering and, by means of double buffering, stores image data in frame memory  36  and also reads image data from frame memory  36 , performs D/A conversion and displays the result on display  11 . Audio processor  37 , following sound commands issued from main CPU  31 , generates sound data, writes it into audio memory  38 , and also reads audio data from audio memory  38 , performs D/A conversion and outputs the result from speaker  16 . 
     FIG. 3  is a flow chart indicating vehicle deceleration processing in a race game when vehicle  40  contacts sidewall  51  which is formed along the edge of course  50  and partitions the inside of the course from the outside. Main CPU  31  performs processing for normal vehicle running (S 10 ) for the race game, and when the CPU determines that vehicle  40  has collided with sidewall  51  built at the edge of the course (S 11 ), the CPU calculates deceleration parameters Rf and RS from the vehicle speed at the time of collision, the sidewall hardness (that unique hardness of a concrete wall, fence, or etc.) the contact angle at the time of collision, the vehicle weight, etc., and performs calculation (S 14 ) of V=V-Rf, RS=RS+R-Rf, and RSd=RS/60 t. Here, Rf is the deceleration resistance at the time of the collision, RS is the sum of the deceleration resistance applied to vehicle  40  due to the collision with sidewall  51 , V is the vehicle speed of vehicle  40 , t is the time duration for application of the deceleration resistance (for example, 10 seconds). 
   On the other hand, in the case that vehicle  40 , running on course  50 , does not contact sidewall  51 , that is, when (S 11 : NO), RS&gt;0, then (S 12 : YES) and RSd is deducted from vehicle speed V and RSd is deducted from RS (S 13 ). Because steps S 10  through S 14  are executed for each frame, once vehicle  40  collides with sidewall  51 , processing step S 13  is repeated for each frame until RS becomes 0, and upon each repetition, RSd is subtracted from V. If the time for RS to reach 0 is set at t, the steps S 10  through S 14  will be repeated 60 t times. 
   An explanation of above-mentioned deceleration processing with reference to  FIG. 4  is as follows. Assume that vehicle  40  running on course  50  contacted sidewall  51 , which is at the edge of the course, at point A (S 11 : YES). If the frame number of the frame displayed at that time is taken as frame  0 , at point B, which corresponds to 1 frame, deceleration resistance Rf will be subtracted from vehicle speed V (S 14 ). In addition, RS is found from road surface resistance R of course  50  and deceleration resistance Rf (S 14 ). Then, in order to drive vehicle  40  on course  50 , over the span from 2 frame to point C at 60 t frame, without contacting sidewall  51  (S 11 : NO), in each frame, RSd is successively subtracted from vehicle speed V (S 13 ). In other words, RSd is successively subtracted from the vehicle speed V at each unit time which would normally have been obtained from the combined force of the positive acceleration force due to the amount of the player&#39;s application of the accelerator and the negative acceleration force due to various kinds of resistance to vehicle running such as road surface resistance, air resistance, etc. if sidewall  51  had not been contacted. Afterward, at point C, corresponding to 60 t frame, RS becomes 0 and the deceleration processing steps are completed. 
   In this way, when vehicle  40  contacts sidewall  51 , the deceleration resistance which vehicle  40  receives is applied by being allocated to each frame across 60 t frames. As a result, a penalty can be assessed while avoiding sudden deceleration caused by collision with sidewall  51  and without consequently losing the freshness of the race game. 
   Note that in the above-mentioned example, a configuration was shown in which a fixed amount of speed was subtracted from vehicle speed in each frame unit, as an example, but the present invention is not limited to this. For example, acceleration could be reduced by making it so that even if the player pushed on the accelerator, vehicle  40  would not accelerate for a set time interval; an upper limit could be placed on movement acceleration; the road surface resistance of course  50  could be increased; air resistance could be increased; the running functionality of vehicle  40  could be reduced; or, through any other means, a configuration could be made which applies a running load during a fixed time interval. In addition, in the above-mentioned example, a case was shown in which a running load was applied, allocated to each frame (each time unit), spanning 60 t frames, but the present invention is not limited to this. For example, a configuration could be made in which the total amount of running load was divided and allocated to each distance unit traveled by the moving body. In addition, it is not necessary that the running load (the divided running load units) applied to the moving body all be applied uniformly; it may instead be arranged that the running load applied to moving body  40  immediately after moving body  40 &#39;s contact with sidewall  51  is made to be large, and each time moving body  40  moves for a certain number of time units (or over a certain number of distance units), the running load is gradually decreased. 
   Further, as a variation of the above-described embodiment, main CPU  31  may configured to determine player skill level from player&#39;s lap time, number of crashes, number of times another vehicle is overtaken, average speed, vehicle speed when it contacts sidewall  51  (or when the vehicle runs off the course), angle of impact when it collides with sidewall  51 , angle at which it runs off the course whenever that event occurs, etc. Then the CPU may be configured to determine the value of RS, the deceleration parameter, and t, the time until RS goes to 0, based on that skill level. 
   Main CPU  31  can change the degree of the penalty depending on skill level by establishing large values of RS and t for the case that an advanced player contacts sidewall  51  or runs off the course and small values of RS and t for the case of a beginner. To do this, the CPU considers as “advanced players” those “players who have the best lap time,” “players who have a small number of crashes,” “players who often overtake other vehicles,” “players with high average speed,” “players whose vehicle speed is high when they contact sidewall  51  (or, when they run off the course),” “players whose speed is high when cornering,” “players whose angle of impact with the sidewall is shallow,” and “players who have a high running position or ranking when several players race.” In this way, the CPU functions as a skill level determining means and a running load determining means, and in the case that player skill level is above a certain level, that player is judged an “advanced player,” while in the case that player skill level does not meet that level, that player is judged a “beginning player.” Then the CPU determines the running load depending on the skill level of the player. 
   In addition, in the above-mentioned example, deceleration processing for the case that vehicle  40  contacts sidewall  51  was explained, but the present patent is not limited to this; deceleration processing can also be applied to the case that vehicle  40  runs off the course. In this case the conditions must be established that no sidewall  51  is provided on course  50  and vehicle  40  can run outside the course. In a race game, if an advanced player, trying to shorten his lap time, intentionally (or a beginner, through mistaken operation of the steering wheel) short cuts the inside of the corner and runs outside of course  50 , main CPU  31  calculates the running distance, from the travel path which vehicle  40  ran outside the course, and also calculates, from the number of frames plotted, the running time. Main CPU  31  functions as a running load determining means and determines, from the running distance and running time which occurred outside the course, values for RS and t which are the deceleration parameters. 
   These deceleration parameters should make the running load bigger the longer the running distance and running time occurring outside the course, thus applying a larger penalty to the player, so it is preferable that the values of RS and t should both be set to large values. Additionally, the difference between the running distance of vehicle  40  when it ran on the short cut and shortest distance on the course connecting the two endpoints of the course part which was bypassed may be found and the values of RS and t set corresponding to the size of that difference. When vehicle  40  returns to the course, main CPU  31  divides deceleration resistance RSd on a per-frame basis an applies it to vehicle  40  in each frame until RS reaches 0. The specific steps of deceleration processing are done in the same manner as the example explained above ( FIG. 3  and  FIG. 4 ). As examples of a running load, processing such as subtracting a fixed amount of speed during each time unit, or limiting acceleration to a fixed limit, or limiting the maximum value of vehicle speed may be done. According to this processing, once a vehicle  40  runs off the course, the penalty according to the running distance traveled or running time is applied in small increments after the vehicle has returned to the track. Thus there is no sudden deceleration when a vehicle goes off the course, and short cut operations of advanced players can be effectively controlled without spoiling the beginner&#39;s enthusiasm for play. 
   In addition, the game program which performs the above-mentioned deceleration processing can be recorded in a computer-readable recording medium and distributed in the market. As examples of this kind of recording medium, there are optical recording media (recording media from which data may be read optically, such as CD-RAM, CD-ROM, DVD-RAM, DVD-ROM, DVD-R, PD disk, MD disk, MO disk, etc.); magnetic recording media (recording media from which data may be read magnetically, such as flexible disk, magnetic card, magnetic tape, etc.); memory cartridges having memory elements (semiconductor memory elements such as DRAM&#39;s, and high dielectric memory elements, such as FRAM&#39;s); etc. 
   In addition, this kind of game program can be delivered “on-demand” from a network server, such as a Web server, etc., in response to a request from a client device (personal computer, game machine, portable information terminal, etc.) connected to the Internet or to an open network, such as a packet communication network, etc. Further, as for types of games, these need not be limited to car race games, but the invention may also be applied to motorbike races, bicycle races, motor boat races, etc. As for types of moving bodies, these may include vehicles in which people ride, such as automobiles, motorbikes, bicycles, boats, airplanes, space craft, ships, wagons, tractors, tanks, etc., but may also include people, animals, monsters, spacemen, plants, fish, birds and insects, and also characters representing them, etc. In this way, any character which can run on a course formed in any desired virtual space on land, in water, in the ground, in space, etc. is acceptable. 
   By means of this invention, in the event that a moving body, moving on a course formed in a virtual space contacts the sidewall at the edge of the course or runs off the course, the penalty assessed to the player can be divided and applied on a per unit time basis. As a result, the same penalty amount as with conventional games can be gradually applied, without a sudden deceleration, and in this way the “insider techniques” of advanced players can be effectively controlled without spoiling the play enthusiasm of beginners.