JP3731879B2 - ゲーム機およびゲームプログラム - Google Patents

ゲーム機およびゲームプログラム Download PDF

Info

Publication number
JP3731879B2
JP3731879B2 JP2002134533A JP2002134533A JP3731879B2 JP 3731879 B2 JP3731879 B2 JP 3731879B2 JP 2002134533 A JP2002134533 A JP 2002134533A JP 2002134533 A JP2002134533 A JP 2002134533A JP 3731879 B2 JP3731879 B2 JP 3731879B2
Authority
JP
Japan
Prior art keywords
player object
fall
player
game
posture
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.)
Expired - Lifetime
Application number
JP2002134533A
Other languages
English (en)
Other versions
JP2003325968A (ja
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2002134533A priority Critical patent/JP3731879B2/ja
Priority to US10/408,113 priority patent/US8360879B2/en
Priority to GB0308862A priority patent/GB2388328A/en
Priority to DE10320678A priority patent/DE10320678A1/de
Publication of JP2003325968A publication Critical patent/JP2003325968A/ja
Application granted granted Critical
Publication of JP3731879B2 publication Critical patent/JP3731879B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/493Resuming a game, e.g. after pausing, malfunction or power failure
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1043Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • A63F2300/6054Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands by generating automatically game commands to assist the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/636Methods for processing data by generating or executing the game program for controlling the execution of the game in time involving process of starting or resuming a game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、プレイヤオブジェクトが所定の状態となったときに、プレイヤオブジェクトを転倒またはスピンさせるゲーム機およびゲームプログラムに関し、特に、プレイヤオブジェクトを転倒またはスピンさせた後に、スムーズにゲームを再開させる処理を行うゲーム機およびゲームプログラムに関する。
【0002】
【従来の技術】
テレビゲーム機によって提供されるゲームの中には、プレイヤがコントローラを用いて、ゲーム中に現れるプレイヤオブジェクトの動きを制御する形式を有するものが多数ある。このようなゲームの典型例は、レースゲームである。レースゲームでは、プレイヤに対応して1台または複数のレース車がゲーム中に現れ、プレイヤはコントローラを用いて自分のレース車を操作する。ゲーム中には所定のコースが設定されており、プレイヤはレース車がコースを走行した順位を争う。このようなレースゲームでは、レース車がプレイヤオブジェクトに該当する。
【0003】
ゲーム機では、ゲーム中でプレイヤオブジェクトが所定の状態となったときに、プレイヤオブジェクトを転倒させるゲーム制御を行う場合がある。例えば、レースゲームでは、レース車がコーナーを曲がるときの速度が速すぎた場合に、レース車を転倒させるゲーム制御が行われる。レース車が転倒した後にゲームを続けるためには、レース車を走行可能な状態に復帰させる必要がある。従来のゲーム機は、転倒したレース車を一旦画面から消去し、その後に画面の上方から正立状態(起き上がった状態)のレース車を出現させる方法(第1の方法)、あるいは、画面全体を一瞬暗転させてブラックアウト状態にし、その後に正立状態のレース車をコースの中央に表示させる方法(第2の方法)を用いて、転倒したレース車を走行可能な状態に復帰させている。
【0004】
また、ゲーム機では、ゲーム中でプレイヤオブジェクトが所定の状態となったときに、プレイヤオブジェクトをスピンさせるゲーム制御を行う場合がある。例えば、レースゲームでは、レース車がコーナーを曲がるときの速度が速すぎた場合に、レース車をスピンさせるゲーム制御が行われる。従来のゲーム機では、スピン後のレース車の進行方向(レース車が向いている方向)は一定ではないため、プレイヤは、スピン後のレース車がどの方向を向いているかを判断し、さらに、コースの順方向(ゴールに向かう方向)を判断して、レース車をどの方向に走行させるかを判断する必要がある。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来のゲーム機には、次のような問題点がある。上記第1または第2の方法を用いて転倒したレース車を走行可能状態に復帰させた場合、レース車が転倒してからゲームが再開されるまでに行われる画面表示が、レース車が転倒する前に行われていた画面表示と不連続となる。このため、レース車が転倒するたびに、プレイヤはレースゲームが中断されるように感じる。したがって、プレイヤのゲームに対する没入度が低下する。
【0006】
また、上述したように、レース車がスピンしたときには、スピン後のレース車の進行方向が一定ではないため、プレイヤは、ゲームを再開するときに、レース車をどの方向に走行させるかを判断する必要がある。この際、プレイヤが、誤った判断を行うと、コースを逆走するようにレース車を走行させてしまうことがある。
【0007】
それ故に、本発明は、プレイヤオブジェクトが転倒またはスピンした後に、スムーズにゲームを再開させる処理を行うゲーム機およびゲームプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段および発明の効果】
この発明は、上記の目的を達成するために、次のように構成される。
すなわち、請求項1に係る発明によれば、ゲーム機(実施例との対応関係を示せば、ゲーム機本体1、コントローラ2、DVD−ROM3およびメモリカード4の組合せである。以下、同様に、かっこ内に実施例との対応関係を示すが、本願発明はこれに限定されるものではない。)は、プレイヤに対応したプレイヤオブジェクト(プレイヤ車)を仮想空間に出現させるゲーム(レースゲーム)を実行するゲーム機であって、姿勢制御手段(ステップS109を実行するCPU10;以下、単にステップ番号のみを示す)、転倒判定手段(S105)、進行方向記憶手段、転倒処理手段(S107)、および、転倒復帰手段(S521〜S527)を備える。姿勢制御手段は、プレイヤオブジェクトの姿勢(姿勢マトリクスPose)を定める。転倒判定手段は、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する。進行方向記憶手段は、転倒判定手段においてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する。転倒処理手段は、プレイヤオブジェクトを転倒させる旨の判定がなされたときに、プレイヤオブジェクトを転倒させる処理を行う(S512およびS513)。転倒復帰手段は、転倒処理手段によって転倒させられた状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、前記プレイヤオブジェクトの進行方向が前記進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトをゲーム再開可能な状態に復帰させる(S522およびS523)。このように、プレイヤオブジェクトが転倒したときに、プレイヤオブジェクトの姿勢は自動的に制御され、プレイヤオブジェクトはゲーム再開可能な状態に復帰させられる。したがって、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続する。よって、プレイヤのゲームに対する没入度を高めることができる。さらに、転倒復帰したときにプレイヤオブジェクトの向きが転倒前の向きに自動的に戻るので、プレイヤは進行方向を見失うことがなく、混乱なくゲームを行うことができる。
また、請求項2に係る発明によれば、ゲーム機は、プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行するゲーム機であって、姿勢制御手段、転倒判定手段、第1の転倒処理手段、第2の転倒処理手段、および、転倒復帰手段を備える。姿勢制御手段は、仮想的なゲーム世界における仮想的な第1外力(仮想的なゲーム世界における仮想的な外力であり、プレイヤオブジェクトが地面から受ける抵抗力や摩擦力、慣性、遠心力または重力により受ける力等のことである。なお、これらの外力に関する処理は、現実世界の物理法則に従って計算処理されてもよいが、正確性が要求されない場合には擬似的な計算処理によってなされてもよい。)に基いて、プレイヤオブジェクトの姿勢を変化させる。転倒判定手段は、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する。第1の転倒処理手段は、転倒判定手段においてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、第1外力とは異なる外力であって転倒の要因となる第2外力を加え続けて回転させ続けることによってプレイヤオブジェクトを転倒させる処理を行う。第2の転倒処理手段は、第1の転倒処理手段による転倒させる処理に続いて、仮想的なゲーム世界における仮想的な第1外力に基いて、転倒状態にあるプレイヤオブジェクトの姿勢を変化させ続ける。転倒復帰手段は、第2の転倒処理手段による処理に続いて、転倒状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける。これにより、プレイヤオブジェクトを転倒させるときの画像表示が自然なものとなる。
また、請求項3に係る発明によれば、ゲーム機は、進行方向記憶手段をさらに備える。進行方向記憶手段は、転倒判定手段においてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する。転倒復帰手段は、プレイヤオブジェクトの進行方向が進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける。
また、請求項4に係る発明によれば、第1の転倒処理手段は、プレイヤオブジェクトに第2外力を加えて回転させるとともに、第1外力に基いて姿勢を変化させる。
また、請求項5に係る発明によれば、転倒復帰手段は、第1外力をプレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトの姿勢を正立状態に徐々に近づける。
【0009】
請求項に係る発明によれば、ゲーム機は、操作手段(コントローラ2)と、操作制御手段(S103)とをさらに備える。操作手段は、プレイヤによって操作される。操作制御手段は、操作入力(ジョイスティック6などからの入力)に基づき、プレイヤオブジェクトの状態(進行方向など)を制御する。また、操作制御手段は、プレイヤオブジェクトが転倒させられた後、ゲーム再開可能な状態に復帰させられるまでの間、操作入力の受け付けを抑止する(S102でYesとなり、S103を実行せず)。このように、プレイヤオブジェクトが転倒してからゲームが再開されるまでの間、プレイヤの操作入力を受け付けないことにより、プレイヤオブジェクトの姿勢を容易に自動的に制御することができる。これにより、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続し、プレイヤのゲームに対する没入度を高めることができる。
【0010】
請求項に係る発明によれば、転倒復帰手段は、転倒したプレイヤオブジェクトの高さ方向(姿勢マトリクスPoseのY成分PoseY)を、プレイヤオブジェクトが位置する地点の地面の法線方向(地面の法線ベクトルN)に近づける。これにより、プレイヤオブジェクトを自動的に正立状態に復帰させることができる。
【0011】
請求項8に係る発明によれば、転倒復帰手段は、高さ方向を法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、高さ方向と法線方向との差が所定範囲内となったときに(S525のYes)、転倒したプレイヤオブジェクトの姿勢を制御する処理を終了する(S527で転倒フラグをオフ)。これにより、プレイヤオブジェクトをゲーム再開可能な状態に復帰させるときの画像表示が自然なものとなる。
【0015】
請求項に係る発明によれば、プレイヤオブジェクトは、レース車であり、ゲームは、仮想空間内の所定のコースに従ってレース車を走行させるレースゲームである。よって、プレイヤのレースゲームに対する没入度を高めることができる。
【0017】
請求項10に係る発明によれば、ゲーム機(ゲーム機本体1、コントローラ2、DVD−ROM3およびメモリカード4の組合せ)に、プレイヤに対応したプレイヤオブジェクト(プレイヤ車)を出現させるゲーム(レースゲーム)を実行させるためのゲームプログラム(DVD−ROM3に記録されたゲームプログラム)であって、ゲーム機に、姿勢制御ステップ(ステップS109)、転倒判定ステップ(S105)、進行方向記憶ステップ、転倒処理ステップ(S107)、および、転倒復帰ステップ(S521〜S527)を実行させる。姿勢制御ステップでは、プレイヤオブジェクトの姿勢(姿勢マトリクスPose)が定められる。転倒判定ステップでは、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する処理が行われる。進行方向記憶ステップでは、転倒判定ステップにおいてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する処理が行われる。転倒処理ステップでは、プレイヤオブジェクトを転倒させる旨の判定がなされたときに、プレイヤオブジェクトを転倒させる処理が行われる(S512およびS513)。転倒復帰ステップでは、転倒処理ステップにおいて転倒させられた状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、プレイヤオブジェクトの進行方向が進行方向記憶ステップにおいて記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトがゲーム再開可能な状態に復帰させられる(S522およびS523)。このように、プレイヤオブジェクトが転倒したときに、プレイヤオブジェクトの姿勢は自動的に制御され、プレイヤオブジェクトはゲーム再開可能な状態に復帰させられる。したがって、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続する。よって、プレイヤのゲームに対する没入度を高めることができる。
また、請求項11に係る発明によれば、ゲーム機に、プレイヤに対応したプレイヤオブジェクトを出現させるゲームを実行させるためのゲームプログラムであって、ゲーム機に、姿勢制御ステップ、転倒判定ステップ、第1の転倒処理ステップ、第2の転倒処理ステップ、および、転倒復帰ステップを実行させる。姿勢制御ステップでは、仮想的なゲーム世界における仮想的な第1外力に基いて、プレイヤオブジェクトの姿勢を変化させる処理が行われる。転倒判定ステップでは、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する処理が行われる。第1の転倒処理ステップでは、転倒判定ステップにおいてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、第1外力とは異なる外力であって転倒の要因となる第2外力を加え続けて回転させ続けることによってプレイヤオブジェクトを転倒させる処理を行う。第2の転倒処理ステップでは、第1の転倒処理ステップによる転倒させる処理に続いて、仮想的なゲーム世界における仮想的な第1外力に基いて、転倒状態にあるプレイヤオブジェクトの姿勢を変化させ続ける処理が行われる。転倒復帰ステップでは、第2の転倒処理ステップによる処理に続いて、転倒状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける処理が行われる。これにより、プレイヤオブジェクトを転倒させるときの画像表示が自然なものとなる。
また、請求項12に係る発明によれば、ゲームプログラムは、進行方向記憶ステップをさらに実行させる。進行方向記憶ステップでは、転倒判定ステップにおいてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する処理が行われる。転倒復帰ステップでは、プレイヤオブジェクトの進行方向が進行方向記憶において記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける処理が行われる
た、請求項13に係る発明によれば、転倒復帰ステップでは、第1外力をプレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトの姿勢を正立状態に徐々に近づける処理が行われる。
また、請求項14に係る発明によれば、第1の転倒処理ステップでは、プレイヤオブジェクトに第2外力を加えて回転させるとともに、第1外力に基いて姿勢を変化させる処理が行われる。
【0018】
請求項15に係る発明によれば、ゲームプログラムは、操作入力ステップ(S301)と、操作制御ステップ(S103のうちS302〜S307)とをさらに備える。操作入力ステップでは、プレイヤによって操作される操作部(コントローラ2)から操作入力(ジョイスティック6などからの入力)が受け取られる。操作制御ステップでは、操作入力に基づき、プレイヤオブジェクトの状態(進行方向など)が制御される。また、操作制御ステップでは、プレイヤオブジェクトが転倒させられた後、ゲーム再開可能な状態に復帰させられるまでの間、操作入力の受け付けが抑止される(S102でYesとなり、S103を実行せず)。このように、プレイヤオブジェクトが転倒してからゲームが再開されるまでの間、プレイヤの操作入力を受け付けないことにより、プレイヤオブジェクトの姿勢を容易に自動的に制御することができる。これにより、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続し、プレイヤのゲームに対する没入度を高めることができる。
【0019】
請求項16に係る発明によれば、転倒復帰ステップでは、転倒したプレイヤオブジェクトの高さ方向(姿勢マトリクスPoseのY成分PoseY)を、プレイヤオブジェクトが位置する地点の地面の法線方向(地面の法線ベクトルN)に近づける制御が行われる。これにより、プレイヤオブジェクトを自動的に正立状態に復帰させることができる。
【0020】
請求項17に係る発明によれば、転倒復帰ステップでは、高さ方向を法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、高さ方向と法線方向との差が所定範囲内となったときに(S525のYes)、転倒したプレイヤオブジェクトの姿勢を制御する処理が終了される(S527で転倒フラグをオフ)。これにより、プレイヤオブジェクトをゲーム再開可能な状態に復帰させるときの画像表示が自然なものとなる。
【0024】
請求項18に係る発明によれば、ゲーム機に、プレイヤオブジェクトであるレース車を所定のコースに従って走行させるレースゲームを実行させるためのゲームプログラムである。操作制御ステップでは、レース車の少なくとも移動が制御される。姿勢制御ステップでは、少なくともレース車に加えられる外力に基づきレース車の姿勢が定められる。転倒判定ステップでは、レース車が所定の姿勢となったときに、レース車を転倒させる旨の判定が行われる。転倒処理ステップで、レース車を転倒させる処理が行われる。転倒復帰ステップでは、転倒したレース車を正立状態に復帰させる処理が行われる。このように、レース車が転倒したときに、レース車の姿勢は自動的に制御され、レース車はレース再開可能な状態に復帰させられる。したがって、レース車が転倒してからレースが再開されるまで行われる画面表示が、転倒前になされていた画面表示と連続する。よって、プレイヤのゲームに対する没入度を高めることができる。
【0026】
【発明の実施の形態】
図1は、本発明の実施形態に係るゲーム機を含んだゲームシステムの外観図である。図1に示すゲームシステムは、ゲーム機本体1、コントローラ2、DVD−ROM3、メモリカード4、および、テレビ5を備えている。以下に示す実施形態では、テレビ5を除いた部分が、ゲーム機に相当する。
【0027】
DVD−ROM3およびメモリカード4は、ゲーム機本体1に対して着脱可能に構成されている。コントローラ2およびテレビ5は、それぞれ、通信ケーブルによってゲーム機本体1と接続されている。ゲーム機本体1は、コントローラ2を接続するための複数のコネクタを有しており、コントローラ2は、これらのコネクタのいずれかに接続される。なお、ゲーム機本体1とコントローラ2との間の通信を、通信ケーブルを用いずに、無線を用いて行ってもよい。
【0028】
DVD−ROM3は、ゲームプログラムや画像データなど、ゲームを行うために必要なデータを固定的に記憶している。プレイヤがゲームを行うときには、DVD−ROM3はゲーム機本体1に装着される。メモリカード4は、書き換え可能な記憶媒体によって構成されている。ゲーム途中の状態を保存するために、メモリカード4にはゲーム中の各種のデータが記録される。なお、ゲームプログラムなどを記憶するために、DVD−ROM3に代えて、他の記憶媒体を使用してもよい。
【0029】
ゲーム機本体1は、DVD−ROM3に記録されたゲームプログラムを読み出し、ゲーム処理を実行する。コントローラ2は、ゲーム機の入力装置である。コントローラ2は、ジョイスティック6、Aボタン7、Bボタン8、スタートボタン9など、複数の操作スイッチを有し、プレイヤによるスイッチの押下などに応じて、操作入力をゲーム機本体1に出力する。テレビ5は、ゲーム機本体1から出力された映像信号を画面に表示する。また、テレビ5は、スピーカを内蔵している。テレビ5のスピーカからは、ゲーム機本体1から出力された音声信号が出力される。
【0030】
図2は、図1に示すゲーム機のハードウェア構成を示すブロック図である。図2において、ゲーム機本体1は、演算部(CPU10、グラフィックスプロセッシングユニット(GPU)11およびDSP15)と、記憶部(メインメモリ14、カラーバッファ12、Zバッファ13およびサブメモリ16)と、各種のインターフェイス(I/F)部(20〜23および25)と、メモリコントローラ17と、DVDドライブ24とを備えている。メモリコントローラ17は、図2に示すように演算部と記憶部とインターフェイス部とを相互に接続し、これら各構成要素間のデータ転送を制御する。
【0031】
DVDドライブ24は、ゲーム機本体1に装着されたDVD−ROM3を駆動する。DVD−ROM3には、ゲームプログラムなどが記録されている。DVD−ROM3に記録されたゲームプログラムは、DVD用I/F25とメモリコントローラ17とを経由して、メインメモリ14にロードされる。CPU10は、メインメモリ14にロードされたゲームプログラムを実行する。ゲーム中、プレイヤは、コントローラ2のジョイスティック6を操作したり、Aボタン7を押したりする。コントローラ2は、これらプレイヤの操作に応じて、操作入力をゲーム機本体1に出力する。コントローラ2から出力された操作入力は、コントローラI/F20とメモリコントローラ17とを経由してCPU10に入力される。CPU10は、コントローラ2から入力された操作入力に応じて、所定のゲーム処理を実行する。
【0032】
グラフィックスプロセッシングユニット(GPU)11は、CPU10からの制御に従い、主に画像データの生成処理を行う。GPU11は、ジオメトリユニット18およびレンダリングユニット19を含み、画像処理専用のメモリ(カラーバッファ12およびZバッファ13)に接続されている。なお、これら画像処理専用のメモリを設けず、メインメモリ14の一部に画像処理用の領域を確保するようにしてもよい。ジオメトリユニット18およびレンダリングユニット19は、3次元コンピュータグラフィックスの処理を行うための回路である。ジオメトリユニット18は、仮想3次元空間内におけるオブジェクトの位置(ゲーム空間内の位置であり、3次元座標で与えられる)を決定するための処理を行い、レンダリングユニット19は、ジオメトリユニット18によって計算された3次元座標に基づいて、テレビ5に表示すべき2次元画像を生成する処理を行う。カラーバッファ12は、レンダリングユニット19によって生成された2次元画像を記憶し、Zバッファ13は、3次元コンピュータグラフィックスにおける奥行き方向の情報を記憶する。GPU11は、この構成によりテレビ5に表示すべき画像データを生成し、適宜メモリコントローラ17およびビデオI/F22を介してテレビ5に出力する。
【0033】
デジタルシグナルプロセッサ(DSP)15は、CPU10からの制御に従い、主に音声データの生成処理を行う。サブメモリ16は、DSP15の作業用メモリである。DSP15によって生成された音声データは、メモリコントローラ17とオーディオI/F23とを経由して、テレビ5のスピーカ5bに出力される。なお、ゲーム機本体1から出力される音声信号を、テレビ5とは別のスピーカに出力してもよい。
【0034】
以下では、図1および図2に示すゲーム機においてレースゲームを実行する場合について説明する。ゲーム機にレースゲームを実行させるためのゲームプログラムは、DVD−ROM3に固定的に記録されている。ゲーム機本体1は、DVD−ROM3に記録されたゲームプログラムに従い、コントローラ2から入力された操作入力に応じてゲーム中のレース車の状態を変化させ、レース車が走行する様子をテレビ5に表示させる。テレビ5には、例えば、図3に示すような画面が表示される。
【0035】
このレースゲームでは、プレイヤに対応して1台または複数のレース車がゲーム中に現れ、プレーヤはコントローラ2を用いて自分のレース車を操作する。ゲーム中には3次元形状を有するコースが設定されており、プレイヤはレース車がコースを走行した順位を争う。レースには、同時に最大、コントローラ2を接続できる数と同数のプレイヤが参加できる。また、プレイヤが操作するレース車(以下、「プレイヤ車」と呼ぶ)に加えて、ゲームプログラムが走行状態を自動的に制御するレース車(以下、「敵車」と呼ぶ)もレースに参加する。このレースゲームでは、プレイヤ車がプレイヤオブジェクトに該当する。
【0036】
プレイヤ車の動きおよび姿勢は、プレイヤ車に加わる外力に基づいて定められる。ここでいう外力とは仮想的なゲーム世界における仮想的な外力であり、プレイヤ車が地面から受ける抵抗力や摩擦力、慣性、遠心力または重力により受ける力等のことである。例えば、コースが水平面から傾いている場合には、プレイヤ車は鉛直方向でない抗力を受け、水平面から傾いた姿勢を取る。また、プレイヤ車が壁に当たったときには、プレイヤ車は壁から抗力を受け、跳ね返される。また、道路外を走行中のプレイヤ車は、道路を走行中のプレイヤ車よりも大きな摩擦力を受け、高速走行できなくなる。さらに、プレイヤ車が高速でコーナーを曲がろうとした場合には、コーナーの外側方向に遠心力を受け、プレイヤ車は傾く。なお、これらの外力に関する処理は、現実世界の物理法則に従って計算処理されてもよいが、正確性が要求されない場合には擬似的な計算処理によってなされてもよい。
【0037】
これに加えて、プレイヤ車の動きおよび姿勢は、コントローラ2からの操作入力によって制御される。コントローラ2のジョイスティック6は、プレイヤ車のハンドルに相当する。プレイヤは、ジョイスティック6を好適な方向に倒すことにより、プレイヤ車の進行方向を切り替える。また、コントローラ2のAボタン7はプレイヤ車のアクセルに相当し、Bボタン8はプレイヤ車のブレーキに相当する。プレイヤは、状況に応じてAボタン7またはBボタン8を押下することにより、プレイヤ車を加速または減速させる。
【0038】
プレイヤ車の動きおよび姿勢は、図4に示す車体データを用いて管理される。図4に示す車体データには、車***置P、車体速度V、車体加速度A、姿勢マトリクスPose、および、姿勢変化量dPoseが含まれている。車体データには、図4に示したデータ以外のデータが含まれていてもよい。
【0039】
プレイヤ車の動きは、車***置P、車体速度V、および、車体加速度Aを用いて管理される。車***置P、車体速度V、および、車体加速度Aは、それぞれ、プレイヤ車の3次元空間における位置、3次元空間における速度ベクトルおよび加速度ベクトルを、コースを表すときに用いたワールド座標系を用いて表したものである。車体速度Vおよび車体加速度Aは、それぞれ、画像データの1フレームを出力する時間(1フレーム時間)あたりの速度および加速度を表す。
【0040】
プレイヤ車の姿勢は、姿勢マトリクスPose、および、姿勢変化量dPoseを用いて管理される。プレイヤ車には、プレイヤ車の姿勢を表すために、図5に示す車体座標系(ローカル座標系)が定義されている。車体座標系のZ軸は、プレイヤ車の進行方向に向けられる。車体座標系のY軸は、プレイヤ車の高さ方向に向けられる。車体座標系のX軸は、プレイヤ車の左右方向であり、Y軸およびZ軸の両方に垂直な方向に向けられる。
【0041】
姿勢マトリクスPoseは、3本のベクトルPoseX、PoseYおよびPoseZからなる。ベクトルPoseX、PoseYおよびPoseZは、いずれも3次元のベクトルであり、それぞれ、上述した車体座標系のX軸、Y軸およびZ軸の方向ベクトルをワールド座標系で表したものである。
【0042】
姿勢変化量dPoseは、1フレーム時間あたりのプレイヤ車の姿勢の変化量を、車両座標系の3本の座標軸のまわりの角度で表したものである。より詳細には、姿勢変化量dPoseは、3つの要素dPosex、dPoseyおよびdPosezからなる。第1の要素dPosexは、1フレーム時間に、プレイヤ車が車体座標系のX軸を中心に回転する角度を表したものである。第2の要素dPoseyは、1フレーム時間に、プレイヤ車が車体座標系のY軸を中心に回転する角度を表したものである。第3の要素dPosezは、1フレーム時間に、プレイヤ車が車体座標系のZ軸を中心に回転する角度を表したものである。なお、姿勢変化量dPoseの各要素を座標軸まわりの角度で表すときには、車両座標系の原点から各座標軸の正の方向を見た場合に時計回りの方向をプラスの方向とする(図5を参照)。
【0043】
なお、以上、プレイヤ車の動きおよび姿勢について説明したが、敵車の動きおよび姿勢は、プレイヤによるコントローラ2の操作とは関係なく、DVD−ROM3に記憶されているプログラムによって自動的に制御される。
【0044】
以下、図6ないし図10を参照して、第1実施形態に係るゲーム機の動作を詳細に説明する。第1実施形態は、プレイヤ車が所定の状態になったときに転倒処理を行うゲームについての実施形態である。図6は、ゲーム機のメイン処理のフローチャートである。また、図7ないし図10は、図6に示すメイン処理から呼び出されるサブルーチンのフローチャートである。ゲーム機は、1回のレースゲームごとに、図6ないし図10に示す処理を実行する。これらのゲーム処理は、CPU10がDVD−ROM3に記憶されたゲームプログラムを実行することによって実現される。なお、以下では、プレイヤが1人の場合(すなわち、プレイヤ車が1台である場合)について説明するが、プレイヤが複数の場合は、プレイヤ車に関する処理を複数回実行すればよい。
【0045】
図6に示すように、CPU10は、レースを開始する前に、レース準備処理を実行する(ステップS101)。図7は、レース準備処理(ステップS101)の詳細を示すフローチャートである。レース準備処理では、CPU10は、レースゲームのメニュー画面を表示させ(ステップS201)、コントローラ2のスタートボタン9が押されるまで待機する(ステップS202)。スタートボタン9が押されると、CPU10は、待機状態から抜け、図4に示す車体データを初期化する(ステップS203)。この際、CPU10は、プレイヤ車が転倒しているか否かを示す転倒フラグをオフ(非転倒状態)に設定する。次に、CPU10は、スタート位置にプレイヤ車および敵車を表示させる(ステップS204)。次に、CPU10は、カウントダウン表示を行う(ステップS205)。より詳細には、CPU10は、プレイヤにレースの開始タイミングを知らせるため、1秒ずつ順に「3」「2」「1」「スタート」なる文字を含んだ画面を表示させる。CPU10は、これをもってレース準備処理を終了し、メイン処理に復帰する。
【0046】
CPU10は、レース準備処理を終了した後は、ステップS110においてプレイヤ車がゴールしたと判定するまで、1フレーム時間ごとに、ステップS102からステップS112までの処理を行う。ステップS102からステップS109までの処理により、プレイヤ車の位置および姿勢が更新され、ステップS111の処理により、敵車の位置および姿勢が更新される。ステップS112では、プレイヤ車と敵車と背景とが画面に表示される。各ステップの詳細は、以下のとおりである。
【0047】
CPU10は、転倒フラグがオン(転倒状態)であるか否かを調べる(ステップS102)。転倒フラグがオフである場合には、CPU10は、コントローラ2からの操作入力に基づき車体データを更新する操作制御処理を実行する(ステップS103)。これに対し、転倒フラグがオンである場合には、CPU10は、操作制御処理を実行しない。したがって、プレイヤ車が転倒していないときは、ゲーム機は操作入力を受け付けるが、プレイヤ車が転倒しているときは、ゲーム機は操作入力を受け付けずに無視する。すなわち、後者の場合、ゲーム機は、コントローラ2からの操作入力の受け付けを抑止する。
【0048】
図8は、操作制御処理(ステップS103)の詳細を示すフローチャートである。上述したように、このレースゲームでは、ジョイスティック6、Aボタン7およびBボタン8が、それぞれ、プレイヤ車のハンドル、アクセルおよびブレーキに対応づけられている。操作制御処理では、CPU10は、コントローラ2から出力された操作入力を受け付ける(ステップS301)。次に、CPU10は、ジョイスティック6からの入力があるか否かを調べる(ステップS302)。ジョイスティック6からの入力がある場合には、CPU10は、これに応じて車体データの姿勢マトリクスPoseを更新する(ステップS303)。より詳細には、CPU10は、ジョイスティック6がどの方向に倒されたかに応じて、姿勢マトリクスPoseに含まれている3本のベクトルPoseX、PoseYおよびPoseZを更新する。
【0049】
次に、CPU10は、Aボタンが押されたか否かを調べる(ステップS304)。Aボタンが押された場合には、CPU10は、プレイヤ車の進行方向について、車体データの加速度Aを増加させる(ステップS305)。次に、CPU10は、Bボタンが押されたか否かを調べる(ステップS306)。Bボタンが押された場合には、CPU10は、プレイヤ車の進行方向について、車体データの加速度Aを減少させる。なお、姿勢マトリクスPoseに含まれているベクトルPoseZの方向は、プレイヤ車の進行方向に一致している。したがって、CPU10は、ステップS305ではPoseZ方向について加速度Aを増加させ、ステップS307ではPoseZ方向について加速度Aを減少させればよい。CPU10は、これをもって操作制御処理を終了し、メイン処理に復帰する。
【0050】
CPU10は、操作制御処理を終了した後に、プレイヤ車に加わる外力に基づいて、車体データの姿勢変化量dPoseを更新する(ステップS104)。この処理では、例えば、地面から受ける力や車体の慣性などに基づき、車体データの姿勢変化量dPoseが更新される。なお、この処理は、プレイヤ車の姿勢変化が違和感なくゲーム画像に表現されれば十分であるので、実際に外力が計算される必要はなく、また、現実世界の物理法則に則って厳密に計算される必要もない(もちろん、現実世界の物理法則に則って計算してもよい)。外力の原因となる要素(地面の法線方向や地面の摩擦係数、プレイヤ車の速度等)とそれから生じるプレイヤ車の姿勢変化の対応関係が、違和感のないものであればよい。
【0051】
次に、CPU10は、転倒判定処理を行い(ステップS105)、その後に、転倒フラグがオンであるか否かを再び調べる(ステップS106)。転倒フラグがオンである場合には、CPU10は、転倒処理を実行する(ステップS107)。これに対して、転倒フラグがオフである場合には、CPU10は、転倒処理を実行しない。転倒判定処理および転倒処理の詳細は、後述する。
【0052】
次に、CPU10は、移動制御処理(ステップS108)および姿勢制御処理(ステップS109)を実行する。移動制御処理では、CPU10は、車体データの速度Vおよび加速度Aに基づき、車体データの車***置Pを更新する。姿勢制御処理では、CPU10は、車体データの姿勢変化量dPoseに基づき、次式(1)に従って姿勢変化マトリクスMdPoseを生成し、これに基づき、次式(2)に従って車体データの姿勢マトリクスPoseを更新した後、姿勢マトリクスPoseを正規化する。
【数1】
Figure 0003731879
【0053】
次に、CPU10は、プレイヤ車がゴールしたか否かを判定する(ステップS110)。プレイヤ車がゴールした場合には、CPU10は、ステップS113へ進む。この場合、CPU10は、レース結果などを表したゴール画像を表示させ(ステップS113)、1回のレースゲームの処理を終了する。
【0054】
これに対し、プレイヤ車がゴールしていない場合には、CPU10は、ステップS111へ進む。この場合、CPU10は、敵車制御アルゴリズムに基づき、敵車の位置および姿勢を更新する(ステップS111)。次に、CPU10は、プレイヤ車と敵車と背景とを含んだ、レースの様子を表す画面を表示させる(ステップS112)。この際、プレイヤ車を画面に表示するときには、移動制御処理(ステップS108)によって定められたプレイヤ車の位置と、姿勢制御処理(ステップS109)によって定められたプレイヤ車の姿勢とが参照される。CPU10は、レースの様子を表す画面を表示した後、ステップS102に戻る。その後、CPU10は、ステップS110においてプレイヤ車がゴールしたと判断するまで、ステップS102からS112までの処理を繰り返し実行する。これにより、プレイヤ車がゴールするまでの間、レースの様子を表す画面が次々と表示される。
【0055】
図9は、転倒判定処理(ステップS105)の詳細を示すフローチャートである。転倒判定処理では、プレイヤ車が所定の状態になったときに、プレイヤ車を転倒させる旨の判定が行われる。転倒判定処理では、CPU10は、姿勢マトリクスPoseに基づき、絶対ロール値R1および地面に対するロール値R2を計算する(ステップS401)。ここで、絶対ロール値R1とは、ワールド座標系の水平面とプレイヤ車のX軸とが成す角度をいい、次式(3)によって算出される。
【数2】
Figure 0003731879
地面に対するロール値R2とは、プレイヤ車が位置する地点の地面の角度と絶対ロール値R1との差をいう。絶対ロール値R1が大きいほど、あるいは、地面に対するロール値R2が大きいほど、プレイヤ車は、水平面から大きく傾き、転倒しやすいものとして扱われる。
【0056】
次に、CPU10は、絶対ロール値R1と第1の所定値C1とを比較する(ステップS402)。CPU10は、絶対ロール値R1の絶対値が第1の所定値C1より大きい場合には、ステップS404へ進む。それ以外の場合、CPU10は、地面に対するロール値R2の絶対値が第2の所定値C2より大きく、かつ、姿勢変化量dPoseのZ成分dPosezが第3の所定値C3より大きいか否かを判断する(ステップS403)。CPU10は、ステップS403における2つの条件がともに成立している場合には、ステップS404へ進む。
【0057】
CPU10は、ステップS402またはステップS403においてYesと判断した場合には、転倒フラグをオンに設定する(ステップS404)。次に、CPU10は、現在の姿勢マトリクスPoseのZ成分PoseZを、転倒前の値PPoseZとして記憶する(ステップS405)。転倒前の値PPoseZは、後述する転倒処理のステップS523で参照される。次に、CPU10は、転倒処理で必要とされる2種類の時間T1およびT2を設定する(ステップS406)。このうち強制転倒時間T1は、プレイヤ車に外力を加えて強制的に回転させる時間を表し、非強制転倒時間T2は、強制転倒時間T1が経過した後、プレイヤ車に外力を加えないで慣性で回転させる時間を表す。なお、T1およびT2は、例えば、ゲーム画像上自然な転倒になるように適切な値(固定値)が設定される(適切な関数が設定されてもよい)。CPU10は、これをもって転倒判定処理を終了し、メイン処理へ復帰する。
【0058】
このように、転倒判定処理では、プレイヤ車が所定より傾いている場合には、転倒フラグがオンに設定され、転倒前の値PPoseZが記憶され、転倒処理時間T1およびT2が設定される。プレイヤ車が所定より傾いていない場合には、これらの処理は行われず、転倒フラグおよび転倒前の値PPoseZは以前の値を保持する。
【0059】
図10は、転倒処理(ステップS107)の詳細を示すフローチャートである。転倒処理では、プレイヤ車を転倒すべき旨の判定がなされてからの経過時間によって、1)強制転倒時間T1が経過するまで、2)強制転倒時間T1が経過した後、非強制転倒時間T2が経過するまで、3)非強制転倒時間T2が経過した後の3つの場合に分けて処理が行われる。上記3つの場合を、順に第1、第2および第3の場合と呼び、その詳細を説明する。
【0060】
転倒処理では、CPU10は、ステップS501およびステップS502において、上記の3つの場合分けを行う。すなわち、CPU10は、強制転倒時間T1が経過したか否かを判断し(ステップS501)、強制転倒時間T1が経過していればステップS502へ、経過していなければステップS511へ進む。前者の場合、CPU10は、非強制転倒時間T2が経過したか否かを判断し(ステップS502)、非強制転倒時間T2が経過していればステップS521へ進む。それ以外の場合(ステップS502のNo)、すなわち、上記第2の場合には、CPU10は、何ら処理を行うことなく転倒処理を終了し、メイン処理へ復帰する。したがって、強制転倒時間T1が経過した後、非強制転倒時間T2が経過するまでの間に画面表示を行うときには、ステップS104で更新された車体データの姿勢変化量dPoseの値が、そのまま姿勢制御処理(ステップS109)において利用される。
【0061】
これに対して、上記第1の場合(ステップS501のNo)には、CPU10は、転倒の方向がプラス方向かマイナス方向かを判断する(ステップS511)。具体的に言うと、絶対ロール値R1または地面に対するロール値R2が正の場合は、転倒方向はプラス方向であり、これらの値が負の場合は、転倒方向はマイナス方向である。転倒の方向がプラス方向である場合には、CPU10は、姿勢変化量dPoseのZ成分dPosezに所定値を加算する(ステップS512)。また、転倒の方向がマイナス方向である場合には、CPU10は、姿勢変化量dPoseのZ成分dPosezから所定値を減算する(ステップS513)。このように、上記第1の場合には、姿勢変化量dPoseのZ成分dPosezに所定値が加算または減算されることにより、車体座標系のZ軸まわりに強制的に回転(転倒)させるための姿勢変化が設定される。
【0062】
また、上記第3の場合(ステップS502のYes)には、CPU10は、姿勢変化量dPoseの3つの要素をすべて0にクリアする(ステップS521)。これにより、メイン処理のステップS104で更新された姿勢変化量dPoseは、メイン処理のステップS109における姿勢マトリクスPoseの更新に反映されなくなる。すなわち、dPoseは0となるので、ステップS109の姿勢制御処理において姿勢マトリクスは変化しない。その代わりに、ステップS522、S523およびS524において、姿勢マトリクスを変化させる処理が行われる。ステップS521の後、CPU10は、姿勢マトリクスPoseのY成分PoseYを、プレイヤ車が位置する地点の地面の法線ベクトルNに徐々に近づける処理を行う(ステップS522)。より詳細には、CPU10は、次式(4)に従ってベクトルPoseYを求め、求めたベクトルを正規化する。
【数3】
Figure 0003731879
なお、上式(4)において、Nx、NyおよびNzは、それぞれ、地面の法線ベクトルのX成分、Y成分およびZ成分をワールド座標系を用いて表したものであり、変数tは、0から1までのうちの適当な値が設定される定数である。tの値が大きい(1に近い)ほど、姿勢マトリクスPoseのY成分PoseYは、早く法線ベクトルNに近づく。
【0063】
次に、CPU10は、姿勢マトリクスPoseのZ成分PoseZを、転倒判定処理のステップS405で記憶させた転倒前の値PPoseZに徐々に近づける処理を行う(ステップS523)。より詳細には、CPU10は、次式(5)に従ってベクトルPoseZを求め、求めたベクトルを正規化する。
【数4】
Figure 0003731879
なお、上式(5)における変数tは、上述した式(4)における変数tと同じものである。
【0064】
次に、CPU10は、2本のベクトルPoseZとPoseYとの外積を求め、これをベクトルPoseXとする(ステップS524)。ベクトルPoseYとPoseZとは直交し、かつ、いずれも正規化されているので、求めたベクトルPoseXは、正規化されたベクトルとなる。
【0065】
次に、CPU10は、姿勢マトリクスPoseのY成分PoseYが、地面の法線ベクトルNに所定より近いか否かを判断する(ステップS525)。次に、CPU10は、姿勢マトリクスPoseのZ成分PoseZが、転倒前の値PPoseZに所定より近いか否かを判断する(ステップS526)。ステップS525の条件とステップS526の条件がともに成立した場合には、CPU10は、転倒フラグをオフに設定する(ステップS527)。それ以外の場合には、CPU10は、何ら処理を行わない。したがって、後者の場合、転倒フラグは、以前の値を保持する。CPU10は、これをもって転倒処理を終了し、メイン処理へ復帰する。
【0066】
図6ないし図10に示すゲーム処理をまとめると、以下のようになる。すなわち、このレースゲームでは、転倒判定処理(ステップS105)において、プレイヤオブジェクトであるプレイヤ車が所定の姿勢となったときに、転倒フラグがオンに設定される(ステップS404)。転倒フラグがオンになった後、強制転倒時間T1が経過するまでの間は(転倒処理の第1の場合)、プレイヤ車は、転倒の要因となる外力を受け(ステップS512およびS513)、強制的に転倒させられる。強制転倒時間T1が経過し、その後に非強制転倒時間T2が経過するまでの間は(転倒処理の第2の場合)、プレイヤ車は、転倒の要因となる外力を受けずに、慣性によって転倒状態を維持する。さらに、非強制転倒時間T2が経過した後は(転倒処理の第3の場合)、プレイヤ車の高さ方向はプレイヤ車が位置する地点の地面の法線方向に、プレイヤ車の進行方向は転倒前の進行方向に徐々に近づくように制御され(ステップS522およびステップS523)、それぞれの差が所定の範囲内となったときに、転倒フラグはオフに設定される(ステップS527)。また、転倒フラグがオンである間は、操作制御処理(ステップS103)は実行されないため、コントローラ2からの操作入力は受け付けられない。
【0067】
図11は、上記ゲーム処理により、プレイヤ車が転倒する様子を示す図である。図11(a)は、プレイヤ車が転倒させられた後、走行可能な状態に復帰させられるまでの時間を、時間軸上に示したものである。この例では、プレイヤ車は、時刻Aで転倒させられ、時刻Lで走行可能な状態に復帰させられている。また、時刻Aから強制転倒時間T1だけ経過した時刻を時刻H、時刻Hからさらに非強制転倒時間T2だけ経過した時刻を時刻Jとする。
【0068】
図11(b)は、図11(a)に示す時刻Aから時刻Lにおいて、画面に表示されるプレイヤ車の姿勢を示す図である。時刻Aから時刻Hまでの間は、プレイヤ車は、転倒の要因となる外力を受け、強制的に転倒させられる。これにより、この間、図11(b)に示す姿勢A、姿勢B、…、姿勢Hのプレイヤ車が、画面に順に表示される。次に、時刻Hから時刻Jまでの間は、プレイヤ車は、転倒の要因となる外力を受けずに、慣性によって転倒状態を維持する。これにより、この間、図11(b)に示す姿勢H、姿勢Iおよび姿勢Jのプレイヤ車が、画面に順に表示される。次に、時刻Jから時刻Lまでの間は、プレイヤ車の高さ方向はプレイヤ車が位置する地点の地面の法線方向に、プレイヤ車の進行方向は転倒前の進行方向に徐々に近づくように制御される。これにより、図11(b)に示す姿勢J、姿勢Kおよび姿勢Lのプレイヤ車が、画面に順に表示される。転倒終了と判断される時刻Lでは、プレイヤ車の高さ方向はプレイヤ車が位置する地点の地面の法線方向にほぼ一致し、プレイヤ車の進行方向は転倒前の進行方向にほぼ一致している。
【0069】
以上に示すように、第1実施形態に係るゲーム機は、プレイヤオブジェクトであるプレイヤ車が所定の姿勢となったときに、プレイヤ車を転倒させる処理を行い、所定の時間経過後、プレイヤ車を走行可能な状態に復帰させる。これにより、プレイヤ車が転倒した後にゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続する。したがって、ゲームをスムーズに再開でき、プレイヤのゲームに対する没入度を高めることができる。
【0070】
また、プレイヤ車が転倒している間、ゲーム機は、コントローラからの操作入力を受け付けないので、プレイヤ車の姿勢を容易に自動的に制御することができる。また、ゲーム機は、プレイヤ車の高さ方向を地面の法線ベクトルに近づけることにより、プレイヤ車を走行可能な状態に復帰させるので、プレイヤ車をゲーム再開可能な状態に復帰させるときの画像表示が自然なものとなる。また、ゲーム機は、プレイヤ車の進行方向を転倒前の進行方向に近づけることにより、プレイヤ車を走行可能な状態に復帰させるので、プレイヤは進行方向を見失うことがなく、混乱なくゲームを行うことができる。また、ゲーム機は、第1の所定時間だけ転倒の要因となる外力をプレイヤ車に加えてプレイヤ車を強制的に転倒させ、その後に第2の所定時間だけ転倒の要因となる外力を加えずにプレイヤ車を慣性で回転させるので、プレイヤ車を転倒させるときの画像表示が自然なものとなる。
【0071】
次に、図12ないし図15を参照して、第2実施形態に係るゲーム機の動作を詳細に説明する。第2実施形態は、プレイヤ車が所定の状態になったときにスピン処理を行うゲームについての実施形態である。第2実施形態では、プレイヤ車がスピンしているか否かを示すスピンフラグが使用される。なお、第1実施形態と共通する部分については説明を省略する。
【0072】
図12は、第2実施形態のメイン処理のうち、第1実施形態のメイン処理(図6)と異なる箇所についてのフローチャートである。図13は、第2実施形態のレース準備処理のうち、第1実施形態のレース準備処理(図7)と異なる箇所についてのフローチャートである。第2実施形態のレース準備処理では、CPU10は、ステップS202(図7)でYesと判定した後、ステップS253において、車体データの初期化およびスピンフラグをオフにする処理を行う。その後、CPU10は、ステップS204(図7)に進む(以上、図13を参照)。
【0073】
第2実施形態のメイン処理では、CPU10は、ステップS101(図6)の後、ステップS152において、スピンフラグがオン(スピン状態)であるか否かを調べる。その後、CPU10は、スピンフラグがオンである場合はステップS104(図6)に、オフである場合はステップS103(図6)に進む(以上、図12(a)を参照)。また、CPU10は、ステップS104(図6)の後、ステップS155において、後述するスピン判定処理を行う。その後、CPU10は、スピンフラグがオンであるか否かを判定する(ステップS156)。スピンフラグがオンである場合には、CPU10は、後述するスピン処理(ステップS157)を行った後、ステップS108(図6)に進む。スピンフラグがオフである場合には、CPU10は、スピン処理を行うことなく、ステップS108(図6)に進む(以上、図12(b)を参照)。
【0074】
図14は、スピン判定処理(ステップS155)の詳細を示すフローチャートである。スピン判定処理では、CPU10は、まず、ステップS601において、コーナーでオーバースピードであるか否かを判定する。オーバースピードでないと判定した場合には、CPU10は、ステップS602〜S604の処理を行うことなく、スピン判定処理を終了し、メイン処理に復帰する。これに対し、オーバースピードであると判定した場合には、CPU10は、ステップS602に進む。この場合、CPU10は、スピンフラグをオンに設定し(ステップS602)、現在の姿勢マトリクスのZ成分PoseZをスピン前の値PPoseZSとして記憶し(ステップS603)、スピン処理時間T1およびT2を設定する(ステップS604)。その後、CPU10は、スピン判定処理を終了し、メイン処理に復帰する。
【0075】
図15は、スピン処理(ステップS157)の詳細を示すフローチャートである。以下、第1実施形態の転倒処理(図10)と異なる箇所について説明する。スピン処理においても、プレイヤ車をスピンさせるべき旨の判定がなされてからの経過時間によって、1)強制スピン時間T1が経過するまで、2)強制スピン時間T1が経過した後、非強制スピン時間T2が経過するまで、3)非強制スピン時間T2が経過した後の3つの場合に分けて処理が行われる。上記3つの場合を、順に第1、第2および第3の場合と呼ぶ。
【0076】
上記第1の場合(ステップS701のNo)、CPU10は、ステップS711において、スピンの方向を決定する。スピンの方向がプラス方向である場合には、CPU10は、姿勢変化量dPoseのY成分dPoseyに所定値を加算する(ステップS712)。また、スピンの方向がマイナス方向である場合には、CPU10は、姿勢変化量dPoseのY成分dPoseyから所定値を減算する(ステップS713)。このように、姿勢変化量dPoseのY成分dPoseyに所定値が加算または減算されることにより、車体座標系のY軸まわりに強制的に回転(スピン)させるための姿勢変化が設定される。
【0077】
上記第2の場合(ステップS702のNo)、CPU10は、何ら処理を行うことなくスピン処理を終了し、メイン処理へ復帰する。
【0078】
上記第3の場合(ステップS702のYes)、CPU10は、姿勢変化量dPoseをクリアし(ステップS721)、姿勢マトリクスPoseのZ成分PoseZを、スピン判定処理のステップS603で記憶させたスピン前の値PPoseZSに徐々に近づける処理を行い(ステップS722)、ベクトルPoseXを求める(ステップS723)。次に、CPU10は、姿勢マトリクスPoseのZ成分PoseZが、スピン前の値PPoseZSに所定より近い場合には(ステップS724のYes)、スピンフラグをオフに設定する(ステップS725)。
【0079】
以上に示すように、第2実施形態に係るゲーム機は、プレイヤオブジェクトであるプレイヤ車が所定の姿勢となったときに、プレイヤ車をスピンさせる処理を行い、所定の時間経過後、プレイヤ車の進行方向をスピン前の状態に復帰させる。これにより、プレイヤ車がスピンした後にゲームをスムーズに再開でき、プレイヤのゲームに対する没入度を高めることができる。
【0080】
なお、以上の説明では、プレイヤオブジェクトがプレイヤ車であるレースゲームについて述べたが、プレイヤに対応したプレイヤオブジェクトが現れるゲームであれば、ゲームの種類は任意でよい。
【0081】
また、レースゲームのプログラムを記録したDVD−ROM3をゲーム機本体1に装着することとしたが、これに代えて、プログラムを記録したメモリを内蔵したカセットをゲーム機本体1に装着することとしてもよい。あるいは、プログラムを記録したメモリを予めゲーム機本体1に内蔵しておいてもよい。あるいは、プログラムを、インターネットなどを用いてゲーム機本体1にダウンロードすることとしてもよい。
【0082】
また、ゲーム機は画像表示部および音声出力部を備えず、画像および音声はテレビから出力されるとしたが、これに代えて、ゲーム機が、液晶画面や内蔵スピーカなどを備えることとしてもよい。また、コントローラ2はゲーム機本体1に着脱可能に構成されていることとしたが、これに代えて、ゲーム機本体1の筐体に押しボタンを設けるなどの方法により、コントローラ2をゲーム機本体1と一体に構成してもよい。
【図面の簡単な説明】
【図1】本発明の実施形態に係るゲーム機を含んだゲームシステムの外観図である。
【図2】本発明の実施形態に係るゲーム機のハードウェア構成を示すブロック図である。
【図3】本発明の実施形態に係るゲーム機による表示画面の一例を示す図である。
【図4】本発明の実施形態に係るゲーム機における車体データの構成を示す図である。
【図5】本発明の実施形態に係るゲーム機における車体座標系を示す図である。
【図6】本発明の第1実施形態に係るゲーム機のメイン処理のフローチャートである。
【図7】本発明の第1実施形態に係るゲーム機のレース準備処理のフローチャートである。
【図8】本発明の第1実施形態に係るゲーム機の操作制御処理のフローチャートである。
【図9】本発明の第1実施形態に係るゲーム機の転倒判定処理のフローチャートである。
【図10】本発明の第1実施形態に係るゲーム機の転倒処理のフローチャートである。
【図11】本発明の第1実施形態に係るゲーム機において、プレイヤ車が転倒する様子を示す図である。
【図12】本発明の第2実施形態に係るゲーム機のメイン処理のフローチャートである。
【図13】本発明の第2実施形態に係るゲーム機のレース準備処理のフローチャートである。
【図14】本発明の第2実施形態に係るゲーム機のスピン判定処理のフローチャートである。
【図15】本発明の第2実施形態に係るゲーム機のスピン処理のフローチャートである。
【符号の説明】
1…ゲーム機本体
2…コントローラ
3…DVD−ROM
4…メモリカード
5…テレビ
6…ジョイスティック
7…Aボタン
8…Bボタン
9…スタートボタン
10…CPU

