JP4776978B2 - PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE - Google Patents

PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE Download PDF

Info

Publication number
JP4776978B2
JP4776978B2 JP2005145887A JP2005145887A JP4776978B2 JP 4776978 B2 JP4776978 B2 JP 4776978B2 JP 2005145887 A JP2005145887 A JP 2005145887A JP 2005145887 A JP2005145887 A JP 2005145887A JP 4776978 B2 JP4776978 B2 JP 4776978B2
Authority
JP
Japan
Prior art keywords
character
posture
information
game
control information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005145887A
Other languages
Japanese (ja)
Other versions
JP2006320502A (en
Inventor
健祐 中西
広行 沖井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2005145887A priority Critical patent/JP4776978B2/en
Publication of JP2006320502A publication Critical patent/JP2006320502A/en
Application granted granted Critical
Publication of JP4776978B2 publication Critical patent/JP4776978B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信対戦レースゲームを実行するためのプログラム等に関する。   The present invention relates to a program or the like for executing a communication battle game.

インターネット等の通信網を介したネットワークゲームと呼ばれる通信ゲームが数多く開発されている。一口にネットワークゲームと言っても、MMORPG(Massively Multiplayer Online Role Playing Game)と呼ばれる数千人規模のユーザーがゲームサーバに接続して同時にプレイするネットワークゲームから、囲碁等の2人で対戦するネットワークゲームまで様々なネットワークゲームが存在する。   Many communication games called network games via communication networks such as the Internet have been developed. A network game called MMORPG (Massively Multiplayer Online Role Playing Game) is a network game in which thousands of users connect to the game server and play simultaneously, and two players such as Go play against each other. There are various network games.

ネットワークゲームは、好きな時間に他のプレーヤとゲームを楽しむことができる点で人気が高いが、次のような問題がある。即ち、ネットワークゲームはネットワークを介するが故に、通信遅延が必然的に発生する。特に、インターネット等の公衆通信網を介する場合にあってはその通信遅延時間が不規則に変動する上に、その変動幅も不確定である。一方で、ネットワークゲームでは、各ゲーム機間で同一のゲーム空間が共有される必要があるため、同一の事象が同一順に発生・展開される必要がある。従って、各プレーヤが操作入力した結果の整合性が求められる。ところが、整合性を重視した場合、各プレーヤの操作結果をいつの時点でゲーム画面に反映できるかというレスポンスの問題が表れてくる。   Network games are popular because they can enjoy games with other players at any time, but they have the following problems. That is, since a network game is via a network, a communication delay inevitably occurs. In particular, when using a public communication network such as the Internet, the communication delay time fluctuates irregularly and the fluctuation range is also uncertain. On the other hand, in the network game, the same game space needs to be shared between the game machines, so the same event needs to be generated and developed in the same order. Therefore, consistency of the result of operation input by each player is required. However, when importance is attached to consistency, a response problem appears as to when the operation result of each player can be reflected on the game screen.

1)整合性と2)レスポンスの問題はトレードオフの関係にあり、一方の問題解決を優先すると他方の問題が表面化する。何れの問題も通信遅延が原因であるため、通信遅延を解決すれば済む問題ではあるが、通信遅延を解消することは物理的に極めて困難である。例えば特許文献1には通信遅延を解消することを目的とした技術として、各ゲーム機の操作対象キャラクタの位置情報をゲームサーバを介してやり取りする技術が記載されている。
特開2004−105671号公報
The problems of 1) consistency and 2) response are in a trade-off relationship, and if one problem is prioritized, the other problem comes to the surface. Since any problem is caused by communication delay, it is sufficient to solve the communication delay, but it is physically extremely difficult to eliminate the communication delay. For example, Patent Document 1 describes a technique for exchanging position information of operation target characters of game machines via a game server as a technique for eliminating communication delay.
JP 2004-105671 A

しかしながら、特許文献1の技術によりネットワークゲームシステムを構築した場合、各ゲーム機からゲームサーバにデータを送信する際(以下、「上り」という。)の通信遅延と、ゲームサーバから各ゲーム機にデータを配信する際(以下、「下り」という。)の通信遅延との2重の通信遅延が発生する。このため、ゲームサーバが、各ゲーム機から受信したデータを加工・補正等することで何らかの方法で通信遅延を解消させることができたとしても、それは「上り」に係る通信遅延の解消であって、各ゲーム機にデータを配信する「下り」の段階において新たな通信遅延が生じてしまう。従って、特許文献1の技術では通信遅延を解消することはできない。また、特許文献1の技術に従ってネットワークゲームシステムを構築するためには、実行中のゲームに関与するゲームサーバが必須となる。このため、需要に応じた台数分のゲームサーバが必要となり、実用化において問題となり得る。   However, when a network game system is constructed by the technique of Patent Document 1, communication delays occur when data is transmitted from each game machine to the game server (hereinafter referred to as “upstream”), and data is transmitted from the game server to each game machine. A double communication delay with a communication delay when distributing (hereinafter referred to as “downlink”). For this reason, even if the game server can solve the communication delay by some method by processing / correcting the data received from each game machine, it is the elimination of the communication delay related to “up”. In addition, a new communication delay occurs at the “down” stage of distributing data to each game machine. Therefore, the technology of Patent Document 1 cannot solve the communication delay. Moreover, in order to construct a network game system according to the technique of Patent Document 1, a game server that is involved in a game being executed is essential. For this reason, the game server for the number according to a demand is needed, and may become a problem in practical use.

さて、上述したトレードオフの関係にある1)整合性と2)レスポンスとの問題であるが、問題の比重がネットワークゲームの種類によって異なる。例えば、囲碁や将棋、チェスといったターン制のゲームにあっては、レスポンスは殆ど問題とならないが、各プレーヤが操作した結果の整合性は極めて重要である。具体的には、相手プレーヤの操作結果が自ゲーム機の画面に反映されるまでにいくら時間を要しようとも、操作した確かな結果を画面に反映させることが重要である。   Now, with respect to 1) consistency and 2) response in the trade-off relationship described above, the specific gravity of the problem varies depending on the type of network game. For example, in a turn-based game such as Go, Shogi, and chess, response is hardly a problem, but the consistency of the results operated by each player is extremely important. Specifically, it is important to reflect the result of the operation on the screen regardless of how long it takes for the operation result of the opponent player to be reflected on the screen of the game machine.

この点は、整合性を重視する程度が異なるが、MMORPG等においても同様である。即ち、各プレーヤの操作結果が各ゲーム機の画面に反映されるまでのレスポンスが多少悪くなろうとも、共有している同一のゲーム空間において発生する事象の順番等が正確である必要がある。   This is the same for MMORPG, although the degree of emphasis on consistency is different. That is, even if the response until each player's operation result is reflected on the screen of each game machine is somewhat worse, the order of events occurring in the same shared game space needs to be accurate.

ところが、通信対戦レースゲームにおいては、整合性よりもレスポンスが重視される。逆の場合を想定すれば、その理由は明白である。例えば、車レースゲームにおいて、自キャラクタがカーブに差し掛かったために、自プレーヤがハンドルを操作する操作入力をした場面において、レスポンスよりも整合性を重視した場合を考える。この場合、レスポンスが悪いため、当該プレーヤのハンドル操作がなかなかゲーム画面に反映されない。その結果、自キャラクタの進行方向を変えようとして、更にハンドル操作がなされるであろう。ゲーム画面において、自キャラクタの進行方向が徐々に変わっていき、自キャラクタの進行方向が丁度良いと思って自プレーヤがハンドル操作を止めたとする。しかし、既に入力されているハンドル操作によって、更に自キャラクタの進行方向が曲げられてしまう場合があるであろう。このように、通信対戦レースゲームにおいては、レスポンスが重視される。   However, in communication battle games, response is more important than consistency. If the opposite case is assumed, the reason is clear. For example, in a car racing game, consider a case where consistency is more important than response in a scene where the player has made an operation input to operate the steering wheel because the player has reached a curve. In this case, since the response is poor, the handle operation of the player is not easily reflected on the game screen. As a result, a further steering operation will be performed to change the traveling direction of the player character. It is assumed that the player's player stops the steering operation on the game screen because the player's own progression direction gradually changes and the player's own progression direction is just right. However, there is a case where the traveling direction of the player character is further bent by the handle operation already input. In this way, in the communication battle game, response is emphasized.

一方、通信対戦レースゲームであっても、整合性を無視するわけにいかないのは勿論である。例えば、他のゲーム機からデータを受信する度に他のゲーム機の操作対象キャラクタである他キャラクタの位置を更新するが、データを受信できない間は他キャラクタの位置を更新しないとした場合、データの受信ができない間、他キャラクタはゲーム空間中に停止し、データを受信した途端に移動するような表示がなされてしまう。   On the other hand, of course, even if it is a communication battle game, consistency cannot be ignored. For example, every time data is received from another game machine, the position of the other character that is the operation target character of the other game machine is updated, but the position of the other character is not updated while the data cannot be received. While the character cannot be received, the other character stops in the game space, and a display is displayed that moves as soon as the data is received.

また、他キャラクタのデータを一定間隔で受信できたとしても次のような問題が生じる。即ち、自キャラクタについては良好なレスポンスで表示更新するため、操作入力に応じてリアルタイムに自キャラクタの表示位置が更新されていくが、他キャラクタの表示位置は通信遅延時間分遅れた過去の位置となる。具体的には、他のゲーム機から、通信遅延無く、リアルタイムにデータを受信することができないため、自ゲーム機で受信されるまでの通信遅延時間分の時差だけ、他キャラクタの表示位置が遅れる(即ち、後方に位置する)こととなる。従って、通信遅延時間が大きい場合には、各キャラクタが、実際からかけ離れた位置に表示され得る。   Even if data of other characters can be received at regular intervals, the following problem occurs. That is, the display position of the own character is updated in real time in response to an operation input in order to update the display of the own character in response to the operation input, but the display position of the other character is the past position delayed by the communication delay time. Become. Specifically, since the data cannot be received from other game machines in real time without communication delay, the display position of the other character is delayed by the time difference corresponding to the communication delay time until it is received by the own game machine. (That is, located rearward). Therefore, when the communication delay time is large, each character can be displayed at a position far from the actual.

本発明は以上の課題に鑑みてなされたものであり、その目的とするところは、a)通信対戦レースゲームにおいて、良好なレスポンスを維持しつつ、整合性の問題を可及的に解決すること、b)ゲームサーバを必要とせずにネットワークゲームシステムを構築可能とすること、である。   The present invention has been made in view of the above-described problems, and the purpose of the present invention is to a) solve the problem of consistency as much as possible while maintaining a good response in a communication battle game. B) A network game system can be constructed without requiring a game server.

上記課題を解決するために、第1の発明は、
所定の通信網(例えば、図1のネットワークN)を介して他機と通信を行う通信手段(例えば、図18の通信部160)を備えたコンピュータ(例えば、図1のゲーム装置12a)に、前記他機との間で共有するゲーム空間を所与の視点から見た画像を描画させるとともに、前記他機との間で互いの操作対象キャラクタの移動制御情報を送信し合い、自機の操作対象キャラクタである自キャラクタと他機の操作対象キャラクタである他キャラクタとが前記ゲーム空間中を移動して競争する所定の通信対戦レースゲームを実行させるためのプログラムであって、
操作入力に基づいて自キャラクタの移動制御情報を更新していく自キャラクタ制御情報更新手段(例えば、図18の自キャラクタ移動制御部1224,図26のステップS2)、
前記更新される自キャラクタ移動制御情報と送信時刻情報とを他機に送信する制御を行う送信制御手段(例えば、図18の移動体制御情報送受信部1228,図26のステップS4)、
前記更新される自キャラクタ移動制御情報に基づき、実時間で自キャラクタの移動を制御する自キャラクタ制御手段(例えば、図18の自キャラクタ移動制御部1224、図26のステップS2)、
他キャラクタの移動制御情報及び当該移動制御情報送信時の送信時刻情報を他機から受信する制御を行う受信制御手段(例えば、図18の移動体制御情報送受信部1228,図26のステップS4)、
少なくとも前記受信された他キャラクタ移動制御情報のうちの最新の他キャラクタ移動制御情報に基づき、当該最新の他キャラクタ移動制御情報の送信時刻情報に基づく通信遅延時間分の他キャラクタの移動を予測することで他キャラクタの移動を制御する他キャラクタ予測制御手段(例えば、図18の他キャラクタ移動制御部1226、図26のステップS6)、
として前記コンピュータを機能させるためのプログラムである。
In order to solve the above problem, the first invention is:
A computer (for example, the game apparatus 12a in FIG. 1) provided with communication means (for example, the communication unit 160 in FIG. 18) that communicates with another device via a predetermined communication network (for example, the network N in FIG. 1) An image of a game space shared with the other machine as viewed from a given viewpoint is drawn, and the movement control information of each other's operation target character is transmitted to and from the other machine to operate the own machine. A program for executing a predetermined communication battle game in which a target character as a target character and another character as an operation target character of another machine move and compete in the game space,
Own character control information updating means for updating own character movement control information based on the operation input (for example, own character movement control unit 1224 in FIG. 18 and step S2 in FIG. 26);
Transmission control means for performing control for transmitting the updated own character movement control information and transmission time information to another machine (for example, mobile body control information transmitting / receiving unit 1228 in FIG. 18, step S4 in FIG. 26),
Based on the updated own character movement control information, own character control means for controlling the movement of the own character in real time (for example, own character movement control unit 1224 in FIG. 18, step S2 in FIG. 26),
Receiving control means for performing control to receive the movement control information of other characters and the transmission time information at the time of transmission of the movement control information from another machine (for example, the mobile body control information transmitting / receiving unit 1228 in FIG. 18, step S4 in FIG. 26),
Predicting movement of another character corresponding to a communication delay time based on transmission time information of the latest other character movement control information based on at least the latest other character movement control information of the received other character movement control information. The other character prediction control means for controlling the movement of the other character (for example, the other character movement control unit 1226 in FIG. 18, step S6 in FIG. 26),
As a program for causing the computer to function.

また、ゲーム装置の発明として、所定の通信網を介して他機と通信を行う通信手段を備え、前記他機との間で共有するゲーム空間を所与の視点から見た画像を描画するとともに、前記他機との間で互いの操作対象キャラクタの移動制御情報を送信し合い、自機の操作対象キャラクタである自キャラクタと他機の操作対象キャラクタである他キャラクタとが前記ゲーム空間中を移動して競争する所定の通信対戦レースゲームを実行するゲーム装置(例えば、図1のゲーム装置12a)であって、
操作入力に基づいて自キャラクタの移動制御情報を更新していく自キャラクタ制御情報更新手段(例えば、図18の自キャラクタ移動制御部1224)と、
前記更新される自キャラクタ移動制御情報と送信時刻情報とを他機に送信する制御を行う送信制御手段(例えば、図18の移動体制御情報送受信部1228)と、
前記更新される自キャラクタ移動制御情報に基づき、実時間で自キャラクタの移動を制御する自キャラクタ制御手段(例えば、図18の自キャラクタ移動制御部1224)と、
他キャラクタの移動制御情報及び当該移動制御情報送信時の送信時刻情報を他機から受信する制御を行う受信制御手段(例えば、図18の移動体制御情報送受信部1228)と、
少なくとも前記受信された他キャラクタ移動制御情報のうちの最新の他キャラクタ移動制御情報に基づき、当該最新の他キャラクタ移動制御情報の送信時刻情報に基づく通信遅延時間分の他キャラクタの移動を予測することで他キャラクタの移動を制御する他キャラクタ予測制御手段(例えば、図18の他キャラクタ移動制御部1226)と、
を備えたゲーム装置である。
In addition, as an invention of the game apparatus, a communication unit that communicates with another machine via a predetermined communication network is provided, and an image obtained by viewing a game space shared with the other machine from a given viewpoint is drawn. , The movement control information of the operation target character of each other is transmitted to the other machine, and the own character that is the operation target character of the own machine and the other character that is the operation target character of the other machine pass through the game space. A game device (for example, the game device 12a in FIG. 1) that executes a predetermined communication battle game that moves and competes,
Own character control information updating means (for example, own character movement control unit 1224 in FIG. 18) for updating the movement control information of the own character based on the operation input;
Transmission control means (for example, mobile body control information transmission / reception unit 1228 in FIG. 18) for performing control to transmit the updated character movement control information and transmission time information to another machine;
Based on the updated own character movement control information, own character control means (for example, own character movement control unit 1224 in FIG. 18) for controlling the movement of the own character in real time;
A reception control means (for example, a mobile control information transmission / reception unit 1228 in FIG. 18) for performing control to receive movement control information of another character and transmission time information at the time of transmission of the movement control information from another machine
Predicting movement of another character corresponding to a communication delay time based on transmission time information of the latest other character movement control information based on at least the latest other character movement control information of the received other character movement control information. And other character prediction control means for controlling the movement of the other character (for example, the other character movement control unit 1226 in FIG. 18),
Is a game device.

第1の発明等によれば、操作入力に基づいて自キャラクタの移動制御情報が更新され、その更新される自キャラクタ移動制御情報に基づき、実時間で自キャラクタの移動が制御される。従って、操作入力に対する自キャラクタの移動制御がレスポンス良くなされる。また、他キャラクタについては、他機から受信した最新の他キャラクタ移動制御情報に基づいて、通信遅延時間分の移動が予測されて制御される。従って、通信遅延時間が変化しようとも、通信遅延時間分の移動が予測されて他キャラクタの移動制御がなされる上、常に自機が知り得る最新の他キャラクタ移動制御情報に基づいて移動予測が行われるため、可及的に整合のとれたゲーム画像を生成・表示することができる。   According to the first invention and the like, the movement control information of the own character is updated based on the operation input, and the movement of the own character is controlled in real time based on the updated own character movement control information. Therefore, the movement control of the own character with respect to the operation input is performed with good response. For other characters, movement for the communication delay time is predicted and controlled based on the latest other character movement control information received from the other device. Therefore, even if the communication delay time changes, the movement of the communication delay time is predicted and the movement of other characters is controlled, and the movement prediction is always performed based on the latest other character movement control information that the aircraft can know. Therefore, it is possible to generate and display a game image that is as consistent as possible.

また、自機と他機との間の通信によって各操作対象キャラクタの制御やゲーム画像の生成がなされるため、ゲーム実行中においてゲームサーバを必要としない。   Further, since each operation target character is controlled and a game image is generated by communication between the own device and the other device, a game server is not required during the game execution.

第2の発明は、第1の発明のプログラムであって、
前記他キャラクタ予測制御手段が、前記ゲーム空間中に設けられたコースの形状を加味して前記通信遅延時間分の他キャラクタの移動を予測する(例えば、図27のステップS22)ように前記コンピュータを機能させるためのプログラムである。
The second invention is the program of the first invention,
The other character prediction control means predicts the movement of the other character for the communication delay time in consideration of the shape of the course provided in the game space (for example, step S22 in FIG. 27). It is a program to make it function.

この第2の発明によれば、コース形状が加味されて他キャラクタの移動予測がなされる。従って、例えば、コース形状に沿った移動となるように他キャラクタの移動を予測するといったことが可能となる。   According to the second aspect of the invention, the movement of another character is predicted in consideration of the course shape. Therefore, for example, it is possible to predict the movement of another character so as to move along the course shape.

第3の発明は、第1又は第2の発明のプログラムであって、
前記他キャラクタ予測制御手段が、前記ゲーム空間中に設けられたコースの所定場所に、当該場所を通過する際の移動基準情報(例えば、図18のコースデータ138,図40の履歴データ158)として予め定められた速度基準情報及び/又は当該場所通過基準位置情報を加味して前記通信遅延時間分の他キャラクタの移動を予測する(例えば、図27のステップS22,S24、図43のステップS106)ように前記コンピュータを機能させるためのプログラムである。
The third invention is the program of the first or second invention,
As the movement reference information (for example, course data 138 in FIG. 18, history data 158 in FIG. 40) when the other character prediction control means passes through the predetermined place of the course provided in the game space. In consideration of the predetermined speed reference information and / or the location passage reference position information, the movement of other characters corresponding to the communication delay time is predicted (for example, steps S22 and S24 in FIG. 27, step S106 in FIG. 43). Is a program for causing the computer to function.

ここで、所定場所とは、例えば第1コーナといった一定の広さを持った概念である。
第3の発明によれば、他キャラクタが所定場所を通過する場合に、速度基準情報及び/又は当該場所通過基準位置情報である移動基準情報が加味されて、移動予測がなされる。
Here, the predetermined place is a concept having a certain area such as a first corner.
According to the third aspect of the invention, when another character passes through a predetermined place, the movement reference is made in consideration of the speed reference information and / or the movement reference information which is the place passage reference position information.

具体的には、例えば、第4の発明として、移動基準情報を、所定の高速キャラクタが前記所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報として予め設定された情報(例えば、図18のコースデータ138)としてもよい。   Specifically, for example, as a fourth invention, the movement reference information is information set in advance as speed information when a predetermined high-speed character passes the predetermined location and / or the location passage reference position information (for example, The course data 138) in FIG. 18 may be used.

この第4の発明によれば、例えば所定の高速キャラクタが所定場所を通過した際の速度及び/又は通過位置に近づけるような移動予測をすることで他キャラクタが高速キャラクタのような移動をするようにするといったことができる。高速キャラクタとしては、例えば、当該レースコースを最短時間で移動したキャラクタが考えられる。   According to the fourth aspect of the invention, for example, by predicting the movement so that the predetermined high-speed character passes the predetermined position and / or the speed at which the predetermined high-speed character passes the predetermined position, the other characters move like the high-speed character. You can do that. As a high-speed character, for example, a character that has moved along the race course in the shortest time can be considered.

第5の発明は、第3の発明のプログラムであって、
他キャラクタが前記所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報を移動履歴情報として記録する履歴記録手段(例えば、図40のゲーム進行制御部1222,図42のステップS104)として前記コンピュータを機能させ、
前記他キャラクタ予測制御手段が、前記記録された移動履歴情報を前記移動基準情報として、他キャラクタの移動を予測する(例えば、図40の他キャラクタ移動制御部1230,図43のステップS106)ように前記コンピュータを機能させる、
ためのプログラムである。
The fifth invention is the program of the third invention,
History recording means for recording the speed information and / or the location passage reference position information when the other character passes the predetermined place as the movement history information (for example, the game progress control unit 1222 in FIG. 40, step S104 in FIG. 42). Function the computer as
The other character prediction control means predicts the movement of the other character using the recorded movement history information as the movement reference information (for example, the other character movement control unit 1230 in FIG. 40, step S106 in FIG. 43). Causing the computer to function;
It is a program for.

この第5の発明によれば、他キャラクタが所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報が移動履歴情報として記録され、再度所定場所を通過する際に、記録しておいた移動履歴情報を加味した移動予測がなされる。従って、所定場所を通過する際の他キャラクタの過去の傾向(癖とも言い得る。)に従った移動予測を行い得ることとなり、より精度の高い予測となり得る。   According to the fifth aspect, the speed information and / or the location passage reference position information when the other character passes through the predetermined location is recorded as the movement history information, and is recorded when passing through the predetermined location again. A movement prediction is performed in consideration of the movement history information. Therefore, it is possible to perform movement prediction according to the past tendency of other characters when passing through a predetermined place (which may also be referred to as wrinkles), and prediction with higher accuracy can be achieved.

第6の発明は、第3の発明のプログラムであって、
自キャラクタが前記所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報を移動履歴情報として記録する履歴記録手段(例えば、図18のゲーム進行制御部1222)、
前記記録された移動履歴情報を他機に送信する制御を行う履歴送信制御手段(例えば、図18のゲーム進行制御部1222)、
他キャラクタの移動履歴情報を他機から受信する制御を行う履歴受信制御手段(例えば、図18のゲーム進行制御部1222)、
として前記コンピュータを機能させ、
前記他キャラクタ予測制御手段が、前記履歴受信制御手段により受信された移動履歴情報を前記移動基準情報として、他キャラクタの移動を予測するように前記コンピュータを機能させる、
ためのプログラムである。
The sixth invention is the program of the third invention,
History recording means (for example, game progress control unit 1222 in FIG. 18) for recording the speed information and / or the location passing reference position information when the player character passes the predetermined place as movement history information,
History transmission control means (for example, the game progress control unit 1222 in FIG. 18) for performing control for transmitting the recorded movement history information to another machine,
History reception control means (for example, the game progress control unit 1222 in FIG. 18) that performs control to receive movement history information of other characters from other machines,
Function the computer as
The other character prediction control means causes the computer to function to predict movement of another character using the movement history information received by the history reception control means as the movement reference information;
It is a program for.

第5の発明では、自機において、他キャラクタが所定場所を通過した際の他キャラクタの速度情報及び/又は当該場所通過基準位置情報を記録することとした。即ち、他キャラクタが所定場所を通過した際の情報は自機内におけるものであるため、自機内で予測した結果の情報を記録する構成である。この第6の発明によれば、自機及び他機それぞれの装置において、当該装置の操作対象キャラクタの速度情報及び/又は当該場所通過基準位置情報が記録される。そして互いの装置間で送受信される。この結果、他キャラクタの情報は、他機における操作入力に応じて他機においてリアルタイムに算出・制御された情報となる。従って、所定場所を実際に通過した際の他キャラクタの実際の傾向に従った移動予測を行い得ることとなり、より精度の高い予測となり得る。   In the fifth aspect of the present invention, the speed information of the other character and / or the location passage reference position information when the other character passes through the predetermined location is recorded in the own device. That is, since the information when the other character passes through the predetermined place is in the own device, the information of the result predicted in the own device is recorded. According to the sixth aspect of the present invention, the speed information and / or the location pass reference position information of the operation target character of the device is recorded in the devices of the own device and the other device. And it is transmitted / received between mutual apparatuses. As a result, the information of the other character is information calculated and controlled in real time in the other machine according to the operation input in the other machine. Therefore, movement prediction according to the actual tendency of other characters when actually passing through a predetermined place can be performed, and prediction with higher accuracy can be achieved.

第7の発明は、第1〜第6の何れかの発明のプログラムであって、
前記他キャラクタ予測制御手段が、前回予測時に求めた表示位置を、少なくとも今回予測時の予測位置に基づいて調節する位置調節手段(例えば、図18の他キャラクタ移動制御部1226、図27のステップS28)を有し、前記調節した前回の表示位置を今回の表示位置とすることにより、最新の他キャラクタ移動制御情報が変わることによる他キャラクタの瞬間移動的な移動変動を抑制するように前記コンピュータを機能させるためのプログラムである。
A seventh invention is a program according to any one of the first to sixth inventions,
The other character prediction control means adjusts the display position obtained at the time of the previous prediction based on at least the prediction position at the time of the current prediction (for example, the other character movement control unit 1226 in FIG. 18, step S28 in FIG. 27). And adjusting the previous display position thus adjusted as the current display position, the computer is controlled so as to suppress the instantaneous movement change of the other character due to the change of the latest other character movement control information. It is a program to make it function.

今回予測時の予測位置の基礎は、受信した最新の他キャラクタ移動制御情報であるが、前回予測時の表示位置の基礎は、最新の他キャラクタ移動制御情報よりも過去の他キャラクタ移動制御情報である。つまり、基礎とする他キャラクタ移動制御情報が変わっている。そこで、最新の他キャラクタ移動制御情報と過去の他キャラクタ移動制御情報との間で急操作がなされていた場合、その操作が今回予測時の予測位置に反映されることで、他キャラクタの位置が瞬間移動的に大きく変わる場合があり得る。しかし、第7の発明によれば、前回予測時に求めた表示位置が、少なくとも今回予測時の予測位置に基づいて調節されて今回の表示位置となる。従って、今回予測時の基礎とする他キャラクタ移動制御情報が、前回予測時の基礎となった他キャラクタ移動制御情報から変わった場合であっても、前回予測時の表示位置と今回予測時の予測位置との間で調節が図られるため、瞬間移動的に他キャラクタの位置が大きく変わるような事態を回避し得る。   The basis of the predicted position at the time of the current prediction is the latest other character movement control information received, but the basis of the display position at the time of the previous prediction is the past other character movement control information than the latest other character movement control information. is there. That is, the other character movement control information as a basis has changed. Therefore, when an abrupt operation has been performed between the latest other character movement control information and the past other character movement control information, the operation is reflected in the predicted position at the current prediction, so that the position of the other character is There may be a case where the momentary movement changes greatly. However, according to the seventh aspect, the display position obtained at the time of the previous prediction is adjusted based on at least the prediction position at the time of the current prediction, and becomes the current display position. Therefore, even if the other character movement control information used as the basis for the current prediction changes from the other character movement control information used as the basis for the previous prediction, the display position at the previous prediction and the prediction at the current prediction Since adjustment is made between the positions, it is possible to avoid a situation in which the position of another character changes greatly in an instantaneous movement.

