[ 0019 ] fig1 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 . [ 0020 ] fig2 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 . [ 0022 ] fig3 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 / 60t . 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 60t times . an explanation of above - mentioned deceleration processing with reference to fig4 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 60t 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 60t 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 60t 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 60t 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 ( fig3 and fig4 ). 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 .
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 .