Claims (18)

  1. プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行するゲーム機であって、
    前記プレイヤオブジェクトの姿勢を定める姿勢制御手段と、
    前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定手段と、
    前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶手段と、
    前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記プレイヤオブジェクトを転倒させる処理を行う転倒処理手段と、
    前記転倒処理手段によって転倒させられた状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、前記プレイヤオブジェクトの進行方向が前記進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトをゲーム再開可能な状態に復帰させる転倒復帰手段とを備えた、ゲーム機。
  2. プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行するゲーム機であって、
    仮想的なゲーム世界における仮想的な第1外力に基いて、前記プレイヤオブジェクトの姿勢を変化させる姿勢制御手段と、
    前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定手段と、
    前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記第1外力とは異なる外力であって転倒の要因となる第2外力を加え続けて回転させ続けることによって前記プレイヤオブジェクトを転倒させる処理を行う第1の転倒処理手段と、
    前記第1の転倒処理手段による前記転倒させる処理に続いて、仮想的なゲーム世界における仮想的な前記第1外力に基いて、転倒状態にある前記プレイヤオブジェクトの姿勢を変化させ続ける第2の転倒処理手段と、
    前記第2の転倒処理手段による処理に続いて、転倒状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける転倒復帰手段とを備えた、ゲーム機。
  3. 前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶手段をさらに備え、
    前記転倒復帰手段は、前記プレイヤオブジェクトの進行方向が前記進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、前記プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける、請求項2に記載のゲーム機。
  4. 前記第1の転倒処理手段は、前記プレイヤオブジェクトに前記第2外力を加えて回転させるとともに、前記第1外力に基いて姿勢を変化させる、請求項2に記載のゲーム機。
  5. 前記転倒復帰手段は、前記第1外力を前記プレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトの姿勢を正立状態に徐々に近づける、請求項2に記載のゲーム機。
  6. 前記プレイヤによって操作される操作手段と、
    前記操作手段から入力された操作入力に基づき、前記プレイヤオブジェクトの状態を制御する操作制御手段とをさらに備え、
    前記操作制御手段は、前記プレイヤオブジェクトが前記転倒処理手段によって転倒させられた後、前記転倒復帰手段によってゲーム再開可能な状態に復帰させられるまでの間、前記操作入力の受け付けを抑止することを特徴とする、請求項1または2に記載のゲーム機。
  7. 前記転倒復帰手段は、転倒した前記プレイヤオブジェクトの高さ方向を、前記プレイヤオブジェクトが位置する地点の地面の法線方向に近づけるように、転倒した前記プレイヤオブジェクトの姿勢を制御することを特徴とする、請求項1または2に記載のゲーム機。
  8. 前記転倒復帰手段は、前記高さ方向を前記法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、前記高さ方向と前記法線方向との差が所定範囲内となったときに、転倒した前記プレイヤオブジェクトの姿勢を制御する処理を終了することを特徴とする、請求項7に記載のゲーム機。
  9. 前記プレイヤオブジェクトは、レース車であり、
    前記ゲームは、前記仮想空間内の所定のコースに従って前記レース車を走行させるレースゲームである、請求項1または2に記載のゲーム機。
  10. ゲーム機に、プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行させるためのゲームプログラムであって、前記ゲーム機に、
    前記プレイヤオブジェクトの姿勢を定める姿勢制御ステップと、
    前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定ステップと、
    前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶ステップと、
    前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記プレイヤオブジェクトを転倒させる処理を行う転倒処理ステップと、
    前記転倒処理ステップにおいて転倒させられた状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、前記プレイヤオブジェクトの進行方向が前記進行方向記憶ステップにおいて記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトをゲーム再開可能な状態に復帰させる転倒復帰ステップとを実行させる、ゲームプログラム。
  11. ゲーム機に、プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行させるためのゲームプログラムであって、前記ゲーム機に、
    仮想的なゲーム世界における仮想的な第1外力に基いて、前記プレイヤオブジェクトの姿勢を変化させる姿勢制御ステップと、
    前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定ステップと、
    前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記第1外力とは異なる外力であって転倒の要因となる第2外力を加えて回転させることによって前記プレイヤオブジェクトを転倒させる処理を行う第1の転倒処理ステップと、
    前記第1の転倒処理ステップにおける前記転倒させる処理に続いて、仮想的なゲーム世界における仮想的な前記第1外力に基いて回転させることによって、転倒状態にある前記プレイヤオブジェクトの姿勢を変化させ続ける第2の転倒処理ステップと、
    前記第2の転倒処理ステップにおける処理に続いて、転倒状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々 に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける転倒復帰ステップとを実行させる、ゲームプログラム。
  12. 前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶ステップをさらに前記ゲーム機に実行させ、
    前記転倒復帰ステップにおいては、前記ゲーム機は、前記プレイヤオブジェクトの進行方向が前記進行方向記憶において記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、前記プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける、請求項11に記載のゲームプログラム。
  13. 前記転倒復帰ステップにおいては、前記ゲーム機は、前記第1外力を前記プレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトの姿勢を正立状態に徐々に近づける、請求項11に記載のゲームプログラム。
  14. 前記第1の転倒処理ステップは、前記プレイヤオブジェクトに前記第2外力を加えて回転させるとともに、前記第1外力に基いて姿勢を変化させるステップを含む、請求項11に記載のゲームプログラム。
  15. 前記プレイヤによって操作される操作部から操作入力を受け取る操作入力ステップと、
    前記操作入力ステップで受け取った操作入力に基づき、前記プレイヤオブジェクトの状態を制御する操作制御ステップとをさらに備え、
    前記操作制御ステップは、前記プレイヤオブジェクトが前記転倒処理ステップにおいて転倒させられた後、前記転倒復帰ステップにおいてゲーム再開可能な状態に復帰させられるまでの間、前記操作入力の受け付けを抑止することを特徴とする、請求項10または11に記載のゲームプログラム。
  16. 前記転倒復帰ステップは、転倒した前記プレイヤオブジェクトの高さ方向を、前記プレイヤオブジェクトが位置する地点の地面の法線方向に近づけるように、転倒した前記プレイヤオブジェクトの姿勢を制御することを特徴とする、請求項10または11に記載のゲームプログラム。
  17. 前記転倒復帰ステップは、前記高さ方向を前記法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、前記高さ方向と前記法線方向との差が所定範囲内となったときに、転倒した前記プレイヤオブジェクトの姿勢を制御する処理を終了することを特徴とする、請求項16に記載のゲームプログラム。
  18. 前記プレイヤオブジェクトは、レース車であり、
    前記ゲームは、前記仮想空間内の所定のコースに従って前記レース車を走行させるレースゲームである、請求項10または11に記載のゲームプログラム。