第8の発明は、第7の発明のプログラムであって、
前記位置調節手段が、前回予測時に求めた表示位置と今回予測時の予測位置との間に仮想バネを設定し、少なくとも前記設定した仮想バネ(例えば、図31のステップT26)の仮想力に基づき前回の表示位置を調節するように前記コンピュータを機能させるためのプログラムである。
The eighth invention is the program of the seventh invention,
The position adjusting means sets a virtual spring between the display position obtained at the previous prediction and the predicted position at the current prediction, and based on at least the virtual force of the set virtual spring (for example, step T26 in FIG. 31). A program for causing the computer to function so as to adjust a previous display position.

この第8の発明によれば、前回予測時の表示位置と今回予測時の予測位置との間に仮想バネが設定され、この仮想バネの仮想力に基づいて前回の表示位置が調節される。このため、前回予測時の表示位置が今回予測時の予測位置の方向に修正される結果、前回予測時の表示位置から相当離れた位置に、突然に他キャラクタが移動するような事態を回避し得る。   According to the eighth aspect, the virtual spring is set between the display position at the previous prediction and the prediction position at the current prediction, and the previous display position is adjusted based on the virtual force of the virtual spring. For this reason, as a result of the display position at the time of the previous prediction being corrected in the direction of the prediction position at the time of the current prediction, a situation in which another character suddenly moves to a position considerably away from the display position at the time of the previous prediction is avoided. obtain.

第9の発明は、第8の発明のプログラムであって、
前記位置調節手段が、前回予測時に求めた表示位置と今回予測時の予測位置との間に仮想ダンパ(例えば、図31のステップT28)を更に設定し、前記設定した仮想バネ及び仮想ダンパによる総合的な仮想力に基づき前回の表示位置を調節するように前記コンピュータを機能させるためのプログラムである。
The ninth invention is the program of the eighth invention,
The position adjusting means further sets a virtual damper (for example, step T28 in FIG. 31) between the display position obtained at the time of the previous prediction and the predicted position at the time of the current prediction, and the total by the set virtual spring and virtual damper. A program for causing the computer to function so as to adjust the previous display position based on a virtual force.

この第9の発明によれば、仮想バネに加えて仮想ダンパが設定される。これにより、仮想バネによる仮想力が大きいために、前回予測時の表示位置の調節が過度の調節となる事態を回避し、仮想バネによる仮想力を徐々に作用させることができるようになる。   According to the ninth aspect, the virtual damper is set in addition to the virtual spring. Thereby, since the virtual force by the virtual spring is large, it is possible to avoid the situation where the adjustment of the display position at the time of the previous prediction is excessive adjustment, and to gradually apply the virtual force by the virtual spring.

第10の発明は、第1〜第9の何れかの発明のプログラムであって、
前記自キャラクタ制御情報更新手段が、操作入力に基づいて自キャラクタの姿勢制御情報を更に更新していき、
前記送信制御手段が、前記更新される自キャラクタ姿勢制御情報(例えば,図24の受信データ152)を併せて送信し、
前記自キャラクタ制御手段が、前記更新される自キャラクタ姿勢制御情報に基づき、実時間で自キャラクタの姿勢を制御する自キャラクタ姿勢制御手段(例えば、図18の自キャラクタ移動制御部1224、図26のステップS2)を有し、
前記受信制御手段が、他キャラクタの姿勢制御情報を更に受信し、
前記他キャラクタ予測制御手段が、少なくとも前記受信された他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報のうちの最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報に基づき、当該最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御の送信時刻情報に基づく通信遅延時間分の他キャラクタの姿勢を予測することで他キャラクタの姿勢を制御する他キャラクタ姿勢予測制御手段(例えば、図18の他キャラクタ移動制御部1226、図27のステップS26)を有する、
ように前記コンピュータを機能させるためのプログラムである。
The tenth invention is the program of any one of the first to ninth inventions,
The own character control information updating means further updates the posture control information of the own character based on the operation input,
The transmission control means also transmits the updated own character posture control information (for example, the reception data 152 in FIG. 24),
Based on the updated own character posture control information, the own character control means controls own character posture control means (for example, the own character movement control unit 1224 in FIG. Step S2)
The reception control means further receives posture control information of other characters,
The other character prediction control means is adapted to control the latest other character movement control based on the latest other character movement control information and other character posture control information among at least the received other character movement control information and other character posture control information. Other character posture prediction control means for controlling the posture of the other character by predicting the posture of the other character for the communication delay time based on the information and the transmission time information of the other character posture control (for example, another character movement control unit in FIG. 18) 1226, step S26) of FIG.
Is a program for causing the computer to function.

第10の発明によれば、操作入力に基づいて自キャラクタの姿勢制御情報が更新され、その更新される自キャラクタ姿勢制御情報に基づき、実時間で自キャラクタの姿勢が制御される。従って、操作入力に対する自キャラクタの姿勢制御がレスポンス良くなされる。また、他キャラクタについては、他機から受信した最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報に基づいて、通信遅延時間分の姿勢が予測されて制御される。従って、通信遅延時間が変化しようとも、通信遅延時間分の姿勢が予測されて他キャラクタの姿勢制御がなされる上、常に自機が知り得る最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報に基づいて予測が行われるため、可及的に整合のとれたゲーム画像を生成・表示することができる。   According to the tenth aspect, the posture control information of the player character is updated based on the operation input, and the posture of the player character is controlled in real time based on the updated player character posture control information. Accordingly, the posture control of the player character with respect to the operation input is performed with good response. For other characters, the posture for the communication delay time is predicted and controlled based on the latest other character movement control information and other character posture control information received from the other device. Therefore, even if the communication delay time changes, the posture for the communication delay time is predicted and the posture control of the other character is performed, and the latest other character movement control information and other character posture control information that can be always known by the own aircraft are also included. Since the prediction is performed based on this, it is possible to generate and display a game image that is as consistent as possible.

第11の発明は、第10の発明のプログラムであって、
前記他キャラクタ姿勢予測制御手段が、移動中に取りうる限界の姿勢として予め定められた限界姿勢を超える姿勢をしない(例えば、図18の他キャラクタ移動制御部1226,図30のステップT8〜T14)ように他キャラクタの姿勢の変化を抑制する姿勢変化抑制手段を有するように前記コンピュータを機能させるためのプログラムである。
The eleventh invention is the program of the tenth invention,
The other character posture prediction control means does not take a posture that exceeds a predetermined limit posture as a limit posture that can be taken during movement (for example, another character movement control unit 1226 in FIG. 18, steps T8 to T14 in FIG. 30). As described above, there is provided a program for causing the computer to function so as to have posture change suppressing means for suppressing changes in posture of other characters.

第11の発明によれば、例えば、移動中の姿勢として想定外の姿勢である異常な姿勢や矛盾する姿勢を他キャラクタが取らないようにすることができるようになる。   According to the eleventh aspect, for example, it is possible to prevent other characters from taking an abnormal posture that is an unexpected posture or a contradictory posture as a moving posture.

第12の発明は、第10又は第11の発明のプログラムであって、
前記他キャラクタ姿勢予測制御手段が、前回予測時に求めた表示姿勢を、少なくとも今回予測時の予測姿勢に基づいて調節する姿勢調節手段(例えば、図18の他キャラクタ移動制御部1226,図27のステップS30)を有し、前記調節した前回の表示姿勢を今回の表示姿勢とすることにより、最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報が変わることによる他キャラクタの急激な姿勢変動を抑制するように前記コンピュータを機能させるためのプログラムである。
The twelfth invention is the program of the tenth or eleventh invention,
The other character posture prediction control means adjusts the display posture obtained at the time of the previous prediction based on at least the predicted posture at the time of the current prediction (for example, the other character movement control unit 1226 in FIG. 18 and the steps in FIG. 27). S30), and by making the adjusted previous display posture the current display posture, rapid posture change of other characters due to changes in the latest other character movement control information and other character posture control information is suppressed. Is a program for causing the computer to function.

今回予測時の予測姿勢の基礎は、受信した最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報であるが、前回予測時の表示姿勢の基礎は、最新の他キャラクタ移動制御情報よりも過去の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報である。つまり、基礎とする他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報が変わっている。そこで、最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報と過去の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報との間で急操作がなされていた場合、その操作が今回予測時の予測姿勢に反映されることで、他キャラクタの姿勢が急激に変動する場合があり得る。しかし、第12の発明によれば、前回予測時に求めた表示姿勢が、少なくとも今回予測時の予測姿勢に基づいて調節されて今回の表示姿勢となる。従って、今回予測時の基礎とする他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報が、前回予測時の基礎となった情報から変わった場合であっても、前回予測時の表示姿勢と今回予測時の予測姿勢との間で調節が図られるため、他キャラクタの姿勢が急激に変動するような事態を回避し得る。   The basis of the predicted posture at the time of prediction this time is the latest received other character movement control information and other character posture control information received, but the basis of the display posture at the time of the previous prediction is earlier than the latest other character movement control information. Other character movement control information and other character posture control information. That is, the other character movement control information and other character posture control information as a basis have changed. Therefore, if an abrupt operation has been performed between the latest other character movement control information and other character posture control information and the past other character movement control information and other character posture control information, the operation is the predicted posture at the time of the current prediction. The posture of the other character may change abruptly by being reflected in. However, according to the twelfth aspect, the display posture obtained at the time of the previous prediction is adjusted based on at least the prediction posture at the time of the current prediction, and becomes the current display posture. Therefore, even if the other character movement control information and other character posture control information used as the basis for the current prediction are changed from the information used as the basis for the previous prediction, the display posture of the previous prediction and the current prediction time Therefore, the situation in which the posture of another character fluctuates rapidly can be avoided.

第13の発明は、第12の発明のプログラムであって、
前記姿勢調節手段が、前回予測時に求めた表示姿勢と今回予測時の予測姿勢との間の変位に対して、両姿勢の変位量が大きくなる程近似力を大きくする、両姿勢を近づけるための姿勢近似バネ(例えば、図32のステップT46)を設定し、少なくとも前記設定した姿勢近似バネの近似力に基づき前回の表示姿勢を調節するように前記コンピュータを機能させるためのプログラムである。
The thirteenth invention is the program of the twelfth invention,
The posture adjusting means increases the approximate force as the displacement amount of both postures increases with respect to the displacement between the display posture obtained at the previous prediction and the predicted posture at the current prediction, to bring both postures closer This is a program for setting the posture approximate spring (for example, step T46 in FIG. 32) and causing the computer to function so as to adjust the previous display posture based on at least the approximate force of the set posture approximate spring.

この第13の発明によれば、前回予測時の表示姿勢と今回予測時の予測姿勢とを近づけるための姿勢近似バネが設定され、この姿勢近似バネの近似力に基づいて前回の表示姿勢が調節される。このため、前回予測時の表示姿勢が今回予測時の姿勢に近づくこととなる結果、今回予測時の他キャラクタが、前回予測時の表示姿勢から急激に変化した姿勢を取るような事態を回避し得る。   According to the thirteenth aspect, the posture approximate spring for bringing the display posture at the previous prediction close to the predicted posture at the current prediction is set, and the previous display posture is adjusted based on the approximate force of the posture approximate spring. Is done. For this reason, as a result of the display posture at the time of the previous prediction approaching the posture at the time of the current prediction, it is possible to avoid a situation in which another character at the time of the current prediction takes a posture that has suddenly changed from the display posture at the time of the previous prediction. obtain.

第14の発明は、第13の発明のプログラムであって、
前記姿勢調節手段が、前記姿勢近似バネの近似力を減殺させる姿勢近似ダンパ(例えば、図32のステップT48)を設定し、前記設定した姿勢近似ダンパによる減殺を加味した前記姿勢近似バネの近似力に基づき前回の表示姿勢を調節するように前記コンピュータを機能させるためのプログラムである。
The fourteenth invention is the program of the thirteenth invention,
The posture adjusting means sets a posture approximating damper (for example, step T48 in FIG. 32) for reducing the approximate force of the posture approximating spring, and approximates the force of the posture approximating spring in consideration of the attenuation by the set posture approximating damper. Is a program for causing the computer to function so as to adjust the previous display posture.

この第14の発明によれば、姿勢近似バネに加えて姿勢近似ダンパが設定される。このため、姿勢近似バネによる近似力が大きく、前回予測時の表示姿勢の調節が過度の調節となる事態を回避し、姿勢近似バネの近似力を徐々に作用させることができるようになる。   According to the fourteenth aspect of the present invention, the posture approximation damper is set in addition to the posture approximation spring. For this reason, the approximate force by the posture approximating spring is large, and it is possible to avoid the situation in which the adjustment of the display posture at the time of the previous prediction becomes an excessive adjustment, and to gradually apply the approximate force of the posture approximating spring.

第15の発明は、第1〜第14の何れかの発明のプログラムであって、
前記通信対戦レースゲームは、前記ゲーム空間に設定された地上を前記操作対象キャラクタが走行するレースゲーム(例えば、図3のバイクレースゲーム)であり、
前記他キャラクタ予測制御手段の予測に従った他キャラクタの前記ゲーム空間への配置により、他キャラクタが前記ゲーム空間の地中に潜る場合又は地面から浮く場合を検出する検出手段(例えば、図18の他キャラクタ移動制御部1226,図27のステップS32)、
前記検出手段による検出に応じて、他キャラクタを前記ゲーム空間に設定された地面に接地させるように、他キャラクタの前記ゲーム空間の高さ方向の位置を補正する高さ位置補正手段(例えば、図18の他キャラクタ移動制御部1226,図33のステップT66)、
として前記コンピュータを機能させるためのプログラムである。
The fifteenth invention is a program according to any one of the first to fourteenth inventions,
The communication battle game is a race game in which the operation target character runs on the ground set in the game space (for example, the motorcycle race game of FIG. 3).
A detecting unit (for example, FIG. 18) that detects a case in which another character is submerged in the game space or floats from the ground by arrangement of the other character in the game space according to the prediction of the other character prediction control unit. Other character movement control unit 1226, step S32 in FIG. 27),
Height position correction means (for example, FIG. 5) corrects the position of the other character in the height direction of the game space so that the other character contacts the ground set in the game space in response to detection by the detection means. 18 other character movement control unit 1226, step T66 in FIG. 33),
As a program for causing the computer to function.

この第15の発明によれば、通信対戦レースゲームは操作対象キャラクタが地上を走行するレースゲームである。予測に従って他キャラクタをゲーム空間に配置することとした場合、その予測やコースの形状等によっては、他キャラクタが地中に潜る場合又は地面から浮く場合が起こり得るため、検出手段が他キャラクタが地中に潜る場合又は地面から浮く場合を検出し、当該検出に応じて高さ位置補正手段が他キャラクタの高さ方向の位置を補正する。この結果、他キャラクタが地中に潜ってしまう、或いは地面から浮いてしまうといった奇異な状態を回避し得る。   According to this fifteenth aspect, the communication battle game is a race game in which the operation target character runs on the ground. If other characters are arranged in the game space according to the prediction, depending on the prediction, the shape of the course, etc., the other character may dive into the ground or float off the ground. A case of diving inside or a case of floating from the ground is detected, and the height position correcting means corrects the position of the other character in the height direction according to the detection. As a result, it is possible to avoid a strange state in which another character dives into the ground or floats off the ground.

第16の発明は、第1〜第5の発明の何れかのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体(例えば、図18の記憶部130)である。   A sixteenth aspect of the invention is a computer-readable information storage medium (for example, the storage unit 130 of FIG. 18) that stores the program of any one of the first to fifth aspects of the invention.

第16の発明によれば、記憶されたプログラムがコンピュータによって読み取られて実行されることにより、第1〜第15の発明と同様の作用効果を奏する情報記憶媒体を実現し得る。   According to the sixteenth aspect, an information storage medium having the same effects as the first to fifteenth aspects can be realized by reading and executing the stored program by a computer.

本発明によれば、通信対戦レースゲームにおいて、良好なレスポンスを維持しつつ、整合性の問題を可及的に解決することができる。また、通信対戦レースゲームの実行中においてゲームサーバを必要としない。   According to the present invention, it is possible to solve the problem of consistency as much as possible while maintaining a good response in a communication battle game. Further, no game server is required during the execution of the communication battle game.

以下、図面を参照して、本発明を実施するための最良の形態を説明する。なお、以下では、家庭用ゲーム装置において、周回コースを走行してラップタイムやゴール順位を競うバイクレースゲームを実行する場合について説明するが、本発明の適用がこれに限定されるものではない。   The best mode for carrying out the present invention will be described below with reference to the drawings. Hereinafter, in the home game device, a case where a motorcycle racing game in which a lap time and a goal ranking are competed by running on a circuit course is executed will be described, but application of the present invention is not limited thereto.

[第1実施形態]
1−1.システム概要
図1は、第1実施形態におけるゲームシステム10の概略構成を示す図である。同図に示すように、ゲームシステム10は、4台のゲーム装置12a〜12dを備えて構成される。各ゲーム装置12a〜12dは、例えば、無線通信回線、専用線、ツイストペアケーブル、光通信ケーブル等の通信回線を介し、インターネット等の公衆回線網で構成されるネットワークNを利用して接続されている。尚、ゲームシステム10を構成するゲーム装置の台数が一例であるのは勿論である。
[First Embodiment]
1-1. System Overview FIG. 1 is a diagram showing a schematic configuration of a game system 10 in the first embodiment. As shown in the figure, the game system 10 includes four game apparatuses 12a to 12d. The game apparatuses 12a to 12d are connected using a network N constituted by a public line network such as the Internet via a communication line such as a wireless communication line, a dedicated line, a twisted pair cable, and an optical communication cable. . Of course, the number of game devices constituting the game system 10 is an example.

ネットワークゲームを実現するシステム構成として様々な構成があるが本実施形態では、ゲームサーバを用いることなく複数のゲーム端末同士が通信回線を介して接続されるいわゆるピアツーピアの構成を例にとって説明する。勿論、複数のゲーム端末が物理的に結合した、全体として1台のシステム(例えば業務用ゲーム機)となっている構成等他の構成へも本発明を適用することができる。   Although there are various configurations as a system configuration for realizing a network game, in this embodiment, a so-called peer-to-peer configuration in which a plurality of game terminals are connected via a communication line without using a game server will be described as an example. Of course, the present invention can also be applied to other configurations such as a configuration in which a plurality of game terminals are physically coupled to form a single system (for example, an arcade game machine) as a whole.

ゲーム装置12a〜12dは、プレーヤがネットワークゲームをプレイする端末装置であって、例えば家庭用・業務用の各種ゲーム装置や、パソコンなどによって実現される。第1実施形態において、ゲーム装置12a〜12dは、他のゲーム装置12a〜12dとの間でデータの送受を行うことにより、ネットワークゲームのゲームプレイに係るゲームデータを取得し、取得したゲームデータに基づいてゲーム画像を生成して表示する。
ゲーム装置12a〜12dは何れも同じ構成を有している。以下では、このうちのゲーム装置12aを中心に説明する。
The game devices 12a to 12d are terminal devices on which a player plays a network game, and are realized by, for example, various game devices for home use and business use, personal computers, and the like. In 1st Embodiment, game device 12a-12d acquires the game data which concern on the game play of a network game by transmitting / receiving data between other game devices 12a-12d, and uses the acquired game data as the acquired game data. Based on this, a game image is generated and displayed.
All of the game apparatuses 12a to 12d have the same configuration. Below, it demonstrates focusing on the game device 12a of these.

