(57)【特許請求の範囲】
【請求項１】
プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行するゲーム機であって、
前記プレイヤオブジェクトの姿勢を定める姿勢制御手段と、
前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定手段と、
前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶手段と、
前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記プレイヤオブジェクトを転倒させる処理を行う転倒処理手段と、
前記転倒処理手段によって転倒させられた状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、前記プレイヤオブジェクトの進行方向が前記進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトをゲーム再開可能な状態に復帰させる転倒復帰手段とを備えた、ゲーム機。
【請求項２】
プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行するゲーム機であって、
仮想的なゲーム世界における仮想的な第１外力に基いて、前記プレイヤオブジェクトの姿勢を変化させる姿勢制御手段と、
前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定手段と、
前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記第１外力とは異なる外力であって転倒の要因となる第２外力を加え続けて回転させ続けることによって前記プレイヤオブジェクトを転倒させる処理を行う第１の転倒処理手段と、
前記第１の転倒処理手段による前記転倒させる処理に続いて、仮想的なゲーム世界における仮想的な前記第１外力に基いて、転倒状態にある前記プレイヤオブジェクトの姿勢を変化させ続ける第２の転倒処理手段と、
前記第２の転倒処理手段による処理に続いて、転倒状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける転倒復帰手段とを備えた、ゲーム機。
【請求項３】
前記転倒判定手段において前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶手段をさらに備え、
前記転倒復帰手段は、前記プレイヤオブジェクトの進行方向が前記進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、前記プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける、請求項２に記載のゲーム機。
【請求項４】
前記第１の転倒処理手段は、前記プレイヤオブジェクトに前記第２外力を加えて回転させるとともに、前記第１外力に基いて姿勢を変化させる、請求項２に記載のゲーム機。
【請求項５】
前記転倒復帰手段は、前記第１外力を前記プレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトの姿勢を正立状態に徐々に近づける、請求項２に記載のゲーム機。
【請求項６】
前記プレイヤによって操作される操作手段と、
前記操作手段から入力された操作入力に基づき、前記プレイヤオブジェクトの状態を制御する操作制御手段とをさらに備え、
前記操作制御手段は、前記プレイヤオブジェクトが前記転倒処理手段によって転倒させられた後、前記転倒復帰手段によってゲーム再開可能な状態に復帰させられるまでの間、前記操作入力の受け付けを抑止することを特徴とする、請求項１または２に記載のゲーム機。
【請求項７】
前記転倒復帰手段は、転倒した前記プレイヤオブジェクトの高さ方向を、前記プレイヤオブジェクトが位置する地点の地面の法線方向に近づけるように、転倒した前記プレイヤオブジェクトの姿勢を制御することを特徴とする、請求項１または２に記載のゲーム機。
【請求項８】
前記転倒復帰手段は、前記高さ方向を前記法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、前記高さ方向と前記法線方向との差が所定範囲内となったときに、転倒した前記プレイヤオブジェクトの姿勢を制御する処理を終了することを特徴とする、請求項７に記載のゲーム機。
【請求項９】
前記プレイヤオブジェクトは、レース車であり、
前記ゲームは、前記仮想空間内の所定のコースに従って前記レース車を走行させるレースゲームである、請求項１または２に記載のゲーム機。
【請求項１０】
ゲーム機に、プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行させるためのゲームプログラムであって、前記ゲーム機に、
前記プレイヤオブジェクトの姿勢を定める姿勢制御ステップと、
前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定ステップと、
前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶ステップと、
前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記プレイヤオブジェクトを転倒させる処理を行う転倒処理ステップと、
前記転倒処理ステップにおいて転倒させられた状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、前記プレイヤオブジェクトの進行方向が前記進行方向記憶ステップにおいて記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトをゲーム再開可能な状態に復帰させる転倒復帰ステップとを実行させる、ゲームプログラム。
【請求項１１】
ゲーム機に、プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行させるためのゲームプログラムであって、前記ゲーム機に、
仮想的なゲーム世界における仮想的な第１外力に基いて、前記プレイヤオブジェクトの姿勢を変化させる姿勢制御ステップと、
前記プレイヤオブジェクトの姿勢に基づいて、前記プレイヤオブジェクトを転倒させるか否かを判定する転倒判定ステップと、
前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、前記第１外力とは異なる外力であって転倒の要因となる第２外力を加えて回転させることによって前記プレイヤオブジェクトを転倒させる処理を行う第１の転倒処理ステップと、
前記第１の転倒処理ステップにおける前記転倒させる処理に続いて、仮想的なゲーム世界における仮想的な前記第１外力に基いて回転させることによって、転倒状態にある前記プレイヤオブジェクトの姿勢を変化させ続ける第２の転倒処理ステップと、
前記第２の転倒処理ステップにおける処理に続いて、転倒状態にある前記プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける転倒復帰ステップとを実行させる、ゲームプログラム。
【請求項１２】
前記転倒判定ステップにおいて前記プレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前の前記プレイヤオブジェクトの進行方向を記憶する進行方向記憶ステップをさらに前記ゲーム機に実行させ、
前記転倒復帰ステップにおいては、前記ゲーム機は、前記プレイヤオブジェクトの進行方向が前記進行方向記憶において記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、前記プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける、請求項１１に記載のゲームプログラム。
【請求項１３】
前記転倒復帰ステップにおいては、前記ゲーム機は、前記第１外力を前記プレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによって前記プレイヤオブジェクトの姿勢を正立状態に徐々に近づける、請求項１１に記載のゲームプログラム。
【請求項１４】
前記第１の転倒処理ステップは、前記プレイヤオブジェクトに前記第２外力を加えて回転させるとともに、前記第１外力に基いて姿勢を変化させるステップを含む、請求項１１に記載のゲームプログラム。
【請求項１５】
前記プレイヤによって操作される操作部から操作入力を受け取る操作入力ステップと、
前記操作入力ステップで受け取った操作入力に基づき、前記プレイヤオブジェクトの状態を制御する操作制御ステップとをさらに備え、
前記操作制御ステップは、前記プレイヤオブジェクトが前記転倒処理ステップにおいて転倒させられた後、前記転倒復帰ステップにおいてゲーム再開可能な状態に復帰させられるまでの間、前記操作入力の受け付けを抑止することを特徴とする、請求項１０または１１に記載のゲームプログラム。
【請求項１６】
前記転倒復帰ステップは、転倒した前記プレイヤオブジェクトの高さ方向を、前記プレイヤオブジェクトが位置する地点の地面の法線方向に近づけるように、転倒した前記プレイヤオブジェクトの姿勢を制御することを特徴とする、請求項１０または１１に記載のゲームプログラム。
【請求項１７】
前記転倒復帰ステップは、前記高さ方向を前記法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、前記高さ方向と前記法線方向との差が所定範囲内となったときに、転倒した前記プレイヤオブジェクトの姿勢を制御する処理を終了することを特徴とする、請求項１６に記載のゲームプログラム。
【請求項１８】
前記プレイヤオブジェクトは、レース車であり、
前記ゲームは、前記仮想空間内の所定のコースに従って前記レース車を走行させるレースゲームである、請求項１０または１１に記載のゲームプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プレイヤオブジェクトが所定の状態となったときに、プレイヤオブジェクトを転倒またはスピンさせるゲーム機およびゲームプログラムに関し、特に、プレイヤオブジェクトを転倒またはスピンさせた後に、スムーズにゲームを再開させる処理を行うゲーム機およびゲームプログラムに関する。
【０００２】
【従来の技術】
テレビゲーム機によって提供されるゲームの中には、プレイヤがコントローラを用いて、ゲーム中に現れるプレイヤオブジェクトの動きを制御する形式を有するものが多数ある。このようなゲームの典型例は、レースゲームである。レースゲームでは、プレイヤに対応して１台または複数のレース車がゲーム中に現れ、プレイヤはコントローラを用いて自分のレース車を操作する。ゲーム中には所定のコースが設定されており、プレイヤはレース車がコースを走行した順位を争う。このようなレースゲームでは、レース車がプレイヤオブジェクトに該当する。
【０００３】
ゲーム機では、ゲーム中でプレイヤオブジェクトが所定の状態となったときに、プレイヤオブジェクトを転倒させるゲーム制御を行う場合がある。例えば、レースゲームでは、レース車がコーナーを曲がるときの速度が速すぎた場合に、レース車を転倒させるゲーム制御が行われる。レース車が転倒した後にゲームを続けるためには、レース車を走行可能な状態に復帰させる必要がある。従来のゲーム機は、転倒したレース車を一旦画面から消去し、その後に画面の上方から正立状態（起き上がった状態）のレース車を出現させる方法（第１の方法）、あるいは、画面全体を一瞬暗転させてブラックアウト状態にし、その後に正立状態のレース車をコースの中央に表示させる方法（第２の方法）を用いて、転倒したレース車を走行可能な状態に復帰させている。
【０００４】
また、ゲーム機では、ゲーム中でプレイヤオブジェクトが所定の状態となったときに、プレイヤオブジェクトをスピンさせるゲーム制御を行う場合がある。例えば、レースゲームでは、レース車がコーナーを曲がるときの速度が速すぎた場合に、レース車をスピンさせるゲーム制御が行われる。従来のゲーム機では、スピン後のレース車の進行方向（レース車が向いている方向）は一定ではないため、プレイヤは、スピン後のレース車がどの方向を向いているかを判断し、さらに、コースの順方向（ゴールに向かう方向）を判断して、レース車をどの方向に走行させるかを判断する必要がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来のゲーム機には、次のような問題点がある。上記第１または第２の方法を用いて転倒したレース車を走行可能状態に復帰させた場合、レース車が転倒してからゲームが再開されるまでに行われる画面表示が、レース車が転倒する前に行われていた画面表示と不連続となる。このため、レース車が転倒するたびに、プレイヤはレースゲームが中断されるように感じる。したがって、プレイヤのゲームに対する没入度が低下する。
【０００６】
また、上述したように、レース車がスピンしたときには、スピン後のレース車の進行方向が一定ではないため、プレイヤは、ゲームを再開するときに、レース車をどの方向に走行させるかを判断する必要がある。この際、プレイヤが、誤った判断を行うと、コースを逆走するようにレース車を走行させてしまうことがある。
【０００７】
それ故に、本発明は、プレイヤオブジェクトが転倒またはスピンした後に、スムーズにゲームを再開させる処理を行うゲーム機およびゲームプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段および発明の効果】
この発明は、上記の目的を達成するために、次のように構成される。
すなわち、請求項１に係る発明によれば、ゲーム機（実施例との対応関係を示せば、ゲーム機本体１、コントローラ２、ＤＶＤ−ＲＯＭ３およびメモリカード４の組合せである。以下、同様に、かっこ内に実施例との対応関係を示すが、本願発明はこれに限定されるものではない。）は、プレイヤに対応したプレイヤオブジェクト（プレイヤ車）を仮想空間に出現させるゲーム（レースゲーム）を実行するゲーム機であって、姿勢制御手段（ステップＳ１０９を実行するＣＰＵ１０；以下、単にステップ番号のみを示す）、転倒判定手段（Ｓ１０５）、進行方向記憶手段、転倒処理手段（Ｓ１０７）、および、転倒復帰手段（Ｓ５２１〜Ｓ５２７）を備える。姿勢制御手段は、プレイヤオブジェクトの姿勢（姿勢マトリクスＰｏｓｅ）を定める。転倒判定手段は、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する。進行方向記憶手段は、転倒判定手段においてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する。転倒処理手段は、プレイヤオブジェクトを転倒させる旨の判定がなされたときに、プレイヤオブジェクトを転倒させる処理を行う（Ｓ５１２およびＳ５１３）。転倒復帰手段は、転倒処理手段によって転倒させられた状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、前記プレイヤオブジェクトの進行方向が前記進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトをゲーム再開可能な状態に復帰させる（Ｓ５２２およびＳ５２３）。このように、プレイヤオブジェクトが転倒したときに、プレイヤオブジェクトの姿勢は自動的に制御され、プレイヤオブジェクトはゲーム再開可能な状態に復帰させられる。したがって、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続する。よって、プレイヤのゲームに対する没入度を高めることができる。さらに、転倒復帰したときにプレイヤオブジェクトの向きが転倒前の向きに自動的に戻るので、プレイヤは進行方向を見失うことがなく、混乱なくゲームを行うことができる。
また、請求項２に係る発明によれば、ゲーム機は、プレイヤに対応したプレイヤオブジェクトを仮想空間に出現させるゲームを実行するゲーム機であって、姿勢制御手段、転倒判定手段、第１の転倒処理手段、第２の転倒処理手段、および、転倒復帰手段を備える。姿勢制御手段は、仮想的なゲーム世界における仮想的な第１外力（仮想的なゲーム世界における仮想的な外力であり、プレイヤオブジェクトが地面から受ける抵抗力や摩擦力、慣性、遠心力または重力により受ける力等のことである。なお、これらの外力に関する処理は、現実世界の物理法則に従って計算処理されてもよいが、正確性が要求されない場合には擬似的な計算処理によってなされてもよい。）に基いて、プレイヤオブジェクトの姿勢を変化させる。転倒判定手段は、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する。第１の転倒処理手段は、転倒判定手段においてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、第１外力とは異なる外力であって転倒の要因となる第２外力を加え続けて回転させ続けることによってプレイヤオブジェクトを転倒させる処理を行う。第２の転倒処理手段は、第１の転倒処理手段による転倒させる処理に続いて、仮想的なゲーム世界における仮想的な第１外力に基いて、転倒状態にあるプレイヤオブジェクトの姿勢を変化させ続ける。転倒復帰手段は、第２の転倒処理手段による処理に続いて、転倒状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける。これにより、プレイヤオブジェクトを転倒させるときの画像表示が自然なものとなる。
また、請求項３に係る発明によれば、ゲーム機は、進行方向記憶手段をさらに備える。進行方向記憶手段は、転倒判定手段においてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する。転倒復帰手段は、プレイヤオブジェクトの進行方向が進行方向記憶手段に記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける。
また、請求項４に係る発明によれば、第１の転倒処理手段は、プレイヤオブジェクトに第２外力を加えて回転させるとともに、第１外力に基いて姿勢を変化させる。
また、請求項５に係る発明によれば、転倒復帰手段は、第１外力をプレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトの姿勢を正立状態に徐々に近づける。
【０００９】
請求項６に係る発明によれば、ゲーム機は、操作手段（コントローラ２）と、操作制御手段（Ｓ１０３）とをさらに備える。操作手段は、プレイヤによって操作される。操作制御手段は、操作入力（ジョイスティック６などからの入力）に基づき、プレイヤオブジェクトの状態（進行方向など）を制御する。また、操作制御手段は、プレイヤオブジェクトが転倒させられた後、ゲーム再開可能な状態に復帰させられるまでの間、操作入力の受け付けを抑止する（Ｓ１０２でＹｅｓとなり、Ｓ１０３を実行せず）。このように、プレイヤオブジェクトが転倒してからゲームが再開されるまでの間、プレイヤの操作入力を受け付けないことにより、プレイヤオブジェクトの姿勢を容易に自動的に制御することができる。これにより、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続し、プレイヤのゲームに対する没入度を高めることができる。
【００１０】
請求項７に係る発明によれば、転倒復帰手段は、転倒したプレイヤオブジェクトの高さ方向（姿勢マトリクスＰｏｓｅのＹ成分ＰｏｓｅＹ）を、プレイヤオブジェクトが位置する地点の地面の法線方向（地面の法線ベクトルＮ）に近づける。これにより、プレイヤオブジェクトを自動的に正立状態に復帰させることができる。
【００１１】
請求項８に係る発明によれば、転倒復帰手段は、高さ方向を法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、高さ方向と法線方向との差が所定範囲内となったときに（Ｓ５２５のＹｅｓ）、転倒したプレイヤオブジェクトの姿勢を制御する処理を終了する（Ｓ５２７で転倒フラグをオフ）。これにより、プレイヤオブジェクトをゲーム再開可能な状態に復帰させるときの画像表示が自然なものとなる。
【００１５】
請求項９に係る発明によれば、プレイヤオブジェクトは、レース車であり、ゲームは、仮想空間内の所定のコースに従ってレース車を走行させるレースゲームである。よって、プレイヤのレースゲームに対する没入度を高めることができる。
【００１７】
請求項１０に係る発明によれば、ゲーム機（ゲーム機本体１、コントローラ２、ＤＶＤ−ＲＯＭ３およびメモリカード４の組合せ）に、プレイヤに対応したプレイヤオブジェクト（プレイヤ車）を出現させるゲーム（レースゲーム）を実行させるためのゲームプログラム（ＤＶＤ−ＲＯＭ３に記録されたゲームプログラム）であって、ゲーム機に、姿勢制御ステップ（ステップＳ１０９）、転倒判定ステップ（Ｓ１０５）、進行方向記憶ステップ、転倒処理ステップ（Ｓ１０７）、および、転倒復帰ステップ（Ｓ５２１〜Ｓ５２７）を実行させる。姿勢制御ステップでは、プレイヤオブジェクトの姿勢（姿勢マトリクスＰｏｓｅ）が定められる。転倒判定ステップでは、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する処理が行われる。進行方向記憶ステップでは、転倒判定ステップにおいてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する処理が行われる。転倒処理ステップでは、プレイヤオブジェクトを転倒させる旨の判定がなされたときに、プレイヤオブジェクトを転倒させる処理が行われる（Ｓ５１２およびＳ５１３）。転倒復帰ステップでは、転倒処理ステップにおいて転倒させられた状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更するとともに、プレイヤオブジェクトの進行方向が進行方向記憶ステップにおいて記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトがゲーム再開可能な状態に復帰させられる（Ｓ５２２およびＳ５２３）。このように、プレイヤオブジェクトが転倒したときに、プレイヤオブジェクトの姿勢は自動的に制御され、プレイヤオブジェクトはゲーム再開可能な状態に復帰させられる。したがって、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続する。よって、プレイヤのゲームに対する没入度を高めることができる。
また、請求項１１に係る発明によれば、ゲーム機に、プレイヤに対応したプレイヤオブジェクトを出現させるゲームを実行させるためのゲームプログラムであって、ゲーム機に、姿勢制御ステップ、転倒判定ステップ、第１の転倒処理ステップ、第２の転倒処理ステップ、および、転倒復帰ステップを実行させる。姿勢制御ステップでは、仮想的なゲーム世界における仮想的な第１外力に基いて、プレイヤオブジェクトの姿勢を変化させる処理が行われる。転倒判定ステップでは、プレイヤオブジェクトの姿勢に基づいて、プレイヤオブジェクトを転倒させるか否かを判定する処理が行われる。第１の転倒処理ステップでは、転倒判定ステップにおいてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、第１外力とは異なる外力であって転倒の要因となる第２外力を加え続けて回転させ続けることによってプレイヤオブジェクトを転倒させる処理を行う。第２の転倒処理ステップでは、第１の転倒処理ステップによる転倒させる処理に続いて、仮想的なゲーム世界における仮想的な第１外力に基いて、転倒状態にあるプレイヤオブジェクトの姿勢を変化させ続ける処理が行われる。転倒復帰ステップでは、第２の転倒処理ステップによる処理に続いて、転倒状態にあるプレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することにより当該プレイヤオブジェクトを回転させることによって当該プレイヤオブジェクトの姿勢を正立状態に徐々に近づける処理が行われる。これにより、プレイヤオブジェクトを転倒させるときの画像表示が自然なものとなる。
また、請求項１２に係る発明によれば、ゲームプログラムは、進行方向記憶ステップをさらに実行させる。進行方向記憶ステップでは、転倒判定ステップにおいてプレイヤオブジェクトを転倒させる旨の判定がなされたときに、転倒前のプレイヤオブジェクトの進行方向を記憶する処理が行われる。転倒復帰ステップでは、プレイヤオブジェクトの進行方向が進行方向記憶において記憶された進行方向に徐々に近づくように、当該プレイヤオブジェクトの進行方向を定めるためのデータを繰り返し変更することによって、プレイヤオブジェクトの進行方向を当該進行方向に徐々に近づける処理が行われる。
また、請求項１３に係る発明によれば、転倒復帰ステップでは、第１外力をプレイヤオブジェクトに加えることなく当該プレイヤオブジェクトの姿勢を制御し、プレイヤオブジェクトの高さ方向が当該プレイヤオブジェクトが位置する地点の地面の法線方向に徐々に近づくように、当該高さ方向を定めるためのデータを繰り返し変更することによってプレイヤオブジェクトの姿勢を正立状態に徐々に近づける処理が行われる。
また、請求項１４に係る発明によれば、第１の転倒処理ステップでは、プレイヤオブジェクトに第２外力を加えて回転させるとともに、第１外力に基いて姿勢を変化させる処理が行われる。
【００１８】
請求項１５に係る発明によれば、ゲームプログラムは、操作入力ステップ（Ｓ３０１）と、操作制御ステップ（Ｓ１０３のうちＳ３０２〜Ｓ３０７）とをさらに備える。操作入力ステップでは、プレイヤによって操作される操作部（コントローラ２）から操作入力（ジョイスティック６などからの入力）が受け取られる。操作制御ステップでは、操作入力に基づき、プレイヤオブジェクトの状態（進行方向など）が制御される。また、操作制御ステップでは、プレイヤオブジェクトが転倒させられた後、ゲーム再開可能な状態に復帰させられるまでの間、操作入力の受け付けが抑止される（Ｓ１０２でＹｅｓとなり、Ｓ１０３を実行せず）。このように、プレイヤオブジェクトが転倒してからゲームが再開されるまでの間、プレイヤの操作入力を受け付けないことにより、プレイヤオブジェクトの姿勢を容易に自動的に制御することができる。これにより、プレイヤオブジェクトが転倒してからゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続し、プレイヤのゲームに対する没入度を高めることができる。
【００１９】
請求項１６に係る発明によれば、転倒復帰ステップでは、転倒したプレイヤオブジェクトの高さ方向（姿勢マトリクスＰｏｓｅのＹ成分ＰｏｓｅＹ）を、プレイヤオブジェクトが位置する地点の地面の法線方向（地面の法線ベクトルＮ）に近づける制御が行われる。これにより、プレイヤオブジェクトを自動的に正立状態に復帰させることができる。
【００２０】
請求項１７に係る発明によれば、転倒復帰ステップでは、高さ方向を法線方向に徐々に近づけるように、当該高さ方向を定めるためのデータを繰り返し変更し、高さ方向と法線方向との差が所定範囲内となったときに（Ｓ５２５のＹｅｓ）、転倒したプレイヤオブジェクトの姿勢を制御する処理が終了される（Ｓ５２７で転倒フラグをオフ）。これにより、プレイヤオブジェクトをゲーム再開可能な状態に復帰させるときの画像表示が自然なものとなる。
【００２４】
請求項１８に係る発明によれば、ゲーム機に、プレイヤオブジェクトであるレース車を所定のコースに従って走行させるレースゲームを実行させるためのゲームプログラムである。操作制御ステップでは、レース車の少なくとも移動が制御される。姿勢制御ステップでは、少なくともレース車に加えられる外力に基づきレース車の姿勢が定められる。転倒判定ステップでは、レース車が所定の姿勢となったときに、レース車を転倒させる旨の判定が行われる。転倒処理ステップで、レース車を転倒させる処理が行われる。転倒復帰ステップでは、転倒したレース車を正立状態に復帰させる処理が行われる。このように、レース車が転倒したときに、レース車の姿勢は自動的に制御され、レース車はレース再開可能な状態に復帰させられる。したがって、レース車が転倒してからレースが再開されるまで行われる画面表示が、転倒前になされていた画面表示と連続する。よって、プレイヤのゲームに対する没入度を高めることができる。
【００２６】
【発明の実施の形態】
図１は、本発明の実施形態に係るゲーム機を含んだゲームシステムの外観図である。図１に示すゲームシステムは、ゲーム機本体１、コントローラ２、ＤＶＤ−ＲＯＭ３、メモリカード４、および、テレビ５を備えている。以下に示す実施形態では、テレビ５を除いた部分が、ゲーム機に相当する。
【００２７】
ＤＶＤ−ＲＯＭ３およびメモリカード４は、ゲーム機本体１に対して着脱可能に構成されている。コントローラ２およびテレビ５は、それぞれ、通信ケーブルによってゲーム機本体１と接続されている。ゲーム機本体１は、コントローラ２を接続するための複数のコネクタを有しており、コントローラ２は、これらのコネクタのいずれかに接続される。なお、ゲーム機本体１とコントローラ２との間の通信を、通信ケーブルを用いずに、無線を用いて行ってもよい。
【００２８】
ＤＶＤ−ＲＯＭ３は、ゲームプログラムや画像データなど、ゲームを行うために必要なデータを固定的に記憶している。プレイヤがゲームを行うときには、ＤＶＤ−ＲＯＭ３はゲーム機本体１に装着される。メモリカード４は、書き換え可能な記憶媒体によって構成されている。ゲーム途中の状態を保存するために、メモリカード４にはゲーム中の各種のデータが記録される。なお、ゲームプログラムなどを記憶するために、ＤＶＤ−ＲＯＭ３に代えて、他の記憶媒体を使用してもよい。
【００２９】
ゲーム機本体１は、ＤＶＤ−ＲＯＭ３に記録されたゲームプログラムを読み出し、ゲーム処理を実行する。コントローラ２は、ゲーム機の入力装置である。コントローラ２は、ジョイスティック６、Ａボタン７、Ｂボタン８、スタートボタン９など、複数の操作スイッチを有し、プレイヤによるスイッチの押下などに応じて、操作入力をゲーム機本体１に出力する。テレビ５は、ゲーム機本体１から出力された映像信号を画面に表示する。また、テレビ５は、スピーカを内蔵している。テレビ５のスピーカからは、ゲーム機本体１から出力された音声信号が出力される。
【００３０】
図２は、図１に示すゲーム機のハードウェア構成を示すブロック図である。図２において、ゲーム機本体１は、演算部（ＣＰＵ１０、グラフィックスプロセッシングユニット（ＧＰＵ）１１およびＤＳＰ１５）と、記憶部（メインメモリ１４、カラーバッファ１２、Ｚバッファ１３およびサブメモリ１６）と、各種のインターフェイス（Ｉ／Ｆ）部（２０〜２３および２５）と、メモリコントローラ１７と、ＤＶＤドライブ２４とを備えている。メモリコントローラ１７は、図２に示すように演算部と記憶部とインターフェイス部とを相互に接続し、これら各構成要素間のデータ転送を制御する。
【００３１】
ＤＶＤドライブ２４は、ゲーム機本体１に装着されたＤＶＤ−ＲＯＭ３を駆動する。ＤＶＤ−ＲＯＭ３には、ゲームプログラムなどが記録されている。ＤＶＤ−ＲＯＭ３に記録されたゲームプログラムは、ＤＶＤ用Ｉ／Ｆ２５とメモリコントローラ１７とを経由して、メインメモリ１４にロードされる。ＣＰＵ１０は、メインメモリ１４にロードされたゲームプログラムを実行する。ゲーム中、プレイヤは、コントローラ２のジョイスティック６を操作したり、Ａボタン７を押したりする。コントローラ２は、これらプレイヤの操作に応じて、操作入力をゲーム機本体１に出力する。コントローラ２から出力された操作入力は、コントローラＩ／Ｆ２０とメモリコントローラ１７とを経由してＣＰＵ１０に入力される。ＣＰＵ１０は、コントローラ２から入力された操作入力に応じて、所定のゲーム処理を実行する。
【００３２】
グラフィックスプロセッシングユニット（ＧＰＵ）１１は、ＣＰＵ１０からの制御に従い、主に画像データの生成処理を行う。ＧＰＵ１１は、ジオメトリユニット１８およびレンダリングユニット１９を含み、画像処理専用のメモリ（カラーバッファ１２およびＺバッファ１３）に接続されている。なお、これら画像処理専用のメモリを設けず、メインメモリ１４の一部に画像処理用の領域を確保するようにしてもよい。ジオメトリユニット１８およびレンダリングユニット１９は、３次元コンピュータグラフィックスの処理を行うための回路である。ジオメトリユニット１８は、仮想３次元空間内におけるオブジェクトの位置（ゲーム空間内の位置であり、３次元座標で与えられる）を決定するための処理を行い、レンダリングユニット１９は、ジオメトリユニット１８によって計算された３次元座標に基づいて、テレビ５に表示すべき２次元画像を生成する処理を行う。カラーバッファ１２は、レンダリングユニット１９によって生成された２次元画像を記憶し、Ｚバッファ１３は、３次元コンピュータグラフィックスにおける奥行き方向の情報を記憶する。ＧＰＵ１１は、この構成によりテレビ５に表示すべき画像データを生成し、適宜メモリコントローラ１７およびビデオＩ／Ｆ２２を介してテレビ５に出力する。
【００３３】
デジタルシグナルプロセッサ（ＤＳＰ）１５は、ＣＰＵ１０からの制御に従い、主に音声データの生成処理を行う。サブメモリ１６は、ＤＳＰ１５の作業用メモリである。ＤＳＰ１５によって生成された音声データは、メモリコントローラ１７とオーディオＩ／Ｆ２３とを経由して、テレビ５のスピーカ５ｂに出力される。なお、ゲーム機本体１から出力される音声信号を、テレビ５とは別のスピーカに出力してもよい。
【００３４】
以下では、図１および図２に示すゲーム機においてレースゲームを実行する場合について説明する。ゲーム機にレースゲームを実行させるためのゲームプログラムは、ＤＶＤ−ＲＯＭ３に固定的に記録されている。ゲーム機本体１は、ＤＶＤ−ＲＯＭ３に記録されたゲームプログラムに従い、コントローラ２から入力された操作入力に応じてゲーム中のレース車の状態を変化させ、レース車が走行する様子をテレビ５に表示させる。テレビ５には、例えば、図３に示すような画面が表示される。
【００３５】
このレースゲームでは、プレイヤに対応して１台または複数のレース車がゲーム中に現れ、プレーヤはコントローラ２を用いて自分のレース車を操作する。ゲーム中には３次元形状を有するコースが設定されており、プレイヤはレース車がコースを走行した順位を争う。レースには、同時に最大、コントローラ２を接続できる数と同数のプレイヤが参加できる。また、プレイヤが操作するレース車（以下、「プレイヤ車」と呼ぶ）に加えて、ゲームプログラムが走行状態を自動的に制御するレース車（以下、「敵車」と呼ぶ）もレースに参加する。このレースゲームでは、プレイヤ車がプレイヤオブジェクトに該当する。
【００３６】
プレイヤ車の動きおよび姿勢は、プレイヤ車に加わる外力に基づいて定められる。ここでいう外力とは仮想的なゲーム世界における仮想的な外力であり、プレイヤ車が地面から受ける抵抗力や摩擦力、慣性、遠心力または重力により受ける力等のことである。例えば、コースが水平面から傾いている場合には、プレイヤ車は鉛直方向でない抗力を受け、水平面から傾いた姿勢を取る。また、プレイヤ車が壁に当たったときには、プレイヤ車は壁から抗力を受け、跳ね返される。また、道路外を走行中のプレイヤ車は、道路を走行中のプレイヤ車よりも大きな摩擦力を受け、高速走行できなくなる。さらに、プレイヤ車が高速でコーナーを曲がろうとした場合には、コーナーの外側方向に遠心力を受け、プレイヤ車は傾く。なお、これらの外力に関する処理は、現実世界の物理法則に従って計算処理されてもよいが、正確性が要求されない場合には擬似的な計算処理によってなされてもよい。
【００３７】
これに加えて、プレイヤ車の動きおよび姿勢は、コントローラ２からの操作入力によって制御される。コントローラ２のジョイスティック６は、プレイヤ車のハンドルに相当する。プレイヤは、ジョイスティック６を好適な方向に倒すことにより、プレイヤ車の進行方向を切り替える。また、コントローラ２のＡボタン７はプレイヤ車のアクセルに相当し、Ｂボタン８はプレイヤ車のブレーキに相当する。プレイヤは、状況に応じてＡボタン７またはＢボタン８を押下することにより、プレイヤ車を加速または減速させる。
【００３８】
プレイヤ車の動きおよび姿勢は、図４に示す車体データを用いて管理される。図４に示す車体データには、車体位置Ｐ、車体速度Ｖ、車体加速度Ａ、姿勢マトリクスＰｏｓｅ、および、姿勢変化量ｄＰｏｓｅが含まれている。車体データには、図４に示したデータ以外のデータが含まれていてもよい。
【００３９】
プレイヤ車の動きは、車体位置Ｐ、車体速度Ｖ、および、車体加速度Ａを用いて管理される。車体位置Ｐ、車体速度Ｖ、および、車体加速度Ａは、それぞれ、プレイヤ車の３次元空間における位置、３次元空間における速度ベクトルおよび加速度ベクトルを、コースを表すときに用いたワールド座標系を用いて表したものである。車体速度Ｖおよび車体加速度Ａは、それぞれ、画像データの１フレームを出力する時間（１フレーム時間）あたりの速度および加速度を表す。
【００４０】
プレイヤ車の姿勢は、姿勢マトリクスＰｏｓｅ、および、姿勢変化量ｄＰｏｓｅを用いて管理される。プレイヤ車には、プレイヤ車の姿勢を表すために、図５に示す車体座標系（ローカル座標系）が定義されている。車体座標系のＺ軸は、プレイヤ車の進行方向に向けられる。車体座標系のＹ軸は、プレイヤ車の高さ方向に向けられる。車体座標系のＸ軸は、プレイヤ車の左右方向であり、Ｙ軸およびＺ軸の両方に垂直な方向に向けられる。
【００４１】
姿勢マトリクスＰｏｓｅは、３本のベクトルＰｏｓｅＸ、ＰｏｓｅＹおよびＰｏｓｅＺからなる。ベクトルＰｏｓｅＸ、ＰｏｓｅＹおよびＰｏｓｅＺは、いずれも３次元のベクトルであり、それぞれ、上述した車体座標系のＸ軸、Ｙ軸およびＺ軸の方向ベクトルをワールド座標系で表したものである。
【００４２】
姿勢変化量ｄＰｏｓｅは、１フレーム時間あたりのプレイヤ車の姿勢の変化量を、車両座標系の３本の座標軸のまわりの角度で表したものである。より詳細には、姿勢変化量ｄＰｏｓｅは、３つの要素ｄＰｏｓｅｘ、ｄＰｏｓｅｙおよびｄＰｏｓｅｚからなる。第１の要素ｄＰｏｓｅｘは、１フレーム時間に、プレイヤ車が車体座標系のＸ軸を中心に回転する角度を表したものである。第２の要素ｄＰｏｓｅｙは、１フレーム時間に、プレイヤ車が車体座標系のＹ軸を中心に回転する角度を表したものである。第３の要素ｄＰｏｓｅｚは、１フレーム時間に、プレイヤ車が車体座標系のＺ軸を中心に回転する角度を表したものである。なお、姿勢変化量ｄＰｏｓｅの各要素を座標軸まわりの角度で表すときには、車両座標系の原点から各座標軸の正の方向を見た場合に時計回りの方向をプラスの方向とする（図５を参照）。
【００４３】
なお、以上、プレイヤ車の動きおよび姿勢について説明したが、敵車の動きおよび姿勢は、プレイヤによるコントローラ２の操作とは関係なく、ＤＶＤ−ＲＯＭ３に記憶されているプログラムによって自動的に制御される。
【００４４】
以下、図６ないし図１０を参照して、第１実施形態に係るゲーム機の動作を詳細に説明する。第１実施形態は、プレイヤ車が所定の状態になったときに転倒処理を行うゲームについての実施形態である。図６は、ゲーム機のメイン処理のフローチャートである。また、図７ないし図１０は、図６に示すメイン処理から呼び出されるサブルーチンのフローチャートである。ゲーム機は、１回のレースゲームごとに、図６ないし図１０に示す処理を実行する。これらのゲーム処理は、ＣＰＵ１０がＤＶＤ−ＲＯＭ３に記憶されたゲームプログラムを実行することによって実現される。なお、以下では、プレイヤが１人の場合（すなわち、プレイヤ車が１台である場合）について説明するが、プレイヤが複数の場合は、プレイヤ車に関する処理を複数回実行すればよい。
【００４５】
図６に示すように、ＣＰＵ１０は、レースを開始する前に、レース準備処理を実行する（ステップＳ１０１）。図７は、レース準備処理（ステップＳ１０１）の詳細を示すフローチャートである。レース準備処理では、ＣＰＵ１０は、レースゲームのメニュー画面を表示させ（ステップＳ２０１）、コントローラ２のスタートボタン９が押されるまで待機する（ステップＳ２０２）。スタートボタン９が押されると、ＣＰＵ１０は、待機状態から抜け、図４に示す車体データを初期化する（ステップＳ２０３）。この際、ＣＰＵ１０は、プレイヤ車が転倒しているか否かを示す転倒フラグをオフ（非転倒状態）に設定する。次に、ＣＰＵ１０は、スタート位置にプレイヤ車および敵車を表示させる（ステップＳ２０４）。次に、ＣＰＵ１０は、カウントダウン表示を行う（ステップＳ２０５）。より詳細には、ＣＰＵ１０は、プレイヤにレースの開始タイミングを知らせるため、１秒ずつ順に「３」「２」「１」「スタート」なる文字を含んだ画面を表示させる。ＣＰＵ１０は、これをもってレース準備処理を終了し、メイン処理に復帰する。
【００４６】
ＣＰＵ１０は、レース準備処理を終了した後は、ステップＳ１１０においてプレイヤ車がゴールしたと判定するまで、１フレーム時間ごとに、ステップＳ１０２からステップＳ１１２までの処理を行う。ステップＳ１０２からステップＳ１０９までの処理により、プレイヤ車の位置および姿勢が更新され、ステップＳ１１１の処理により、敵車の位置および姿勢が更新される。ステップＳ１１２では、プレイヤ車と敵車と背景とが画面に表示される。各ステップの詳細は、以下のとおりである。
【００４７】
ＣＰＵ１０は、転倒フラグがオン（転倒状態）であるか否かを調べる（ステップＳ１０２）。転倒フラグがオフである場合には、ＣＰＵ１０は、コントローラ２からの操作入力に基づき車体データを更新する操作制御処理を実行する（ステップＳ１０３）。これに対し、転倒フラグがオンである場合には、ＣＰＵ１０は、操作制御処理を実行しない。したがって、プレイヤ車が転倒していないときは、ゲーム機は操作入力を受け付けるが、プレイヤ車が転倒しているときは、ゲーム機は操作入力を受け付けずに無視する。すなわち、後者の場合、ゲーム機は、コントローラ２からの操作入力の受け付けを抑止する。
【００４８】
図８は、操作制御処理（ステップＳ１０３）の詳細を示すフローチャートである。上述したように、このレースゲームでは、ジョイスティック６、Ａボタン７およびＢボタン８が、それぞれ、プレイヤ車のハンドル、アクセルおよびブレーキに対応づけられている。操作制御処理では、ＣＰＵ１０は、コントローラ２から出力された操作入力を受け付ける（ステップＳ３０１）。次に、ＣＰＵ１０は、ジョイスティック６からの入力があるか否かを調べる（ステップＳ３０２）。ジョイスティック６からの入力がある場合には、ＣＰＵ１０は、これに応じて車体データの姿勢マトリクスＰｏｓｅを更新する（ステップＳ３０３）。より詳細には、ＣＰＵ１０は、ジョイスティック６がどの方向に倒されたかに応じて、姿勢マトリクスＰｏｓｅに含まれている３本のベクトルＰｏｓｅＸ、ＰｏｓｅＹおよびＰｏｓｅＺを更新する。
【００４９】
次に、ＣＰＵ１０は、Ａボタン７が押されたか否かを調べる（ステップＳ３０４）。Ａボタン７が押された場合には、ＣＰＵ１０は、プレイヤ車の進行方向について、車体データの加速度Ａを増加させる（ステップＳ３０５）。次に、ＣＰＵ１０は、Ｂボタン８が押されたか否かを調べる（ステップＳ３０６）。Ｂボタン８が押された場合には、ＣＰＵ１０は、プレイヤ車の進行方向について、車体データの加速度Ａを減少させる。なお、姿勢マトリクスＰｏｓｅに含まれているベクトルＰｏｓｅＺの方向は、プレイヤ車の進行方向に一致している。したがって、ＣＰＵ１０は、ステップＳ３０５ではＰｏｓｅＺ方向について加速度Ａを増加させ、ステップＳ３０７ではＰｏｓｅＺ方向について加速度Ａを減少させればよい。ＣＰＵ１０は、これをもって操作制御処理を終了し、メイン処理に復帰する。
【００５０】
ＣＰＵ１０は、操作制御処理を終了した後に、プレイヤ車に加わる外力に基づいて、車体データの姿勢変化量ｄＰｏｓｅを更新する（ステップＳ１０４）。この処理では、例えば、地面から受ける力や車体の慣性などに基づき、車体データの姿勢変化量ｄＰｏｓｅが更新される。なお、この処理は、プレイヤ車の姿勢変化が違和感なくゲーム画像に表現されれば十分であるので、実際に外力が計算される必要はなく、また、現実世界の物理法則に則って厳密に計算される必要もない（もちろん、現実世界の物理法則に則って計算してもよい）。外力の原因となる要素（地面の法線方向や地面の摩擦係数、プレイヤ車の速度等）とそれから生じるプレイヤ車の姿勢変化の対応関係が、違和感のないものであればよい。
【００５１】
次に、ＣＰＵ１０は、転倒判定処理を行い（ステップＳ１０５）、その後に、転倒フラグがオンであるか否かを再び調べる（ステップＳ１０６）。転倒フラグがオンである場合には、ＣＰＵ１０は、転倒処理を実行する（ステップＳ１０７）。これに対して、転倒フラグがオフである場合には、ＣＰＵ１０は、転倒処理を実行しない。転倒判定処理および転倒処理の詳細は、後述する。
【００５２】
次に、ＣＰＵ１０は、移動制御処理（ステップＳ１０８）および姿勢制御処理（ステップＳ１０９）を実行する。移動制御処理では、ＣＰＵ１０は、車体データの速度Ｖおよび加速度Ａに基づき、車体データの車体位置Ｐを更新する。姿勢制御処理では、ＣＰＵ１０は、車体データの姿勢変化量ｄＰｏｓｅに基づき、次式（１）に従って姿勢変化マトリクスＭｄＰｏｓｅを生成し、これに基づき、次式（２）に従って車体データの姿勢マトリクスＰｏｓｅを更新した後、姿勢マトリクスＰｏｓｅを正規化する。
【数１】
0003731879.tif 000002
【００５３】
次に、ＣＰＵ１０は、プレイヤ車がゴールしたか否かを判定する（ステップＳ１１０）。プレイヤ車がゴールした場合には、ＣＰＵ１０は、ステップＳ１１３へ進む。この場合、ＣＰＵ１０は、レース結果などを表したゴール画像を表示させ（ステップＳ１１３）、１回のレースゲームの処理を終了する。
【００５４】
これに対し、プレイヤ車がゴールしていない場合には、ＣＰＵ１０は、ステップＳ１１１へ進む。この場合、ＣＰＵ１０は、敵車制御アルゴリズムに基づき、敵車の位置および姿勢を更新する（ステップＳ１１１）。次に、ＣＰＵ１０は、プレイヤ車と敵車と背景とを含んだ、レースの様子を表す画面を表示させる（ステップＳ１１２）。この際、プレイヤ車を画面に表示するときには、移動制御処理（ステップＳ１０８）によって定められたプレイヤ車の位置と、姿勢制御処理（ステップＳ１０９）によって定められたプレイヤ車の姿勢とが参照される。ＣＰＵ１０は、レースの様子を表す画面を表示した後、ステップＳ１０２に戻る。その後、ＣＰＵ１０は、ステップＳ１１０においてプレイヤ車がゴールしたと判断するまで、ステップＳ１０２からＳ１１２までの処理を繰り返し実行する。これにより、プレイヤ車がゴールするまでの間、レースの様子を表す画面が次々と表示される。
【００５５】
図９は、転倒判定処理（ステップＳ１０５）の詳細を示すフローチャートである。転倒判定処理では、プレイヤ車が所定の状態になったときに、プレイヤ車を転倒させる旨の判定が行われる。転倒判定処理では、ＣＰＵ１０は、姿勢マトリクスＰｏｓｅに基づき、絶対ロール値Ｒ１および地面に対するロール値Ｒ２を計算する（ステップＳ４０１）。ここで、絶対ロール値Ｒ１とは、ワールド座標系の水平面とプレイヤ車のＸ軸とが成す角度をいい、次式（３）によって算出される。
【数２】
0003731879.tif 000003
地面に対するロール値Ｒ２とは、プレイヤ車が位置する地点の地面の角度と絶対ロール値Ｒ１との差をいう。絶対ロール値Ｒ１が大きいほど、あるいは、地面に対するロール値Ｒ２が大きいほど、プレイヤ車は、水平面から大きく傾き、転倒しやすいものとして扱われる。
【００５６】
次に、ＣＰＵ１０は、絶対ロール値Ｒ１と第１の所定値Ｃ１とを比較する（ステップＳ４０２）。ＣＰＵ１０は、絶対ロール値Ｒ１の絶対値が第１の所定値Ｃ１より大きい場合には、ステップＳ４０４へ進む。それ以外の場合、ＣＰＵ１０は、地面に対するロール値Ｒ２の絶対値が第２の所定値Ｃ２より大きく、かつ、姿勢変化量ｄＰｏｓｅのＺ成分ｄＰｏｓｅｚが第３の所定値Ｃ３より大きいか否かを判断する（ステップＳ４０３）。ＣＰＵ１０は、ステップＳ４０３における２つの条件がともに成立している場合には、ステップＳ４０４へ進む。
【００５７】
ＣＰＵ１０は、ステップＳ４０２またはステップＳ４０３においてＹｅｓと判断した場合には、転倒フラグをオンに設定する（ステップＳ４０４）。次に、ＣＰＵ１０は、現在の姿勢マトリクスＰｏｓｅのＺ成分ＰｏｓｅＺを、転倒前の値ＰＰｏｓｅＺとして記憶する（ステップＳ４０５）。転倒前の値ＰＰｏｓｅＺは、後述する転倒処理のステップＳ５２３で参照される。次に、ＣＰＵ１０は、転倒処理で必要とされる２種類の時間Ｔ１およびＴ２を設定する（ステップＳ４０６）。このうち強制転倒時間Ｔ１は、プレイヤ車に外力を加えて強制的に回転させる時間を表し、非強制転倒時間Ｔ２は、強制転倒時間Ｔ１が経過した後、プレイヤ車に外力を加えないで慣性で回転させる時間を表す。なお、Ｔ１およびＴ２は、例えば、ゲーム画像上自然な転倒になるように適切な値（固定値）が設定される（適切な関数が設定されてもよい）。ＣＰＵ１０は、これをもって転倒判定処理を終了し、メイン処理へ復帰する。
【００５８】
このように、転倒判定処理では、プレイヤ車が所定より傾いている場合には、転倒フラグがオンに設定され、転倒前の値ＰＰｏｓｅＺが記憶され、転倒処理時間Ｔ１およびＴ２が設定される。プレイヤ車が所定より傾いていない場合には、これらの処理は行われず、転倒フラグおよび転倒前の値ＰＰｏｓｅＺは以前の値を保持する。
【００５９】
図１０は、転倒処理（ステップＳ１０７）の詳細を示すフローチャートである。転倒処理では、プレイヤ車を転倒すべき旨の判定がなされてからの経過時間によって、１）強制転倒時間Ｔ１が経過するまで、２）強制転倒時間Ｔ１が経過した後、非強制転倒時間Ｔ２が経過するまで、３）非強制転倒時間Ｔ２が経過した後の３つの場合に分けて処理が行われる。上記３つの場合を、順に第１、第２および第３の場合と呼び、その詳細を説明する。
【００６０】
転倒処理では、ＣＰＵ１０は、ステップＳ５０１およびステップＳ５０２において、上記の３つの場合分けを行う。すなわち、ＣＰＵ１０は、強制転倒時間Ｔ１が経過したか否かを判断し（ステップＳ５０１）、強制転倒時間Ｔ１が経過していればステップＳ５０２へ、経過していなければステップＳ５１１へ進む。前者の場合、ＣＰＵ１０は、非強制転倒時間Ｔ２が経過したか否かを判断し（ステップＳ５０２）、非強制転倒時間Ｔ２が経過していればステップＳ５２１へ進む。それ以外の場合（ステップＳ５０２のＮｏ）、すなわち、上記第２の場合には、ＣＰＵ１０は、何ら処理を行うことなく転倒処理を終了し、メイン処理へ復帰する。したがって、強制転倒時間Ｔ１が経過した後、非強制転倒時間Ｔ２が経過するまでの間に画面表示を行うときには、ステップＳ１０４で更新された車体データの姿勢変化量ｄＰｏｓｅの値が、そのまま姿勢制御処理（ステップＳ１０９）において利用される。
【００６１】
これに対して、上記第１の場合（ステップＳ５０１のＮｏ）には、ＣＰＵ１０は、転倒の方向がプラス方向かマイナス方向かを判断する（ステップＳ５１１）。具体的に言うと、絶対ロール値Ｒ１または地面に対するロール値Ｒ２が正の場合は、転倒方向はプラス方向であり、これらの値が負の場合は、転倒方向はマイナス方向である。転倒の方向がプラス方向である場合には、ＣＰＵ１０は、姿勢変化量ｄＰｏｓｅのＺ成分ｄＰｏｓｅｚに所定値を加算する（ステップＳ５１２）。また、転倒の方向がマイナス方向である場合には、ＣＰＵ１０は、姿勢変化量ｄＰｏｓｅのＺ成分ｄＰｏｓｅｚから所定値を減算する（ステップＳ５１３）。このように、上記第１の場合には、姿勢変化量ｄＰｏｓｅのＺ成分ｄＰｏｓｅｚに所定値が加算または減算されることにより、車体座標系のＺ軸まわりに強制的に回転（転倒）させるための姿勢変化が設定される。
【００６２】
また、上記第３の場合（ステップＳ５０２のＹｅｓ）には、ＣＰＵ１０は、姿勢変化量ｄＰｏｓｅの３つの要素をすべて０にクリアする（ステップＳ５２１）。これにより、メイン処理のステップＳ１０４で更新された姿勢変化量ｄＰｏｓｅは、メイン処理のステップＳ１０９における姿勢マトリクスＰｏｓｅの更新に反映されなくなる。すなわち、ｄＰｏｓｅは０となるので、ステップＳ１０９の姿勢制御処理において姿勢マトリクスは変化しない。その代わりに、ステップＳ５２２、Ｓ５２３およびＳ５２４において、姿勢マトリクスを変化させる処理が行われる。ステップＳ５２１の後、ＣＰＵ１０は、姿勢マトリクスＰｏｓｅのＹ成分ＰｏｓｅＹを、プレイヤ車が位置する地点の地面の法線ベクトルＮに徐々に近づける処理を行う（ステップＳ５２２）。より詳細には、ＣＰＵ１０は、次式（４）に従ってベクトルＰｏｓｅＹを求め、求めたベクトルを正規化する。
【数３】
0003731879.tif 000004
なお、上式（４）において、Ｎｘ、ＮｙおよびＮｚは、それぞれ、地面の法線ベクトルのＸ成分、Ｙ成分およびＺ成分をワールド座標系を用いて表したものであり、変数ｔは、０から１までのうちの適当な値が設定される定数である。ｔの値が大きい（１に近い）ほど、姿勢マトリクスＰｏｓｅのＹ成分ＰｏｓｅＹは、早く法線ベクトルＮに近づく。
【００６３】
次に、ＣＰＵ１０は、姿勢マトリクスＰｏｓｅのＺ成分ＰｏｓｅＺを、転倒判定処理のステップＳ４０５で記憶させた転倒前の値ＰＰｏｓｅＺに徐々に近づける処理を行う（ステップＳ５２３）。より詳細には、ＣＰＵ１０は、次式（５）に従ってベクトルＰｏｓｅＺを求め、求めたベクトルを正規化する。
【数４】
0003731879.tif 000005
なお、上式（５）における変数ｔは、上述した式（４）における変数ｔと同じものである。
【００６４】
次に、ＣＰＵ１０は、２本のベクトルＰｏｓｅＺとＰｏｓｅＹとの外積を求め、これをベクトルＰｏｓｅＸとする（ステップＳ５２４）。ベクトルＰｏｓｅＹとＰｏｓｅＺとは直交し、かつ、いずれも正規化されているので、求めたベクトルＰｏｓｅＸは、正規化されたベクトルとなる。
【００６５】
次に、ＣＰＵ１０は、姿勢マトリクスＰｏｓｅのＹ成分ＰｏｓｅＹが、地面の法線ベクトルＮに所定より近いか否かを判断する（ステップＳ５２５）。次に、ＣＰＵ１０は、姿勢マトリクスＰｏｓｅのＺ成分ＰｏｓｅＺが、転倒前の値ＰＰｏｓｅＺに所定より近いか否かを判断する（ステップＳ５２６）。ステップＳ５２５の条件とステップＳ５２６の条件がともに成立した場合には、ＣＰＵ１０は、転倒フラグをオフに設定する（ステップＳ５２７）。それ以外の場合には、ＣＰＵ１０は、何ら処理を行わない。したがって、後者の場合、転倒フラグは、以前の値を保持する。ＣＰＵ１０は、これをもって転倒処理を終了し、メイン処理へ復帰する。
【００６６】
図６ないし図１０に示すゲーム処理をまとめると、以下のようになる。すなわち、このレースゲームでは、転倒判定処理（ステップＳ１０５）において、プレイヤオブジェクトであるプレイヤ車が所定の姿勢となったときに、転倒フラグがオンに設定される（ステップＳ４０４）。転倒フラグがオンになった後、強制転倒時間Ｔ１が経過するまでの間は（転倒処理の第１の場合）、プレイヤ車は、転倒の要因となる外力を受け（ステップＳ５１２およびＳ５１３）、強制的に転倒させられる。強制転倒時間Ｔ１が経過し、その後に非強制転倒時間Ｔ２が経過するまでの間は（転倒処理の第２の場合）、プレイヤ車は、転倒の要因となる外力を受けずに、慣性によって転倒状態を維持する。さらに、非強制転倒時間Ｔ２が経過した後は（転倒処理の第３の場合）、プレイヤ車の高さ方向はプレイヤ車が位置する地点の地面の法線方向に、プレイヤ車の進行方向は転倒前の進行方向に徐々に近づくように制御され（ステップＳ５２２およびステップＳ５２３）、それぞれの差が所定の範囲内となったときに、転倒フラグはオフに設定される（ステップＳ５２７）。また、転倒フラグがオンである間は、操作制御処理（ステップＳ１０３）は実行されないため、コントローラ２からの操作入力は受け付けられない。
【００６７】
図１１は、上記ゲーム処理により、プレイヤ車が転倒する様子を示す図である。図１１（ａ）は、プレイヤ車が転倒させられた後、走行可能な状態に復帰させられるまでの時間を、時間軸上に示したものである。この例では、プレイヤ車は、時刻Ａで転倒させられ、時刻Ｌで走行可能な状態に復帰させられている。また、時刻Ａから強制転倒時間Ｔ１だけ経過した時刻を時刻Ｈ、時刻Ｈからさらに非強制転倒時間Ｔ２だけ経過した時刻を時刻Ｊとする。
【００６８】
図１１（ｂ）は、図１１（ａ）に示す時刻Ａから時刻Ｌにおいて、画面に表示されるプレイヤ車の姿勢を示す図である。時刻Ａから時刻Ｈまでの間は、プレイヤ車は、転倒の要因となる外力を受け、強制的に転倒させられる。これにより、この間、図１１（ｂ）に示す姿勢Ａ、姿勢Ｂ、…、姿勢Ｈのプレイヤ車が、画面に順に表示される。次に、時刻Ｈから時刻Ｊまでの間は、プレイヤ車は、転倒の要因となる外力を受けずに、慣性によって転倒状態を維持する。これにより、この間、図１１（ｂ）に示す姿勢Ｈ、姿勢Ｉおよび姿勢Ｊのプレイヤ車が、画面に順に表示される。次に、時刻Ｊから時刻Ｌまでの間は、プレイヤ車の高さ方向はプレイヤ車が位置する地点の地面の法線方向に、プレイヤ車の進行方向は転倒前の進行方向に徐々に近づくように制御される。これにより、図１１（ｂ）に示す姿勢Ｊ、姿勢Ｋおよび姿勢Ｌのプレイヤ車が、画面に順に表示される。転倒終了と判断される時刻Ｌでは、プレイヤ車の高さ方向はプレイヤ車が位置する地点の地面の法線方向にほぼ一致し、プレイヤ車の進行方向は転倒前の進行方向にほぼ一致している。
【００６９】
以上に示すように、第１実施形態に係るゲーム機は、プレイヤオブジェクトであるプレイヤ車が所定の姿勢となったときに、プレイヤ車を転倒させる処理を行い、所定の時間経過後、プレイヤ車を走行可能な状態に復帰させる。これにより、プレイヤ車が転倒した後にゲームが再開されるまでに行われる画面表示が、転倒前になされていた画面表示と連続する。したがって、ゲームをスムーズに再開でき、プレイヤのゲームに対する没入度を高めることができる。
【００７０】
また、プレイヤ車が転倒している間、ゲーム機は、コントローラからの操作入力を受け付けないので、プレイヤ車の姿勢を容易に自動的に制御することができる。また、ゲーム機は、プレイヤ車の高さ方向を地面の法線ベクトルに近づけることにより、プレイヤ車を走行可能な状態に復帰させるので、プレイヤ車をゲーム再開可能な状態に復帰させるときの画像表示が自然なものとなる。また、ゲーム機は、プレイヤ車の進行方向を転倒前の進行方向に近づけることにより、プレイヤ車を走行可能な状態に復帰させるので、プレイヤは進行方向を見失うことがなく、混乱なくゲームを行うことができる。また、ゲーム機は、第１の所定時間だけ転倒の要因となる外力をプレイヤ車に加えてプレイヤ車を強制的に転倒させ、その後に第２の所定時間だけ転倒の要因となる外力を加えずにプレイヤ車を慣性で回転させるので、プレイヤ車を転倒させるときの画像表示が自然なものとなる。
【００７１】
次に、図１２ないし図１５を参照して、第２実施形態に係るゲーム機の動作を詳細に説明する。第２実施形態は、プレイヤ車が所定の状態になったときにスピン処理を行うゲームについての実施形態である。第２実施形態では、プレイヤ車がスピンしているか否かを示すスピンフラグが使用される。なお、第１実施形態と共通する部分については説明を省略する。
【００７２】
図１２は、第２実施形態のメイン処理のうち、第１実施形態のメイン処理（図６）と異なる箇所についてのフローチャートである。図１３は、第２実施形態のレース準備処理のうち、第１実施形態のレース準備処理（図７）と異なる箇所についてのフローチャートである。第２実施形態のレース準備処理では、ＣＰＵ１０は、ステップＳ２０２（図７）でＹｅｓと判定した後、ステップＳ２５３において、車体データの初期化およびスピンフラグをオフにする処理を行う。その後、ＣＰＵ１０は、ステップＳ２０４（図７）に進む（以上、図１３を参照）。
【００７３】
第２実施形態のメイン処理では、ＣＰＵ１０は、ステップＳ１０１（図６）の後、ステップＳ１５２において、スピンフラグがオン（スピン状態）であるか否かを調べる。その後、ＣＰＵ１０は、スピンフラグがオンである場合はステップＳ１０４（図６）に、オフである場合はステップＳ１０３（図６）に進む（以上、図１２（ａ）を参照）。また、ＣＰＵ１０は、ステップＳ１０４（図６）の後、ステップＳ１５５において、後述するスピン判定処理を行う。その後、ＣＰＵ１０は、スピンフラグがオンであるか否かを判定する（ステップＳ１５６）。スピンフラグがオンである場合には、ＣＰＵ１０は、後述するスピン処理（ステップＳ１５７）を行った後、ステップＳ１０８（図６）に進む。スピンフラグがオフである場合には、ＣＰＵ１０は、スピン処理を行うことなく、ステップＳ１０８（図６）に進む（以上、図１２（ｂ）を参照）。
【００７４】
図１４は、スピン判定処理（ステップＳ１５５）の詳細を示すフローチャートである。スピン判定処理では、ＣＰＵ１０は、まず、ステップＳ６０１において、コーナーでオーバースピードであるか否かを判定する。オーバースピードでないと判定した場合には、ＣＰＵ１０は、ステップＳ６０２〜Ｓ６０４の処理を行うことなく、スピン判定処理を終了し、メイン処理に復帰する。これに対し、オーバースピードであると判定した場合には、ＣＰＵ１０は、ステップＳ６０２に進む。この場合、ＣＰＵ１０は、スピンフラグをオンに設定し（ステップＳ６０２）、現在の姿勢マトリクスのＺ成分ＰｏｓｅＺをスピン前の値ＰＰｏｓｅＺＳとして記憶し（ステップＳ６０３）、スピン処理時間Ｔ１およびＴ２を設定する（ステップＳ６０４）。その後、ＣＰＵ１０は、スピン判定処理を終了し、メイン処理に復帰する。
【００７５】
図１５は、スピン処理（ステップＳ１５７）の詳細を示すフローチャートである。以下、第１実施形態の転倒処理（図１０）と異なる箇所について説明する。スピン処理においても、プレイヤ車をスピンさせるべき旨の判定がなされてからの経過時間によって、１）強制スピン時間Ｔ１が経過するまで、２）強制スピン時間Ｔ１が経過した後、非強制スピン時間Ｔ２が経過するまで、３）非強制スピン時間Ｔ２が経過した後の３つの場合に分けて処理が行われる。上記３つの場合を、順に第１、第２および第３の場合と呼ぶ。
【００７６】
上記第１の場合（ステップＳ７０１のＮｏ）、ＣＰＵ１０は、ステップＳ７１１において、スピンの方向を決定する。スピンの方向がプラス方向である場合には、ＣＰＵ１０は、姿勢変化量ｄＰｏｓｅのＹ成分ｄＰｏｓｅｙに所定値を加算する（ステップＳ７１２）。また、スピンの方向がマイナス方向である場合には、ＣＰＵ１０は、姿勢変化量ｄＰｏｓｅのＹ成分ｄＰｏｓｅｙから所定値を減算する（ステップＳ７１３）。このように、姿勢変化量ｄＰｏｓｅのＹ成分ｄＰｏｓｅｙに所定値が加算または減算されることにより、車体座標系のＹ軸まわりに強制的に回転（スピン）させるための姿勢変化が設定される。
【００７７】
上記第２の場合（ステップＳ７０２のＮｏ）、ＣＰＵ１０は、何ら処理を行うことなくスピン処理を終了し、メイン処理へ復帰する。
【００７８】
上記第３の場合（ステップＳ７０２のＹｅｓ）、ＣＰＵ１０は、姿勢変化量ｄＰｏｓｅをクリアし（ステップＳ７２１）、姿勢マトリクスＰｏｓｅのＺ成分ＰｏｓｅＺを、スピン判定処理のステップＳ６０３で記憶させたスピン前の値ＰＰｏｓｅＺＳに徐々に近づける処理を行い（ステップＳ７２２）、ベクトルＰｏｓｅＸを求める（ステップＳ７２３）。次に、ＣＰＵ１０は、姿勢マトリクスＰｏｓｅのＺ成分ＰｏｓｅＺが、スピン前の値ＰＰｏｓｅＺＳに所定より近い場合には（ステップＳ７２４のＹｅｓ）、スピンフラグをオフに設定する（ステップＳ７２５）。
【００７９】
以上に示すように、第２実施形態に係るゲーム機は、プレイヤオブジェクトであるプレイヤ車が所定の姿勢となったときに、プレイヤ車をスピンさせる処理を行い、所定の時間経過後、プレイヤ車の進行方向をスピン前の状態に復帰させる。これにより、プレイヤ車がスピンした後にゲームをスムーズに再開でき、プレイヤのゲームに対する没入度を高めることができる。
【００８０】
なお、以上の説明では、プレイヤオブジェクトがプレイヤ車であるレースゲームについて述べたが、プレイヤに対応したプレイヤオブジェクトが現れるゲームであれば、ゲームの種類は任意でよい。
【００８１】
また、レースゲームのプログラムを記録したＤＶＤ−ＲＯＭ３をゲーム機本体１に装着することとしたが、これに代えて、プログラムを記録したメモリを内蔵したカセットをゲーム機本体１に装着することとしてもよい。あるいは、プログラムを記録したメモリを予めゲーム機本体１に内蔵しておいてもよい。あるいは、プログラムを、インターネットなどを用いてゲーム機本体１にダウンロードすることとしてもよい。
【００８２】
また、ゲーム機は画像表示部および音声出力部を備えず、画像および音声はテレビから出力されるとしたが、これに代えて、ゲーム機が、液晶画面や内蔵スピーカなどを備えることとしてもよい。また、コントローラ２はゲーム機本体１に着脱可能に構成されていることとしたが、これに代えて、ゲーム機本体１の筐体に押しボタンを設けるなどの方法により、コントローラ２をゲーム機本体１と一体に構成してもよい。
【図面の簡単な説明】
【図１】本発明の実施形態に係るゲーム機を含んだゲームシステムの外観図である。
【図２】本発明の実施形態に係るゲーム機のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係るゲーム機による表示画面の一例を示す図である。
【図４】本発明の実施形態に係るゲーム機における車体データの構成を示す図である。
【図５】本発明の実施形態に係るゲーム機における車体座標系を示す図である。
【図６】本発明の第１実施形態に係るゲーム機のメイン処理のフローチャートである。
【図７】本発明の第１実施形態に係るゲーム機のレース準備処理のフローチャートである。
【図８】本発明の第１実施形態に係るゲーム機の操作制御処理のフローチャートである。
【図９】本発明の第１実施形態に係るゲーム機の転倒判定処理のフローチャートである。
【図１０】本発明の第１実施形態に係るゲーム機の転倒処理のフローチャートである。
【図１１】本発明の第１実施形態に係るゲーム機において、プレイヤ車が転倒する様子を示す図である。
【図１２】本発明の第２実施形態に係るゲーム機のメイン処理のフローチャートである。
【図１３】本発明の第２実施形態に係るゲーム機のレース準備処理のフローチャートである。
【図１４】本発明の第２実施形態に係るゲーム機のスピン判定処理のフローチャートである。
【図１５】本発明の第２実施形態に係るゲーム機のスピン処理のフローチャートである。
【符号の説明】
１…ゲーム機本体
２…コントローラ
３…ＤＶＤ−ＲＯＭ
４…メモリカード
５…テレビ
６…ジョイスティック
７…Ａボタン
８…Ｂボタン
９…スタートボタン
１０…ＣＰＵ
【図１】
0003731879.tif 000006
【図２】
0003731879.tif 000007
【図３】
0003731879.tif 000008
【図４】
0003731879.tif 000009
【図５】
0003731879.tif 000010
【図６】
0003731879.tif 000011
【図７】
0003731879.tif 000012
【図８】
0003731879.tif 000013
【図９】
0003731879.tif 000014
【図１０】
0003731879.tif 000015
【図１１】
0003731879.tif 000016
【図１２】
0003731879.tif 000017
【図１３】
0003731879.tif 000018
【図１４】
0003731879.tif 000019
【図１５】
0003731879.tif 000020