JP2002134533A 2002-05-09 2002-05-09 ゲーム機およびゲームプログラム Expired - Lifetime JP3731879B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002134533A JP3731879B2 (ja) 2002-05-09 2002-05-09 ゲーム機およびゲームプログラム
US10/408,113 US8360879B2 (en) 2002-05-09 2003-04-08 Game machine and game program for overturning or spinning a player object on a display screen
GB0308862A GB2388328A (en) 2002-05-09 2003-04-16 Car overturn process in a racing game
DE10320678A DE10320678A1 (de) 2002-05-09 2003-05-08 Spielmaschine und Spielprogramm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002134533A JP3731879B2 (ja) 2002-05-09 2002-05-09 ゲーム機およびゲームプログラム

Publications (2)

Publication Number Publication Date
JP2003325968A JP2003325968A (ja) 2003-11-18
JP3731879B2 true JP3731879B2 (ja) 2006-01-05

Family

ID=19194436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002134533A Expired - Lifetime JP3731879B2 (ja) 2002-05-09 2002-05-09 ゲーム機およびゲームプログラム

Country Status (4)

Country Link
US (1) US8360879B2 (ja)
JP (1) JP3731879B2 (ja)
DE (1) DE10320678A1 (ja)
GB (1) GB2388328A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200604846A (en) * 2004-07-23 2006-02-01 Hon Hai Prec Ind Co Ltd System and method for displaying media player information
US20100255909A1 (en) * 2009-03-20 2010-10-07 Mcnamara Brendan Systems and Methods for Managing Virtual Objectives in a Video Game
US10758825B2 (en) * 2017-10-31 2020-09-01 King.Com Ltd. Controlling a user interface of a computer device
US12005359B2 (en) 2017-10-31 2024-06-11 King.Com Ltd. Controlling a user interface of a computer device
CN109091865A (zh) * 2018-08-02 2018-12-28 苏州蜗牛数字科技股份有限公司 虚拟角色转向同步方法、存储设备及游戏终端
CN109925713B (zh) * 2019-02-28 2020-11-03 腾讯科技(深圳)有限公司 对象控制方法和装置、存储介质及电子装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW273519B (en) * 1995-09-12 1996-04-01 Konami Co Ltd Driving game machine
US5959613A (en) * 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
CN1171649C (zh) 1996-05-02 2004-10-20 世雅企业股份有限公司 游戏装置及其处理方法
JP3273729B2 (ja) * 1996-06-07 2002-04-15 コナミ株式会社 ドライビングゲーム機
US5921780A (en) * 1996-06-28 1999-07-13 Myers; Nicole J. Racecar simulator and driver training system and method
JP3747449B2 (ja) * 1996-07-25 2006-02-22 株式会社セガ ゲームの処理方法、ゲーム装置、画像処理装置及び画像処理方法並びに記録媒体
TW394702B (en) * 1996-10-09 2000-06-21 Sega Enterprises Kk Player, solution and play implementation and play system
US6368111B2 (en) * 1997-06-24 2002-04-09 Juan Legarda System and method for interactively simulating and discouraging drug use
JP3280296B2 (ja) 1997-11-05 2002-04-30 株式会社ナムコ シミュレータ、画像生成装置及び情報記憶媒体
JPH11207029A (ja) 1998-01-28 1999-08-03 Konami Co Ltd ビデオゲーム装置、ビデオゲームにおける画面表示方法及び画面表示プログラムが格納された可読記録媒体
JP2000005447A (ja) 1998-06-26 2000-01-11 Taito Corp 空中戦の格闘を行うことができるゲーム機
JP4030209B2 (ja) * 1998-12-09 2008-01-09 株式会社バンダイナムコゲームス ゲーム装置および情報記憶媒体
JP2001038049A (ja) 1999-07-30 2001-02-13 Sega Corp ゲーム装置