具体的には、例えば、ゲーム装置12aは、自ゲーム装置の操作対象である移動体オブジェクト(相対的な表現であるが、当該ゲーム装置の操作対象の移動体オブジェクト(以下、「キャラクタ」と呼ぶ)を、当該ゲーム装置の立場から見た場合、以下、「自キャラクタ」と呼ぶ)に関するゲームデータとしてデータ(1)を他のゲーム装置12b〜12dに送信する。ゲーム装置12b〜12dは、受信したデータ(1)に基づいて、ゲーム装置12b〜12dにとって他のゲーム装置12aの操作対象である移動体オブジェクト(自キャラクタと反対に、当該ゲーム装置以外のゲーム装置の操作対象の移動体オブジェクトを、当該ゲーム装置の立場から見た場合、以下、「他キャラクタ」と呼ぶ)の位置や姿勢等を演算し、該他キャラクタを表示制御する。   Specifically, for example, the game device 12a is a moving object (an expression relative to the mobile object that is the operation target of the game device itself (hereinafter referred to as “character”). (1) is transmitted to the other game devices 12b to 12d as game data relating to the following. Based on the received data (1), the game devices 12b to 12d are game objects other than the game device, which are objects to be operated by the game devices 12b to 12d. When the moving object to be operated is viewed from the standpoint of the game device, the position, posture, etc. of the other object are calculated, and the other character is displayed and controlled.

データ(1)には、キャラクタを移動制御するために必要な情報(以下、「移動体制御情報」と呼ぶ)を含んでいる。具体的には、図24に示すように、キャラクタを特定するための識別番号、該キャラクタの転倒の有無を示す転倒フラグ、プレーヤから入力される操作データであるアクセル量Ia、ブレーキ量Ib、ハンドル値Ih、該キャラクタの位置座標P、速度V、角度Θ、角速度Ω、データ(1)がゲーム装置12aから送信された時刻を示すデータ送信時刻といったデータを含んでいる。   The data (1) includes information necessary for moving the character (hereinafter referred to as “moving body control information”). Specifically, as shown in FIG. 24, an identification number for specifying a character, a fall flag indicating whether or not the character has fallen, an accelerator amount Ia which is operation data input from the player, a brake amount Ib, a handle It includes data such as a value Ih, a position coordinate P of the character, a velocity V, an angle Θ, an angular velocity Ω, and a data transmission time indicating the time when the data (1) is transmitted from the game apparatus 12a.

1−2.ゲーム装置の外観例
図2は、ゲーム装置12a〜12dに家庭用ゲーム装置1200を適用した場合の概略外観図である。同図に示すように、家庭用ゲーム装置1200は、本体装置1210と、プレーヤがゲーム操作を入力するための方向キー1204やボタンスイッチ1206を有するゲームコントローラ1202と、スピーカ1222を有するディスプレイ1220と、を備える。ゲームコントローラ1202は本体装置1210に接続され、ディスプレイ1220は、画像信号及び音信号を伝送可能なケーブルK1,K2によって本体装置1210に接続されている。
1-2. FIG. 2 is a schematic external view of a home game device 1200 applied to the game devices 12a to 12d. As shown in the figure, a consumer game device 1200 includes a main device 1210, a game controller 1202 having direction keys 1204 and button switches 1206 for a player to input a game operation, a display 1220 having a speaker 1222, and Is provided. The game controller 1202 is connected to the main device 1210, and the display 1220 is connected to the main device 1210 by cables K1 and K2 capable of transmitting image signals and sound signals.

本体装置1210がゲーム処理を行うために必要なプログラムやデータ等を含むゲーム情報等は、例えば本体装置1210に着脱自在な情報記憶媒体であるCD−ROM1212やメモリカード1214、ICカード1216等に格納されている。或いは、ゲーム情報等は、本体装置1210が具備する通信装置1218を介してネットワークNに接続し、外部装置から取得することとしても良い。ここで、ネットワークNとは、データ授受が可能な通信路を意味する。即ち、ネットワークNとは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLANの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方式については有線/無線を問わない。   For example, game information including programs and data necessary for the main unit 1210 to perform game processing is stored in, for example, a CD-ROM 1212, a memory card 1214, an IC card 1216, or the like, which is an information storage medium detachable from the main unit 1210 Has been. Alternatively, game information or the like may be acquired from an external device by connecting to the network N via the communication device 1218 included in the main device 1210. Here, the network N means a communication path through which data can be exchanged. That is, the network N is meant to include a communication network such as a telephone communication network, a cable network, and the Internet in addition to a LAN using a dedicated line (dedicated cable) or Ethernet (registered trademark) for direct connection, The communication method may be wired / wireless.

また、本体装置1210は、例えばCPUの他、ROMやRAM等のメモリを搭載した制御ユニット、CD−ROM1212等の情報記憶媒体の読取装置を具備する。本体装置1210は、CD−ROM1212等から読み出したゲーム情報と、ゲームコントローラ1202からの操作信号とに基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号及び音信号をディスプレイ1220に出力して、ディスプレイ1220にゲーム画面を表示させるとともに、スピーカ1222からゲーム音を出力させる。プレーヤは、ディスプレイ1220に表示されたゲーム画面を見、スピーカ1222から出力されるゲーム音を聞きながら、ゲームコントローラ1202を操作してゲームを楽しむ。   The main unit 1210 includes a CPU, a control unit equipped with a memory such as a ROM and a RAM, and an information storage medium reader such as a CD-ROM 1212. The main device 1210 executes various game processes based on the game information read from the CD-ROM 1212 and the like and the operation signal from the game controller 1202, and generates an image signal of the game screen and a sound signal of the game sound. Then, the generated image signal and sound signal are output to the display 1220, a game screen is displayed on the display 1220, and a game sound is output from the speaker 1222. The player enjoys the game by operating the game controller 1202 while watching the game screen displayed on the display 1220 and listening to the game sound output from the speaker 1222.

1−3.ゲームの概要
図3は、第1実施形態におけるゲーム画面の一例を示す図である。ゲーム画面は、仮想現実(VR)のコンピュータグラフィックス(CG)として描かれる。同図に示すように、プレーヤが操作するキャラクタであるバイク4a、他のプレーヤが操作するキャラクタであるバイク4b〜4dは、予め定められたサーキットのコース2上を走行するように表示される。コース2の周回数や一周のラップタイムは、タイム表示部6に表示される。プレーヤは、運転技術(ゲーム操作技術)を駆使して最速のラップタイムを競い、他のプレーヤにより操作されるバイク4b〜4dと着順を競う。
1-3. Outline of Game FIG. 3 is a diagram showing an example of a game screen in the first embodiment. The game screen is drawn as virtual reality (VR) computer graphics (CG). As shown in the figure, a motorcycle 4a, which is a character operated by a player, and motorcycles 4b-4d, which are characters operated by other players, are displayed so as to run on the course 2 of a predetermined circuit. The number of laps of the course 2 and the lap time of one lap are displayed on the time display unit 6. The player competes for the fastest lap time by making full use of the driving technique (game operation technique) and competes with the bikes 4b to 4d operated by other players in the order of arrival.

また、ゲーム画面は、ディスプレイ1220の仕様に従った所定時間レート(例えば、1/60秒。この時間のことを「1フレーム」という。即ち、1/60秒間隔で描画されるタイミングのことをいう。)で繰り返し描画される。描画の都度、制御ユニットは、仮想空間中にコース2を含むサーキットを構成するオブジェクトとバイク4a〜4d等のオブジェクトを配置する。具体的には、プレーヤによる操作入力に基づいて、バイク4aの速度・加速度・車体の姿勢等をシミュレートする。また、他のゲーム装置12b〜12dから受信した移動体制御情報に基づいて、他プレーヤの操作するバイク4b〜4dの速度・加速度・車体の姿勢等をシミュレートする。シミュレート結果に従ってバイク4a〜4dをコース2上で移動(再配置)させる。そして、例えばバイク4aの進行方向に対して後方に配置された仮想視点から見た画像を生成し、ゲーム画面としてディスプレイ1220に表示させる。   In addition, the game screen has a predetermined time rate according to the specifications of the display 1220 (for example, 1/60 seconds. This time is referred to as “one frame.” That is, the timing at which the game screen is drawn at intervals of 1/60 seconds. It is drawn repeatedly. Each time the drawing is performed, the control unit arranges objects constituting the circuit including the course 2 and objects such as the motorcycles 4a to 4d in the virtual space. Specifically, the speed / acceleration of the motorcycle 4a, the posture of the vehicle body, and the like are simulated based on the operation input by the player. Further, based on the moving body control information received from the other game apparatuses 12b to 12d, the speed, acceleration, body posture, etc. of the motorcycles 4b to 4d operated by other players are simulated. The motorcycles 4a to 4d are moved (rearranged) on the course 2 in accordance with the simulation result. Then, for example, an image viewed from a virtual viewpoint arranged rearward with respect to the traveling direction of the motorcycle 4a is generated and displayed on the display 1220 as a game screen.

プレーヤは、ディスプレイ1220に表示されるゲーム画面を見ながら、ゲームコントローラ1202を操作してバイクレースゲームを楽しむ。   The player enjoys the motorcycle racing game by operating the game controller 1202 while viewing the game screen displayed on the display 1220.

1−4.原理
次に、他のゲーム装置12b〜12dから受信したゲームデータに基づいて、他キャラクタの移動計算を行い、自ゲーム装置12aに表示制御させるための原理について説明する。以下では、他キャラクタの走行状況に応じて通常走行時、転倒時に分けてそれぞれ説明する。
1-4. Principle Next, the principle for calculating the movement of another character based on the game data received from the other game devices 12b to 12d and controlling the display of the game device 12a will be described. In the following, explanations will be made separately for normal running and for falling according to the running status of other characters.

まず、キャラクタの方向について定義する。図4(a)は、バイク4のモデル座標系であるローカル座標系(x,y,z)を説明するための図である。なお、仮想三次元空間(ゲーム空間)の座標系であるワールド座標系を(X,Y,Z)と大文字で表し、ローカル座標系と区別する。バイク4のローカル座標系は、バイク4の重心位置を原点とし、バイク4の前後方向をz軸とし、前後方向の前方方向をz軸正方向とする左手座標系であり、高さ方向がy軸、横方向がx軸である。   First, the direction of the character is defined. FIG. 4A is a diagram for explaining a local coordinate system (x, y, z) which is a model coordinate system of the motorcycle 4. Note that the world coordinate system, which is the coordinate system of the virtual three-dimensional space (game space), is represented by capital letters (X, Y, Z) and is distinguished from the local coordinate system. The local coordinate system of the motorcycle 4 is a left-handed coordinate system in which the center of gravity of the motorcycle 4 is the origin, the front-rear direction of the motorcycle 4 is the z-axis, and the forward direction of the front-rear direction is the z-axis positive direction. The axis and the horizontal direction are the x-axis.

図4(b)は、バイク4の回転角を説明するための図である。バイク4が仮想三次元空間(ゲーム空間)に配置される際の姿勢を決定づけるのがこの回転角である。バイク4は、図4(a)のローカル座標系でモデリングされた後、図4(b)に示すそれぞれの軸回りに回転されて姿勢が決定されて、ゲーム空間に配置される。即ち、ゲーム空間においては、バイク4を配置すべき配置点が設定され、この配置点にバイク4の代表点(例えば重心位置)が位置するように、ローカル座標系においてモデリングされたバイク4が配置されるが、その配置時の姿勢は、図4(b)に示すそれぞれの軸回りの回転によって決定されることとなる。x,y,z軸それぞれの軸回りの回転方向はピッチング方向、ヨー方向、ロール方向である。   FIG. 4B is a diagram for explaining the rotation angle of the motorcycle 4. It is this rotation angle that determines the posture when the motorcycle 4 is arranged in the virtual three-dimensional space (game space). The motorcycle 4 is modeled in the local coordinate system of FIG. 4A and then rotated around each axis shown in FIG. 4B to determine the posture, and is placed in the game space. That is, in the game space, a placement point where the motorcycle 4 is to be placed is set, and the motorcycle 4 modeled in the local coordinate system is placed so that the representative point (for example, the center of gravity) of the motorcycle 4 is located at this placement point. However, the posture at the time of the arrangement is determined by the rotation around each axis shown in FIG. The rotation directions around the x, y, and z axes are the pitching direction, the yaw direction, and the roll direction.

また、ピッチング方向の正負は、ゲーム空間において、バイク前方部が後方部より上方に位置するように回転させる場合の回転角を+、下方に位置するように回転させる場合の回転角を−とする。ロール方向の正負は、ゲーム空間において、重心位置(ローカル原点)からみて、バイク上部が下部より右側に位置するように回転させる場合の回転角を+、左側に位置するように回転させる場合の回転角を−とする。また、ヨー方向の正負は、ゲーム空間において、バイク4の速度ベクトルの方向に対して、バイク4の前方部が後方部より右側に位置するように回転させる場合の回転角を+、左側に位置するように回転させる場合(すなわち、速度ベクトルの方向に沿った向きにバイク4を配置させるように回転させる場合)の回転角を−とする。   In addition, in the game space, the sign of the pitching direction is + in the game space when the motorcycle is rotated so that the front part of the motorcycle is positioned above the rear part, and-is the rotation angle when it is rotated so as to be positioned below. . The roll direction is positive or negative in the game space when viewed from the center of gravity (local origin), when rotating the upper part of the bike so that it is located on the right side of the lower part. Let the angle be-. In addition, the positive / negative of the yaw direction is the rotation angle when the front part of the motorcycle 4 is rotated to the right of the rear part with respect to the direction of the speed vector of the motorcycle 4 in the game space. The rotation angle in the case of rotating in such a manner (that is, in the case of rotating so that the motorcycle 4 is arranged in the direction along the direction of the velocity vector) is −.

[通常走行時]
1−4−1.位置の予測
通常走行時における他キャラクタの位置の予測原理について説明する。他ゲーム装置12b〜12dから受信した移動体制御情報(以下、「受信データ」と呼ぶ)は、他ゲーム装置12b〜12dが送信してから受信されるまでの通信に係る遅れを持っている。例えば、図5に示すように、送信時刻が時刻t0である受信データに基づいて、時刻t3における他キャラクタの位置の予測を行う。尚、同図においては一例として、通信遅延時間を3フレームとしているが、実際には3フレーム以外の場合もあることはいうまでもない。以下では、通信遅延時間の代表例として、通信遅延時間が3フレームだった場合について説明する。
[During normal driving]
1-4-1. Position Prediction The principle of predicting the position of another character during normal running will be described. The mobile body control information (hereinafter referred to as “reception data”) received from the other game apparatuses 12b to 12d has a delay related to communication from when the other game apparatuses 12b to 12d are transmitted until they are received. For example, as shown in FIG. 5, the position of another character at time t3 is predicted based on reception data whose transmission time is time t0. In the figure, as an example, the communication delay time is 3 frames, but it goes without saying that there may be cases other than 3 frames in practice. Hereinafter, a case where the communication delay time is 3 frames will be described as a representative example of the communication delay time.

時刻t3における他キャラクタの位置を予測するには、まず、時刻t0の移動体制御情報である受信データに基づいて、1フレーム後の時刻t1における移動体制御情報を予測する。次いで、時刻t1の移動体制御情報に基づいて、1フレーム後の時刻t2における移動体制御情報を予測する。そして、時刻t2の移動体制御情報に基づいて、1フレーム後の時刻t3の移動体制御情報を予測する。このように、1フレーム毎の移動体制御情報を累積的に求めていくことで、描画対象フレームにおける他キャラクタの位置を予測する。   In order to predict the position of another character at time t3, first, the mobile control information at time t1 one frame later is predicted based on the received data that is mobile control information at time t0. Next, based on the mobile control information at time t1, the mobile control information at time t2 one frame later is predicted. Then, based on the mobile control information at time t2, the mobile control information at time t3 one frame later is predicted. Thus, the position of the other character in the drawing target frame is predicted by accumulating the moving body control information for each frame.

具体的に、図6を参照して、1フレーム後の位置を予測する方法について説明する。まず、時刻t0における位置の近傍(例えば、制御点Q0)に設定されているカーブの曲率を後述するコースデータ138(図20参照)から取得する。次いで、時刻t0における速度Vt0と、曲率rtと、定数kとを乗算して、速度ベクトルをヨー方向(ここではゲーム空間におけるヨー方向)にどのくらい回転させれば円弧を近似できるか、すなわち、カーブに沿った速度ベクトルを求める。また、この円弧を近似した傾きがヨー方向の予測角度θyt1となる。図6に示すように、時刻t0におけるヨー方向の角度θyt0とヨー方向の予測角度θyt1との差分から、回転させるべき角度(θyt1―θyt0)を求めることができる。 Specifically, a method for predicting a position after one frame will be described with reference to FIG. First, the curvature of the curve set near the position at time t0 (for example, control point Q0) is acquired from course data 138 (see FIG. 20) described later. Next, by multiplying the velocity V t0 at the time t0, the curvature rt, and the constant k, how much the velocity vector is rotated in the yaw direction (here, the yaw direction in the game space), the arc can be approximated. Find the velocity vector along the curve. Further, the inclination approximating this arc is the predicted angle θy t1 in the yaw direction. As shown in FIG. 6, the angle (θy t1− θy t0 ) to be rotated can be obtained from the difference between the angle θy t0 in the yaw direction and the predicted angle θy t1 in the yaw direction at time t0.

そして、速度ベクトルをヨー方向に求めた角度(θyt1―θyt0)だけ回転させ、この速度ベクトルの単位時間あたりの位置変化量を時刻t0における位置Pt0に加算することにより、時刻t1における位置Pt1を求めることができる。 Then, the position at the time t1 is obtained by rotating the speed vector by the angle (θy t1 −θy t0 ) obtained in the yaw direction and adding the position change amount per unit time of the speed vector to the position P t0 at the time t0. P t1 can be obtained.

1−4−2.速度の予測
次に、速度の予測について説明する。速度の予測は、上述した位置の予測と同様に、1フレーム毎の速度を累積的に求めていくことで、描画対象フレームにおける他キャラクタの速度Vを予測する。速度Vの変化量(即ち、加速度)は、プレーヤ操作により入力されるアクセル量Ia、ブレーキ量Ib、バイクの傾きによる抵抗、空気抵抗、エンジンロス等に基づいて算出される。
1-4-2. Next, speed prediction will be described. In the prediction of speed, the speed V of another character in the drawing target frame is predicted by accumulating the speed for each frame in the same manner as the position prediction described above. The amount of change in speed V (ie, acceleration) is calculated based on the accelerator amount Ia, the brake amount Ib, the resistance caused by the tilt of the motorcycle, the air resistance, the engine loss, and the like input by the player operation.

具体的に、図7を参照して、1フレーム後の速度を予測する方法について説明する。先ず、時刻t1における予測位置の目標速度V0を取得する。目標速度V0とは、例えば、上級プレーヤにより操作される高速キャラクタが当該コースを走行した場合(例えば、走行ラインLT)において、制御点近傍の通過時点の速度を基準として設定される速度であり、後述するコースデータ138に格納されている。目標速度V0と時刻t0における速度Vt0とを比較し、速度Vt0が該位置における目標速度V0より高速となる場合は、一時的にブレーキを踏んでいるかのように、目標速度V0と速度Vt0とに基づいてブレーキ量Ibを補正ブレーキ量Ibfに補正する。 Specifically, a method for predicting the speed after one frame will be described with reference to FIG. First, the target speed V0 of the predicted position at time t1 is acquired. The target speed V0 is, for example, a speed that is set based on the speed at the time of passage near the control point when a high-speed character operated by an advanced player travels on the course (for example, the travel line LT). It is stored in course data 138 which will be described later. Comparing the velocity V t0 the target speed V0 and time t0, when the speed V t0 is faster than the target speed V0 at the position, as if temporarily are stepping on the brake, the target speed V0 and the speed V Based on t0 , the brake amount Ib is corrected to the corrected brake amount Ib f .

時刻t1における予測速度は、時刻t0における速度Vt0に、単位時間加速度にアクセル量Iaを乗算した値を加算し、単位時間減速度にブレーキ量Ib(又は補正ブレーキ量Ibf)を乗算した値を減算し、補正係数αを加算することで求める。単位時間加速度は、アクセル量Iaに応じた単位時間あたりの加速度を算出するための係数であり、単位時間減速度は、ブレーキ量Ibに応じた単位時間あたりの減速度を算出するための係数である。また、補正係数αは、バイクの傾きによる抵抗、空気抵抗、エンジンロス等による影響を補正するための係数である。 The predicted speed at time t1 is a value obtained by adding a value obtained by multiplying the unit time acceleration by the accelerator amount Ia to the speed V t0 at time t0, and multiplying the unit time deceleration by the brake amount Ib (or the corrected brake amount Ib f ). Is subtracted and a correction coefficient α is added. The unit time acceleration is a coefficient for calculating acceleration per unit time according to the accelerator amount Ia, and the unit time deceleration is a coefficient for calculating deceleration per unit time according to the brake amount Ib. is there. Further, the correction coefficient α is a coefficient for correcting the influence of the resistance due to the inclination of the motorcycle, the air resistance, the engine loss and the like.

1−4−3.角度の予測
次に、角度の予測について説明する。なお、ヨー方向の角度(y成分)については、上述した位置の予測において求められた速度ベクトルの方向にバイク4の前方方向が向くようにバイク4が配置されるものであるため、以下では、ピッチング方向の角度(x成分)と、ロール方向の角度(z成分)の予測について図8、図9を参照して説明する。尚、図8、図9において、1点鎖線は、ワールド座標系のY軸方向及び水平方向(X−Z平面)を示しており、実線は、ローカル座標を示している。
1-4-3. Angle Prediction Next, angle prediction will be described. Since the angle of the yaw direction (y component) is such that the motorcycle 4 is arranged so that the forward direction of the motorcycle 4 is directed in the direction of the velocity vector obtained in the above-described position prediction, The prediction of the angle in the pitching direction (x component) and the angle in the roll direction (z component) will be described with reference to FIGS. 8 and 9, the alternate long and short dash line indicates the Y-axis direction and the horizontal direction (XZ plane) of the world coordinate system, and the solid line indicates the local coordinates.

ピッチング方向の角度の予測は、上述の位置、速度の予測と異なり、複数フレームの変化を纏めて計算する。具体的には、図8の式に示すように、ピッチング方向の予測角度θxt3は、時刻t0におけるピッチング方向の角度θxt0に、時刻t0におけるピッチング方向の角速度ωxt0と遅延時間(t3−t0)とを乗算した値を加算して求める。遅延時間とは、データの送信時刻t0と描画対象となる時刻との差分であり、図5の例として描画対象の時刻をt3としている。図9〜図12においても同様である。 Unlike the above-described prediction of position and speed, the prediction of the angle in the pitching direction is performed by collectively calculating changes in a plurality of frames. More specifically, as shown in Equation 8, the predicted angle [theta] x t3 pitching direction, the pitching direction angular [theta] x t0 at time t0, the pitching direction angular velocity .omega.x t0 and the delay time at time t0 (t3-t0 ) And the value obtained by multiplication. The delay time is the difference between the data transmission time t0 and the drawing target time, and the drawing target time is t3 in the example of FIG. The same applies to FIGS. 9 to 12.

ここで、ピッチング方向の角度変化の前後において、θxの正負が入れ替わっているか否かによって、予測角度を0に設定する。ゲーム実行中におけるピッチング方向の角度変化としては、例えば、図8に示すように、バイクの後輪を基軸として前輪を持ち上げたような姿勢(いわゆる、ウィリー)や、バイクの前輪を基軸として後輪を持ち上げたような姿勢(いわゆる、ジャックナイフ)などがある。例えば、時刻t0において、バイクの姿勢がウィリーから地面に戻る途中であった場合(即ち、角速度の向きがマイナス方向であった場合)、バイクの前輪が路面に着地した後は、それ以上同じピッチング方向へは回転しない。つまり、角度変化の前後で正負の符号が入れ替わることがないと考えられる。従って、受信データにおけるピッチング方向の角度と予測角度の符号が入れ替わってしまった場合は、予測角度を0に設定することで、バイクが地中に潜り込まない又は地面に浮かないようにする。   Here, the predicted angle is set to 0 depending on whether the sign of θx is switched before and after the angle change in the pitching direction. As the angle change in the pitching direction during the execution of the game, for example, as shown in FIG. 8, a posture in which the front wheel is lifted with the rear wheel of the motorcycle as a base (so-called wheelie), or a rear wheel with the front wheel of the motorcycle as a base There is a posture (so-called jackknife) etc. that lifted up. For example, at time t0, when the motorcycle is in the middle of returning from the wheelie to the ground (ie, when the direction of the angular velocity is in the negative direction), after the front wheel of the motorcycle has landed on the road surface, the same pitching is required. Does not rotate in the direction. That is, it is considered that the sign of positive and negative does not change before and after the angle change. Therefore, when the sign of the pitching direction in the received data and the sign of the predicted angle are interchanged, the predicted angle is set to 0 so that the motorcycle does not sink into the ground or float on the ground.

また、通常走行時では、ピッチング方向の角度は、バイクが走行可能な姿勢を取り得るように、適性範囲(例えば、−60°≦θx≦60°)が設定されている。従って、予測角度θxt3が設定されている適性範囲を超えてしまうか否かを判定し、適性範囲を超えてしまう場合には、予測角度θxt3を適性範囲の上限又は下限の何れか近いほうに補正する。 Further, during normal traveling, the aptitude range (for example, −60 ° ≦ θx ≦ 60 °) is set so that the angle in the pitching direction can take a posture in which the motorcycle can travel. Therefore, it is determined whether or not the predicted angle θx t3 exceeds the set aptitude range. If the predicted angle θx t3 exceeds the aptitude range, the predicted angle θx t3 is either the upper limit or the lower limit of the aptitude range, whichever is closer. To correct.

ロール方向の角度の予測は、ピッチング方向の角度の予測と同様に複数フレームの変化を纏めて計算する。つまり、図9に示すように、ロール方向の予測角度θzt3は、時刻t0における角度のz成分θzt0に、時刻t0における角速度のz成分ωzt0と、遅延時間(t3−t0)とを乗算した値を加算して求める。 The prediction of the roll direction angle is performed by collectively calculating changes in a plurality of frames, similarly to the prediction of the angle in the pitching direction. That is, as shown in FIG. 9, the predicted angle θz t3 in the roll direction is obtained by multiplying the z component θz t0 of the angle at time t0 by the z component ωz t0 of the angular velocity at time t0 and the delay time (t3−t0). Add the values obtained.

また、通常走行時では、ロール方向の角度は、ピッチング方向の角度と同様に、バイクが走行可能な姿勢を取り得るように、適性範囲(例えば、−60°≦θx≦60°)が設定されている。従って、予測角度θzt3が設定されている適性範囲を超えてしまう場合には、予測角度θzt3を適性範囲の上限又は下限の何れか近い方に補正する。 In addition, during normal driving, the roll direction angle is set to an appropriate range (for example, −60 ° ≦ θx ≦ 60 °) so that the motorcycle can take a posture in which the motorcycle can travel in the same manner as the angle in the pitching direction. ing. Therefore, when the predicted angle θz t3 exceeds the set aptitude range, the predicted angle θz t3 is corrected to be closer to either the upper limit or the lower limit of the aptitude range.

[転倒時]
1−4−4.位置の予測
次に、転倒時における位置の予測について説明する。転倒時であるか否かの判定は、受信データに含まれる転倒フラグ152b(図24参照)に基づいて行う。ゲーム実行中にバイクが転倒した場合、バイクはプレーヤの操作入力に無関係に移動制御される。つまり、バイク転倒時は、プレーヤがバイクの挙動を制御することができず、バイクは基本的に
等速運動を行うこととして制御されるため、転倒時の速度、角速度、重力加速度等に基づいて位置、速度、姿勢が制御される。従って、転倒時における位置の予測は、複数フレームの変化を纏めて計算することにより行う。
[When falling down]
1-4-4. Position Prediction Next, position prediction at the time of a fall is described. The determination as to whether or not the vehicle is falling is made based on the falling flag 152b (see FIG. 24) included in the received data. If the motorcycle falls while the game is running, the motorcycle is controlled to move regardless of the player's operation input. In other words, when the motorcycle falls, the player cannot control the behavior of the motorcycle, and the motorcycle is basically controlled to move at a constant speed. Therefore, based on the speed, angular velocity, gravity acceleration, etc. Position, speed and attitude are controlled. Therefore, the prediction of the position at the time of the fall is performed by collectively calculating changes in a plurality of frames.

具体的には、図10の式に示すように、転倒時の予測位置Pt3は、時刻t0における位置Pt0に、時刻t0における速度Vt0と遅延時間(t3−t0)とを乗算した値を加算して求める。 Specifically, as shown in the equation of FIG. 10, the predicted position P t3 at the time of the fall is a value obtained by multiplying the position P t0 at the time t0 by the speed V t0 at the time t0 and the delay time (t3−t0). Calculate by adding.

1−4−5.速度の予測
次に、転倒時の速度の予測について説明する。上述のように転倒時は、プレーヤからの操作入力が無効となるため、バイクは等速運動を行うとして制御される。しかし、バイクが転倒中に路面から離れた場合、例えば、空中でバウンドしているような場合、バイクには重力加速度が作用する。そこで、速度のy成分の変化についてのみ予測を行う。
1-4-5. Prediction of speed Next, the prediction of the speed at the time of falling will be described. As described above, since the operation input from the player is invalidated during the fall, the motorcycle is controlled to perform a constant speed exercise. However, when the motorcycle moves away from the road surface during a fall, for example, when the motorcycle bounces in the air, gravity acceleration acts on the motorcycle. Therefore, only the change in the y component of the speed is predicted.

具体的には、図10の式に示すように、転倒時の予測速度Vyt3は、時刻t0における速度の成分Vyt0に、重力加速度gと遅延時間(t3−t0)とを乗算した値を加算して求める。 Specifically, as shown in the equation of FIG. 10, the predicted speed Vy t3 at the time of the fall is a value obtained by multiplying the speed component Vy t0 at time t0 by the gravitational acceleration g and the delay time (t3-t0). Add to find.

1−4−6.角度の予測
次に、転倒時の角度の予測について説明する。角度の予測は、位置の予測と同様に複数フレームの変化を纏めて計算することにより行う。例えば、図10に示すように、ヨー方向の予測角度θyt3は、時刻t0におけるヨー方向の角度θyt0に、ヨー方向の角速度ωyt0と遅延時間(t3−t0)とを乗算した値を加算して求める。また、図10の式に示すように、ピッチング方向、ロール方向も同様に求める。
1-4-6. Prediction of angle Next, prediction of the angle at the time of falling will be described. The angle prediction is performed by collectively calculating changes in a plurality of frames in the same manner as the position prediction. For example, as shown in FIG. 10, the predicted angle θy t3 in the yaw direction is obtained by adding a value obtained by multiplying the angle θy t0 in the yaw direction at time t0 by the angular velocity ωy t0 in the yaw direction and the delay time (t3−t0). And ask. Further, as shown in the equation of FIG. 10, the pitching direction and the roll direction are obtained in the same manner.

1−4−7.位置補間
次に、位置補間について説明する。図11は、時刻t0〜t2の間に実際にゲーム画面に表示されたキャラクタの表示位置と、時刻t0の受信データに基づく時刻t3における予測位置とをそれぞれ示す図である。同図に示すように、時刻t0〜時刻t2における表示位置と、時刻t3における予測位置とを結ぶ軌跡(1点鎖線)は、時刻t2における表示位置から予測位置の個所で急激に変化している。これは、時刻t0〜t2における表示位置が、最新の受信データよりも古い受信データに基づいて予測された位置だからである。つまり、予測の基礎となる受信データが異なっている。このため、最新の受信データと古い受信データとの間でプレーヤにより急操作がなされていた場合、この操作が予測位置に反映され、キャラクタの瞬間移動的な位置変化として現れることとなる。
1-4-7. Position Interpolation Next, position interpolation will be described. FIG. 11 is a diagram showing the display position of the character actually displayed on the game screen between times t0 and t2, and the predicted position at time t3 based on the received data at time t0. As shown in the figure, the trajectory (one-dot chain line) connecting the display position at time t0 to time t2 and the predicted position at time t3 rapidly changes from the display position at time t2 to the predicted position. . This is because the display position at time t0 to t2 is a position predicted based on received data older than the latest received data. That is, the received data that is the basis of prediction is different. For this reason, when the player performs an abrupt operation between the latest received data and the old received data, this operation is reflected in the predicted position and appears as an instantaneous movement position change of the character.

このように得られた予測位置をそのまま次フレーム(時刻t3)に描画した場合、バイクの挙動が不自然になり、プレーヤにはブレやチラツキとして視認される。そこで、ブレやチラツキを解消するため、予測位置を現フレームの表示位置に近づけるように、位置、速度について補間処理を行う。なお、位置、速度の補間処理については、通常走行時、転倒時とも同様の処理を行うため、以下では、通常走行時についてのみ説明し、転倒時についての説明は省略する。   When the predicted position obtained in this way is drawn as it is in the next frame (time t3), the behavior of the motorcycle becomes unnatural and is visually recognized by the player as blurring or flickering. Therefore, in order to eliminate blurring and flickering, interpolation processing is performed on the position and speed so that the predicted position approaches the display position of the current frame. Note that the position and speed interpolation processing is the same for both normal traveling and falling, so only the normal traveling will be described below, and a description of the falling will be omitted.

具体的には、図12に示すように、時刻t3の予測位置Pdatと現フレーム(時刻t2)の表示位置Pdisとの差分から相対位置を求め、相対位置に定数Mを乗算することにより、単位時間当たりの位置変化量をバネ補正速度として求める。つまり、予測位置Pdatと表示位置Pdisとを結ぶ仮想バネを設定し、仮想バネの仮想力により、表示位置Pdisが予測位置Pdatの方向に調節されるように、バネ補正速度に基づく補間を行う。定数Mは、予測位置Pdatと表示位置Pdisとを結ぶ仮想バネのバネ係数に相当し、例えば、図13(a)に示すように、相対位置が大きくなる程、バネ補正速度が大きくなるように設定されている。   Specifically, as shown in FIG. 12, a relative position is obtained from the difference between the predicted position Pdat at time t3 and the display position Pdis at the current frame (time t2), and the relative position is multiplied by a constant M to obtain a unit. The amount of change in position per time is obtained as the spring correction speed. That is, a virtual spring connecting the predicted position Pdat and the display position Pdis is set, and interpolation based on the spring correction speed is performed so that the display position Pdis is adjusted in the direction of the predicted position Pdat by the virtual force of the virtual spring. The constant M corresponds to a spring coefficient of a virtual spring that connects the predicted position Pdat and the display position Pdis. For example, as shown in FIG. 13A, the spring correction speed increases as the relative position increases. Is set.

また、予測速度Vdatと現フレームの表示速度Vdisとの差分から相対速度を求め、相対速度に定数Nを乗算して単位時間当たりの変化量をダンパ補正速度として求める。つまり、予測位置Pdatと表示位置Pdisとを結ぶ仮想バネの仮想力を緩衝するような仮想ダンパを設定することにより、仮想力の大きさによって、表示位置Pdisが過度に調節されないように、ダンパ補正速度に基づく補間を行う。定数Nは、予測位置Pdatと現フレームの表示位置Pdisとを結ぶ仮想バネを緩衝するための仮想ダンパの粘性係数に相当し、例えば、図13(b)に示すように、相対速度が大きくなる程、ダンパ補正速度は逆向きで絶対値が大きくなるように設定されている。   Further, the relative speed is obtained from the difference between the predicted speed Vdat and the display speed Vdis of the current frame, and the relative speed is multiplied by a constant N to obtain the amount of change per unit time as the damper correction speed. That is, by setting a virtual damper that buffers the virtual force of the virtual spring that connects the predicted position Pdat and the display position Pdis, the damper correction is performed so that the display position Pdis is not excessively adjusted depending on the magnitude of the virtual force. Interpolate based on speed. The constant N corresponds to a viscosity coefficient of a virtual damper for buffering a virtual spring that connects the predicted position Pdat and the display position Pdis of the current frame. For example, as shown in FIG. 13B, the relative speed increases. The damper correction speed is set in the opposite direction so that the absolute value increases.

さらに、図12の式に示すように、現フレームの表示速度Vdisにバネ補正速度を加算し、ダンパ補正速度を減算することにより、補間速度Vcorを算出する。そして、現フレームの表示位置Pdisに、補間速度Vcorの1フレーム分の位置変化量を加算して、補間位置Pcorを求める。この補間位置Pcorを、次フレーム(時刻t3)の表示位置Pdisとすることで、他キャラクタの自然な移動制御を実現することができる。   Further, as shown in the equation of FIG. 12, the interpolation speed Vcor is calculated by adding the spring correction speed to the display speed Vdis of the current frame and subtracting the damper correction speed. Then, the interpolation position Pcor is obtained by adding the position change amount for one frame of the interpolation speed Vcor to the display position Pdis of the current frame. By making the interpolation position Pcor the display position Pdis of the next frame (time t3), natural movement control of other characters can be realized.

1−4−8.角度補間
次に、角度の補間処理について説明する。位置補間で説明したように、予測角度Θdatと表示角度Θdisについても、基礎とする受信データが異なる場合、その間に行われたプレーヤの操作により、バイクの急激な姿勢変化を生じさせることとなる。そこで、位置補間の場合と同様に、バイクの角度についても、予測角度Θdatと表示角度Θdisに基づく補間を行う。尚、角度の補間処理は、通常走行時と転倒時で異なる処理を行う。まず、通常走行時における角度の補間処理について説明する。
1-4-8. Angle Interpolation Next, angle interpolation processing will be described. As described above with respect to position interpolation, when the reception data used as the basis for the predicted angle Θdat and the display angle Θdis is different, the player's operation performed during that time causes a sudden change in the posture of the motorcycle. Therefore, as in the case of position interpolation, interpolation based on the predicted angle Θdat and the display angle Θdis is performed for the angle of the motorcycle. Note that the angle interpolation processing is different between normal traveling and falling. First, angle interpolation processing during normal travel will be described.

[通常走行時]
図14は、通常走行時における角度の補間原理について説明するための図である。なお、図14の式において、角度Θ、角速度Ωは、xyz各成分の値を含むことを意味している。同図に示すように、時刻t3における予測角度Θdatと現フレーム(時刻t2)における表示角度Θdisとの差分から相対角度を求め、相対角度に定数Oを乗算して、単位時間当たりの角度変化量をバネ補正角速度として求める。つまり、予測角度Θdatと表示角度Θdisとの間に仮想バネを設定し、仮想バネの仮想力により、表示角度Θdisが予測角度Θdatの方向に調節されるように、バネ補正角速度に基づく補間を行う。
[During normal driving]
FIG. 14 is a diagram for explaining the principle of angle interpolation during normal traveling. In the equation of FIG. 14, the angle Θ and the angular velocity Ω mean that the value of each xyz component is included. As shown in the figure, the relative angle is obtained from the difference between the predicted angle Θdat at time t3 and the display angle Θdis at the current frame (time t2), the relative angle is multiplied by a constant O, and the angle change amount per unit time Is determined as the spring correction angular velocity. That is, a virtual spring is set between the predicted angle Θdat and the display angle Θdis, and interpolation based on the spring correction angular velocity is performed so that the display angle Θdis is adjusted in the direction of the predicted angle Θdat by the virtual force of the virtual spring. .

また、時刻t3における予測角速度Ωdatと現フレーム(時刻t2)の表示角速度Ωdisとの差分から相対角速度を求め、相対角速度に定数Uを乗算して、単位時間当たりの角度変化量をダンパ補正角速度として求める。つまり、予測角度Θdatと表示角度Θdisとを結ぶ仮想バネの仮想力を緩衝するような仮想ダンパを設定することにより、仮想力の大きさによって、表示角度Θdisが過度に調節されないように、ダンパ補正角速度に基づく補間を行う。   Also, the relative angular velocity is obtained from the difference between the predicted angular velocity Ωdat at time t3 and the display angular velocity Ωdis of the current frame (time t2), the relative angular velocity is multiplied by a constant U, and the amount of angular change per unit time is taken as the damper corrected angular velocity. Ask. In other words, by setting a virtual damper that buffers the virtual force of the virtual spring that connects the predicted angle Θdat and the display angle Θdis, the damper correction is performed so that the display angle Θdis is not excessively adjusted depending on the magnitude of the virtual force. Perform interpolation based on angular velocity.

さらに、図14の式に示すように、表示角速度にバネ補正角速度を加算し、ダンパ補正角速度を減算することにより、補間角速度Ωcorを算出する。そして、現フレームの表示角度Θdisに補間角速度Ωcorの1フレーム分の角度変化量を加算して補間角度Θcorを求める。この補間角度Θcorを、次フレーム(時刻t3)の表示角度Θdisとすることで、通常走行時における他キャラクタの自然な姿勢制御を実現することができる。   Further, as shown in the equation of FIG. 14, the interpolation angular velocity Ωcor is calculated by adding the spring correction angular velocity to the display angular velocity and subtracting the damper correction angular velocity. Then, the angle change amount for one frame of the interpolation angular velocity Ωcor is added to the display angle Θdis of the current frame to obtain the interpolation angle Θcor. By setting the interpolation angle Θcor as the display angle Θdis of the next frame (time t3), natural posture control of other characters during normal running can be realized.

[転倒時]
図15は、転倒時における角度の補間処理について説明するための図である。同図に示すように、予測角度Θdatと現フレームの表示角度Θdisとの差分から相対角度を求め、予測角速度Ωdatと現フレームの表示角速度Ωdisとの差分から相対角速度を求める。
[When falling down]
FIG. 15 is a diagram for explaining angle interpolation processing at the time of falling. As shown in the figure, the relative angle is obtained from the difference between the predicted angle Θdat and the display angle Θdis of the current frame, and the relative angular velocity is obtained from the difference between the predicted angular velocity Ωdat and the display angular velocity Ωdis of the current frame.

続いて、相対角度の各成分から相対角度の大きさAを求める。また、現フレームの表示角速度Ωdisの各成分から表示角速度Ωdisの大きさBを求める。そして、表示角速度Ωdisの大きさBを相対角度の大きさAで除算して、比率Cを求める。ここで、比率Cは、上限を1、下限を0の値とする。   Subsequently, the magnitude A of the relative angle is obtained from each component of the relative angle. Further, the magnitude B of the display angular velocity Ωdis is obtained from each component of the display angular velocity Ωdis of the current frame. The ratio C is obtained by dividing the magnitude B of the display angular velocity Ωdis by the magnitude A of the relative angle. Here, the ratio C has an upper limit of 1 and a lower limit of 0.

次に、相対角度に比率Cを乗算して、単位時間あたりの角度変化量をバネ補正角速度として求める。また、相対角速度に定数Dを乗算してダンパ補正角速度を求める。尚、バネ補正角速度及びダンパ補正角速度は、上述した通常走行時におけるバネ補正角速度及びダンパ補正角速度と同様の概念である。さらに、図15の式に示すように、現フレームの表示角速度Ωdisに、バネ補正角速度を加算し、ダンパ補正角速度を減算することにより、補間角速度Ωcorを算出する。そして、現フレームの表示角度Θdisに補間角速度Ωcorの1フレーム分の角度変化量を加算して補間角度Θcorを求める。この補間角度Θcorを、次フレーム(時刻t3)の表示角度Θdisとすることで、転倒時における他キャラクタの自然な姿勢制御を実現することができる。   Next, the relative angle is multiplied by the ratio C to determine the angle change amount per unit time as the spring correction angular velocity. Also, the damper angular velocity is obtained by multiplying the relative angular velocity by a constant D. The spring correction angular velocity and the damper correction angular velocity are the same concept as the spring correction angular velocity and the damper correction angular velocity during the normal running described above. Further, as shown in the equation of FIG. 15, the interpolation angular velocity Ωcor is calculated by adding the spring correction angular velocity to the display angular velocity Ωdis of the current frame and subtracting the damper correction angular velocity. Then, the angle change amount for one frame of the interpolation angular velocity Ωcor is added to the display angle Θdis of the current frame to obtain the interpolation angle Θcor. By setting the interpolation angle Θcor as the display angle Θdis of the next frame (time t3), it is possible to realize natural posture control of other characters at the time of the fall.

1−4−9.接地処理
次に、接地処理について説明する。接地処理は、上述した位置予測、角度予測に従ったバイクをゲーム空間に配置させた場合に、バイクが地中に潜ってしまう、或いは地面から浮いてしまうといった不自然な状況を検出し、このような場合は高さ方向の位置を補正することにより、バイクの接地点を適切に路面に接地させるために行う処理である。尚、接地処理は、通常走行時と転倒時で異なる処理を行うため、まず、通常走行時における接地処理について説明する。
1-4-9. Next, the grounding process will be described. The grounding process detects an unnatural situation such as when the motorcycle according to the position prediction and angle prediction described above is placed in the game space, the motorcycle dives into the ground or floats from the ground. In such a case, the process is carried out in order to properly contact the grounding point of the motorcycle with the road surface by correcting the position in the height direction. Since the grounding process is different between normal traveling and falling, first, the grounding process during normal traveling will be described.

[通常走行時]
図16は、通常走行時における接地処理を説明するための図である。接地処理は、同図に示すように、先ず、キャラクタの接地角度を求める。接地角度は、ロール方向の角度に置き換えられるため、接地角度θzとして求まる。次に、重心車高hgを求める。重心車高hgは、ロール方向の角度が0°の時、即ち、バイクの垂直姿勢時における重心から路面までの距離である。さらに、重心車高hgにsin|θz|を乗算して、ゲーム空間における路面から重心までの距離である重心の高さHを求める。また、バイクが接地する路面のゲーム空間における高さhrを求める。そして、重心の高さHに路面の高さhrを加算し、これを補間位置Pcorのy座標に設定することにより、バイクの接地点を適切に路面に接地させることができる。
[During normal driving]
FIG. 16 is a diagram for explaining a grounding process during normal traveling. In the grounding process, as shown in the figure, first, the grounding angle of the character is obtained. Since the contact angle is replaced with an angle in the roll direction, the contact angle is obtained as the contact angle θz. Next, the center of gravity vehicle height hg is obtained. The center-of-gravity vehicle height hg is the distance from the center of gravity to the road surface when the angle in the roll direction is 0 °, that is, when the motorcycle is in a vertical posture. Further, the center-of-gravity vehicle height hg is multiplied by sin | θz | to obtain the center-of-gravity height H, which is the distance from the road surface to the center of gravity in the game space. Also, the height hr in the game space on the road surface on which the motorcycle touches is obtained. Then, by adding the height h of the road surface to the height H of the center of gravity and setting this to the y coordinate of the interpolation position Pcor, the ground point of the motorcycle can be properly grounded on the road surface.

[転倒時]
図17は、転倒時における接地処理を説明するための図である。同図に示すように、先ず、キャラクタの接地角度θGを求める。次いで、求めた接地角度θGに応じて、後述する接地点テーブル154(図25参照)から、接地点となる可能性の最も高い座標Az(xLA,yLA,zLA)を求める。そして、接地角度θGに基づき、ローカル座標Azをワールド座標系に変換する。
[When falling down]
FIG. 17 is a diagram for explaining the grounding process at the time of falling. As shown in the figure, first, a character contact angle θ G is obtained. Next, coordinates Az (x LA , y LA , z LA ) that are most likely to be ground points are determined from a ground point table 154 (see FIG. 25), which will be described later, according to the determined ground angle θ G. Then, the local coordinate Az is converted into the world coordinate system based on the contact angle θ G.

ゲーム空間において、路面からの重心の高さHと、座標Azからの重心の高さhaを求める。そして、路面からの重心の高さHが、座標Azからの重心の高さhaより高いか否かを判定し、高さHの方が高い場合には、路面からの重心の高さHに路面の高さhrを加算した値を補間位置Pcorのy座標に設定する。一方、高さHの方が低い場合、高さHを高さhaに一致するように補正し、補正した高さHに路面の高さhrを加算した値を、補間位置Pcorのy座標に設定する。これにより、キャラクタの接地点を適切に路面に接地させることができる。   In the game space, the height H of the center of gravity from the road surface and the height ha of the center of gravity from the coordinates Az are obtained. Then, it is determined whether or not the height H of the center of gravity from the road surface is higher than the height ha of the center of gravity from the coordinates Az. If the height H is higher, the height H of the center of gravity from the road surface is set. A value obtained by adding the road surface height hr is set as the y coordinate of the interpolation position Pcor. On the other hand, when the height H is lower, the height H is corrected to coincide with the height ha, and the value obtained by adding the height h of the road surface to the corrected height H is used as the y coordinate of the interpolation position Pcor. Set. Thereby, the grounding point of the character can be properly grounded on the road surface.

1−5.機能構成
次に、第1実施形態におけるゲーム装置12の機能構成について説明する。図18は、本実施形態のゲーム装置12における内部構成の一例を示すブロック図である。図18に示すように、ゲーム装置12は、操作部110、処理部120、記憶部130、表示部140、音出力部150、通信部160等を備えて構成され、バイクレースゲームであるビデオゲームを実行してゲーム画像を生成し、生成したゲーム画像を表示部140に表示させる。
1-5. Functional Configuration Next, a functional configuration of the game apparatus 12 in the first embodiment will be described. FIG. 18 is a block diagram illustrating an example of an internal configuration of the game apparatus 12 according to the present embodiment. As shown in FIG. 18, the game apparatus 12 includes an operation unit 110, a processing unit 120, a storage unit 130, a display unit 140, a sound output unit 150, a communication unit 160, and the like, and is a video game that is a motorcycle racing game. Is executed to generate a game image, and the generated game image is displayed on the display unit 140.

操作部110は、プレーヤによる操作指示を受け付け、操作に応じた操作信号を処理部120に出力する。この機能は、例えばボタンや操作スティック、ダイヤル、マウス、キーボード、各種センサ等を備えた操作器によって実現される。   The operation unit 110 receives an operation instruction from the player and outputs an operation signal corresponding to the operation to the processing unit 120. This function is realized by, for example, an operation device including buttons, operation sticks, a dial, a mouse, a keyboard, and various sensors.

処理部120は、ゲーム装置12全体の制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばCPU(CISC型、RISC型)、ASIC(ゲートアレイ等)等の演算装置やその制御プログラムにより実現される。   The processing unit 120 performs various arithmetic processes such as control of the entire game apparatus 12, progress of the game, and image generation. This function is realized by, for example, an arithmetic device such as a CPU (CISC type, RISC type), ASIC (gate array, etc.) or a control program thereof.

また、処理部120は、主にゲームに係る演算処理を行うゲーム演算部122と、ゲーム演算部122の処理によって求められた各種のデータに基づき、仮想カメラ等の所与の視点から見た仮想三次元空間(ゲーム空間)の画像の生成及びゲーム画面を表示させるための画像信号の生成を実行する画像生成部124と、効果音やBGM等のゲーム音の生成及びゲーム音を出力させるための音信号の生成を実行する音生成部126と、を含んでいる。   In addition, the processing unit 120 is based on a game calculation unit 122 that mainly performs calculation processing related to a game, and various types of data obtained by the processing of the game calculation unit 122. An image generation unit 124 that executes generation of an image in a three-dimensional space (game space) and generation of an image signal for displaying a game screen, generation of game sounds such as sound effects and BGM, and output of game sounds And a sound generation unit 126 that executes generation of a sound signal.

ゲーム演算部122は、主な機能部として、ゲーム進行制御部1222、自キャラクタ移動制御部1224、他キャラクタ移動制御部1226、移動体制御情報送受信部1228を含む。ゲーム進行制御部1222は、ゲーム進行処理プログラム1322に従ってゲーム進行処理を実行し、プレーヤの指示操作に基づいて、キャラクタのゲーム空間中での移動の制御等を行う。自キャラクタ移動制御部1224は、自キャラクタ移動計算プログラム1324に従って、自キャラクタ移動計算処理を実行し、プレーヤから入力される各種操作に基づいて、自キャラクタを移動制御する。   The game calculation unit 122 includes a game progress control unit 1222, a self-character movement control unit 1224, another character movement control unit 1226, and a moving body control information transmission / reception unit 1228 as main functional units. The game progress control unit 1222 executes game progress processing in accordance with the game progress processing program 1322, and controls movement of the character in the game space based on an instruction operation of the player. The own character movement control unit 1224 executes the own character movement calculation process according to the own character movement calculation program 1324, and controls the movement of the own character based on various operations input from the player.

他キャラクタ移動制御部1226は、他キャラクタ移動計算プログラム1326に従って、他キャラクタ移動計算処理を実行し、受信データ等に基づき他キャラクタの移動計算を行い、他キャラクタを移動制御する。移動体制御情報送受信部1228は、移動体制御情報送受信プログラム1348に従って移動体制御情報送受信処理を実行し、ゲーム実行に係る移動体制御情報を他のゲーム装置12に送信したり、他のゲーム装置12から送信された移動体制御情報を受信する。   The other character movement control unit 1226 executes other character movement calculation processing according to the other character movement calculation program 1326, performs movement calculation of the other character based on the received data, and controls movement of the other character. The mobile body control information transmission / reception unit 1228 executes mobile body control information transmission / reception processing according to the mobile body control information transmission / reception program 1348, and transmits the mobile body control information related to the game execution to other game devices 12, or other game devices. The mobile control information transmitted from 12 is received.

画像生成部124は、例えばCPUやDSP等の演算装置やその制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。画像生成部124は、ゲーム演算部122による演算結果に基づき、幾何変換処理やシェーディング処理等を実行してゲーム画面を表示するためのゲーム画像(3DCG画像)を生成し、生成した画像の画像信号を表示部140に出力する。   The image generation unit 124 is realized by, for example, an arithmetic device such as a CPU or a DSP, a control program thereof, a drawing frame IC memory such as a frame buffer, or the like. The image generation unit 124 generates a game image (3DCG image) for displaying a game screen by executing geometric transformation processing, shading processing, or the like based on the calculation result of the game calculation unit 122, and the image signal of the generated image Is output to the display unit 140.

表示部140は、画像生成部124からの画像信号に基づいて、例えば1/60秒毎に1フレームの画面を再描画しながらゲーム画面を表示する。この機能は、例えばCRT、LCD、ELD、PDP、HMD等のハードウェアによって実現される。   Based on the image signal from the image generation unit 124, the display unit 140 displays the game screen while redrawing the screen of one frame every 1/60 seconds, for example. This function is realized by hardware such as CRT, LCD, ELD, PDP, and HMD.

音生成部126は、例えばCPUやDSP等の演算装置及びその制御プログラムによって実現され、ゲーム中に使用される効果音やBGM等のゲーム音を生成し、生成したゲーム音の音信号を音出力部150に出力する。   The sound generation unit 126 is realized by an arithmetic device such as a CPU or a DSP and its control program, for example, generates a sound effect or a game sound such as BGM used during the game, and outputs a sound signal of the generated game sound. Output to the unit 150.

音出力部150は、音生成部126からの音信号に基づいて、BGMや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。   The sound output unit 150 outputs game sounds such as BGM and sound effects based on the sound signal from the sound generation unit 126. This function is realized by, for example, a speaker.

通信部160は、所定の通信回線(無線通信回線WやLAN等)に接続して外部装置(例えば、他のゲーム装置12)とのデータ通信を行う。   The communication unit 160 connects to a predetermined communication line (such as a wireless communication line W or a LAN) and performs data communication with an external device (for example, another game device 12).

記憶部130は、処理部120にゲーム装置12を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶する。また、処理部120の作業領域として用いられ、処理部120が各種プログラムに従って実行した演算結果や操作部110から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ICメモリやハードディスク、CD−ROM、DVD、MO、RAM、VRAM等によって実現される。   The storage unit 130 stores a system program for realizing various functions for causing the processing unit 120 to control the game apparatus 12 in an integrated manner, a program, data, and the like necessary for executing the game. Further, it is used as a work area of the processing unit 120, and temporarily stores calculation results executed by the processing unit 120 according to various programs, input data input from the operation unit 110, and the like. This function is realized by, for example, various IC memories, hard disks, CD-ROMs, DVDs, MOs, RAMs, VRAMs, and the like.

また、記憶部130は、処理部120をゲーム演算部122として機能させるためのゲームプログラム132及びゲームデータ134を記憶する。具体的には、ゲームプログラム132として、ゲーム進行処理プログラム1322、自キャラクタ移動計算プログラム1324、他キャラクタ移動計算プログラム1326、位置予測プログラム1328、速度予測プログラム1330、角度予測プログラム1332、位置補間プログラム1334、角度補間プログラム1336、接地プログラム1338、転倒時位置速度予測プログラム1340、転倒時角度予測プログラム1342、転倒時角度補間プログラム1344、転倒時接地プログラム1346、移動体制御情報送受信プログラム1348、を記憶している。また、ゲームデータ134として、ステージデータ136、コースデータ138、移動体オブジェクトデータ142、移動体オブジェクトパラメータ144、最新データ予測データ146、補間データ148、受信データ152、接地点テーブル154、を記憶している。   In addition, the storage unit 130 stores a game program 132 and game data 134 for causing the processing unit 120 to function as the game calculation unit 122. Specifically, as the game program 132, a game progress processing program 1322, a self-character movement calculation program 1324, another character movement calculation program 1326, a position prediction program 1328, a speed prediction program 1330, an angle prediction program 1332, a position interpolation program 1334, An angle interpolation program 1336, a ground contact program 1338, an overturn position velocity prediction program 1340, an overturn angle prediction program 1342, an overturn angle interpolation program 1344, an overturn ground contact program 1346, and a moving object control information transmission / reception program 1348 are stored. . As game data 134, stage data 136, course data 138, moving object data 142, moving object parameter 144, latest data prediction data 146, interpolation data 148, received data 152, and ground point table 154 are stored. Yes.

ゲーム進行処理プログラム1322は、ゲーム演算部122をゲーム進行制御部1222として機能させるためのプログラムである。自キャラクタ移動計算プログラム1324は、ゲーム演算部122を自キャラクタ移動制御部1224として機能させるためのプログラムである。他キャラクタ移動計算プログラム1326、位置予測プログラム1328、速度予測プログラム1330、角度予測プログラム1332、位置補間プログラム1334、角度補間プログラム1336、接地プログラム1338、転倒時位置速度予測プログラム1340、転倒時角度予測プログラム1342、転倒時角度補間プログラム1344、転倒時接地プログラム1346は、ゲーム演算部122を他キャラクタ移動制御部1226として機能させるためのプログラムである。移動体制御情報送受信プログラム1348は、ゲーム演算部122を移動体制御情報送受信部1228として機能させるためのプログラムである。   The game progress processing program 1322 is a program for causing the game calculation unit 122 to function as the game progress control unit 1222. The own character movement calculation program 1324 is a program for causing the game calculation unit 122 to function as the own character movement control unit 1224. Other Character Movement Calculation Program 1326, Position Prediction Program 1328, Speed Prediction Program 1330, Angle Prediction Program 1332, Position Interpolation Program 1334, Angle Interpolation Program 1336, Grounding Program 1338, Falling Position Speed Prediction Program 1340, Falling Angle Prediction Program 1342 The fall angle interpolation program 1344 and the fall grounding program 1346 are programs for causing the game calculation unit 122 to function as the other character movement control unit 1226. The moving body control information transmission / reception program 1348 is a program for causing the game calculation unit 122 to function as the moving body control information transmission / reception unit 1228.

ステージデータ136は、バイクレースゲームにおけるゲームステージを設定するためのデータを格納する。具体的には、ゲーム空間中にコース2を含むサーキットを配置するためのモデリングデータ及びテクスチャデータを格納している。   The stage data 136 stores data for setting a game stage in a motorcycle racing game. Specifically, modeling data and texture data for placing a circuit including the course 2 in the game space are stored.

コースデータ138は、コース2上に設定される各データを格納する。図19,20を参照して、コースデータ138について説明する。図19は、コースデータ138に格納される各データをコース2上に明示した図であり、図20は、コースデータ138のデータ構成例を示す図である。   The course data 138 stores each data set on the course 2. The course data 138 will be described with reference to FIGS. FIG. 19 is a diagram clearly showing each data stored in the course data 138 on the course 2, and FIG. 20 is a diagram showing a data configuration example of the course data 138.

図19に示すように、コース2上には、コース2の中心線CLと、コース2を最短時間で走行するための目標ラインTLとが設定されている。中心線CL上には、スタート地点3を始点として、所定間隔おきに制御点Qが配置・設定されている。   As shown in FIG. 19, on the course 2, a center line CL of the course 2 and a target line TL for traveling on the course 2 in the shortest time are set. On the center line CL, control points Q are arranged and set at predetermined intervals starting from the start point 3.

また、図20に示すように、各制御点Qには、距離RR、目標位置wt、目標速度V0、曲率rtが設定されている。距離RRは、中心線CLに沿ったスタート位置3から制御点Qまでの距離を格納している。目標位置wtは、目標ラインLTの位置を定義するための位置であり、各制御点Qにおける左右の変位が格納されている。即ち、各制御点Qから、それぞれの制御点Qの目標位置wt分左右に変位する地点を結んでいくことで目標ラインLTが定義される。また、目標位置wtの値は、目標ラインTLが進行方向に向かって中心線CLの左右どちらに位置するかに応じて正負の値をとる。例えば、目標ラインTLが進行方向に向かって中心線CLの左に位置する場合には正となり、右に位置する場合には負となる。   Further, as shown in FIG. 20, a distance RR, a target position wt, a target speed V0, and a curvature rt are set for each control point Q. The distance RR stores the distance from the start position 3 along the center line CL to the control point Q. The target position wt is a position for defining the position of the target line LT, and the left and right displacements at each control point Q are stored. That is, the target line LT is defined by connecting points that are displaced to the left and right by the target position wt of each control point Q from each control point Q. Further, the value of the target position wt takes a positive or negative value depending on whether the target line TL is positioned on the left or right of the center line CL in the traveling direction. For example, it is positive when the target line TL is located to the left of the center line CL in the traveling direction, and is negative when it is located to the right.

目標速度V0は、例えば、高速キャラクタが目標ラインTLを最短時間で走行する場合の各制御点通過時の速度に基づいて定められる。つまり、プレーヤは、目標ラインLT上を、目標速度V0に従ってバイク4を走行させることで、コース2を最短時間で走行することができる。   The target speed V0 is determined based on, for example, the speed when passing through each control point when a high-speed character travels the target line TL in the shortest time. That is, the player can travel the course 2 in the shortest time by traveling the motorcycle 4 on the target line LT according to the target speed V0.

曲率rtは、中心線CLの当該位置における曲率を格納している。この値は、目標ラインTLが進行方向に向かって左右どちらに屈曲(カーブ)しているかに応じて正負の値を取るようにする。例えば、目標ラインTLの左カーブの部分では正の値とし、右カーブの部分では負の値とし、直線部分では「0」とする。また、その絶対値は、「0以上1未満(0≦rt<1)」となる。なお、曲率rtは、目標ラインTLの制御点に対応する各位置における曲率を格納する構成であっても良い。この場合は、バイク4の走行ラインを近似した曲率に基づいて、各種移動計算を行わせることができる。   The curvature rt stores the curvature at the position of the center line CL. This value is positive or negative depending on whether the target line TL is bent (curved) to the left or right in the traveling direction. For example, a positive value is set for the left curve portion of the target line TL, a negative value is set for the right curve portion, and “0” is set for the straight line portion. The absolute value is “0 or more and less than 1 (0 ≦ rt <1)”. The curvature rt may be configured to store the curvature at each position corresponding to the control point of the target line TL. In this case, various movement calculations can be performed based on the curvature approximating the travel line of the motorcycle 4.

移動体オブジェクトデータ142は、仮想空間中にバイク4を配置するためのモデリングデータ及びテクスチャデータを格納する。   The moving object data 142 stores modeling data and texture data for placing the motorcycle 4 in the virtual space.

移動体オブジェクトパラメータ144は、ゲーム実行中のバイク4a〜4dの各種パラメータを、各バイク毎に格納する。図21に移動体オブジェクトパラメータ144のデータ構成例を示す。同図に示すように、移動オブジェクトパラメータ144は、バイク4a〜4dを特定するための識別番号(144a)、転倒フラグ(144b)、アクセル量Ia(144c)、ブレーキ量Ib(144d)、ハンドル値Ih(144e)、位置座標P(144f)、速度V(144g)、角度Θ(144h)、角速度Ω(144i)、周回数(144j)、ラップタイム(144k)の各パラメータを格納する。   The moving object parameter 144 stores various parameters of the motorcycles 4a to 4d during the game execution for each motorcycle. FIG. 21 shows a data configuration example of the moving object parameter 144. As shown in the figure, the moving object parameter 144 includes an identification number (144a) for specifying the motorcycles 4a to 4d, a fall flag (144b), an accelerator amount Ia (144c), a brake amount Ib (144d), and a steering wheel value. Each parameter of Ih (144e), position coordinate P (144f), velocity V (144g), angle Θ (144h), angular velocity Ω (144i), number of laps (144j), and lap time (144k) is stored.

移動体オブジェクトパラメータ144は、自キャラクタ移動制御処理、他キャラクタ移動制御処理の実行に伴い更新される。また、ゲーム進行処理においては、移動体オブジェクトパラメータ144に格納される各パラメータに基づいて、ゲーム画像の描画・生成が行われる。つまり、移動体オブジェクトパラメータに格納される各パラメータ、位置座標P(144f)、速度V(144g)、角度Θ(144h)、角速度Ω(144i)は、上述した表示位置、表示速度、表示角度、表示角速度にそれぞれ対応している。   The moving object parameter 144 is updated with the execution of the own character movement control process and the other character movement control process. In the game progress process, a game image is drawn / generated based on each parameter stored in the moving object parameter 144. That is, each parameter, position coordinate P (144f), speed V (144g), angle Θ (144h), and angular speed Ω (144i) stored in the moving object parameter are the display position, display speed, display angle, It corresponds to each display angular velocity.

最新データ予測データ146は、他のゲーム装置12から受信した最新の受信データに基づいて算出された各種予測データを格納する。図22に最新データ予測データ146のデータ構成例を示す。同図に示すように、最新データ予測データ146は、転倒フラグ(146b)、予測位置Pdat(146c)、予測速度Vdat(146d)、予測角度Θdat(146e)、予測角速度Ωdat(146f)を他キャラクタ毎に他キャラクタの識別番号(146a)と対応付けて記憶している。   The latest data prediction data 146 stores various prediction data calculated based on the latest reception data received from the other game apparatuses 12. FIG. 22 shows a data configuration example of the latest data prediction data 146. As shown in the figure, the latest data prediction data 146 includes a fall flag (146b), a predicted position Pdat (146c), a predicted speed Vdat (146d), a predicted angle Θdat (146e), and a predicted angular speed Ωdat (146f). Each is stored in association with an identification number (146a) of another character.

転倒フラグ(146b)は、キャラクタの転倒の有無示すON,OFFフラグを格納している。予測座標Pdat(146c)は、最新の受信データに基づいて算出された予測位置Pdatを格納している。予測速度Vdat(146d)は、最新の受信データに基づいて算出された予測速度Vdatを格納している。予測角度Θdat(146e)は、最新の受信データに基づいて算出された予測角度Θdatを格納している。予測角速度Ωdatは、最新の受信データに基づいて算出された予測角速度Ωdatを格納している。この最新データ予測データ146は、他キャラクタ移動制御処理の実行に伴い各データが更新記録される。   The fall flag (146b) stores an ON / OFF flag indicating whether or not the character has fallen. The predicted coordinate Pdat (146c) stores the predicted position Pdat calculated based on the latest received data. The predicted speed Vdat (146d) stores the predicted speed Vdat calculated based on the latest received data. The predicted angle Θdat (146e) stores the predicted angle Θdat calculated based on the latest received data. The predicted angular velocity Ωdat stores the predicted angular velocity Ωdat calculated based on the latest received data. The latest data prediction data 146 is updated and recorded as the other character movement control process is executed.

補間データ148は、補間処理において算出された各種補間データを格納している。図23に補間データ148のデータ構成例を示す。同図に示すように、補間データ148は、バイク4a〜4dの識別番号(148a)に対応付けて、転倒フラグ(148b)、補間位置Pcor(148c)、補間角度Θcor(148d)、補間速度Vcor(148e)、補間角速度Ωcor(148f)を格納している。   The interpolation data 148 stores various types of interpolation data calculated in the interpolation process. FIG. 23 shows a data configuration example of the interpolation data 148. As shown in the figure, the interpolation data 148 is associated with the identification numbers (148a) of the motorcycles 4a to 4d, the fall flag (148b), the interpolation position Pcor (148c), the interpolation angle Θcor (148d), and the interpolation speed Vcor. (148e), interpolation angular velocity Ωcor (148f) is stored.

通常走行時における補間処理が行われた場合、転倒フラグ(148b)は「OFF」に設定される。補間位置Pcor(148c)、補間速度Vcor(148e)には、位置補間処理により算出された補間位置Pcor、補間速度Vcorがそれぞれ格納される。また、補間角度Θcor(148d)、補間角速度Ωcor(148f)には、角度補間処理により算出された補間角度Θcor、補間角速度Ωcorがそれぞれ格納される。   When the interpolation process is performed during normal traveling, the fall flag (148b) is set to “OFF”. The interpolation position Pcor and the interpolation speed Vcor calculated by the position interpolation process are stored in the interpolation position Pcor (148c) and the interpolation speed Vcor (148e), respectively. In addition, the interpolation angle Θcor and the interpolation angular velocity Ωcor calculated by the angle interpolation process are stored in the interpolation angle Θcor (148d) and the interpolation angular velocity Ωcor (148f), respectively.

一方、転倒時における補間処理が行われた場合、転倒フラグ(148b)は「ON」に設定される。そして、補間位置Pcor(148c)、補間速度Vcor(148e)には、位置補間処理により算出された補間位置Pcor、補間速度Vcorが格納され、補間角度Θcor(148d)、補間角速度Ωcor(148f)には、転倒時角度補間処理により算出された補間角度Θcor、補間角速度Ωcorがそれぞれ格納される。   On the other hand, when the interpolation process at the time of the fall is performed, the fall flag (148b) is set to “ON”. The interpolation position Pcor (148c) and the interpolation speed Vcor (148e) store the interpolation position Pcor and the interpolation speed Vcor calculated by the position interpolation process. The interpolation angle Θcor (148d) and the interpolation angular speed Ωcor (148f) are stored. Stores the interpolation angle Θcor and the interpolation angular velocity Ωcor calculated by the angle interpolation process during the fall.

受信データ152は、他のゲーム装置12から受信したデータのうち最新のデータを他キャラクタ毎に格納している。図24に受信データ152のデータ構成例を示す。同図に示すように、受信データ152は、キャラクタを特定するための識別番号(152a)、転倒フラグ(152b)、アクセル量Ia(152c)、ブレーキ量Ib(152d)、ハンドル値Ih(152e)、位置座標P(152f)、速度V(152g)、角度Θ(152h)、角速度Ω(152i)、データ送信時刻(152j)の各パラメータを格納している。   The reception data 152 stores the latest data among the data received from other game apparatuses 12 for each other character. FIG. 24 shows a data configuration example of the reception data 152. As shown in the figure, the received data 152 includes an identification number (152a) for specifying a character, a fall flag (152b), an accelerator amount Ia (152c), a brake amount Ib (152d), and a handle value Ih (152e). , Position coordinates P (152f), velocity V (152g), angle Θ (152h), angular velocity Ω (152i), and data transmission time (152j) are stored.

接地点テーブル154は、バイクの接地点と、接地角度θGとの対応関係を定義する情報を、各キャラクタ毎に格納している。図25に接地点テーブル154のデータ構成例を示す。同図に示すように、接地点テーブル154は、キャラクタを特定するための識別番号(154a)、接地点(154b)、ローカル位置座標(154c)、接地角度θG(154d)を格納している。 The contact point table 154 stores information defining the correspondence between the contact point of the motorcycle and the contact angle θ G for each character. FIG. 25 shows a data configuration example of the ground point table 154. As shown in the figure, the contact point table 154 stores an identification number (154a), a contact point (154b), a local position coordinate (154c), and a contact angle θ G (154d) for specifying a character. .

ローカル位置座標(154c)は、キャラクタが路面と所与の接地角度θGを成す場合において、路面との当接(接地)すべきバイクの部分のローカル座標を格納する。接地角度θGは、キャラクタの姿勢に応じて、キャラクタと路面とが成す角を接地角度θGとして格納している。 Local coordinates (154c), in a case where the character forms a road surface and a given ground angle theta G, stores the local coordinates of the portion of the contact (ground) should do bike with the road surface. The contact angle θ G stores the angle formed by the character and the road surface as the contact angle θ G according to the character's posture.

1−6.処理の流れ
本第1実施形態における処理の流れについて図26〜図37を参照して説明する。
図26は、ゲーム進行制御部1222がゲーム進行プログラム1322を実行することで実現されるゲーム進行処理を示すフローチャートである。処理中のループは、ゲーム中、フレーム毎に繰り返し実行されるループである。
1-6. Process Flow The process flow in the first embodiment will be described with reference to FIGS.
FIG. 26 is a flowchart showing a game progress process realized by the game progress control unit 1222 executing the game progress program 1322. The loop being processed is a loop that is repeatedly executed for each frame during the game.

1−6−1.ゲーム進行処理
先ず、ゲーム進行制御部1222は、自キャラクタ移動制御部1224に、自キャラクタ移動計算プログラム1324に従った自キャラクタの移動計算処理を実行させる(ステップS2)。具体的には、自キャラクタ移動制御部1224は、自キャラクタの位置座標、速度、角度、角速度、プレーヤから入力される操作データ(例えば、アクセル量Ia、ブレーキ量Ib、ハンドル量Ih)等から、次フレームにおける自キャラクタの位置座標、速度、姿勢等を算出し、移動体オブジェクトパラメータ144を更新する。即ち、プレーヤの操作入力に対してレスポンス良く、リアルタイム(実時間)に移動体オブジェクトパラメータ144を更新することとなる。
1-6-1. Game Progression Process First, the game progress control part 1222 causes the own character movement control part 1224 to execute the own character movement calculation process according to the own character movement calculation program 1324 (step S2). Specifically, the player character movement control unit 1224 determines the position coordinate, velocity, angle, angular velocity of the player character, operation data (for example, accelerator amount Ia, brake amount Ib, handle amount Ih) input from the player, and the like. The position coordinates, speed, posture, etc. of the player character in the next frame are calculated, and the moving object parameter 144 is updated. That is, the moving object parameter 144 is updated in real time (real time) with good response to the player's operation input.

次いで、ゲーム進行制御部1222は、移動体制御情報送受信部1228に、移動体制御情報送受信プログラムに従った移動体制御情報送受信処理を実行させる(ステップS4)。具体的には、移動体制御情報送受信部1228は、更新された移動体オブジェクトパラメータ144に含まれるデータを、移動体制御情報として、同一ゲームに参加しているプレーヤが操作する他のゲーム装置12に送信する。また、同一ゲームに参加しているプレーヤが操作する他のゲーム装置12から送信された移動体制御情報を受信する。   Next, the game progress control unit 1222 causes the moving body control information transmission / reception unit 1228 to execute a moving body control information transmission / reception process according to the moving body control information transmission / reception program (step S4). Specifically, the moving body control information transmission / reception unit 1228 uses the data included in the updated moving body object parameter 144 as moving body control information, and the other game devices 12 operated by players participating in the same game. Send to. In addition, mobile body control information transmitted from another game device 12 operated by a player participating in the same game is received.

続いて、ゲーム進行制御部1222は、他キャラクタ移動制御部1226に、他キャラクタ移動計算プログラム1326に従って、後述する他キャラクタ移動計算処理を実行させ、次フレームにおける他キャラクタの位置座標、速度、姿勢等を算出させる(ステップS6)。そして、計算結果に基づき自キャラクタ及び他キャラクタをゲーム空間に配置して(ステップS8)描画処理を行い、ゲーム画像を生成して、表示部140にゲーム画像を表示する(ステップS10)。   Subsequently, the game progress control unit 1222 causes the other character movement control unit 1226 to execute another character movement calculation process, which will be described later, according to the other character movement calculation program 1326, and the position coordinates, speed, posture, etc. of the other character in the next frame. Is calculated (step S6). Based on the calculation result, the player character and other characters are arranged in the game space (step S8), a drawing process is performed, a game image is generated, and the game image is displayed on the display unit 140 (step S10).

1−6−2.他キャラクタ移動計算処理
次に、ゲーム進行処理のサブルーチンとして実行される他キャラクタ移動計算処理について説明する。図27は、他キャラクタ移動制御部1226が他キャラクタ移動計算プログラム1326を実行することで実現される他キャラクタ移動計算処理を示すフローチャートである。尚、処理中のループAは、他キャラクタ毎に繰り返される処理であり、処理中のループBは、ステップS20で算出されたループ回数に従って繰り返される処理である。
1-6-2. Other Character Movement Calculation Process Next, another character movement calculation process executed as a subroutine of the game progress process will be described. FIG. 27 is a flowchart showing another character movement calculation processing realized by the other character movement control unit 1226 executing the other character movement calculation program 1326. The loop A being processed is a process repeated for each other character, and the loop B being processed is a process repeated according to the number of loops calculated in step S20.

同図において、先ず、他キャラクタ移動制御部1226は、他のゲーム装置12から最新の移動体制御情報を受信したか否かを判定し(ステップS12)、最新の移動体制御情報を受信した場合(ステップS12;YES)、受信データ152を新たに受信した移動体制御情報に基づいて更新する(ステップS14)。具体的には、他ゲーム装置12から受信した移動体制御情報のデータ送信時刻と、受信データ152に格納されているデータ送信時刻142jとを比較し、受信した移動体制御情報のデータ送信時刻の方が新しい場合、受信データ152を受信した移動体制御情報に基づいて更新する。   In the figure, first, the other character movement control unit 1226 determines whether or not the latest moving body control information has been received from another game apparatus 12 (step S12), and the latest moving body control information has been received. (Step S12; YES), the reception data 152 is updated based on the newly received mobile control information (Step S14). Specifically, the data transmission time of the mobile body control information received from the other game device 12 is compared with the data transmission time 142j stored in the reception data 152, and the data transmission time of the received mobile body control information is determined. If the data is newer, the received data 152 is updated based on the received mobile control information.

次いで、受信データ152の転倒フラグを参照して、他キャラクタが転倒しているか否かを判定する(ステップS16)。他キャラクタが転倒していない場合(ステップS16;NO)、受信データ152のデータ送信時刻と、描画対象となるフレームの表示時刻とから遅延時間を求める(ステップS18)。続いて、遅延時間から他キャラクタの予測位置、予測速度を算出するためのループ回数Nを求める(ステップS20)。具体的には、遅延時間を1フレーム、即ち1/60秒で除算して求まる回数である。   Next, with reference to the fall flag of the reception data 152, it is determined whether or not another character has fallen (step S16). If the other character has not fallen (step S16; NO), a delay time is obtained from the data transmission time of the received data 152 and the display time of the frame to be rendered (step S18). Subsequently, the loop count N for calculating the predicted position and predicted speed of the other character is determined from the delay time (step S20). Specifically, it is the number of times obtained by dividing the delay time by one frame, that is, 1/60 seconds.

そして、求めたループ回数に従ってループBを繰り返して実行する。ループBでは、先ず、受信データ152に基づいて、他キャラクタの予測位置を算出する位置予測処理を実行する(ステップS22)。次いで、受信データ152に基づいて、他キャラクタの予測速度を算出する速度予測処理を実行する(ステップS24)。   Then, loop B is repeatedly executed according to the obtained loop count. In the loop B, first, based on the received data 152, a position prediction process for calculating a predicted position of another character is executed (step S22). Next, a speed prediction process for calculating the predicted speed of another character is executed based on the received data 152 (step S24).

続いて、ループBを終了すると、受信データ152に基づいて他キャラクタの予測角度を算出する角度予測処理を実行する(ステップS26)。そして、現フレームの表示位置と、受信データ152に基づく予測位置とから補間位置を求める位置補間処理を実行する(ステップS28)。また、現フレームの表示角度と、受信データ152に基づく予測角度とから補間角度を求める角度補間処理を実行する(ステップS30)。さらに、他キャラクタをゲーム空間の正しい位置に配置するための接地処理を実行し(ステップS32)、本他キャラクタ移動計算処理を終了する。   Subsequently, when the loop B is terminated, an angle prediction process for calculating a predicted angle of another character based on the received data 152 is executed (step S26). Then, a position interpolation process for obtaining an interpolation position from the display position of the current frame and the predicted position based on the reception data 152 is executed (step S28). In addition, an angle interpolation process for obtaining an interpolation angle from the display angle of the current frame and the predicted angle based on the reception data 152 is executed (step S30). Further, a grounding process for arranging other characters at the correct positions in the game space is executed (step S32), and the other character movement calculation process is terminated.

一方、ステップS16において、他キャラクタが転倒していると判定した場合(ステップS16;YES)、受信データ152に基づいて、転倒時における他キャラクタの予測位置、予測速度を算出する転倒時位置速度予測処理を実行する(ステップS34)。次いで、受信データ152に基づいて、転倒時における他キャラクタの予測角度を算出する転倒時角度予測処理を実行する(ステップS36)。   On the other hand, if it is determined in step S16 that the other character has fallen (step S16; YES), based on the received data 152, the predicted position and predicted speed of the other character at the time of the fall are calculated. Processing is executed (step S34). Next, based on the received data 152, a fall angle prediction process for calculating a predicted angle of another character at the time of fall is executed (step S36).

そして、現フレームの表示位置と、受信データ152に基づく予測位置とから、補間位置を求める位置補間処理を実行する(ステップS38)。また、現フレームの表示角度と、受信データ152に基づく予測角度とから、転倒時における補間角度を求める転倒時角度補間処理を実行する(ステップS40)。さらに、他キャラクタをゲーム空間の正しい位置に配置するための転倒時接地処理を実行し(ステップS42)、本他キャラクタ移動計算処理を終了する。   Then, position interpolation processing for obtaining an interpolation position is executed from the display position of the current frame and the predicted position based on the received data 152 (step S38). Further, the fall angle interpolation process for obtaining the interpolation angle at the fall is executed from the display angle of the current frame and the predicted angle based on the reception data 152 (step S40). Further, a grounding process at the time of falling for arranging another character at a correct position in the game space is executed (step S42), and this other character movement calculation process is ended.

1−6−3.位置予測処理
次に、他キャラクタ移動計算処理のサブルーチンとして実行される各種処理について説明する。図28は、他キャラクタ移動制御部1226が位置予測プログラム1328を実行することで実現される位置予測処理を示すフローチャートである。
1-6-3. Position Prediction Processing Next, various processing executed as a subroutine for other character movement calculation processing will be described. FIG. 28 is a flowchart showing a position prediction process realized by the other character movement control unit 1226 executing the position prediction program 1328.

同図において、先ず、他キャラクタ移動制御部1226は、他キャラクタ移動計算処理において最新データの受信による受信データ152の更新(図27のステップS14)が行われたか否かを判定する(ステップS51)。受信データ152の更新が行われていた場合(ステップS51;YES)、ループ回数が1回目であるか否かを判定する(ステップS52)。ループ回数が1回目である場合(ステップS52;YES)、受信データ152から位置座標P、ヨー方向の角度(y成分)θy、速度Vを取得する。一方、受信データ152の更新が行われていなかった場合(ステップS51;NO)、又はループ回数が1回目でない場合(ステップS52;NO)、最新データ予測データ146から位置座標P、ヨー方向の角度(y成分)θy、速度Vを取得する(ステップS56)。   In the figure, first, the other character movement control unit 1226 determines whether or not the reception data 152 has been updated (step S14 in FIG. 27) by receiving the latest data in the other character movement calculation process (step S51). . When the reception data 152 has been updated (step S51; YES), it is determined whether or not the number of loops is the first (step S52). When the number of loops is the first (step S52; YES), the position coordinate P, the angle (y component) θy in the yaw direction, and the velocity V are acquired from the reception data 152. On the other hand, if the received data 152 has not been updated (step S51; NO), or if the number of loops is not the first time (step S52; NO), the position coordinate P and the angle in the yaw direction are calculated from the latest data prediction data 146. (Y component) θy and speed V are acquired (step S56).

次いで、取得した位置座標Pに対応する制御点の曲率をコースデータ138から取得し(ステップS58)、速度ベクトルと曲率に基づいてヨー方向の予測角度θyを算出する(ステップS60)。そして、最新データ予測データの角度のy成分を算出した予測角度θyに更新する(ステップS62)。また、取得した速度Vのベクトルの向きが予測角度θyと一致するようにヨー方向に回転する(ステップS64)。   Next, the curvature of the control point corresponding to the acquired position coordinate P is acquired from the course data 138 (step S58), and the predicted angle θy in the yaw direction is calculated based on the velocity vector and the curvature (step S60). Then, the y component of the angle of the latest data prediction data is updated to the calculated prediction angle θy (step S62). Further, the vector of the acquired velocity V is rotated in the yaw direction so as to coincide with the predicted angle θy (step S64).

続いて、ベクトルの向きを修正した速度Vから1フレーム分の移動距離を算出する。そして、取得した位置座標Pに移動距離を加算して、予測位置を算出する(ステップS66)。そして、最新データ予測データ146の位置座標と速度を予測位置、算出した速度に更新して(ステップS68)、本位置予測処理を終了する。   Subsequently, the moving distance for one frame is calculated from the velocity V with the corrected vector direction. And a movement distance is added to the acquired position coordinate P, and a predicted position is calculated (step S66). Then, the position coordinates and speed of the latest data prediction data 146 are updated to the predicted position and the calculated speed (step S68), and this position prediction process is terminated.

1−6−4.速度予測処理
次に、速度予測処理について説明する。図29は、他キャラクタ移動制御部1226が速度予測プログラム1330を実行することで実現される速度予測処理を示すフローチャートである。
1-6-4. Speed Prediction Process Next, the speed prediction process will be described. FIG. 29 is a flowchart showing a speed prediction process realized by the other character movement control unit 1226 executing the speed prediction program 1330.

同図において、先ず、他キャラクタ移動制御部1226は、最新データ予測データ146から位置座標P、速度Vを取得する(ステップS76)。次いで、取得した位置座標Pに対応する目標速度V0をコースデータ138から取得し(ステップS78)、速度Vが目標速度V0より高速であるか否かを判定する(ステップS80)。速度Vが目標速度V0より高速である場合(ステップS80;YES)、目標速度V0と速度Vとに基づいて、ブレーキ量Ibを補正する(ステップS82)。   In the figure, first, the other character movement control unit 1226 acquires the position coordinate P and the speed V from the latest data prediction data 146 (step S76). Next, the target speed V0 corresponding to the acquired position coordinate P is acquired from the course data 138 (step S78), and it is determined whether or not the speed V is higher than the target speed V0 (step S80). When the speed V is higher than the target speed V0 (step S80; YES), the brake amount Ib is corrected based on the target speed V0 and the speed V (step S82).

続いて、速度Vと、アクセル量Ia、ブレーキ量Ib、補正係数αに基づいて、予測速度を算出する(ステップS84)。そして、最新データ予測データ146の速度を、予測速度に更新して(ステップS86)、本速度予測処理を終了する。   Subsequently, a predicted speed is calculated based on the speed V, the accelerator amount Ia, the brake amount Ib, and the correction coefficient α (step S84). Then, the speed of the latest data prediction data 146 is updated to the predicted speed (step S86), and this speed prediction process ends.

1−6−5.角度予測処理
次に、角度予測処理について説明する。図30は、他キャラクタ移動制御部1226が角度予測プログラム1332を実行することで実現される角度予測処理を示すフローチャートである。
1-6-5. Angle Prediction Processing Next, angle prediction processing will be described. FIG. 30 is a flowchart showing an angle prediction process realized by the other character movement control unit 1226 executing the angle prediction program 1332.

同図において、先ず、他キャラクタ移動制御部1226は、受信データ152のデータ送信時刻と、描画対象となるフレームの表示時刻とから遅延時間を求める(ステップT2)。次いで、受信データ152に格納されるピッチング方向の角度及び角速度と、遅延時間とに基づいてピッチング方向の予測角度θxを算出する(ステップT4)。また、受信データ152に格納されるロール方向の角度及び角速度と、遅延時間とに基づいてロール方向の予測角度θzを算出する(ステップT6)。   In the figure, first, the other character movement control unit 1226 obtains a delay time from the data transmission time of the received data 152 and the display time of the frame to be rendered (step T2). Next, a predicted angle θx in the pitching direction is calculated based on the pitch direction angle and angular velocity stored in the reception data 152 and the delay time (step T4). Further, the roll direction predicted angle θz is calculated based on the roll direction angle and angular velocity stored in the reception data 152 and the delay time (step T6).

続いて、受信データ152のピッチング方向の角度の符号と、予測角度θxの符号とが入れ替わっているか否かを判定し(ステップT8)、符号が入れ替わっている場合は(ステップT8;YES)、キャラクタが路面に接地したと判定して、予測角度θxを0°とする(ステップT10)。   Subsequently, it is determined whether or not the sign of the angle in the pitching direction of the received data 152 and the sign of the predicted angle θx are interchanged (step T8). If the signs are interchanged (step T8; YES), the character Is contacted with the road surface, and the predicted angle θx is set to 0 ° (step T10).

また、予測角度θx,θzが基準範囲内であるか否かを判定し(ステップT12)、基準範囲内にない場合は(ステップT12;NO)、基準範囲外にある予測角度θx、θzを基準範囲の上限値又は下限値の何れか近い方の値とする(ステップT14)。そして、最新データ予測データ146の角度のx、z成分を予測角度θx、θzにそれぞれ更新して(ステップT16)、本角度予測処理を終了する。   Further, it is determined whether or not the predicted angles θx and θz are within the reference range (step T12). If the predicted angles θx and θz are not within the reference range (step T12; NO), the predicted angles θx and θz outside the reference range are used as the reference. The upper limit value or lower limit value of the range, whichever is closer, is set (step T14). Then, the x and z components of the angle of the latest data prediction data 146 are updated to the prediction angles θx and θz, respectively (step T16), and this angle prediction process ends.

1−6−6.位置補間処理
次に、位置補間処理について説明する。図31は、他キャラクタ移動制御部1226が位置補間プログラム1334を実行することで実現される位置補間処理を示すフローチャートである。
1-6-6. Position Interpolation Processing Next, position interpolation processing will be described. FIG. 31 is a flowchart showing a position interpolation process realized by the other character movement control unit 1226 executing the position interpolation program 1334.

同図に示すように、先ず、他キャラクタ移動制御部1226は、予測位置の位置座標と、表示位置の位置座標との差分を相対位置として求める(ステップT22)。次いで、予測速度と表示速度との差分を相対速度として求める(ステップT24)。続いて、相対位置に定数Mを乗算してバネ補正速度を求め(ステップT26)、相対速度に定数Nを乗算してダンパ補正速度を求める(ステップT28)。   As shown in the figure, first, the other character movement control unit 1226 obtains the difference between the position coordinates of the predicted position and the position coordinates of the display position as a relative position (step T22). Next, the difference between the predicted speed and the display speed is obtained as a relative speed (step T24). Subsequently, the spring correction speed is obtained by multiplying the relative position by the constant M (step T26), and the damper correction speed is obtained by multiplying the relative speed by the constant N (step T28).

さらに、表示速度にバネ補正速度を加算し、ダンパ補正速度を減算して補間速度を算出する(ステップT30)。そして、現フレームの表示位置に補間速度による1フレーム分の距離を加算して補間位置を算出する(ステップT32)。次いで、補間データ148の補間位置、補間速度を更新すると共に(ステップT34)、移動体オブジェクトパラメータの位置座標、速度を補間位置、補間速度に更新して(ステップT36)、本位置補間処理を終了する。   Further, the spring correction speed is added to the display speed, and the damper correction speed is subtracted to calculate the interpolation speed (step T30). Then, the interpolation position is calculated by adding the distance of one frame at the interpolation speed to the display position of the current frame (step T32). Next, the interpolation position and interpolation speed of the interpolation data 148 are updated (step T34), the position coordinates and speed of the moving object parameter are updated to the interpolation position and interpolation speed (step T36), and this position interpolation process is completed. To do.

1−6−7.角度補間処理
次に、角度補間処理について説明する。図32は、他キャラクタ移動制御部1226が角度補間プログラム1336を実行することで実現される角度補間処理を示すフローチャートである。尚,処理中のループは、角度の各成分(xyz成分)毎に繰り返される処理である。
1-6-7. Angle Interpolation Processing Next, angle interpolation processing will be described. FIG. 32 is a flowchart showing angle interpolation processing realized by the other character movement control unit 1226 executing the angle interpolation program 1336. The loop being processed is a process that is repeated for each angle component (xyz component).

同図において、先ず、他キャラクタ移動制御部1226は、予測角度と表示角度の差分から相対角度を求める(ステップT42)。また、予測角速度と表示角速度との差分から相対角速度を求める(ステップT44)。続いて、相対角度に定数Aを乗算してバネ補正角速度を求め(ステップT46)、相対角速度に定数Bを乗算してダンパ補正角速度を求める(ステップT48)。   In the figure, first, the other character movement control unit 1226 obtains a relative angle from the difference between the predicted angle and the display angle (step T42). Further, the relative angular velocity is obtained from the difference between the predicted angular velocity and the display angular velocity (step T44). Subsequently, a spring correction angular velocity is obtained by multiplying the relative angle by a constant A (step T46), and a damper correction angular velocity is obtained by multiplying the relative angular velocity by a constant B (step T48).

さらに、表示角速度にバネ補正角速度を加算し、ダンパ補正角速度を減算して、補間角速度を演算する(ステップT50)。そして、表示角度に補間角速度による1フレーム分の角度を加算して補間角度を算出する(ステップT52)。次いで、補間データ148の補間角度、補間角速度を更新すると共に(ステップT54)、移動体オブジェクトパラメータ144の角度、角速度を補間角度、補間角速度に更新して(ステップT56)、ループ処理を終了する。   Further, the spring correction angular velocity is added to the display angular velocity, and the damper correction angular velocity is subtracted to calculate the interpolation angular velocity (step T50). Then, the angle for one frame based on the interpolation angular velocity is added to the display angle to calculate the interpolation angle (step T52). Next, the interpolation angle and interpolation angular velocity of the interpolation data 148 are updated (step T54), the angle and angular velocity of the moving object parameter 144 are updated to the interpolation angle and interpolation angular velocity (step T56), and the loop processing is terminated.

1−6−8.接地処理
次に、接地処理について説明する。図33は、他キャラクタ移動制御部1226が接地プログラム1338を実行することで実現される接地処理を示すフローチャートである。
1-6-8. Next, the grounding process will be described. FIG. 33 is a flowchart showing a grounding process realized by the other character movement control unit 1226 executing the grounding program 1338.

同図において、先ず、他キャラクタ移動制御部1226は、補間角度のz成分から車体(キャラクタ)の接地角度θzを求める(ステップT62)。次いで、重心車高hg、接地角度θz、サスペンションの縮み具合等に基づきキャラクタの重心から路面までの高さHを算出する(ステップT64)。そして、路面までの高さHに路面の高さhrを加算した値を算出し、移動体オブジェクトパラメータ144の位置座標のy成分を算出された値に更新する(ステップS66)。   In the figure, first, the other character movement control unit 1226 obtains the ground contact angle θz of the vehicle body (character) from the z component of the interpolation angle (step T62). Next, the height H from the center of gravity of the character to the road surface is calculated based on the center of gravity vehicle height hg, the contact angle θz, the degree of contraction of the suspension, and the like (step T64). Then, a value obtained by adding the road surface height hr to the road surface height H is calculated, and the y component of the position coordinates of the moving object parameter 144 is updated to the calculated value (step S66).

1−6−9.転倒時位置速度予測処理
次に、転倒時位置速度予測処理について説明する。図34は、他キャラクタ移動制御部1226が転倒時位置速度予測プログラム1340を実行することで実現される転倒時位置速度予測処理を示すフローチャートである。
1-6-9. Falling Position / Speed Prediction Process Next, the falling position / speed prediction process will be described. FIG. 34 is a flowchart showing the position / velocity prediction process during the fall realized by the other character movement control unit 1226 executing the position / velocity prediction program 1340 during the fall.

同図において、先ず、他キャラクタ移動制御部1226は、受信データ152のデータ送信時刻と、描画対象となるフレームの表示時刻とから遅延時間を求める(ステップT72)。次いで、受信データ152に格納される速度と、遅延時間とから予測位置を算出する(ステップT74)。   In the figure, first, the other character movement control unit 1226 obtains a delay time from the data transmission time of the received data 152 and the display time of the frame to be rendered (step T72). Next, the predicted position is calculated from the speed stored in the reception data 152 and the delay time (step T74).

続いて、受信データ152に格納される速度のy成分に、重力加速度gと遅延時間を乗算した値を加算して、予測速度を算出する(ステップT76)。また、最新データ予測データ146の転倒フラグをONに設定する(ステップT78)。そして、最新データ予測データ146の位置座標、速度を、予測位置、予測速度に更新して(ステップT80)、本転倒時位置速度予測処理を終了する。   Subsequently, a predicted speed is calculated by adding the value obtained by multiplying the acceleration of gravity g and the delay time to the y component of the speed stored in the reception data 152 (step T76). Further, the overturn flag of the latest data prediction data 146 is set to ON (step T78). Then, the position coordinates and speed of the latest data predicted data 146 are updated to the predicted position and predicted speed (step T80), and the position / speed prediction process at the time of the fall ends.

1−6−10.転倒時角度予測処理
次に、転倒時角度予測処理について説明する。図35は、他キャラクタ移動制御部1226が転倒時角度予測プログラム1342を実行することで実現される転倒時角度予測処理を示すフローチャートである。尚,処理中のループは、角度の各成分(xyz成分)毎に繰り返される処理である。
1-6-10. Falling Angle Prediction Processing Next, the falling angle prediction processing will be described. FIG. 35 is a flowchart showing a fall angle prediction process realized when the other character movement control unit 1226 executes the fall angle prediction program 1342. The loop being processed is a process that is repeated for each angle component (xyz component).

同図において、先ず、他キャラクタ移動制御部1226は、受信データ152のデータ送信時刻と、描画対象となるフレームの表示時刻とから遅延時間を求める(ステップT82)。次いで、ループ処理を開始し、受信データ152に格納される角度及び角速度と、遅延時間とから予測角度を算出する(ステップT84)。そして、最新データ予測データ146の角度、角速度を更新し(ステップT86)、本転倒時角度予測処理を終了する。   In the figure, first, the other character movement control unit 1226 obtains a delay time from the data transmission time of the received data 152 and the display time of the frame to be rendered (step T82). Next, loop processing is started, and a predicted angle is calculated from the angle and angular velocity stored in the reception data 152 and the delay time (step T84). And the angle and angular velocity of the newest data prediction data 146 are updated (step T86), and this fall angle prediction process is complete | finished.

1−6−11.転倒時角度補間処理
次に、転倒時角度補間予測処理について説明する。図36は、他キャラクタ移動制御部1226が転倒時角度補間プログラム1346を実行することで実現される転倒時角度補間処理を示すフローチャートである。
1-6-11. Falling Angle Interpolation Processing Next, the falling angle interpolation prediction processing will be described. FIG. 36 is a flowchart showing a fall angle interpolation process realized by the other character movement control unit 1226 executing the fall angle interpolation program 1346.

同図において、先ず、他キャラクタ移動制御部1226は、予測角度と表示角度との差分から相対角度を求める(ステップST2)。また、予測角速度と表示角速度との差分から相対角速度を求める(ステップST4)。   In the figure, first, the other character movement control unit 1226 obtains a relative angle from the difference between the predicted angle and the display angle (step ST2). Further, the relative angular velocity is obtained from the difference between the predicted angular velocity and the display angular velocity (step ST4).

次いで、相対角度の大きさAと、表示角速度の大きさBを求め(ステップST6,8)、表示角速度の大きさBと相対角度の大きさAの比率Cを求める(ステップST10)。さらに、相対角度に比率Cを乗算してバネ補正角速度を求める(ステップST12)。また、相対角速度に定数Dを乗算してダンパ補正角速度を求める(ステップST14)。   Next, a relative angle magnitude A and a display angular velocity magnitude B are obtained (steps ST6 and ST8), and a ratio C between the display angular velocity magnitude B and the relative angle magnitude A is obtained (step ST10). Further, the spring correction angular velocity is obtained by multiplying the relative angle by the ratio C (step ST12). Further, a damper correction angular velocity is obtained by multiplying the relative angular velocity by a constant D (step ST14).

続いて、表示角速度にバネ補正角速度を加算し、ダンパ補正角速度を減算して、補間角速度を算出する(ステップST16)。そして、表示角度に補間角速度による1フレーム分の角度を加算して補間角度を演算する(ステップST18)。続いて、補間データ146の角度、角速度を、補間角度、補間角速度に更新すると共に(ステップST20)、移動体オブジェクトパラメータ144の角度、角速度を、補間角度、補間角速度に更新して(ステップST22)、本転倒時角度補間処理を終了する。   Subsequently, the spring correction angular velocity is added to the display angular velocity, and the damper correction angular velocity is subtracted to calculate the interpolation angular velocity (step ST16). Then, an interpolation angle is calculated by adding an angle for one frame based on the interpolation angular velocity to the display angle (step ST18). Subsequently, the angle and angular velocity of the interpolation data 146 are updated to the interpolation angle and interpolation angular velocity (step ST20), and the angle and angular velocity of the moving object parameter 144 are updated to the interpolation angle and interpolation angular velocity (step ST22). Then, the angle interpolation process at the time of the fall ends.

1−6−12.転倒時接地処理
次に、転倒時接地処理について説明する。図37は、他キャラクタ移動制御部1226が転倒時接地プログラム1346を実行することにより実現される転倒時接地処理を示すフローチャートである。
1-6-12. Falling Grounding Process Next, the falling grounding process will be described. FIG. 37 is a flowchart showing the grounding process at the time of falling realized by the other character movement control unit 1226 executing the grounding program at the time of falling 1346.

同図において、先ず、他キャラクタ移動制御部1226は、補間角度から車体の接地角度θGを求める(ステップST32)。次いで、接地角度θGに応じて、接地点テーブル154から車体(キャラクタ)の接地点となる可能性が最も高い接地点Azのローカル座標を求める(ステップST34)。さらに、接地点Azのローカル座標をワールド座標系に変換する(ステップST36)。 In the figure, first, the other character movement control unit 1226 obtains the vehicle ground contact angle θ G from the interpolation angle (step ST32). Next, according to the contact angle θ G , the local coordinates of the contact point Az that is most likely to be the contact point of the vehicle body (character) are obtained from the contact point table 154 (step ST34). Further, the local coordinates of the contact point Az are converted into the world coordinate system (step ST36).

続いて、路面からキャラクタの重心までの高さHを算出すると共に(ステップST38)、接地点Azの位置座標からキャラクタの重心までの高さhaを算出する(ステップST40)。そして、高さHが高さhaより低いか否かを判定する(ステップST42)。高さHが高さhaより低い場合(ステップST42;YES)、車体(キャラクタ)の一部が路面に潜ることとなるため、高さHが高さhaに一致するように補正し、補正した高さHに路面の高さhrを加算する。そして、移動体オブジェクトパラメータ144の位置座標のy座標を更新する(ステップST44)。   Subsequently, the height H from the road surface to the center of gravity of the character is calculated (step ST38), and the height ha from the position coordinate of the ground contact point Az to the center of gravity of the character is calculated (step ST40). Then, it is determined whether or not the height H is lower than the height ha (step ST42). When the height H is lower than the height ha (step ST42; YES), since a part of the vehicle body (character) will be dive on the road surface, the height H is corrected so as to coincide with the height ha and corrected. Add road height hr to height H. Then, the y coordinate of the position coordinate of the moving object parameter 144 is updated (step ST44).

一方、高さHが高さhaより低くない場合(ステップST42;NO)、車体(キャラクタ)は、路面に適正に接地可能であるため移動体オブジェクトパラメータ144の位置座標を更新せずに本転倒時接地処理を終了する。   On the other hand, when the height H is not lower than the height ha (step ST42; NO), the vehicle body (character) can properly touch the road surface, and the vehicle body falls over without updating the position coordinates of the moving object parameter 144. End the grounding process.

1−7.ハードウェア構成
次に、本実施の形態におけるゲーム装置12を実現するためのハードウェア構成の一例について図38を参照して説明する。図38に示す電子機器100は、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、VRAM1012、I/Oポート1014、1016を備え、各部がシステムバス1018により相互にデータ入出力可能に接続されている。I/Oポート1014には入力装置1024が、I/Oポート1016には通信装置1026が、それぞれ接続されている。
1-7. Hardware Configuration Next, an example of a hardware configuration for realizing the game apparatus 12 in the present embodiment will be described with reference to FIG. The electronic device 100 shown in FIG. 38 includes a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a sound generation IC 1008, an image generation IC 1010, a VRAM 1012, and I / O ports 1014 and 1016. It is connected so that output is possible. An input device 1024 is connected to the I / O port 1014, and a communication device 1026 is connected to the I / O port 1016.

CPU1000は、情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、入力装置1024によって入力される信号等に従って、機器全体の制御や各種データ処理を行う。このCPU1000は、図18に示す処理部120に相当する。   The CPU 1000 controls the entire device and performs various data processing according to a program stored in the information storage medium 1006, a system program stored in the ROM 1002 (initialization information of the apparatus main body, etc.), a signal input from the input device 1024, and the like. Do. The CPU 1000 corresponds to the processing unit 120 shown in FIG.

RAM1004は、CPU1000の作業領域等として用いられる記憶部であり、情報記憶媒体1006やROM1002内の所与の内容、CPU1000の演算結果等が格納される。このRAM1004は、図18に示す記憶部130の一部を構成するものである。   The RAM 1004 is a storage unit used as a work area of the CPU 1000, and stores given contents in the information storage medium 1006 and the ROM 1002, the calculation result of the CPU 1000, and the like. This RAM 1004 constitutes a part of the storage unit 130 shown in FIG.

情報記憶媒体1006は、プログラム、画像データ、音データ、プレイデータ等が主に格納されるものである。この情報記憶媒体1006は、図18に示す記憶部130の一部を構成するものである。本実施の形態を実現するものがコンピュータシステムである場合には、情報記憶媒体1006は、ゲーム進行処理プログラム1322などを格納する情報記憶媒体としてのCD−ROM、DVD或いはハードディスク等が用いられる。   The information storage medium 1006 mainly stores programs, image data, sound data, play data, and the like. This information storage medium 1006 constitutes a part of the storage unit 130 shown in FIG. When what implements the present embodiment is a computer system, the information storage medium 1006 is a CD-ROM, DVD, hard disk or the like as an information storage medium for storing the game progress processing program 1322 or the like.

また、この装置に設けられている画像生成IC1010と音生成IC1008により、音や画像の好適な出力が行えるようになっている。   In addition, the image generation IC 1010 and the sound generation IC 1008 provided in this apparatus can appropriately output sound and images.

画像生成IC1010は、CPU1000の命令によって、ROM1002、RAM1004、情報記憶媒体1006等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される表示信号は表示装置1022に出力される。表示装置1022は、CRT、LCD、ELD、PDP、HMD等により実現され、図2に示すディスプレイ1220、図18に示す表示部140に相当する。   The image generation IC 1010 is an integrated circuit that generates pixel information based on information sent from the ROM 1002, the RAM 1004, the information storage medium 1006, and the like according to instructions from the CPU 1000, and the generated display signal is output to the display device 1022. The display device 1022 is realized by a CRT, LCD, ELD, PDP, HMD, or the like, and corresponds to the display 1220 shown in FIG. 2 or the display unit 140 shown in FIG.

また、音生成IC1008は、CPU1000の命令によって、情報記憶媒体1006やROM1002に記憶される情報、RAM1004に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ1020によって出力される。スピーカ1020は、図2に示すスピーカ1222、図18に示す音出力部150に相当する。   The sound generation IC 1008 is an integrated circuit that generates sound signals according to information stored in the information storage medium 1006 and the ROM 1002 and sound data stored in the RAM 1004 according to instructions from the CPU 1000. Output from the speaker 1020. The speaker 1020 corresponds to the speaker 1222 shown in FIG. 2 and the sound output unit 150 shown in FIG.

VRAM1012は、表示装置1022に表示される画像データを一時的に格納する記憶装置であり、図18に示す記憶部130の一部を構成するものである。このVRAM1012は、画像生成IC1010によって生成される、1フレーム分の画像データを格納するためのフレームバッファを備える。   The VRAM 1012 is a storage device that temporarily stores image data to be displayed on the display device 1022, and constitutes a part of the storage unit 130 shown in FIG. The VRAM 1012 includes a frame buffer for storing image data for one frame generated by the image generation IC 1010.

入力装置1024は、各種操作を入力するための装置であり、その機能は、キーボード、マウス、タッチパネル等のハードウェアにより実現される。この入力装置1024は、図2に示すコントローラ1202、図18に示す操作部110に相当する。   The input device 1024 is a device for inputting various operations, and its function is realized by hardware such as a keyboard, a mouse, and a touch panel. The input device 1024 corresponds to the controller 1202 shown in FIG. 2 and the operation unit 110 shown in FIG.

通信装置1026は装置内部で利用される情報を外部とやりとりするものであり、他の装置と通信回線を介して接続されてプログラムに応じた所与の情報を送受すること等に利用される。この通信装置1026は、図2に示す通信装置1218、図18に示す通信部160に相当する。   The communication device 1026 exchanges information used inside the device with the outside. The communication device 1026 is connected to other devices via a communication line, and is used to send and receive given information according to a program. The communication device 1026 corresponds to the communication device 1218 shown in FIG. 2 and the communication unit 160 shown in FIG.

1−8.作用・効果
以上のように、第1実施形態によれば、ネットワークを介して接続され、他のゲーム装置12b〜12dとの間で、他キャラクタを制御するための受信データ152を授受し、受信データ152に基づいて他キャラクタの移動を制御するゲーム装置12aにおいて、受信データ152のデータ送信時刻に基づいて、描画対象フレームに対する遅延時間を算出し、算出した遅延時間及び受信データ152に基づいて、遅延時間における他キャラクタの位置、速度、姿勢等の変化を予測する。一方で、自キャラクタの移動制御については、入力された操作データに基づき実時間で自キャラクタの位置、速度、姿勢等の変化を算出する。そして、実時間に基づいて移動計算された自キャラクタの移動制御と、遅延時間分の変化を予測することで移動計算された他キャラクタの移動制御とを同時に行うことにより、良好なレスポンスを保ちつつ、各ゲーム装置12a〜12dに表示するゲーム結果の整合性を保つことができる。
1-8. As described above, according to the first embodiment, the reception data 152 for controlling other characters is exchanged with the other game apparatuses 12b to 12d and received via the network. In the game apparatus 12 a that controls the movement of the other character based on the data 152, the delay time for the drawing target frame is calculated based on the data transmission time of the received data 152, and based on the calculated delay time and the received data 152, Predict changes in the position, speed, posture, etc. of other characters in the delay time. On the other hand, regarding the movement control of the own character, changes in the position, speed, posture, etc. of the own character are calculated in real time based on the input operation data. While maintaining the good response by simultaneously performing the movement control of the own character calculated based on the real time and the movement control of the other character calculated by predicting the change for the delay time. The consistency of the game results displayed on the game devices 12a to 12d can be maintained.

従って、次のような不都合が生じない。即ち、各ゲーム装置12a〜12d間のゲーム結果の整合性を優先することで、次キャラクタのレスポンス性が損なわれた結果、プレーヤの意に反して自キャラクタが移動制御されてしまうといった事態が発生しない。また、レスポンスを向上させることで、自キャラクタの移動制御はリアルタイムに実行されるものの、他キャラクタは通信遅延時間分遅れた過去の位置に移動制御され、この結果、各キャラクタが実際からはかけ離れた位置に表示されるといった、ゲーム結果の不整合が発生しない。   Therefore, the following inconvenience does not occur. In other words, priority is given to the consistency of the game results between the game devices 12a to 12d, and the response of the next character is impaired. As a result, the player character is controlled to move against the player's will. do not do. Also, by improving the response, the movement control of the player character is executed in real time, but the other characters are controlled to move to the past position delayed by the communication delay time. As a result, each character is far from the actual position. There is no inconsistency in game results, such as being displayed at the position.

また、ネットワークの輻輳状況に応じて、他のゲーム装置12a〜12dから送信される受信データの受信間隔は一定とならず変動する場合がある。このような場合であっても、通信遅延時間分の変位量を予測することで、受信間隔の変動の影響を可及的に抑制することができ、ネットワークの輻輳状況がゲーム結果に反映されるといった事態を回避することができる。例えば、データの受信が大幅に遅れた結果、他キャラクタがゲーム空間中に停止し、データを受信した途端に移動するというような表示を防ぐことができる。   Further, the reception interval of the reception data transmitted from the other game devices 12a to 12d may not be constant and may vary depending on the network congestion status. Even in such a case, by predicting the amount of displacement corresponding to the communication delay time, the influence of fluctuations in the reception interval can be suppressed as much as possible, and the network congestion status is reflected in the game result. Such a situation can be avoided. For example, it is possible to prevent a display in which another character stops in the game space and moves as soon as the data is received as a result of a significant delay in data reception.

また、他キャラクタの予測位置を算出する場合に、当該予測位置のコースの曲率を近似するように速度ベクトルの向きを回転させ、この速度ベクトルに基づいて予測位置を算出することで、コース形状に即した位置予測を行うことができる。更に、コースデータ138に、当該コースを最速で走行するためのベストラインについての制御点毎の曲率が記憶されている場合は、よりプレーヤの走行ラインに近い曲率を近似して、コース形状に適した位置予測を行うことができる。これにより、他キャラクタの位置移動を精度良く予測することができ、実時間で当該他キャラクタを操作しているプレーヤのゲーム結果と、他のプレーヤのゲーム結果とを整合させることができる。   When calculating the predicted position of another character, the direction of the speed vector is rotated so as to approximate the curvature of the course at the predicted position, and the predicted position is calculated based on this speed vector, so that the course shape is obtained. It is possible to perform position prediction according to this. Furthermore, if the course data 138 stores the curvature at each control point for the best line for running the course at the fastest speed, the curvature closer to the player's running line is approximated to suit the course shape. Position prediction can be performed. Thereby, the position movement of the other character can be accurately predicted, and the game result of the player who operates the other character in real time can be matched with the game result of the other player.

また、他キャラクタの予測速度を算出する場合に、予測位置における目標速度を参照し、予測前の速度が目標速度を超えている場合には、予測前の速度を目標速度に基づいて補正し、補正後の速度に基づいて速度予測を行う。これにより、予測速度が現実的でない値となるのを防止し、精度良く速度予測を行うことができる。また、プレーヤにより入力された操作データに基づき実時間で自キャラクタの移動計算を行う際に、自キャラクの表示速度を表示位置における目標速度に基づき速度補正を行っているような場合には、自キャラクタ及び他キャラクタに対して同様の処理を行うことで、ゲーム結果の整合を図ることができる。   Further, when calculating the predicted speed of another character, the target speed at the predicted position is referred to, and if the speed before prediction exceeds the target speed, the speed before prediction is corrected based on the target speed, Speed prediction is performed based on the corrected speed. As a result, the predicted speed can be prevented from becoming an unrealistic value, and the speed can be predicted accurately. In addition, when calculating the movement of the player character in real time based on the operation data input by the player, if the player's own character display speed is corrected based on the target speed at the display position, By performing the same processing on the character and other characters, it is possible to match the game results.

また、他キャラクタの予測角度を算出する場合に、通常走行が可能となるキャラクタの姿勢の限界値を定め、この限界値を超える場合には、予測角度を限界値の範囲内に収まるように補正することにより、他キャラクタが現実的でない姿勢で走行するといったことを防止することができる。   In addition, when calculating the predicted angle of other characters, the limit value of the character's posture that allows normal running is determined, and if this limit value is exceeded, the predicted angle is corrected to be within the limit value range. By doing so, it is possible to prevent other characters from running in an unrealistic posture.

具体的には、ピッチング方向の予測角度を算出する場合に、受信データの角度と、予測角度との符号の入れ替わりを判定し、符号が入れ替わっている場合には、予測角度を0°に設定する。これにより、例えば、ウィリーやジャックナイフといった姿勢から戻る過程において、キャラクタがウィリーから戻る勢いでジャックナイフをしてしまう、或いはジャックナイフから戻る勢いでウィリーをしてしまうといった現実には起こり得ない挙動を防止することができる。また、ピッチ方向の予測角度やロール方向の予測角度を一定の範囲とすることにより、通常走行が不可能な姿勢で他キャラクタが走行するといった不自然な挙動を防止することができる。   Specifically, when calculating the predicted angle in the pitching direction, the exchange of the sign of the angle of the received data and the predicted angle is determined, and when the sign is changed, the predicted angle is set to 0 °. . Thus, for example, in the process of returning from a posture such as a wheelie or a jackknife, a behavior that cannot occur in reality, such as when a character does a jackknife with a momentum to return from a wheelie, or a wheelie with a momentum to return from a jackknife Can be prevented. Further, by making the predicted angle in the pitch direction and the predicted angle in the roll direction within a certain range, it is possible to prevent an unnatural behavior such that another character travels in a posture in which normal travel is impossible.

また、予測位置と表示位置とに基づいて補間位置を算出し、他キャラクタを補間位置に基づいて描画することにより、他キャラクタの瞬間移動的な位置変化によるズレやチラツキを抑え、他キャラクタの自然な移動制御を実現することができる。つまり、予測位置は最新の受信データに基づき予測された位置であり、表示位置は最新の受信データより古いデータに基づき予測された位置である場合は、基礎となる受信データが異なることとなる。このような場合において、最新の受信データと古い受信データとの間で他プレーヤにより急操作が行われていた場合、その操作が予測位置に反映されると、表示位置と予測位置とは大きく異なることとなる。そこで、この予測位置をそのまま次フレームの表示位置とすると、他キャラクタが急激に位置変化し、これがズレやチラツキとしてプレーヤに視認され得る。しかし、予測位置と表示位置とに基づいて補間処理を行い、表示位置を予測位置の方向に調節することで、これらの瞬間移動的な位置変化を緩和し、他キャラクタの自然な移動制御を行うことができる。   In addition, by calculating the interpolation position based on the predicted position and the display position, and drawing other characters based on the interpolation position, it is possible to suppress misalignment and flickering due to instantaneous movement of other characters and to reduce the natural character of other characters. Movement control can be realized. That is, when the predicted position is a position predicted based on the latest received data, and the display position is a position predicted based on data older than the latest received data, the basic received data is different. In such a case, when a sudden operation is performed between the latest received data and the old received data by another player, the display position and the predicted position are greatly different if the operation is reflected in the predicted position. It will be. Therefore, if this predicted position is used as the display position of the next frame as it is, the position of another character changes suddenly, and this can be visually recognized by the player as a shift or flicker. However, interpolation processing is performed based on the predicted position and the display position, and by adjusting the display position in the direction of the predicted position, these instantaneous movement position changes are alleviated and natural movement control of other characters is performed. be able to.

この補間位置を算出する際に、予測位置と表示位置との間に仮想バネを設定し、仮想バネによる仮想力(例えば、仮想バネ補正速度)によって、表示位置が予測位置に調節されるように補間位置を算出することができる。従って、他キャラクタの位置変化が自然な変化となるような移動制御を実現することができる。   When calculating the interpolation position, a virtual spring is set between the predicted position and the display position so that the display position is adjusted to the predicted position by virtual force (for example, virtual spring correction speed) by the virtual spring. The interpolation position can be calculated. Therefore, it is possible to realize movement control in which the position change of the other character becomes a natural change.

さらに、補間位置を算出する際に、予測位置と表示位置との間に設定される仮想バネの仮想力を緩衝するような仮想ダンパを設定し、仮想バネによる仮想力と仮想ダンパによる緩衝力(例えば、ダンパ補正速度)とに基づいて表示位置が予測位置に調節されるように補間位置を算出することができる。従って、仮想バネによる仮想力が徐々に働くようにすることができ、他キャラクタの位置変化がより自然な変化となるような移動制御を実現することができる。   Furthermore, when calculating the interpolation position, a virtual damper that buffers the virtual force of the virtual spring set between the predicted position and the display position is set, and the virtual force by the virtual spring and the buffer force by the virtual damper ( For example, the interpolation position can be calculated so that the display position is adjusted to the predicted position based on the damper correction speed. Therefore, the virtual force by the virtual spring can be gradually applied, and movement control can be realized so that the position change of the other character becomes a more natural change.

また、予測角度と表示角度とに基づいて補間角度を算出し、他キャラクタを補間角度に基づいて描画することにより、同様に他キャラクタの瞬間的な姿勢変化によるズレやチラツキを抑え、他キャラクタの自然な移動制御を実現することができる。   In addition, by calculating the interpolation angle based on the predicted angle and the display angle and drawing the other character based on the interpolation angle, similarly, the shift and flicker due to the instantaneous posture change of the other character are suppressed, and the other character's Natural movement control can be realized.

この補間角度を算出する際に、バネ補正角速度といった仮想力に基づいて、表示角度が予測角度に調節されるように補間角度を算出することにより、他キャラクタの姿勢変化がより自然な変化となるような移動制御を実現することができる。また、補間角度を算出する際に、ダンパ補正角速度といった仮想的な緩衝力に基づいて、バネ補正角速度による調節が過度な調節とならないような補間角度を算出することができる。これにより、仮想バネによる他キャラクタへの仮想力を徐々に働かせて、他キャラクタのより自然な姿勢制御を実現することができる。   When calculating this interpolation angle, the posture change of the other character becomes a more natural change by calculating the interpolation angle so that the display angle is adjusted to the predicted angle based on the virtual force such as the spring correction angular velocity. Such movement control can be realized. Further, when calculating the interpolation angle, it is possible to calculate an interpolation angle based on a virtual buffering force such as a damper correction angular velocity so that the adjustment based on the spring correction angular velocity is not excessive adjustment. Thereby, the virtual force to the other character by the virtual spring is gradually applied, and more natural posture control of the other character can be realized.

また、接地処理を実行し、通常走行時のキャラクタの姿勢に従って、ワールド座標系におけるY成分(つまり、高さ方向)の位置を補正することにより、キャラクタの一部が地面の下に配置されるといった不自然な状況を回避することができる。さらに、転倒時接地処理を実行して、転倒時のキャラクタの姿勢に従って、接地点テーブルから接地点となり得る車体の座標Azを取得し、当該座標Azから重心までの高さと、路面から重心までの高さとを比較することにより、ワールド座標系における高さ方向の位置を補正する。これにより、キャラクタが転倒により種々の姿勢を取り得た場合でも、適切に高さ方向の位置を補正することができ、キャラクタの一部が地面の下に配置されるといった不自然な状況を回避することができる。   Further, by performing the grounding process and correcting the position of the Y component (that is, the height direction) in the world coordinate system according to the posture of the character during normal running, a part of the character is placed below the ground. Such an unnatural situation can be avoided. Furthermore, the grounding process at the time of falling is executed, and the coordinates Az of the vehicle body that can be a grounding point are obtained from the grounding point table according to the posture of the character at the time of the falling, and the height from the coordinate Az to the center of gravity and The position in the height direction in the world coordinate system is corrected by comparing with the height. As a result, even when the character can take various postures by falling, the position in the height direction can be corrected appropriately, and an unnatural situation in which a part of the character is placed below the ground is avoided. be able to.

[第2実施形態]
次に、第2実施形態について説明する。
第1実施形態においては、最新の受信データに基づいて予測位置及び予測速度を算出し、算出した予測位置及び予測速度と、現フレームの表示位置とに基づいて、位置補間処理を行う場合について説明した。第2実施形態においては、最新の受信データに基づいて算出した予測位置、予測速度を、当該キャラクタを操作するプレーヤの過去の履歴データに基づいて補正し、補正後の予測位置、予測速度と、現フレームの表示位置に基づいて位置補間処理を行う場合について説明する。
[Second Embodiment]
Next, a second embodiment will be described.
In the first embodiment, a case is described in which a predicted position and a predicted speed are calculated based on the latest received data, and position interpolation processing is performed based on the calculated predicted position and predicted speed and the display position of the current frame. did. In the second embodiment, the predicted position and predicted speed calculated based on the latest received data are corrected based on the past history data of the player who operates the character, and the corrected predicted position and predicted speed, A case where position interpolation processing is performed based on the display position of the current frame will be described.

尚、プレーヤの過去の履歴を加味して有効な予測が行えるのは通常走行時であり、転倒時には余り有効でないと考えられる。そこで、第2実施形態では、通常走行時における予測位置、予測速度をプレーヤの過去の履歴を加味して補正する場合について説明する。   It should be noted that effective prediction can be performed in consideration of the past history of the player during normal driving, and it is considered that it is not very effective at the time of a fall. Therefore, in the second embodiment, a case will be described in which the predicted position and the predicted speed during normal running are corrected in consideration of the player's past history.

2−1.原理
履歴データに基づいて、予測位置、予測速度を補正する原理について説明する。履歴データは、プレーヤが過去に行ったレースゲームにおける制御点毎の、当該制御点における位置座標Pav、速度Vav、アクセル量Ia、ブレーキ量Ibの平均値を記録したデータである(図41参照)。レースゲームにおいては、ゲームステージ毎に異なるコース形状が設定され、プレーヤは各コース毎に自己のベストライン(最も早く当該コースを走るためのライン)を想定し、ベストラインをトレースするようにコースを周回する。また、同一ラインをトレースすることで、各位置(例えば、ストレート、コーナー入口、コーナー出口)における速度、アクセル量、ブレーキ量は、一定の値を取り得る。従って、過去に同一コースを経験しているプレーヤの履歴データは、制御点毎の位置座標、速度が一定範囲の値に収束するものと考えられる。そこで、受信データに基づいて算出した予測位置、予測速度を、制御点毎の位置座標、速度といった履歴データに基づいて補正する。
2-1. Principle The principle of correcting the predicted position and the predicted speed based on the history data will be described. The history data is data in which the average values of the position coordinates Pav, the speed Vav, the accelerator amount Ia, and the brake amount Ib at each control point in the race game played by the player in the past are recorded (see FIG. 41). . In a racing game, different course shapes are set for each game stage, and the player assumes his / her best line for each course (the line for running the course first) and sets the course so that the best line is traced. Go around. Further, by tracing the same line, the speed, the accelerator amount, and the brake amount at each position (for example, straight, corner entrance, corner exit) can take constant values. Therefore, it is considered that the history data of players who have experienced the same course in the past converges to a value within a certain range of position coordinates and speed for each control point. Therefore, the predicted position and predicted speed calculated based on the received data are corrected based on history data such as position coordinates and speed for each control point.

具体的には、図39に示すように、予測位置Pdatに対応する制御点から、当該制御点に対応する履歴データの位置座標を取得し、これを履歴位置Pavとする。また、当該制御点に対応する履歴データの速度を取得し、これを履歴速度Vavとする。そして、予測位置Pdatと履歴位置Pavとの差分から相対位置を求め、予測速度Vdatと履歴速度Vavとの差分から相対速度を求める。ここで、予測位置Pdatと履歴位置Pavとの差分が所定範囲以上である場合、プレーヤが普段どおりの走行からかけ離れた走行をしている判断できるため、履歴データによる補正を行わないとしても良い。   Specifically, as shown in FIG. 39, the position coordinate of the history data corresponding to the control point is acquired from the control point corresponding to the predicted position Pdat, and this is set as the history position Pav. Further, the speed of the history data corresponding to the control point is acquired, and this is set as the history speed Vav. Then, the relative position is obtained from the difference between the predicted position Pdat and the history position Pav, and the relative speed is obtained from the difference between the predicted speed Vdat and the history speed Vav. Here, if the difference between the predicted position Pdat and the history position Pav is greater than or equal to a predetermined range, it can be determined that the player is traveling far from the usual traveling, and therefore, correction based on the history data may not be performed.

続いて、相対位置に定数SHを乗算して、単位時間あたりのバネ補正速度を求める。また、相対速度に定数SIを乗算してダンパ補正速度を求める。ここで、定数SH,SIは、上限を1、下限を0の値とする。   Subsequently, the spring correction speed per unit time is obtained by multiplying the relative position by a constant SH. Also, a damper correction speed is obtained by multiplying the relative speed by a constant SI. Here, the constants SH and SI are set such that the upper limit is 1 and the lower limit is 0.

さらに、予測速度Vdatに、バネ補正速度を加算し、ダンパ補正速度を減算することにより、履歴補正予測速度Vacを算出する。そして、予測位置Pdatに履歴補正予測速度Vacの1フレーム分の速度変化量を加算して履歴補正予測位置Pacを求める。   Further, the history correction predicted speed Vac is calculated by adding the spring correction speed to the predicted speed Vdat and subtracting the damper correction speed. Then, the history correction predicted position Pac is obtained by adding the speed change amount for one frame of the history correction predicted speed Vac to the predicted position Pdat.

2−2.機能構成
次に、図40を参照して、第2実施形態におけるゲーム装置12の機能構成について説明する。尚、本第2の実施の形態は、上述した第1実施形態におけるゲーム装置12を用いて実現されるものであるため、第2実施形態に特徴的な部分については太線で示し、第1実施形態と同一の機能、構成については同一の符号で表し、詳細な説明は省略する。
2-2. Functional Configuration Next, a functional configuration of the game apparatus 12 in the second embodiment will be described with reference to FIG. Since the second embodiment is realized by using the game apparatus 12 in the first embodiment described above, the characteristic parts of the second embodiment are indicated by bold lines, and the first embodiment The same functions and configurations as those of the embodiments are denoted by the same reference numerals, and detailed description thereof is omitted.

同図において、他キャラクタ移動制御部1230は、他キャラクタ移動計算プログラム1350に従って、他キャラクタ移動計算処理Bを実行し、受信データ等に基づき他キャラクタの移動計算を行い、他キャラクタを移動制御する。   In the figure, another character movement control unit 1230 executes another character movement calculation process B according to another character movement calculation program 1350, performs movement calculation of other characters based on received data and the like, and controls movement of other characters.

また、他キャラクタ移動計算プログラム1350は、ゲーム演算部122を他キャラクタ移動制御部1230として機能させるためのプログラムであり、サブルーチンに履歴補正プログラム1352を含むプログラムである。履歴補正プログラム1352は、ゲーム演算部122を他キャラクタ移動制御部1226として機能させるためのプログラムであり、他キャラクタ移動計算処理Bのサブルーチンとして履歴補正処理を実行するためのプログラムである。   The other character movement calculation program 1350 is a program for causing the game calculation unit 122 to function as the other character movement control unit 1230, and includes a history correction program 1352 in a subroutine. The history correction program 1352 is a program for causing the game calculation unit 122 to function as the other character movement control unit 1226, and is a program for executing history correction processing as a subroutine of the other character movement calculation processing B.

履歴取得データ156は、他キャラクタの移動軌跡である走行ラインの情報、速度、アクセル量、ブレーキ量の各データをプレーヤ毎、コース毎に累積的に格納する。具体的には、走行ラインの情報として、各制御点に対応する走行ラインの位置、例えば、キャラクタが通過した位置の位置座標を記憶する。また、速度として、制御点Q近傍を通過した際のキャラクタの速度を記憶し、アクセル量、ブレーキ量として、制御点Q近傍を通過した際にプレーヤから入力されたアクセル量、ブレーキ量を記憶する。   The history acquisition data 156 cumulatively stores information on the travel line, which is the movement trajectory of other characters, data on speed, accelerator amount, and brake amount for each player and each course. Specifically, as the travel line information, the position of the travel line corresponding to each control point, for example, the position coordinates of the position where the character has passed is stored. Further, the speed of the character when passing near the control point Q is stored as the speed, and the accelerator amount and brake amount input from the player when passing near the control point Q are stored as the accelerator amount and the brake amount. .

履歴データ158は、履歴取得データ156に格納された走行ラインの情報、速度、アクセル量、ブレーキ量の制御点毎の平均値を、プレーヤ及びコース毎に記憶している。図41に履歴データ158のデータ構成例を示す。同図に示すように、履歴データ158は、プレーヤ毎、コース毎に、各種データを格納している。   The history data 158 stores travel line information stored in the history acquisition data 156, average values for each control point of speed, accelerator amount, and brake amount for each player and course. FIG. 41 shows a data configuration example of the history data 158. As shown in the figure, the history data 158 stores various data for each player and each course.

具体的には、履歴データ158は、プレーヤを特定するための識別番号(158a)、コースを特定するためのコース番号(158b)を記憶する。また、制御点Q(158c)毎に、位置座標Pav(158d)、速度Vav(158e)、アクセル量Ia(158f)、ブレーキ量Ib(158g)を記憶する。   Specifically, the history data 158 stores an identification number (158a) for specifying a player and a course number (158b) for specifying a course. For each control point Q (158c), the position coordinate Pav (158d), the speed Vav (158e), the accelerator amount Ia (158f), and the brake amount Ib (158g) are stored.

制御点Q(158c)は、コース上に所定間隔で配置・設定される基準点である。位置座標Pav(158d)は、プレーヤが過去に走行した走行ラインを定義するための位置であり、図20を参照して説明したコースデータ138dの目標位置wtと同様の手法で定義されている。具体的には、上述した履歴取得データ156に格納された複数周回分のデータの、同一制御点における位置座標の平均値を記憶している。速度Vav(158e)は、プレーヤが過去に走行した際の制御点Q毎の速度を記憶している。具体的には、履歴取得データ156の速度の制御点Q毎の平均値を記憶している。アクセル量Ia(158f)は、プレーヤが過去に走行した際の制御点Q毎のアクセル量を記憶している。具体的には、履歴データ156のアクセル量Iaの制御点Q毎の平均値を制御点Q毎に記憶している。ブレーキ量Ib(158g)は、プレーヤが過去に走行した際の制御点Q毎のアクセル量を記憶している。具体的には、履歴取得データ156のブレーキ量の制御点Q毎の平均値を記憶している。履歴データ158は、例えば、1回のゲームが終了するごとに、履歴取得データ156から生成され、更新されるデータである。   The control points Q (158c) are reference points that are arranged and set at predetermined intervals on the course. The position coordinate Pav (158d) is a position for defining a travel line that the player has traveled in the past, and is defined by the same method as the target position wt of the course data 138d described with reference to FIG. Specifically, the average value of the position coordinates at the same control point of the data for a plurality of turns stored in the history acquisition data 156 is stored. The speed Vav (158e) stores the speed for each control point Q when the player has traveled in the past. Specifically, the average value for each control point Q of the speed of the history acquisition data 156 is stored. The accelerator amount Ia (158f) stores the accelerator amount for each control point Q when the player has traveled in the past. Specifically, an average value for each control point Q of the accelerator amount Ia of the history data 156 is stored for each control point Q. The brake amount Ib (158 g) stores the accelerator amount for each control point Q when the player has traveled in the past. Specifically, an average value for each control point Q of the brake amount of the history acquisition data 156 is stored. The history data 158 is data that is generated and updated from the history acquisition data 156 each time a game is completed, for example.

2−3.処理の流れ
次に、第2実施形態の処理の流れについて説明する。
図42は、第1実施形態のゲーム進行処理における他キャラクタ移動計算処理に代えて、他キャラクタ移動計算処理Bを実行し、他キャラクタの履歴更新データを記憶する工程を更に追加したゲーム進行処理Bの流れを示すフローチャートである。
2-3. Process Flow Next, the process flow of the second embodiment will be described.
FIG. 42 shows a game progression process B in which another character movement calculation process B is executed instead of the other character movement calculation process in the game progression process of the first embodiment, and a process of storing history update data of other characters is further added. It is a flowchart which shows the flow.

同図において、他キャラクタ移動制御部1230は、移動体制御情報送受信処理を実行後(ステップS4)、他キャラクタ移動計算処理Bを実行する(ステップS102)。そして、他キャラクタ移動計算処理Bにより算出された計算結果、具体的には、移動体オブジェクトパラメータに記憶された位置情報、速度、アクセル量、ブレーキ量を履歴取得データ156に記憶する(ステップS104)。   In the figure, the other character movement control unit 1230 executes the moving body control information transmission / reception process (step S4), and then executes the other character movement calculation process B (step S102). Then, the calculation result calculated by the other character movement calculation process B, specifically, the position information, speed, accelerator amount, and brake amount stored in the moving object parameter are stored in the history acquisition data 156 (step S104). .

図43は、第1実施形態の他キャラクタ移動計算処理に、第2実施形態に特徴的な履歴補正処理を追加した他キャラクタ移動計算処理Bの流れを示すフローチャートである。同図において、他キャラクタ移動制御部1230は、ループBにおいて、位置予測処理(ステップS22)、速度予測処理を実行後(ステップS24)、更に、履歴補正処理を実行する(ステップS106)。   FIG. 43 is a flowchart showing a flow of another character movement calculation process B in which a history correction process characteristic to the second embodiment is added to the other character movement calculation process of the first embodiment. In the same figure, in the loop B, the other character movement control unit 1230 executes a position prediction process (step S22), a speed prediction process (step S24), and further executes a history correction process (step S106).

図44,45は、履歴補正処理の流れを示すフローチャートである。図44において、他キャラクタ移動制御部1230は、履歴データ158から予測位置に対応する履歴位置を取得する(ステップS112)。次いで、予測位置と履歴位置との差分を相対位置として求め(ステップS114)、相対位置の距離が一定範囲内であるか否かを判定する(ステップS116)。   44 and 45 are flowcharts showing the flow of the history correction process. 44, the other character movement control unit 1230 obtains a history position corresponding to the predicted position from the history data 158 (step S112). Next, the difference between the predicted position and the history position is obtained as a relative position (step S114), and it is determined whether or not the distance between the relative positions is within a certain range (step S116).

相対位置の距離が一定範囲内でない場合(ステップS116;NO)、プレーヤが普段どおりの走行をしてないと判定して、履歴補正処理を終了する。相対位置の距離が一定範囲内である場合(ステップS116;YES)、履歴データ158から対応する履歴速度を取得して(ステップS118)、予測速度と履歴速度との差分から相対速度を求める(ステップS120)。   If the relative position distance is not within the predetermined range (step S116; NO), it is determined that the player is not running as usual, and the history correction process is terminated. If the relative position distance is within a certain range (step S116; YES), the corresponding history speed is obtained from the history data 158 (step S118), and the relative speed is obtained from the difference between the predicted speed and the history speed (step S118). S120).

続いて、相対位置に定数SHを乗算して、単位時間あたり位置変化量をバネ補正速度として求める(ステップS128)。また、相対速度に定数SIを乗算してダンパ補正速度を求める(ステップS130)。さらに、予測速度にバネ補正速度を加算し、ダンパ補正速度を減算して、履歴補正予測速度を算出する(ステップS132)。   Subsequently, the relative position is multiplied by a constant SH to obtain a position change amount per unit time as a spring correction speed (step S128). Further, a damper correction speed is obtained by multiplying the relative speed by a constant SI (step S130). Further, the history correction predicted speed is calculated by adding the spring correction speed to the predicted speed and subtracting the damper correction speed (step S132).

そして、履歴補正予測速度から1フレーム分の移動距離を算出し、予測位置に移動距離を加算して履歴補正予測位置を算出する(ステップS134)。次いで、最新データ予測データの位置座標、速度を履歴補正予測位置、履歴補正予測速度に更新して(ステップS136)、本履歴補正処理を終了する。   Then, the moving distance for one frame is calculated from the history correction predicted speed, and the history correction predicted position is calculated by adding the moving distance to the predicted position (step S134). Next, the position coordinates and speed of the latest data prediction data are updated to the history correction prediction position and the history correction prediction speed (step S136), and the history correction processing is terminated.

2−4.作用・効果
以上のように、第2実施形態によれば、他のゲーム装置12から受信した最新の受信データに基づいて予測した予測位置及び予測速度を、履歴データ158の基づいて更に補正することで、プレーヤの癖や習性といった要素を加味して、キャラクタの移動予測を行うことができる。つまり、走行ラインの情報、速度、アクセル量、ブレーキ量といった、コース形状に応じて一定の値に収束し得る情報に基づいて、他キャラクタの予測位置、予測速度を補正することにより、他キャラクタが将来的に行うであろう挙動を予測して、より精度の高い予測を行うことができる。
2-4. As described above, according to the second embodiment, the predicted position and the predicted speed predicted based on the latest received data received from the other game apparatus 12 are further corrected based on the history data 158. Thus, the movement of the character can be predicted in consideration of factors such as the habit and habit of the player. In other words, by correcting the predicted position and predicted speed of other characters based on information that can converge to a certain value according to the course shape, such as travel line information, speed, accelerator amount, and brake amount, By predicting the behavior that will be performed in the future, it is possible to perform prediction with higher accuracy.

また、履歴補正処理において、予測位置と履歴位置との差分が所定範囲以上となる場合は、履歴データによる補正を行わないこととしたため、例えば、トラブルの発生により、キャラクタが通常どおりの走行をしていない場合には、受信データに基づく予想位置により、位置補間処理を実行して、補間予測位置を次フレームの表示位置とすることができる。これにより、ゲーム中のキャラクタの状況に応じて履歴データによる補正を適切に行うことができる。   Also, in the history correction process, when the difference between the predicted position and the history position is greater than or equal to a predetermined range, the correction based on the history data is not performed, so that, for example, when the trouble occurs, the character travels normally. If not, position interpolation processing can be executed based on the predicted position based on the received data, and the predicted interpolation position can be set as the display position of the next frame. Thereby, correction | amendment by log | history data can be performed appropriately according to the condition of the character in a game.

2−5.変形例
以上、本発明についての好適な実施形態の一例について説明したが、本発明は、上記した第1実施形態、第2実施形態に限らず、発明の趣旨を逸脱しない限りにおいて適宜変更可能である。以下、変形例について説明する。
2-5. Modifications An example of a preferred embodiment of the present invention has been described above, but the present invention is not limited to the first embodiment and the second embodiment described above, and can be appropriately changed without departing from the spirit of the invention. is there. Hereinafter, modified examples will be described.

2−5−1.分割
第1実施形態では、予測位置、予測速度を算出する場合、1フレーム毎に累積的に予測位置、予測速度を算出するものとして説明を行ったが、この形態に限らず、予測位置、予測速度の算出を複数フレーム毎に分割して行う構成であっても良い。
2-5-1. Division In the first embodiment, when the predicted position and the predicted speed are calculated, the description has been given on the assumption that the predicted position and the predicted speed are calculated cumulatively for each frame. A configuration may be used in which the calculation of speed is divided for each of a plurality of frames.

例えば、図46に示すように、遅延時間が30フレーム単位時間であった場合、上述した方法では30回のループ処理を行う必要がある。そこで、例えば、30フレームを3フレーム毎に分割(以下、このフレーム数の単位のことを「分割単位フレーム数」と呼ぶ。)して、予測位置、予測速度を算出することにより、ループ回数を10回まで減らすことができる。   For example, as shown in FIG. 46, when the delay time is 30 frame units, the above-described method requires 30 loop processes. Therefore, for example, by dividing 30 frames into 3 frames (hereinafter, the unit of the number of frames is referred to as “division unit frame number”), and calculating the predicted position and the predicted speed, the number of loops is reduced. Can be reduced to 10 times.

具体的には、ある位置から3フレーム後の位置の曲率rtを取得して、3フレーム後の位置における予測角度を算出する。次いで、予測角度に応じて、ある位置の速度ベクトルをヨー方向に回転させる。そして、この速度ベクトルの3フレーム分の移動距離をある位置に加算して、3フレーム後の予測位置を算出する。同様に、予測速度も3フレーム毎に算出する。   Specifically, the curvature rt of the position after 3 frames from a certain position is acquired, and the predicted angle at the position after 3 frames is calculated. Next, the velocity vector at a certain position is rotated in the yaw direction according to the predicted angle. Then, the moving distance of the three frames of the velocity vector is added to a certain position to calculate a predicted position after three frames. Similarly, the predicted speed is calculated every three frames.

この構成によれば、処理時間を短縮することができるため、リアルタイムに動画像を生成する際の時間的な制約を解消し、いわゆる処理落ちの発生を防止することができる。一方で、1フレーム毎に予測位置、予測速度を算出する場合と比較して、予測精度が低くなる可能性がある。例えば、各位置における曲率が一定でない場合に、3フレーム毎に計算を行った場合、3フレーム間の曲率の違いが誤差として計算結果に含まれることとなる。この結果、3フレーム間の誤差がそれぞれ蓄積されることにより予測精度の低下が見込まれる。   According to this configuration, since the processing time can be shortened, it is possible to eliminate a time restriction when generating a moving image in real time and to prevent a so-called processing failure. On the other hand, there is a possibility that the prediction accuracy may be lower than when the predicted position and the predicted speed are calculated for each frame. For example, if the curvature at each position is not constant and the calculation is performed every three frames, the difference in curvature between the three frames is included in the calculation result as an error. As a result, it is expected that the prediction accuracy is lowered by accumulating errors between the three frames.

なお、分割単位フレーム数の一例として、遅延時間が30フレームの場合に3フレームの分割単位フレーム数として説明したが、この数は適宜設計変更してもよい。
また、分割単位フレーム数は、一定である必要はなく、可変としてもよい。例えば、遅延時間のフレーム数に応じて、分割単位フレーム数を変更してもよい。具体的には、遅延時間が30フレームの場合には分割単位フレーム数を3フレームとし、遅延時間が20フレームの場合には分割単位フレーム数を2フレームとするといった、ループ回数が一定となるような分割単位フレーム数にするとしてもよい。ゲームにおいては1フレーム(1/60秒)以内に1枚のゲーム画像を生成する必要があるため、予測にかけることのできる時間には限りがあり、上限がある。従って、その上限に当たるループ回数(例えば10回)を元に、分割単位フレーム数を決定することで、できる限り予測精度を高めつつ、予測にかかる処理時間を一定以内にといったことを実現できる。
As an example of the number of division unit frames, the number of division unit frames of 3 frames has been described in the case where the delay time is 30 frames. However, this number may be appropriately changed in design.
Further, the number of division unit frames does not need to be constant, and may be variable. For example, the number of division unit frames may be changed according to the number of frames of the delay time. Specifically, when the delay time is 30 frames, the number of division unit frames is 3 frames, and when the delay time is 20 frames, the number of division unit frames is 2 frames. The number of division unit frames may be set to a proper value. In a game, since it is necessary to generate one game image within one frame (1/60 second), the time that can be used for prediction is limited and there is an upper limit. Accordingly, by determining the number of division unit frames based on the number of loops corresponding to the upper limit (for example, 10 times), it is possible to achieve the processing time required for prediction within a certain range while improving the prediction accuracy as much as possible.

また、1つのゲームを実行するためのプログラムには、サブルーチンとして機能する様々な処理ルーチンが含まれているのが通常である。例えば、上述したバイクレースゲームにおいて、バイクと、壁オブジェクトとの衝突を判定するための壁衝突判定ルーチンがそれである。壁衝突判定ルーチンでは、例えば、衝突判定の対象とするバイクと、壁オブジェクトとを引数として、当該バイクの現在位置、1フレーム時間後の移動位置、及び壁オブジェクトの位置等に基づいて、当該バイクが当該壁オブジェクトに衝突するか否かが判定される。   In addition, a program for executing one game usually includes various processing routines that function as subroutines. For example, in the above-described motorcycle racing game, this is a wall collision determination routine for determining a collision between a motorcycle and a wall object. In the wall collision determination routine, for example, based on the current position of the motorcycle, the moving position after one frame time, the position of the wall object, etc., using the motorcycle to be subjected to the collision determination and the wall object as arguments. It is determined whether or not the object collides with the wall object.

しかし、こういった処理ルーチンは、想定される範囲内で作成されているのが通常である。上述した壁衝突判定ルーチンの例では、バイクが時速1000kmで走行することは想定外であり、時速400kmを想定の上限(想定最高速度)とするといった具合である。時速400kmであれば、1フレーム時間当たり約1.852mの移動となるため、現在のバイク位置から、移動方向に向かって1.852m以内に当該壁オブジェクトが存在しなければ、次のフレーム時間までの間に、バイクが当該壁オブジェクトと衝突することはない。   However, such a processing routine is usually created within an assumed range. In the example of the wall collision determination routine described above, it is unexpected that the motorcycle travels at a speed of 1000 km / h, and the assumed upper limit (assumed maximum speed) is 400 km / h. If the speed is 400 km / h, the movement will be about 1.852 m per frame time. If the wall object does not exist within 1.852 m from the current bike position in the direction of movement, the next frame time will be reached. During this period, the motorcycle does not collide with the wall object.

ところが、分割単位フレーム数ごとに纏めて予測位置、予測速度を算出するとした場合、分割単位フレーム数を1フレームとみなした演算がなされているため、各種の処理ルーチンにおいて不都合が発生し得る。具体的に説明する。仮に、バイクの速度が時速300kmとする。このとき、分割単位フレーム数が3フレームであれば、3フレームが1フレームとみなされるため、実質、時速900kmとして壁衝突判定ルーチンが実行されることとなる。従って、壁オブジェクトとの衝突判定を正確に行えない不具合が生じ得る。   However, in the case where the prediction position and the prediction speed are calculated for each number of division unit frames, calculation is performed assuming that the number of division unit frames is one frame, which may cause inconveniences in various processing routines. This will be specifically described. Suppose that the speed of the motorcycle is 300 km / h. At this time, if the number of division unit frames is 3, since 3 frames are regarded as 1 frame, the wall collision determination routine is actually executed at a speed of 900 km / h. Accordingly, there may be a problem that the collision determination with the wall object cannot be accurately performed.

そこで、こういった場合も、分割単位フレーム数を変更することとすればよい。具体的には、壁衝突判定ルーチンの想定最高速度をもとに、バイクの現在速度から分割単位フレーム数を決定する。例えば、想定最高速度が時速400kmであり、現在速度が時速100kmであった場合、400/100=4フレームを分割単位フレーム数とするといった具合である。   Therefore, in such a case as well, the number of division unit frames may be changed. Specifically, the number of divided unit frames is determined from the current speed of the motorcycle based on the assumed maximum speed of the wall collision determination routine. For example, when the assumed maximum speed is 400 km / h and the current speed is 100 km / h, 400/100 = 4 frames is set as the number of divided unit frames.

2−5−2.履歴データの取得
第2実施形態では、自ゲーム装置12a〜12dにおいて、ゲーム進行処理において、他キャラクタの履歴取得データ156を記録し、履歴データ158を生成する場合を例として説明したが、履歴データの取得はこの方法に限らない。
2-5-2. Acquisition of History Data In the second embodiment, the case where the own game devices 12a to 12d record the history acquisition data 156 of other characters and generate the history data 158 in the game progress process is described as an example. Is not limited to this method.

例えば、ゲーム進行処理において、ゲーム進行制御部111は、自キャラクタ移動制御部1224による移動計算の結果を自キャラクタの履歴取得データとして逐次記録し、履歴取得データから自キャラクタの履歴データを生成する。そして、例えばゲーム開始前に、対戦するプレーヤ間で、自キャラクタの履歴データをネットワークNを介して授受することにより、他キャラクタの履歴データ156を記憶部130に記憶する構成であっても良い。   For example, in the game progress process, the game progress control unit 111 sequentially records the result of movement calculation by the own character movement control unit 1224 as history acquisition data of the own character, and generates history data of the own character from the history acquisition data. For example, before the game starts, the history data 156 of other characters may be stored in the storage unit 130 by exchanging the history data of the player's own character via the network N between the players in the battle.

この構成によれば、自ゲーム装置12においてプレーヤの操作入力に従ってリアルタイムに処理された計算結果を履歴データ156として取得することができるため、正確な履歴データを取得することができる。そして、この履歴データ156に基づき、予測位置、予測速度の補正を行うことにより、他キャラクタの位置予測、速度予測を正確に行うことができる。   According to this configuration, since the calculation result processed in real time according to the player's operation input in the game device 12 can be acquired as the history data 156, accurate history data can be acquired. Then, by correcting the predicted position and the predicted speed based on the history data 156, the position prediction and speed prediction of other characters can be accurately performed.

更に、履歴データは、各キャラクタが実際に走行した際の履歴データに限定されない。例えば、上級者、中級者、初級者の代表例のデータを履歴データとして予め記憶しておき、各プレーヤのレベルに応じて、上級者、中級者、初級者の何れかの履歴データに基づいて、履歴補正処理を行う構成であっても良い。或いは、ラップタイム毎に履歴データを備え、各プレーヤの中間ラップタイムに応じて、対応するラップタイムの履歴データに基づき履歴補正処理を行う構成であっても良い。   Furthermore, the history data is not limited to the history data when each character actually travels. For example, data of representative examples of advanced, intermediate, and beginners are stored in advance as history data, and based on the history data of any of advanced, intermediate, and beginners according to the level of each player. Alternatively, the history correction process may be performed. Alternatively, history data may be provided for each lap time, and history correction processing may be performed based on the corresponding lap time history data according to the intermediate lap time of each player.

2−5−3.ゲーム装置
また、上述した実施形態では、ゲーム装置12の一例として家庭用ゲーム装置を例に挙げて説明したが、本発明を適用可能な装置は、これに限られない。例えば、図47に示すようなゲームセンターやアミューズメント施設等に設置される業務用のゲーム端末1100であっても良い。更には、携帯型のゲーム装置、PDA等の装置であってもよいことは勿論である。
2-5-3. Game Device In the above-described embodiment, a home game device has been described as an example of the game device 12, but a device to which the present invention is applicable is not limited thereto. For example, an arcade game terminal 1100 installed in a game center or an amusement facility as shown in FIG. 47 may be used. Furthermore, it is needless to say that it may be a portable game device, a device such as a PDA.

2−5−4.他のゲームへの適用
上述した実施形態は、本発明をバイクレースゲームに適用した場合について説明を行ったが、本発明を適用可能なゲームはバイクレースゲームに限定されるものではない。例えば、図48に示すようなカーレースゲームに適用しても良く、その他、飛行機ゲームなどに適用しても良い。
2-5-4. Application to Other Games In the embodiment described above, the case where the present invention is applied to a motorcycle racing game has been described, but a game to which the present invention can be applied is not limited to a motorcycle racing game. For example, the present invention may be applied to a car racing game as shown in FIG. 48, or may be applied to an airplane game or the like.

ゲームシステムの概略構成を示す図。The figure which shows schematic structure of a game system. ゲーム装置の外観構成を示す図。The figure which shows the external appearance structure of a game device. ゲーム概要を説明する図。The figure explaining a game outline. キャラクタの方向を説明するための図。The figure for demonstrating the direction of a character. 位置予測、速度予測を説明するための図。The figure for demonstrating position prediction and speed prediction. 位置予測を説明するための図。The figure for demonstrating position prediction. 速度予測を説明するための図。The figure for demonstrating speed prediction. ピッチング方向の角度予測を説明するための図。The figure for demonstrating angle prediction of a pitching direction. ロール方向の角度予測を説明するための図。The figure for demonstrating angle prediction of a roll direction. 転倒時の位置予測、速度予測、角度予測を説明するための図。The figure for demonstrating the position prediction at the time of a fall, speed prediction, and angle prediction. 位置補間を説明するための図。The figure for demonstrating position interpolation. 位置補間を説明するための図。The figure for demonstrating position interpolation. (a)バネ補正速度を説明するための図、(b)ダンパ補正速度を説明するための図。(A) The figure for demonstrating a spring correction speed, (b) The figure for demonstrating a damper correction speed. 通常走行時の角度補間を説明するための図。The figure for demonstrating the angle interpolation at the time of normal driving | running | working. 転倒時の角度補間を説明するための図。The figure for demonstrating the angle interpolation at the time of a fall. 通常走行時の接地処理を説明するための図。The figure for demonstrating the grounding process at the time of normal driving | running | working. 転倒時の接地処理を説明するための図。The figure for demonstrating the grounding process at the time of a fall. 第1実施形態のゲーム装置の機能ブロック図。The functional block diagram of the game device of 1st Embodiment. コースデータを説明するための図Illustration for explaining course data コースデータのデータ構成例を示す図。The figure which shows the data structural example of course data. 移動体オブジェクトパラメータのデータ構成例を示す図。The figure which shows the data structural example of a moving body object parameter. 最新データ予測データのデータ構成例を示す図。The figure which shows the data structural example of the newest data prediction data. 補間データのデータ構成例を示す図。The figure which shows the data structural example of interpolation data. 受信データのデータ構成例を示す図。The figure which shows the data structural example of reception data. 接地点テーブルのデータ構成例を示す図。The figure which shows the data structural example of a grounding point table. ゲーム進行処理を示すフローチャート。The flowchart which shows a game progress process. 他キャラクタ移動計算処理を示すフローチャート。The flowchart which shows another character movement calculation process. 位置予測処理を示すフローチャート。The flowchart which shows a position prediction process. 速度予測処理を示すフローチャート。The flowchart which shows a speed prediction process. 角度予測処理を示すフローチャート。The flowchart which shows an angle prediction process. 位置補間処理を示すフローチャート。The flowchart which shows a position interpolation process. 角度補間処理を示すフローチャート。The flowchart which shows an angle interpolation process. 接地処理を示すフローチャート。The flowchart which shows a grounding process. 転倒時位置速度予測処理を示すフローチャート。The flowchart which shows the position speed prediction process at the time of a fall. 転倒時角度予測処理を示すフローチャート。The flowchart which shows the angle prediction process at the time of a fall. 転倒時角度補間処理を示すフローチャート。The flowchart which shows the angle interpolation process at the time of a fall. 転倒時接地処理を示すフローチャート。The flowchart which shows the grounding process at the time of a fall. ハードウェア構成の一例を示す図。The figure which shows an example of a hardware constitutions. 履歴補正を説明するための図。The figure for demonstrating log | history correction | amendment. 第2実施形態のゲーム装置の機能ブロック図。The functional block diagram of the game device of 2nd Embodiment. 履歴データのデータ構成例を示す図。The figure which shows the data structural example of log | history data. ゲーム進行処理Bを示すフローチャート。The flowchart which shows the game progress process B. 他キャラクタ移動計算処理Bを示すフローチャート。The flowchart which shows the other character movement calculation process B. 履歴補正処理の一部を示すフローチャート。The flowchart which shows a part of log | history correction process. 履歴補正処理の一部を示すフローチャート。The flowchart which shows a part of log | history correction process. 変形例を説明するための図。The figure for demonstrating a modification. 他のゲーム装置に適用した場合を示す図。The figure which shows the case where it applies to another game device. 他のゲームに適用した場合を示す図。The figure which shows the case where it applies to another game.

符号の説明Explanation of symbols

12 ゲーム装置
110 操作部
120 処理部
122 ゲーム演算部
1222 ゲーム進行制御部
1224 自キャラクタ移動制御部
1226 他キャラクタ移動制御部
1228 移動体制御情報送受信部
130 記憶部
132 ゲームプログラム
1322 ゲーム進行処理プログラム
1324 自キャラクタ移動計算プログラム
1326 他キャラクタ移動計算プログラム
1328 位置予測プログラム
1330 速度予測プログラム
1332 角度予測プログラム
1334 位置補間プログラム
1336 角度補間プログラム
1338 接地プログラム
1340 転倒時位置速度予測プログラム
1342 転倒時角度予測プログラム
1344 転倒時角度補間プログラム
1346 転倒時接地プログラム
1348 移動体制御情報送受信プログラム
134 ゲームデータ
136 ステージデータ
138 コースデータ
142 移動体オブジェクトデータ
144 移動体オブジェクトパラメータ
146 最新データ予測データ
148 補間データ
152 受信データ
154 接地点テーブル
140 表示部
150 音出力部
160 通信部
DESCRIPTION OF SYMBOLS 12 Game device 110 Operation part 120 Processing part 122 Game calculating part 1222 Game progress control part 1224 Own character movement control part 1226 Other character movement control part 1228 Moving body control information transmission / reception part 130 Storage part 132 Game program 1322 Game progress process program 1324 Self Character movement calculation program 1326 Other character movement calculation program 1328 Position prediction program 1330 Speed prediction program 1332 Angle prediction program 1334 Position interpolation program 1336 Angle interpolation program 1338 Grounding program 1340 Position speed prediction program during a fall 1342 Angle prediction program during a fall 1344 Angle during a fall Interpolation program 1346 Falling ground program 1348 Mobile control information transmission / reception program 13 Game data 136 stages data 138 Course data 142 moving object data 144 moving object parameter 146 latest data prediction data 148 interpolation data 152 received data 154 ground point table 140 display unit 150 audio output unit 160 communication unit

Claims (17)

所定の通信網を介して他機と通信を行う通信手段を備えたコンピュータに前記他機との間で互いの操作対象キャラクタの移動制御情報を送信し合い、自機の操作対象キャラクタである自キャラクタを自機の操作入力に基づいてリアルタイムに制御し、他機の操作対象キャラクタである他キャラクタを他機から送信される移動制御情報に基づいて制御して、前記他機との間で共有するゲーム空間を所与の視点から見た画像を毎フレーム描画することで所定の通信対戦ゲームを実行させるためのプログラムであって、
操作入力に基づいて自キャラクタの移動制御情報(以下「自キャラクタ移動制御情報」という。)毎フレーム更新する自キャラクタ制御情報更新手段、
前記自キャラクタ移動制御情報と送信時刻情報とを他機に毎フレーム送信する制御を行う送信制御手段、
他キャラクタの移動制御情報(以下「他キャラクタ移動制御情報」という。)及び当該移動制御情報送信時の送信時刻情報を他機から受信する制御を行う受信制御手段、
少なくとも前記受信された他キャラクタ移動制御情報のうちの最新の他キャラクタ移動制御情報、当該最新の他キャラクタ移動制御情報の送信時刻情報とを用いて次回描画時の他キャラクタの位置を予測することで他キャラクタの移動を制御する他キャラクタ予測制御手段、
として前記コンピュータを機能させるためのプログラム。
A computer having a communication means for communicating with other devices via a predetermined communication network, mutually transmits the movement control information with each other for operation subject character to and from the other devices is the operation subject character of its own The own character is controlled in real time based on the operation input of the own device, the other character that is the operation target character of the other device is controlled based on the movement control information transmitted from the other device, and between the other device A program for executing a predetermined online battle game by drawing an image of a shared game space viewed from a given viewpoint every frame ,
Own character control information updating means for every frame updating the movement control information of the character (hereinafter referred to as "self-character movement control information".) Based on the operation input,
Transmission control means for performing control to transmit each frame and the transmission time information and the self-character movement control information to another apparatus,
Receiving control means for performing control to receive other character's movement control information (hereinafter referred to as “other character movement control information”) and transmission time information at the time of transmission of the movement control information from another machine,
Predicting the latest other character movement control information of the other character movement control information at least said received position of the other characters in the next drawing by using the transmission time information of the latest other character movement control information Other character prediction control means for controlling the movement of the other character with
A program for causing the computer to function as
最新の他キャラクタ移動制御情報が変わることによる他キャラクタの瞬間移動的な移動変動を抑制するために、ゲーム空間中の他キャラクタの現在位置と前記他キャラクタ予測制御手段により予測された次回描画時の予測位置とを少なくとも用いて、当該他キャラクタの現在位置を次回描画時の予測位置の方向に位置調節して当該他キャラクタの次回描画時の位置を決定する決定手段、として前記コンピュータを更に機能させるための請求項1に記載のプログラム。In order to suppress the movement movement fluctuation of other characters due to the change of the latest other character movement control information, the current position of the other character in the game space and the next drawing predicted by the other character prediction control means Using at least the predicted position, the computer further functions as a determination unit that adjusts the current position of the other character in the direction of the predicted position at the next drawing and determines the position at the next drawing of the other character. A program according to claim 1 for. 前記決定手段が、ゲーム空間中の他キャラクタの現在位置前記他キャラクタ予測制御手段により予測された次回描画時の予測位置との間に仮想バネを設定し、少なくとも前記設定した仮想バネの仮想力に基づき当該他キャラクタの現在位置を次回描画時の予測位置の方向に位置調節するように前記コンピュータを機能させるための請求項に記載のプログラム。 The determining means sets a virtual spring between the current position of another character in the game space and the predicted position at the next drawing predicted by the other character prediction control means , and at least the virtual force of the set virtual spring The program according to claim 2 for causing the computer to function so as to adjust the current position of the other character in the direction of the predicted position at the time of next drawing based on the above. 前記決定手段が、ゲーム空間中の他キャラクタの現在位置前記他キャラクタ予測制御手段により予測された次回描画時の予測位置との間に仮想ダンパを更に設定し、前記設定した仮想バネ及び仮想ダンパによる総合的な仮想力に基づき当該他キャラクタの現在位置を次回描画時の予測位置の方向に位置調節するように前記コンピュータを機能させるための請求項に記載のプログラム。 The determining means further sets a virtual damper between a current position of another character in the game space and a predicted position at the next drawing predicted by the other character prediction control means, and the set virtual spring and virtual damper are set. The program according to claim 3 , wherein the computer is caused to function so as to adjust the position of the current position of the other character in the direction of the predicted position at the time of the next drawing based on the total virtual force by. 前記他キャラクタ予測制御手段が、前記最新の他キャラクタ移動制御情報と当該最新の他キャラクタ移動制御情報の送信時刻情報とを用いて、次回描画時の他キャラクタの位置及び速度を予測し、The other character prediction control means predicts the position and speed of another character at the next drawing using the latest other character movement control information and the transmission time information of the latest other character movement control information,
前記決定手段が、ゲーム空間中の他キャラクタの現在位置及び現在速度と前記他キャラクタ予測制御手段により予測された次回描画時の予測位置及び予測速度とを少なくとも用いて、当該他キャラクタの次回描画時の位置及び速度を決定する、The determination means uses at least the current position and current speed of the other character in the game space and the predicted position and prediction speed at the time of the next drawing predicted by the other character prediction control means at the next drawing time of the other character. Determine the position and speed of the
ように前記コンピュータを機能させるための請求項2〜4の何れか一項に記載のプログラム。The program as described in any one of Claims 2-4 for making the said computer function like this.
前記他キャラクタ予測制御手段が、前記ゲーム空間中に設けられたコースの形状を加味して次回描画時の他キャラクタの位置を予測するように前記コンピュータを機能させるための請求項1〜5の何れか一項に記載のプログラム。 6. The computer according to claim 1, wherein the other character prediction control means causes the computer to function so as to predict the position of the other character at the next drawing in consideration of the shape of the course provided in the game space. A program according to any one of the above. 前記他キャラクタ予測制御手段が、前記ゲーム空間中に設けられたコースの所定場所に、当該場所を通過する際の移動基準情報として予め定められた速度基準情報及び/又は当該場所通過基準位置情報を加味して次回描画時の他キャラクタの位置を予測するように前記コンピュータを機能させるための請求項1〜6の何れか一項に記載のプログラム。 The other character prediction control means uses predetermined reference speed reference information and / or reference position reference position information as movement reference information when passing through the predetermined place of the course provided in the game space. The program as described in any one of Claims 1-6 for functioning the said computer in consideration of the position of the other character at the time of next drawing in consideration. 前記移動基準情報は、所定の高速キャラクタが前記所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報として予め設定された情報であることを特徴とする請求項に記載のプログラム。 8. The program according to claim 7 , wherein the movement reference information is speed information when a predetermined high-speed character passes through the predetermined location and / or information preset as the location passing reference position information. . 他キャラクタが前記所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報を移動履歴情報として記録する履歴記録手段として前記コンピュータを機能させ、
前記他キャラクタ予測制御手段が、前記記録された移動履歴情報を前記移動基準情報として、次回描画時の他キャラクタの位置を予測するように前記コンピュータを機能させる、
ための請求項に記載のプログラム。
Causing the computer to function as history recording means for recording the speed information and / or the location passage reference position information when the other character passes through the predetermined place as movement history information;
The other character prediction control means makes the computer function so as to predict the position of the other character at the time of next drawing , using the recorded movement history information as the movement reference information.
The program according to claim 7 for.
自キャラクタが前記所定場所を通過した際の速度情報及び/又は当該場所通過基準位置情報を移動履歴情報として記録する履歴記録手段、
前記記録された移動履歴情報を他機に送信する制御を行う履歴送信制御手段、
他キャラクタの移動履歴情報を他機から受信する制御を行う履歴受信制御手段、
として前記コンピュータを機能させ、
前記他キャラクタ予測制御手段が、前記履歴受信制御手段により受信された移動履歴情報を前記移動基準情報として、次回描画時の他キャラクタの位置を予測するように前記コンピュータを機能させる、
ための請求項に記載のプログラム。
History recording means for recording the velocity information and / or the location passage reference position information when the own character passes the predetermined location as movement history information;
History transmission control means for performing control to transmit the recorded movement history information to another device,
History reception control means for performing control for receiving movement history information of other characters from other machines,
Function the computer as
The other character prediction control means causes the computer to function to predict the position of another character at the time of next drawing using the movement history information received by the history reception control means as the movement reference information.
The program according to claim 7 for.
前記自キャラクタ制御情報更新手段が、操作入力に基づいて自キャラクタの姿勢制御情報(以下「自キャラクタ姿勢制御情報」という。)を更に更新していき、
前記送信制御手段が、前記自キャラクタ姿勢制御情報を併せて送信し、
前記受信制御手段が、他キャラクタの姿勢制御情報(以下「他キャラクタ姿勢制御情報」という。)を更に受信し、
前記他キャラクタ予測制御手段が、少なくとも前記受信された他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報のうちの最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報、当該最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報の送信時刻情報に基づいて次回描画時当該他キャラクタの姿勢を予測する他キャラクタ姿勢予測制御手段を有する、
ように前記コンピュータを機能させるための請求項1〜10の何れか一項に記載のプログラム。
The own character control information updating means further updates the posture control information of the own character (hereinafter referred to as “own character posture control information”) based on the operation input,
It said transmission control means transmits together the self-character attitude control information,
The reception control means further receives posture control information of another character (hereinafter referred to as “other character posture control information”) ,
The other character prediction control means includes the latest other character movement control information and other character posture control information and at least the latest other character movement control information of at least the received other character movement control information and other character posture control information. and with other character orientation prediction control means for predicting the other characters in the attitude of the next drawing based on the transmission time information of the other character attitude control information,
The program as described in any one of Claims 1-10 for functioning the said computer like this.
前記他キャラクタ姿勢予測制御手段が、移動中に取りうる限界の姿勢として予め定められた限界姿勢を超える姿勢をしないように他キャラクタの姿勢の変化を抑制する姿勢変化抑制手段を有するように前記コンピュータを機能させるための請求項11に記載のプログラム。 The computer further includes a posture change suppression unit that suppresses a change in the posture of the other character so that the other character posture prediction control unit does not exceed a predetermined limit posture as a limit posture that can be taken during movement. The program of Claim 11 for functioning. 最新の他キャラクタ移動制御情報及び他キャラクタ姿勢制御情報が変わることによる他キャラクタの急激な姿勢変動を抑制するために、他キャラクタの現在姿勢と前記他キャラクタ姿勢予測制御手段により予測された次回描画時の予測姿勢とを少なくとも用いて、当該他キャラクタの次回描画時の姿勢を決定する姿勢決定手段として前記コンピュータを更に機能させるための請求項11又は12に記載のプログラム。 The next drawing predicted by the other character posture prediction control means and the current posture of the other character in order to suppress a sudden posture change of the other character due to the change of the latest other character movement control information and other character posture control information. The program according to claim 11 or 12 , for causing the computer to further function as posture determination means for determining the posture of the other character at the time of next drawing using at least the predicted posture of the other character . 前記姿勢決定手段が、他キャラクタの現在姿勢前記他キャラクタ姿勢予測制御手段により予測された次回描画時の予測姿勢との間の変位に対して、両姿勢の変位量が大きくなる程近似力を大きくする、両姿勢を近づけるための姿勢近似バネを設定し、少なくとも前記設定した姿勢近似バネの近似力に基づき次回描画時の姿勢を決定するように前記コンピュータを機能させるための請求項13に記載のプログラム。 The posture determining means increases the approximate force as the displacement amount of both poses increases with respect to the displacement between the current character's current posture and the predicted posture at the next drawing predicted by the other character posture prediction control means. 14. The computer according to claim 13 , wherein a posture approximating spring for setting both postures to be enlarged is set, and the computer is caused to function to determine a posture at the next drawing based on at least the approximate force of the set posture approximating spring. Program. 前記姿勢決定手段が、前記姿勢近似バネの近似力を減殺させる姿勢近似ダンパを設定し、前記設定した姿勢近似ダンパによる減殺を加味した前記姿勢近似バネの近似力に基づき次回描画時の姿勢を決定するように前記コンピュータを機能させるための請求項14に記載のプログラム。 The posture determination means sets a posture approximation damper that reduces the approximation force of the posture approximation spring, and determines the posture at the next drawing based on the approximate force of the posture approximation spring that takes into account the attenuation by the set posture approximation damper 15. The program according to claim 14 for causing the computer to function. 請求項1〜15の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。   The computer-readable information storage medium which memorize | stored the program as described in any one of Claims 1-15. 所定の通信網を介して他機と通信を行う通信手段を備え、前記他機との間で互いの操作対象キャラクタの移動制御情報を送信し合い、自機の操作対象キャラクタである自キャラクタを自機の操作入力に基づいてリアルタイムに制御し、他機の操作対象キャラクタである他キャラクタを他機から送信される移動制御情報に基づいて制御して、前記他機との間で共有するゲーム空間を所与の視点から見た画像を毎フレーム描画することで所定の通信対戦ゲームを実行するゲーム装置であって、A communication means for communicating with another machine via a predetermined communication network, and transmitting the movement control information of each other's operation target character to and from the other machine, A game that is controlled in real time based on the operation input of the own machine, and that the other character that is the operation target character of the other machine is controlled based on the movement control information transmitted from the other machine, and is shared with the other machine A game device that executes a predetermined battle game by drawing an image of a space viewed from a given viewpoint every frame,
操作入力に基づいて自キャラクタ移動制御情報を毎フレーム更新する自キャラクタ制御情報更新手段と、Own character control information updating means for updating own character movement control information every frame based on an operation input;
前記自キャラクタ移動制御情報と送信時刻情報とを他機に毎フレーム送信する制御を行う送信制御手段と、Transmission control means for performing control to transmit the own character movement control information and the transmission time information to another machine every frame;
他キャラクタ移動制御情報及び当該移動制御情報送信時の送信時刻情報を他機から受信する制御を行う受信制御手段と、Reception control means for performing control to receive other character movement control information and transmission time information at the time of transmission of the movement control information from another machine;
少なくとも前記受信された他キャラクタ移動制御情報のうちの最新の他キャラクタ移動制御情報と、当該最新の他キャラクタ移動制御情報の送信時刻情報とを用いて次回描画時の他キャラクタの位置を予測することで他キャラクタの移動を制御する他キャラクタ予測制御手段と、Predicting the position of another character at the time of next drawing using at least the latest other character movement control information in the received other character movement control information and the transmission time information of the latest other character movement control information And other character prediction control means for controlling the movement of the other character with
を備えたゲーム装置。A game device comprising:
JP2005145887A 2005-05-18 2005-05-18 PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE Active JP4776978B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005145887A JP4776978B2 (en) 2005-05-18 2005-05-18 PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005145887A JP4776978B2 (en) 2005-05-18 2005-05-18 PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE

Publications (2)

Publication Number Publication Date
JP2006320502A JP2006320502A (en) 2006-11-30
JP4776978B2 true JP4776978B2 (en) 2011-09-21

Family

ID=37540603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005145887A Active JP4776978B2 (en) 2005-05-18 2005-05-18 PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE

Country Status (1)

Country Link
JP (1) JP4776978B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3957725B2 (en) 2005-10-04 2007-08-15 任天堂株式会社 Communication game program and communication game system
US7945802B2 (en) * 2007-09-17 2011-05-17 International Business Machines Corporation Modifying time progression rates in a virtual universe
JP5519130B2 (en) * 2008-07-16 2014-06-11 株式会社バンダイナムコゲームス Program, game console
JP4892765B2 (en) * 2008-08-26 2012-03-07 啓蔵 渡邉 Network game system and program
JP5017381B2 (en) * 2010-01-15 2012-09-05 株式会社コナミデジタルエンタテインメント Game system and game terminal
JP5346850B2 (en) * 2010-03-12 2013-11-20 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME PROCESSING METHOD, AND PROGRAM
JP5609508B2 (en) * 2010-10-04 2014-10-22 富士通株式会社 Object operation device, object operation method, and object operation program
JP5821745B2 (en) * 2012-03-28 2015-11-24 富士通株式会社 Simulation method, simulation apparatus, and simulation program
JP6200221B2 (en) * 2013-06-25 2017-09-20 クルーズ株式会社 Program, information processing apparatus and information processing method
US10569168B2 (en) 2017-05-24 2020-02-25 Nintendo Co., Ltd. Information processing system, apparatus, method, and storage medium storing program to address game delay between apparatuses
JP6944812B2 (en) * 2017-05-24 2021-10-06 任天堂株式会社 Information processing system, information processing device, information processing program, and game processing method
US10924525B2 (en) * 2018-10-01 2021-02-16 Microsoft Technology Licensing, Llc Inducing higher input latency in multiplayer programs
CN112657181B (en) * 2020-12-21 2024-09-10 北京像素软件科技股份有限公司 State synchronization method and device
WO2022163439A1 (en) 2021-01-29 2022-08-04 国立研究開発法人産業技術総合研究所 Virtual space sharing system, virtual space sharing method, and virtual space sharing program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001170360A (en) * 1999-12-15 2001-06-26 Dowango:Kk Competition game observation system
JP2003006127A (en) * 2001-06-18 2003-01-10 Cyberstep Inc Distributed processing system and method therefor, and client terminal capable of using the method
JP2004105671A (en) * 2002-09-16 2004-04-08 Genki Kk Spatial position sharing system, data sharing system, network game system, and network game client

Also Published As

Publication number Publication date
JP2006320502A (en) 2006-11-30

Similar Documents

Publication Publication Date Title
JP4776978B2 (en) PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
US10357716B2 (en) Speed-dependent suggested driving lines
JP5265159B2 (en) Program and game device
CN109478340B (en) Simulation system, processing method, and information storage medium
US5755620A (en) Game system and data processing method thereof
KR100594558B1 (en) Game device, method for game device and computer-readable medium
JP6719308B2 (en) Simulation system and program
JP6869692B2 (en) Game programs, game processing methods, game systems, and game devices
JPH08305891A (en) Device and method for image processing
US8384661B2 (en) Program, information storage medium, determination device, and determination method
US20120310610A1 (en) Program, information storage medium, information processing system, and information processing method
EP3482806B1 (en) Operation input system, operation input device, and game system
CN101524591B (en) Game device
US6425826B1 (en) Game machine and information storage medium
JP3977264B2 (en) PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
JP2003038851A (en) Game information, information storage medium, and game device
JP5718992B2 (en) Driving simulation apparatus and driving simulation program using portable terminal
JP5957258B2 (en) Program, information storage medium, game device, and server system
JP7005788B2 (en) Skeleton model update device, skeleton model update method and program
JPH09325684A (en) Three dimensional simulator device
JP5377868B2 (en) Program, information storage medium, and game system
JP3783735B2 (en) Image processing apparatus and game apparatus having the same
JP5377867B2 (en) Program, information storage medium, and game system
JP4229318B2 (en) Image generation system, program, and information storage medium
JP4786374B2 (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080422

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110629

R150 Certificate of patent or registration of utility model

Ref document number: 4776978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250