Also Published As

Publication number Publication date
GB0308862D0 (en) 2003-05-21
GB2388328A (en) 2003-11-12
US8360879B2 (en) 2013-01-29
JP2003325968A (ja) 2003-11-18
US20030211887A1 (en) 2003-11-13
DE10320678A1 (de) 2004-01-08

Similar Documents

Publication Publication Date Title
US7198568B2 (en) Game machine and game program for changing the movement of one character based on the movement of another character
JP5507893B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006068027A (ja) ゲーム装置およびゲームプログラム
US20100279770A1 (en) Computer, program, and storage medium
JP2005505357A (ja) ゲーム環境におけるキャラクタによりゲーム情報を提供するための方法
JP2006318136A (ja) 画像処理プログラムおよび画像処理装置
JP2004321362A (ja) ゲーム装置およびゲームプログラム
JP2007200011A (ja) 画像処理プログラムおよび画像処理装置
JP3731879B2 (ja) ゲーム機およびゲームプログラム
JP3786670B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009213559A (ja) ゲーム装置
JP3583995B2 (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法
JP2001259219A (ja) エンタテインメント装置、記憶媒体およびパラメータ設定方法
JP4258841B2 (ja) 画像表示プログラムおよび情報処理装置
JP3640384B2 (ja) ビデオゲームシステムおよびビデオゲーム用記憶媒体
JP4560692B2 (ja) ゲーム装置および画像処理方法
JP5054908B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4473688B2 (ja) ゲームプログラムおよびゲーム装置
JP4143590B2 (ja) 3次元画像処理装置、ゲーム装置、3次元画像処理プログラムおよびゲームプログラム
JP5377868B2 (ja) プログラム、情報記憶媒体、およびゲームシステム
JP3797607B2 (ja) ゲーム装置およびゲームプログラム
JP3583994B2 (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法
JP7496012B2 (ja) ゲームプログラム、情報処理システム、情報処理装置、および情報処理方法
JP5377867B2 (ja) プログラム、情報記憶媒体、およびゲームシステム
JP7462585B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050425

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20050425

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20050510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050914

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: 20051007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051007

R150 Certificate of patent or registration of utility model

Ref document number: 3731879

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: 20081021

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term