JP3797608B2 - ゲーム装置およびゲームプログラム - Google Patents
ゲーム装置およびゲームプログラム Download PDFInfo
- Publication number
- JP3797608B2 JP3797608B2 JP2002129936A JP2002129936A JP3797608B2 JP 3797608 B2 JP3797608 B2 JP 3797608B2 JP 2002129936 A JP2002129936 A JP 2002129936A JP 2002129936 A JP2002129936 A JP 2002129936A JP 3797608 B2 JP3797608 B2 JP 3797608B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- operation data
- game
- passenger
- driver
- 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 - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ゲーム装置に関し、より特定的には、プレイヤが画面上に表示されるキャラクタを操作するゲーム装置に関する。
【0002】
【従来の技術】
従来のレースゲームやアクションゲームにおいて、プレイヤは、1人のプレイヤにつき1つのキャラクタを操作することが一般的である。例えば、従来のレースゲームでは、1人のプレイヤが1台の車(1人のドライバ)を操作することによって、レースゲームが行われる。かかる従来のレースゲームやアクションゲームでは、自己の操作のみによって操作対象であるキャラクタの動作が決定される。従って、複数のプレイヤが協力して1つのキャラクタを操作することができず、複数のプレイヤが連帯感を味わうことができない。
【0003】
そこで、2人のプレイヤが協力して1つのキャラクタを操作する技術が考えられている。例えば、特開2000−342855号公報に記載の発明が挙げられる。かかる発明は、各プレイヤが操作するキャラクタを合体した合体キャラクタを生成することによって、1体のキャラクタを2人で操作するものである。これによって、プレイヤは、1体のキャラクタを2人で操作することによる連帯感を味わうことができる。
【0004】
【発明が解決しようとする課題】
しかし、上述した従来の技術では、2人のプレイヤによる操作は、それぞれ独立してキャラクタの動作に反映される。上記公報に記載の発明においては、2人のプレイヤが操作するキャラクタは1つであるが、各プレイヤが行うべき操作は予め割り当てられている。すなわち、合体キャラクタは、各々のプレイヤに応じて別々の動作(例えば、攻撃)を行うものである。このように、上記公報に記載の発明においては、一方のプレイヤによる操作ともう一方のプレイヤによる操作とが連動するものではない。従って、上述した従来の技術では、2人のプレイヤによる操作を連動させるものはなく、それ故、2人のプレイヤが協力して1つのキャラクタを操作するというゲーム感覚を十分に得ることができなかった。
【0005】
それ故に、本発明の目的は、2人のプレイヤによる操作を連動して1つのキャラクタの動作に反映させるゲーム装置を提供することである。
【0006】
【課題を解決するための手段および発明の効果】
この発明は、上記の目的を達成するために、次のように構成される。
すなわち、請求項1に係る発明によれば、ゲーム装置は、ゲーム空間に登場する移動体キャラクタと、当該移動体キャラクタを運転する運転者キャラクタと、当該移動体キャラクタに搭乗する搭乗者キャラクタとを含む複数のキャラクタを動作させる。ゲーム装置は、複数個の操作スイッチを有する第1のコントローラの操作スイッチに加えられる操作に応じた第1の操作データと、複数個の操作スイッチを有する第2のコントローラの操作スイッチに加えられる操作に応じた第2の操作データを取得し、さらに前記第1のコントローラおよび第2のコントローラの複数の操作スイッチのうち、交代操作のための所定のスイッチに加えられる操作に応じた交代操作データを取得する操作データ取得手段と、第1の操作データに応じて移動体キャラクタおよび運転者キャラクタの進行方向を決定する第1動作制御手段と、第2の操作データに応じて移動体キャラクタの進行方向および搭乗者キャラクタの姿勢を変化させる第2動作制御手段と、交代操作データに応じて、第1動作制御手段において移動体キャラクタおよび運転者キャラクタの進行方向を決定するための操作データを第1の操作データから第2の操作データへ変更するとともに、第2動作制御手段において移動体キャラクタの進行方向および搭乗者キャラクタの姿勢を変化させるための操作データを第2の操作データから第1の操作データへ変更する変更手段と、交代操作データに応じて、さらに運転者キャラクタと搭乗者キャラクタとに対して予め用意されたキャラクタの配置が交代するようにキャラクタの配置座標を徐々に変化させる配置変換手段と、配置座標にキャラクタが配置されたゲーム画像を生成して表示装置に表示させる画像処理手段とを備えている。
【0009】
また、請求項2に係る発明によれば、ゲーム装置は、運転者キャラクタおよび搭乗者キャラクタに関するキャラクタ固有の属性であるキャラクタデータを記憶する記憶手段をさらに備える。変更手段は、運転者キャラクタと搭乗者キャラクタとのキャラクタデータの内容を入れ替えるようにさらに変更する。操作データ取得手段は、第3の操作スイッチに加えられる操作に応じて第3の操作データをさらに取得する。ゲーム装置は、第3の操作データに応じて、運転者キャラクタと搭乗者キャラクタとの位置を交代するアニメーションを行うキャラクタ交代手段をさらに備える。
【0010】
また、請求項3に係る発明によれば、ゲームプログラムは、ゲーム空間に登場する移動体キャラクタと、当該移動体キャラクタを運転する運転者キャラクタと、当該移動体キャラクタに搭乗する搭乗者キャラクタとを含む複数のキャラクタを動作させるゲーム装置のコンピュータで実行される。ゲームプログラムは、複数個の操作スイッチを有する第1のコントローラの操作スイッチに加えられる操作に応じた第1の操作データと、複数個の操作スイッチを有する第2のコントローラの操作スイッチに加えられる操作に応じた第2の操作データを取得し、さらに第1のコントローラおよび第2のコントローラの複数の操作スイッチのうち、交代操作のための所定のスイッチに加えられる操作に応じた交代操作データを取得する操作データ取得ステップと、第1の操作データに応じて移動体キャラクタおよび運転者キャラクタの進行方向を決定する第1動作制御ステップと、第2の操作データに応じて移動体キャラクタの進行方向および搭乗者キャラクタの姿勢を変化させる第2動作制御ステップと、交代操作データに応じて、第1動作制御ステップにおいて移動体キャラクタおよび運転者キャラクタの進行方向を決定するための操作データを第1の操作データから第2の操作データへ変更するとともに、第2動作制御ステップにおいて移動体キャラクタの進行方向および搭乗者キャラクタの姿勢を変化させるための操作データを第2の操作データから第1の操作データへ変更する変更ステップと、交代操作データに応じて、さらに運転者キャラクタと搭乗者キャラクタとに対して予め用意されたキャラクタの配置が交代するようにキャラクタの配置座標を徐々に変化させる配置変換ステップと、配置座標にキャラクタが配置されたゲーム画像を生成して表示装置に表示させる画像処理ステップと、をコンピュータに実行させる。
【0011】
また、請求項4に係る発明によれば、ゲームプログラムは、運転者キャラクタおよび搭乗者キャラクタに関するキャラクタ固有の属性であるキャラクタデータをゲーム装置の記憶手段に記憶する記憶ステップをコンピュータにさらに実行させる。変更ステップは、運転者キャラクタと搭乗者キャラクタのキャラクタデータの内容を入れ替えるようにさらに変更する。
【0024】
【発明の実施の形態】
図1は本発明の一実施形態に係るゲームシステムの構成を示す外観図であり、図2はそのブロック図である。図1、図2に示すように、ゲームシステムは、ゲーム機本体101、DVD−ROM102、メモリカード103、コントローラ104、スピーカ201およびテレビ105を備える。DVD−ROM102およびメモリカード103は、ゲーム機本体101に着脱自在に装着される。コントローラ104は、ゲーム機本体101に設けられる複数(図1では、4つ)のコントローラポート104用コネクタのいずれかに接続される。また、テレビ105およびスピーカ201は、AVケーブル等によって接続される。なお、他の実施形態においては、ゲーム機本体101とコントローラ104との通信は、通信ケーブルを用いずに無線通信によって行われてもよい。以下、本発明に係るゲームシステムにおける各部を詳細に説明する。以下、図2を参照しながら、ゲームシステムにおける一般的な動作を説明する。
【0025】
外部記憶媒体の一例であるDVD−ROM102は、ゲームプログラムやキャラクタデータ等のゲームに関するデータを固定的に記憶している。プレイヤがゲームを行う場合、DVD−ROM102はゲーム機本体101に装着される。なお、ゲームプログラム等を記憶する手段は、DVD−ROM102に限らず、例えばCD−ROM、MO、メモリカード、ROMカートリッジ等の記憶媒体であってもよい。メモリカード103は、例えばフラッシュメモリ等の書き換え可能な記憶媒体によって構成され、例えばゲームにおけるセーブデータ等のデータを記録する。
【0026】
ゲーム機本体101は、DVD−ROM102に記録されているゲームプログラムを読み出し、ゲーム処理を行う。ゲーム機本体101の構成およびゲーム処理の詳細は後述する。コントローラ104および105は、プレイヤがゲーム操作に関する入力を行うための入力装置であり、複数の操作スイッチを有する。コントローラ104および105は、プレイヤによる操作スイッチの押圧等に応じて操作データをゲーム機本体101に出力する。テレビ106は、ゲーム機本体101から出力された画像データを画面に表示する。また、スピーカ201は、典型的にはテレビ106に内蔵されており、ゲーム機本体101から出力されたゲーム中の音声を出力する。
【0027】
次に、ゲーム機本体101の構成について説明する。図2において、ゲーム機本体101内には、CPU202およびそれに接続されるメモリコントローラ203が設けられる。さらに、ゲーム機本体101内において、メモリコントローラ203は、グラフィックスプロセッシングユニット(GPU)204と、メインメモリ205と、DSP206を介してサブメモリ207と、各種インターフェース(IF)208〜211とに接続される。メモリコントローラ203は、これら各構成要素間のデータ転送を制御する。
【0028】
ゲーム開始の際、まず、DVDドライブ213は、ゲーム機本体101に装着されたDVD−ROM102を駆動する。DVD−ROM102に記憶されているゲームプログラムは、DVDI/F212およびメモリコントローラ203を介して、メインメモリ205に読み込まれる。メインメモリ205上のプログラムをCPU202が実行することによって、ゲームが開始される。ゲーム開始後、プレイヤは、操作スイッチを用いてコントローラ104および105に対してゲーム操作命令等の入力を行う。プレイヤによる操作命令に従い、コントローラ104および105は、操作データをゲーム機本体101に出力する。ここで、コントローラ104から出力される操作データを第1の操作データ、コントローラ105から出力される操作データを第2の操作データと呼ぶ。第1および第2の操作データは、コントローラI/F208およびメモリコントローラ203を介してCPU202に入力される。CPU202は、入力された操作データに応じてゲーム処理を行う。ゲーム処理における画像データ生成等に際して、GPU204やDSP206が用いられる。また、サブメモリ207は、DSP206が所定の処理を行う際に用いられる。
【0029】
GPU204は、ジオメトリユニット214およびレンダリングユニット215を含み、画像処理専用のメモリに接続されている。この画像処理専用メモリは、例えばカラーバッファ216およびZバッファ217として利用される。ジオメトリユニット214は、仮想3次元空間であるゲーム空間に置かれた物体や図形に関する立体モデル(例えばポリゴンで構成されるオブジェクト)の座標についての演算処理を行うものであり、例えば立体モデルの回転・拡大縮小・変形や、ワールド座標系の座標から視点座標系やスクリーン座標系の座標への変換を行うものである。レンダリングユニット215は、所定のテクスチャに基づいて、スクリーン座標に投影された立体モデルについて各ピクセルごとのカラーデータ(RGBデータ)をカラーバッファ216に書き込むことによって、ゲーム画像を生成するためのものである。また、カラーバッファ216は、レンダリングユニット215によって生成されたゲーム画像データ(RGBデータ)を保持するために確保されたメモリ領域である。Zバッファ217は、3次元の視点座標から2次元のスクリーン座標に変換する際に失われる視点からの奥行情報を保持するために確保されたメモリ領域である。GPU204は、これらを用いてテレビ105に表示すべき画像データを生成し、適宜メモリコントローラ203およびビデオI/F209を介してテレビ105に出力する。なお、ゲームプログラム実行時にCPU202において生成される音声データは、メモリコントローラ203からオーディオI/F211を介して、スピーカ201に出力される。なお、本実施例では、画像処理専用のメモリを別途設けたハードウェア構成としたが、これに限らず例えばメインメモリ205の一部を画像処理用のメモリとして利用する方式(UMA:Unified Memory Architecture)を使うようにしてもよい。
【0030】
次に、コントローラ104において生成される操作データについて説明する。図3は、図1に示すコントローラ104の操作スイッチの構成を示す図である。図3において、コントローラ104は、Zボタン301と、Rボタン302と、Lボタン303と、Aボタン304と、Bボタン305と、Xボタン306と、Yボタン307と、スタートボタン308と、十字キー309と、メインアナログスティック310と、サブアナログスティック311とを有する構成である。以上のように構成されるコントローラ104において生成される操作データの構成を、図4に示す。
【0031】
図4に示すように、操作データは例えば7バイトで構成される。1バイト目の8ビットは、Zボタン301、Rボタン302、Lボタン303と、Aボタン304と、Bボタン305と、Xボタン306と、Yボタン307およびスタートボタン308の操作状態を表す。具体的には、1バイト目の8ビットは、上記各ボタンが押圧されているか否かを表す。2バイト目は、十字キー309の操作状態を表す。2バイト目の最初の4ビットは、それぞれ十字キー309における上下左右ボタンが押圧されているか否かを表す。なお、2バイト目の残り4ビットは、本実施形態においては使用されない。
【0032】
3バイト目は、メインアナログスティック310のx軸データを表す。x軸データとは、図3に示すx軸の方向についてメインアナログスティック310が傾倒されている度合を示すデータである。すなわち、3バイト目は、図3に示すx軸の方向にメインアナログスティック310がどの程度倒されているかを示す。従って、メインアナログスティック310は、プレイヤが当該スティックを倒す度合に応じて入力される値が異なる。また、4バイト目は、メインアナログスティック310のy軸データを表す。y軸データとは、図3に示すy軸の方向についてメインアナログスティック310が傾倒されている度合を示すデータである。以上より、操作データの3バイト目および4バイト目によって、メインアナログスティック310が傾倒されている角度(度合)と方向を表すことができる。また、5バイト目および6バイト目は、サブアナログスティック311についてのx軸データおよびy軸データを表す。従って、メインアナログスティック310の場合と同様、操作データの5バイト目および6バイト目によって、サブアナログスティック311が傾倒されている角度(度合)と方向を表すことができる。
【0033】
7バイト目は、Rボタン302およびLボタン303のアナログデータを表す。ここで、Rボタン302(Lボタン303)のアナログデータは、Rボタン302(Lボタン303)が押圧されている度合を示すデータである。従って、7バイト目のデータが示す値は、プレイヤがRボタン302またはLボタン303を押す度合(例えばボタンの押し込み量)に応じて変化する。なお、7バイト目の最初の4ビットがRボタン302のアナログデータを表し、残りの4ビットがLボタン303のアナログデータを表す。なお、以上において、図3および図4を用いてコントローラ104について説明したが、コントローラ105の操作データおよび操作スイッチは、コントローラ104と同様である。
【0034】
次に、本実施形態において行われるゲームの概要を説明する。図5は、本実施形態において行われるゲームの表示例を示す図である。また、図6は、図5に示すゲームにおいてプレイヤが操作するキャラクタを示す図である。なお、図6(a)はカート後方から見た図であり、図6(b)はカート側方から見た図である。本実施形態におけるゲームは、図5に示すようなレースゲームであり、プレイヤは、図6に示すキャラクタを操作する。なお、本実施形態では、プレイヤは2人とし、それぞれ、プレイヤA、プレイヤBとする。また、図6に示すように、プレイヤが操作するキャラクタは、移動体キャラクタ(カート)601と、当該移動体キャラクタ601を運転する運転者キャラクタ602と、当該運転者キャラクタ602の他に移動体キャラクタ601に搭乗する搭乗者キャラクタ603とからなる。なお、移動体キャラクタ601、運転者キャラクタ602および搭乗者キャラクタ603は一体的に移動する。プレイヤAは、コントローラ104を用いて運転者キャラクタ602を操作する。一方、プレイヤBは、コントローラ105を用いて搭乗者キャラクタ603を操作する。ここで、運転者キャラクタ602および移動体キャラクタ603に対する操作は、各キャラクタの挙動に加え、移動体キャラクタ601の挙動にも反映される。従って、プレイヤAによる運転者キャラクタ602の操作とともに、プレイヤBによる搭乗者キャラクタ603の操作によって、移動体キャラクタ601は操作されることになる。本レースゲームは、プレイヤAおよびBが上記の操作を行うことによってカートを運転し、他のプレイヤやゲーム装置によって操作される他のカートとレースを行うゲームである。なお、以下の説明において、プレイヤAおよびBが操作するキャラクタ、すなわち、移動体キャラクタ601(カート)と、運転者キャラクタ602と、搭乗者キャラクタ603とからなるキャラクタを、操作対象キャラクタと呼ぶ。なお、本実施形態においては、プレイヤの所望のタイミングで、運転者キャラクタ602と搭乗者キャラクタ603とを交代させることが可能である。具体的には、本実施形態に係るゲームにおいては、運転者キャラクタ602および搭乗者キャラクタ603となりうる、人物を模した複数の人物キャラクタが予め用意されており、レース中における所望のタイミングでコントローラのボタンが操作されたことに応じて、運転者キャラクタ602に設定されているキャラクタと、搭乗者キャラクタ603に設定されているキャラクタとを変更することができる。また、各人物キャラクタにそれぞれ固有の属性(例えば、体重等)を持たせており、体重の重い人物キャクタが運転者であるときには移動体キャラクタ603を回転し難くし、搭乗者である場合には回転しやすくなるように、移動体キャラクタ603の動作をさらに変化させる。
【0035】
次に、本実施形態に係るゲーム装置において行われるゲーム処理を説明する。ここで、ゲーム装置とは、DVD−ROM102が装着されたゲーム機本体101およびコントローラ104とを含むものである。図7は、本ゲーム装置のCPU202およびGPU204の協調動作によって行われるゲーム処理の流れを示すフローチャートである。なお、本実施例では、CPU202とGPU204の協調動作によってゲーム処理を行わせているが、例えばCPU202のみによってジオメトリ処理等のほぼ全ての処理を行わせることも可能である。
【0036】
ゲームが開始されると、まず、CPU202は、ゲーム空間を形成する(ステップS101)。具体的には、CPU202は、レースコース等の地形を形成するための地形オブジェクトを、ゲーム空間における3次元座標系(ワールド座標系)の初期座標に配置する。次に、CPU202は、ゲームに登場する操作対象キャラクタをワールド座標系の初期座標に配置する(ステップS102)。なお、ゲーム装置によって操作される操作対象キャラクタがある場合等、複数の操作対象キャラクタがゲームに登場してもよい。以上の処理によって、レースを開始するための準備がなされ、ステップS102の後、レースが開始される。
【0037】
レース開始後、CPU202は、コントローラ104および105からそれぞれ第1および第2操作データを取得し(ステップS103)、操作データの入力があるか否かを判定する(ステップS104)。ステップS104において、「操作データの入力がある」とは、操作データの中にゲーム操作に必要な入力に関するデータが含まれていることを示す。ここで、本実施形態においては、ゲーム操作には、例えば、コントローラ104(プレイヤAの用いるコントローラ)のZボタン、Aボタンおよびメインアナログスティックと、コントローラB(プレイヤBの用いるコントローラ)のZボタン、RボタンおよびLボタンとが使用されるものとする。従って、取得された第1および第2操作データの中にこれらの入力に関するデータが含まれている場合、CPU202は、操作データの入力があると判定する。逆に、当該操作データの中にこれらの入力に関するデータが含まれていない場合、CPU202は、操作データの入力がないと判定する。例えば、ステップS103において取得された第1の操作データの中に、サブアナログスティック311の入力に関するデータのみが含まれている場合、CPU202は操作データの入力がないと判定する。
【0038】
ステップS104の判定において、操作データの入力がないと判定された場合、CPU202は、ステップS105およびステップS106の処理をスキップし、ステップS107の処理を行う。一方、ステップS104の判定において、操作データの入力があると判定された場合、CPU202は、キャラクタ交代処理を行う(ステップS105)。キャラクタ交代処理とは、図6に示す運転者キャラクタ602および搭乗者キャラクタ603の位置関係および役割の変更に関する処理である。なお、キャラクタ交代処理の詳細は、図9において説明されている。ステップS105の次に、CPU202は、キャラクタ動作決定処理を行う(ステップS106)。キャラクタ動作決定処理とは、運転者キャラクタ602、搭乗者キャラクタ603および移動体キャラクタ601の動作を決定する処理である。なお、キャラクタ動作決定処理の詳細は、図13において説明されている。
【0039】
次に、CPU202はGPU204に対して座標変換命令を発行し、これに応じてGPU204は、キャラクタや地形オブジェクト等について、上記ワールド座標系から仮想カメラを基準とするカメラ座標系(視点座標系ともいう)に変換する(ステップS107)。ここで、仮想カメラは、ゲーム空間を画面に表示する際の視点である。次に、GPU204は、ステップS107において変換したカメラ座標系をさらに2次元の投影平面座標系(スクリーン座標系ともいう)に変換する(ステップS108)。この投影平面座標系へ変換処理の際に、GPU204は、クリッピングやテクスチャの指定等や照明処理等を行うとともに、視点からの奥行情報をZバッファに格納する。そして、GPU204は、ラスタ処理、すなわち、Zバッファ217を参照しながら投影平面座標系に投影された各ポリゴンについてテクスチャに基づいた色情報(カラーデータ)をカラーバッファ216に書き込む(描画する)処理によって、ゲーム画像を生成し(ステップS109)、そのゲーム画像をテレビ105に表示させる(ステップS110)。以上のステップS103〜ステップS110の処理によって、1つのゲーム画像が生成、表示される。
【0040】
ステップS110の次に、CPU202は、ゲームを終了するか否かを判定する(ステップS111)。例えば、レースが終了した場合や、プレイヤが所定のゲーム終了操作を行った場合、CPU202はゲームを終了すると判定する。ゲームを終了すると判定された場合、CPU202は、図10に示す処理を終了する。一方、ゲームを終了すると判定されなかった場合、CPU202は、ステップS103〜ステップS111の一連の処理を繰り返す。
【0041】
次に、ステップS105のキャラクタ交代処理について説明する。まず、キャラクタ交代処理の概要を説明する。上述したように、キャラクタ交代処理とは、図6に示す運転者キャラクタ602および搭乗者キャラクタ603の位置関係および役割の変更に関する処理である。具体的には、キャラクタ交代処理において、CPU202は、プレイヤからキャラクタ交代の操作入力があった場合、運転者キャラクタ602および搭乗者キャラクタ603の位置関係および役割を変更する。本実施形態において、かかる変更処理は、コントローラ104および105のZボタンが押圧されることによって開始されるものとする。コントローラ104および105のZボタンが押圧されると、CPU202は、運転者キャラクタ602と搭乗者キャラクタ603とを変更するアニメーション(換言すれば、運転者キャラクタと搭乗者キャラクタのモーションデータを再生する)を表示させる。
【0042】
図8は、図7のステップS105に示すキャラクタ交代処理におけるアニメーションの一例を示す図である。CPU202は、図8に示すように、運転者キャラクタ602(図8では、キャラクタB)が車両後部に移動し、搭乗者キャラクタ603(図8では、キャラクタA)が車両前部に移動するように、複数のゲーム画像を表示させる。かかる表示は、図7に示すステップS103からステップS111までのループに係る処理を複数回繰り返すことによって行われる。図8を例にとって説明すると、ステップS110において図8(a)〜(e)に示す画像が順に表示されることによって、運転者キャラクタ602と搭乗者キャラクタ603とを変更するアニメーションが表示されることとなる。ステップS105のキャラクタ交代処理は、かかる表示を行うための処理である。以下、キャラクタ交代処理の詳細を説明する。
【0043】
図9は、図7に示すステップS105の詳細を示すフローチャートである。まず、CPU202は、交代処理フラグがONであるか否かを判定する(ステップS201)。ここで、交代処理フラグとは、CPU202がキャラクタ交代処理を行っている途中か否かを示すフラグである。すなわち、交代処理フラグがONであることは、CPU202がキャラクタ交代処理を行っている途中であることを意味する。逆に、交代処理フラグがOFFであることは、CPU202がキャラクタ交代処理を行っていないことを示す。ステップS201において、交代処理フラグがONである場合、CPU202は、ステップS204の処理を行い、ステップS202の処理をとばす。従って、キャラクタ交代処理の途中では、CPU202はステップS103において取得した操作データを用いた処理を行わない。つまり、キャラクタ交代処理の途中では、プレイヤからの操作入力は無視される。
【0044】
一方、ステップS201において、交代処理フラグがOFFである場合、CPU202は、ステップS103において取得した操作データに基づいて、コントローラ104および105のZボタンの入力がONであるか否かを判定する(ステップS202)。ステップS202の判定は、ステップS103において取得された第1および第2の操作データにおける1バイト目の1ビット目を参照することによって行われる(図4参照)。ステップS202の判定において、上記Zボタンの入力がONである場合、CPU202は、交代処理フラグをONに設定し(ステップS203)、ステップS204の処理を行う。一方、上記Zボタンの入力がOFFである場合、CPU202は、ステップS105のキャラクタ交代処理を終了する。
【0045】
ステップS201において交代処理フラグがONである場合、または、ステップS203において交代処理フラグがONに設定された場合、CPU202は、配置変換処理を行う(ステップS204)。配置変換処理とは、図8に示す表示例のように、運転者キャラクタ602および搭乗者キャラクタ603の配置を変更するための処理である。すなわち、ステップS204において、CPU202は、運転者キャラクタ602と搭乗者キャラクタ603とを交代するように、それぞれの配置座標や姿勢を徐々に変化させる。図8を例に説明すると、直前のループ(ステップS103〜ステップS111のループ)における配置変換処理において、運転者キャラクタ602および搭乗者キャラクタ603が図8(b)に示す状態であった場合、図8(c)に示す状態に各キャラクタの動作を決定する。上述したように、キャラクタ交代処理は、図7に示すステップS103からステップS111までのループに係る処理を複数回繰り返すことによって行われる。すなわち、運転者キャラクタ602と搭乗者キャラクタ603とを変更する処理は、1回の配置変換処理で各キャラクタを交代させるものではなく、配置変換処理を複数回行うことによって完了するものである。
【0046】
次に、CPU202は、キャラクタの交代が完了したか否かを判定する(ステップS205)。ステップS205の判定は、直前に行われたステップS204の配置変換処理の内容に基づいて行われる。図8を例にとって説明すると、直前に行われた配置変換処理において運転者キャラクタ602および搭乗者キャラクタ603が図8(e)に示す状態となった場合、CPU202は、キャラクタの交代が完了したと判定する。逆に、直前に行われた配置変換処理において各キャラクタが図8(e)に示す状態となっていない場合、CPU202は、キャラクタの交代が完了していないと判定する。
【0047】
ステップS205の判定において、キャラクタの交代が完了していない場合、ステップS105のキャラクタ交代処理を終了する。なお、この場合、交代処理フラグはONに設定されたままであるので、次のループ(ステップS103からステップS111までのループ)において再度、ステップS204の配置変換処理が行われる。一方、ステップS205の判定において、キャラクタの交代が完了した場合、CPU202は、運転者キャラクタ602および搭乗者キャラクタ603のキャラクタデータを変更する(ステップS206)。キャラクタデータとは、上述したキャラクタに固有の属性をいい、本実施形態においては、キャラクタの体重データである。すなわち、ステップS206において、CPU202は、運転者キャラクタ602の体重データと、搭乗者キャラクタ603の体重データとを変更する。
【0048】
次に、CPU202は、プレイヤの役割を変更させる(ステップS207)。すなわち、プレイヤAが運転者キャラクタ、プレイヤBが搭乗者キャラクタを操作している場合、プレイヤAが搭乗者キャラクタ、プレイヤBが運転者キャラクタをそれぞれ操作するように、設定を変更する。具体的には、コントローラ104から取得される第1の操作データおよび、コントローラ105から取得される第2の操作データに関する設定を変更する。これによって、第1の操作データによって操作される対象(運転者キャラクタ)と、第2の操作データによって操作される対象(搭乗者キャラクタ)が逆になる。最後に、CPU202は、交代処理フラグをOFFに設定し(ステップS208)、キャラクタ交代処理を終了する。
【0049】
なお、本実施形態においては、コントローラ104およびコントローラ105のZボタンが押圧されることによって、運転者キャラクタ602と搭乗者キャラクタ603とを変更する処理が行われた。ここで、他の実施形態においては、コントローラ104またはコントローラ105のどちらかのZボタンが押圧されることによって、運転者キャラクタ602と搭乗者キャラクタ603とを変更する処理を行うようにしてもよい。
【0050】
次に、ステップS106のキャラクタ動作決定処理について説明する。まず、キャラクタ動作決定処理の概要を説明する。キャラクタ動作決定処理は、運転者キャラクタ602、搭乗者キャラクタ603および移動体キャラクタ601それぞれの動作を、コントローラ104および105からの第1および第2の操作データに基づいて決定する処理である。以下、図10から図12を用いて、各キャラクタの動作とコントローラ104および105の操作との関係について説明する。なお、上述したように、ここでは、プレイヤAがコントローラ104を用いて運転者キャラクタ602を操作し、プレイヤBがコントローラ105を用いて搭乗者キャラクタ603を操作するものとする。
【0051】
運転者キャラクタ602は、コントローラ104のメインアナログスティックによって操作される。具体的には、プレイヤAがコントローラ104のメインアナログスティックを傾倒することによって、運転者キャラクタ602はハンドル操作を行う。なお、メインアナログスティックの操作は、移動体キャラクタ601の動作(カート)にも関連している。
【0052】
図10は、コントローラ104のメインアナログスティックが右に傾倒されている場合における、図6に示す各キャラクタの表示状態を示す図である。なお、図10(a)はカート後方から見た図であり、図10(b)はカート側方から見た図である。図10(b)のように、コントローラ104のメインアナログスティックが右に傾倒されている場合、運転者キャラクタ602はハンドルを右に切り、首を右に回す。なお、この場合、移動体キャラクタ601は前輪を右方向を向け、進行方向を右に変化させる。
【0053】
搭乗者キャラクタ603は、コントローラ105のRボタンおよびLボタンによって操作される。具体的には、プレイヤBがコントローラ105のRボタンを押圧することによって、搭乗者キャラクタ603は移動体キャラクタ601の右側に荷重する動作を行う。また、プレイヤBがLボタンを押圧することによって、搭乗者キャラクタ603はカートの左側に荷重する動作を行う。なお、RボタンおよびLボタンの操作は、移動体キャラクタ601の動作にも関連している。
【0054】
図11は、コントローラ105のRボタンが押圧されている場合における、図6に示す各キャラクタの表示状態を示す図である。図8のように、コントローラ105のRボタンが押圧されている場合、搭乗者キャラクタ603は、移動体キャラクタ601の右側に体重をかけるように動作する。この場合、移動体キャラクタ601は、姿勢を所定角度(図11では、Δα1)だけ右に傾けて、かつ、進行方向を右に変化させる。なお、本実施形態においては、RボタンまたはLボタンが押圧されているか否かのみに基づいて、搭乗者キャラクタ603の動作が決定される。ここで、他の実施形態においては、RボタンまたはLボタンの押込み具合に応じて、搭乗者キャラクタ603の体重のかけ方(姿勢)が変化するようにしてもよい。
【0055】
次に、移動体キャラクタ601の動作について説明する。移動体キャラクタ601は、コントローラ104のメインアナログスティックと、コントローラ105のRボタンおよびLボタンとによって進行方向が決定され、コントローラ104のAボタンによって移動する速さが決定される。従って、移動体キャラクタ601の進行方向に関する動作と、運転者キャラクタ602および搭乗者キャラクタ603の動作とは、連動している。換言すれば、移動体キャラクタ601の動作は、運転者キャラクタ602および搭乗者キャラクタ603の動作によって変化する。図12は、コントローラ104のメインアナログスティックおよびコントローラ105のRボタンを操作した場合における、図6に示す移動体キャラクタ601の進行方向を示す図である。以下、移動体キャラクタ601の操作の詳細を説明する。
【0056】
まず、図12(a)のように、コントローラ104のメインアナログスティックのみが所定角度だけ右に傾いている場合、移動体キャラクタ601の向きは右にΔβ1だけ変化する。図12(a)は、図10に示す場合と同じ場合である。また、図12(b)のように、コントローラ105のRボタンのみが押圧されている場合、移動体キャラクタ601の向きは右にΔα2だけ変化する。なお、図12(b)は、図11に示す場合と同じ場合である。従って、図12(b)には示していないが、移動体キャラクタ601は、図11に示すように、進行方向を軸とした回転方向にΔα1だけ姿勢を傾けている。
【0057】
次に、図12(c)のように、コントローラ104のメインアナログスティックが所定角度(図12(a)の場合と同じ角度)だけ右に傾いており、かつ、コントローラ105のRボタンが押圧されている場合、移動体キャラクタ601の向きは右にΔγ1だけ変化する。なお、この場合、運転者キャラクタ602は右にハンドルを切る動作を行うように操作され、搭乗者キャラクタ603は移動体キャラクタ601の右側に荷重する動作を行うように操作されている。ここで、Δγ1は、Δβ1とΔα2との和よりも大きい。従って、運転者キャラクタ602と搭乗者キャラクタ603との双方について移動体キャラクタ601が右に曲がるように操作されている場合、どちらか一方が操作されている場合よりも大きく右に曲がることになる。換言すれば、移動体キャラクタ601を右に曲がらせやすい状態にする。
【0058】
また、図12(d)のように、コントローラ104のメインアナログスティックが所定角度(図12(a)の場合と同じ角度)だけ右に傾いており、かつ、コントローラ105のLボタンが押圧されている場合、移動体キャラクタ601の向きは右にΔγ2だけ変化する。なお、この場合、運転者キャラクタ602は右にハンドルを切る動作を行うように操作され、搭乗者キャラクタ603は移動体キャラクタ601の左側に荷重する動作を行うように操作されている。ここで、Δγ2は、Δβ1よりも小さい。従って、運転者キャラクタ602について移動体キャラクタ601が右に曲がるように操作されており、搭乗者キャラクタ603について移動体キャラクタ601が左に曲がるように操作されている場合、運転者キャラクタ602のみを操作する場合よりも右に曲がる角度が小さくなる。換言すれば、移動体キャラクタ601を右に曲がらせにくい状態にする。以上のように、移動体キャラクタ601の動作は、運転者キャラクタ602に関する操作に加えて、搭乗者キャラクタ603に関する操作を反映させて決定される。
【0059】
以下、ステップS106のキャラクタ動作決定処理の詳細について説明する。図13は、図7に示すステップS106の詳細を示すフローチャートである。まず、CPU202は、交代処理フラグがONであるか否かを判定する(ステップS301)。交代処理フラグがONである場合、CPU202は、キャラクタ動作決定処理を終了する。従って、キャラクタ交代処理の途中では、CPU202はステップS103において取得した操作データを用いた処理を行わない。つまり、キャラクタ交代処理の途中では、プレイヤからの操作入力は無視される。一方、交代処理フラグがOFFである場合、CPU202は、第1の動作制御処理を行う(ステップS302)。第1の動作制御処理とは、運転者キャラクタ602の動作を制御する処理である。第1の動作制御処理では、コントローラ104に含まれるメインアナログスティックに加えられた操作に基づいて、運転者キャラクタ602の動作が決定される。以下、第1の動作制御処理の詳細を説明する。
【0060】
図14は、図13に示すステップS302の詳細を示すフローチャートである。まず、CPU202は、運転者キャラクタ602が操作されているか否かを判定する(ステップS401)。ステップS401における判定は、ステップS103において取得された第1の操作データに、運転者キャラクタ602を操作するためのデータが含まれているか否かによって行われる。すなわち、第1の操作データにおけるメインアナログスティックに関する領域(3バイト目および4バイト目)に、メインアナログスティックが傾倒されていることを示す情報が含まれている場合、CPU202は運転者キャラクタ602が操作されていると判定する。逆に、第1の操作データにおけるメインアナログスティックに関する領域のデータが、メインアナログスティックが傾倒されていないことを示す場合、CPU202は運転者キャラクタ602が操作されていないと判定する。ステップS401の判定において、運転者キャラクタ602が操作されていない場合、CPU202は、ステップS302の第1の動作制御処理を終了する。一方、ステップS401の判定において、運転者キャラクタ602が操作されている場合、CPU202は、ステップS103において取得した第1の操作データから運転者キャラクタ602用の操作命令を抽出する(ステップS402)。すなわち、CPU202は、当該操作データから3バイト目および4バイト目のデータを抽出する。さらに、CPU202は、抽出した操作命令に基づいて運転者キャラクタ602の動作を決定して(ステップS403)、ステップS302の第1の動作制御処理を終了する。ステップS403において決定される動作は、例えば、メインアナログスティックのx軸方向における傾倒角度に応じた分だけ、運転者キャラクタ602がハンドルを切り、首を回すように決定される。
【0061】
図13の説明に戻り、第1の動作制御処理の後、CPU202は、第2の動作制御処理を行う(ステップS303)。第2の動作制御処理とは、搭乗者キャラクタ603および移動体キャラクタ601の動作を制御する処理である。第2の動作制御処理では、コントローラ105に含まれるRボタンおよびLボタンに加えられた操作に基づいて、搭乗者キャラクタ603の動作が決定される。さらに、第2の動作制御処理では、搭乗者キャラクタ603の動作を反映して移動体キャラクタ601の動作が決定される。すなわち、コントローラ104のメインアナログスティックおよびAボタンに加え、コントローラ105のRボタンおよびLボタンに加えられた操作に基づいて、移動体キャラクタ601の動作が決定される。以下、第2の動作制御処理の詳細を説明する。
【0062】
図15は、図13に示すステップS303の詳細を示すフローチャートである。まず、CPU202は、搭乗者キャラクタ603に関する動作決定処理を行う(ステップS501)。搭乗者キャラクタ603に関する動作決定処理は、コントローラ105に含まれるRボタンおよびLボタンに加えられた操作に基づいて、搭乗者キャラクタ603の動作を決定する処理である。以下、ステップS501に示す搭乗者キャラクタ603に関する動作決定処理の詳細を説明する。
【0063】
図16は、図15に示すステップS501の詳細を示すフローチャートである。まず、CPU202は、搭乗者キャラクタ603が操作されているか否かを判定する(ステップS601)。ステップS601における判定は、ステップS103において取得された第2の操作データに、搭乗者キャラクタ603を操作するためのデータが含まれているか否かによって行われる。すなわち、第2の操作データにおけるRボタンおよびLボタンに関する領域に、RボタンまたはLボタンが押圧されていることを示す情報が含まれている場合、CPU202は搭乗者キャラクタ603が操作されていると判定する。逆に、第2の操作データにおけるRボタンおよびLボタンに関する領域のデータが、RボタンまたはLボタンが押圧されていないことを示す場合、CPU202は搭乗者キャラクタ603が操作されていないと判定する。なお、本実施形態においては、第2の操作データにおけるRボタンおよびLボタンに関する領域として、1バイト目の2ビット目および3ビット目を用いることとし、7バイト目のアナログデータは用いないこととする。
【0064】
ステップS601の判定において、搭乗者キャラクタ603が操作されていない場合、CPU202は、ステップS501の第2の動作制御処理を終了する。一方、ステップS601の判定において、搭乗者キャラクタ603が操作されている場合、CPU202は、ステップS103において取得した第2の操作データから搭乗者キャラクタ603用の操作操作命令を抽出する(ステップS602)。すなわち、CPU202は、当該第2の操作データから1バイト目の2ビット目および3ビット目のデータを抽出する。さらに、CPU202は、抽出した操作命令に基づいて搭乗者キャラクタ603の動作を決定して(ステップS603)、ステップS501の搭乗者キャラクタ603の動作制御処理を終了する。ステップS603において、搭乗者キャラクタ603の動作は、Rボタンが押圧されたときは移動体キャラクタ601の右側に荷重をかけ、Lボタンが押圧されたときは移動体キャラクタ601の左側に荷重をかけるように決定される。
【0065】
図15の説明に戻り、搭乗者キャラクタ603に関する動作決定処理の後、CPU202は、移動体キャラクタ601に関する動作決定処理を行う(ステップS502)。移動体キャラクタ601に関する動作決定処理は、コントローラ104のメインアナログスティックおよびAボタンに加え、コントローラ105のRボタンおよびLボタンに加えられた操作に基づいて、移動体キャラクタ601の動作を決定する処理である。以下、ステップS502に示す移動体キャラクタ601に関する動作決定処理の詳細を説明する。
【0066】
図17は、図15に示すステップS502の詳細を示すフローチャートである。まず、CPU202は、運転者キャラクタ602が操作されているか否か、すなわち、運転者キャラクタ602がハンドルを切る動作に関する操作が行われているか否かを判定する(ステップS701)。ステップS701の判定は、図14に示すステップS401の判定と同様である。ステップS701の判定が肯定の場合、CPU202は、搭乗者キャラクタ603が操作されているか否か、すなわち、搭乗者キャラクタ603が荷重をかける動作に関する操作が行われているか否かを判定する(ステップS702)。ステップS702の判定は、図16に示すステップS601の判定と同様である。ステップS702の判定が否定の場合、すなわち、運転者キャラクタ602および搭乗者キャラクタ603双方に関する操作が行われていない場合、CPU202は、移動体キャラクタ601の姿勢を現状のまま維持する(ステップS703)。
【0067】
ステップS701またはステップS702のどちらかにおいて、判定結果が肯定であった場合、CPU202は、操作に応じて姿勢を変化させる(ステップS704)。具体的には、CPU202は、ステップS103において取得された第1および第2の操作データから、コントローラ104のメインアナログスティック、RボタンおよびLボタンに関するデータを抽出し、抽出したデータに基づいて移動体キャラクタ601の姿勢を決定する。移動体キャラクタ601の姿勢を決定する方法については、上述した図12の説明において述べられている。
【0068】
ステップS704の次に、CPU202は、キャラクタの属性に応じてさらに姿勢を変化させる(ステップS705)。上述したように、本実施形態においては、運転者キャラクタ602および搭乗者キャラクタ603となりうる複数の人物キャラクタが予め用意されており、各人物キャラクタは、それぞれ固有の属性(本実施形態においては、体重)を有している。ステップS705の処理では、CPU202は、各人物キャラクタ固有の体重属性に基づいて、移動体キャラクタ601の姿勢をさらに変化させる。例えば、CPU202は、移動体キャラクタ601(移動体キャラクタ601)の前方に乗車する運転者キャラクタ602と、後方に乗車する搭乗者キャラクタ603との体重差に基づいて、搭乗者キャラクタ603の荷重動作による移動体キャラクタ601の曲がり具合を変化させる。具体的には、図12において、当該体重差によって、図12(c)に示すΔγ1や同図(d)に示すΔγ2の値を変化させる。例えば、運転者キャラクタ602の体重が重く、搭乗者キャラクタ603の体重が軽い場合、搭乗者キャラクタ603の荷重動作による移動体キャラクタ601の曲がり具合を小さくする。すなわち、Δγ1とΔβ1との差、および、Δγ2とΔβ1との差を小さくする。逆に、運転者キャラクタ602の体重が軽く、搭乗者キャラクタ603の体重が思い場合、Δγ1とΔβ1との差、および、Δγ2とΔβ1との差を大きくする。以上のステップS701〜S705の処理によって、移動体キャラクタ601の姿勢が決定される。
【0069】
移動体キャラクタ601の姿勢決定後、すなわち、ステップS703またはステップS705の後、CPU202は、移動体キャラクタ601のアクセル操作が行われているか否かを判定する(ステップS706)。ステップS706における判定は、ステップS103において取得された第1の操作データに、移動体キャラクタ601のアクセルを操作するためのデータが含まれているか否かによって行われる。すなわち、当該第1の操作データにおけるAボタンに関する領域(1バイト目の4ビット目)に、Aボタンが押圧されていることを示す情報が含まれている場合、CPU202はアクセル操作が行われていると判定する。逆に、当該操作データにおけるAボタンに関する領域のデータが、Aボタンが押圧されていないことを示す場合、CPU202はアクセル操作が行われていないと判定する。
【0070】
ステップS706の判定が否定の場合、CPU202は、ステップS710の処理を行う。一方、ステップS706の判定が肯定の場合、CPU202は、姿勢方向の加速度を決定する(ステップS707)。姿勢方向の加速度は、ベクトルで表現され、当該ベクトルの方向は、ステップS701〜ステップS705において決定される移動体キャラクタ601の姿勢によって定められる。姿勢方向の加速度については、図18において説明されている。さらに、CPU202は、搭乗者キャラクタ603が荷重をかける動作に関する操作がされているか否かを判定する(ステップS708)。なお、ステップS708の判定は、ステップS702の判定と同様である。ステップS708の判定が否定の場合、CPU202は、ステップS710の処理を行う。一方、ステップS708の判定が肯定の場合、CPU202は、荷重による加速度を設定する(ステップS709)。本実施形態において、荷重による加速度は、移動体キャラクタ601の進行方向に対して所定の角度を有するベクトルで表現される。なお、荷重による加速度については、図18において説明されている。
【0071】
ステップ706、S708またはS709の後、CPU202は、移動体キャラクタ601の速度を算出する(ステップS713)。図18は、図17のステップS713における移動体キャラクタの速度算出方法を説明するための図である。図18のように、ステップS713の算出では、現在の速度を示すベクトル701と、姿勢方向の加速度を示すベクトル702と、荷重による加速度を示すベクトル703との和として、移動体キャラクタの速度を示すベクトル704が算出される。ここで、現在の速度を示すベクトル701は、前回のループ(ステップS103からS110までのループ)におけるステップS713において算出された移動体キャラクタ601の速度に基づいて決定される。また、上述したように、姿勢方向の加速度を示すベクトル702はステップS707において算出されるものであり、その方向は、コントローラ104のメインアナログスティックならびにコントローラ105のRボタンおよびLボタンによる操作に基づいて決定される。また、ベクトル702の大きさは、Aボタンの押圧(例えば、押圧されている時間)によって決定される。荷重による加速度を示すベクトル703はステップS709において算出され、その方向は、移動体キャラクタ601の進行方向に対して所定の角度を向く方向となる。また、ベクトル703の大きさは、予め定められた所定の大きさである。なお、他の実施形態において、RボタンまたはLボタンの押込み具合に応じて、搭乗者キャラクタ603の体重のかけ方(姿勢)が変化する場合、ベクトル702の大きさは、RボタンまたはLボタンの押込み具合に応じて変化する。なお、移動体キャラクタ601の速度は、姿勢方向の加速度や荷重による加速度が算出されていない場合、これらの加速度は0として算出される。例えば、図18において、荷重による加速度がない場合、すなわち、搭乗者キャラクタ603の荷重操作が行われていない場合、移動体キャラクタ601の速度は、現在の速度を示すベクトル701と、姿勢方向の加速度を示すベクトル702との和のベクトル705として示される。
【0072】
次に、CPU202は、ステップS710において算出した速度に基づいて、移動体キャラクタ601の位置を更新して(ステップS711)、ステップS502の移動体キャラクタ601の動作決定処理を終了する。以上により、移動体キャラクタ601の表示すべき姿勢および位置が決定される。なお、運転者キャラクタ602および搭乗者キャラクタ603の位置は、移動体キャラクタ601の上に乗車するように決定される。
【0073】
以上のように、本実施形態によれば、プレイヤAおよびBは、移動体キャラクタ601を協力して操作することができる。さらに、プレイヤAおよびBは、それぞれ、運転者キャラクタ602および搭乗者キャラクタ603という2つのキャラクタを操作することができる。以上より、本実施形態によれば、プレイヤは、それぞれが異なるキャラクタを操作するとともに、1つのキャラクタを他のプレイヤと協力して操作するという新規なゲーム感覚を得ることができる。
【0074】
なお、本実施形態においては、移動体キャラクタ601と、運転者キャラクタ602と、搭乗者キャラクタ603という3つのキャラクタがプレイヤによる操作対象であった。ここで、プレイヤの操作対象は、必ずしも3つである必要はなく、少なくとも2つのキャラクタであればよい。例えば、プレイヤAの操作する対象が移動体キャラクタであり、プレイヤBの操作する対象が搭乗者キャラクタであってもよい。
【0075】
また、本実施形態においては、キャラクタは、それぞれ1人の人物や1つのカートを単位とするものであった。ここで、他の実施形態においては、1つのキャラクタは、複数の人物や移動体(カート)から構成されるものであってもよい。例えば、搭乗者キャラクタは2人の人物から構成されるものであって、プレイヤが操作するカートには運転者キャラクタも含め合計3人の人物が乗車していてもよい。
【0076】
なお、本実施形態においては、図7に示すステップS105においてキャラクタ交代処理を行った。キャラクタ交代処理において、プレイヤは、運転者キャラクタ602と搭乗者キャラクタ603とを交代させることによって、同じ操作を行った場合でも移動体キャラクタの挙動を変化させることができる。例えば、キャラクタAが運転者キャラクタ602であり、キャラクタBが搭乗者キャラクタ603である場合と、その逆の場合とでは、移動体キャラクタ601の曲がり具合が異なるものとなる。これによって、ゲームの面白みがさらに増すと考えられる。なお、本実施形態においては、キャラクタの属性は体重であったが、身長等の体型的な属性であってもよく、また、体型等とは全く無関係な属性であってもかまわない。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るゲームシステムの構成を示す外観図である。
【図2】本実施形態に係るゲームシステムのハードウェア構成を示す図である。
【図3】図1に示すコントローラ104の操作スイッチの構成を示す図である。
【図4】図1に示すコントローラ104において生成される操作データの構成を示す図である。
【図5】本実施形態において行われるゲームの表示例を示す図である。
【図6】図5に示すゲームにおいてプレイヤが操作するキャラクタを示す図である。
【図7】本ゲーム装置のCPU202において行われるゲーム処理の流れを示すフローチャートである。
【図8】図7のステップS105に示すキャラクタ交代処理におけるアニメーションの一例を示す図である。
【図9】図7に示すステップS105の詳細を示すフローチャートである。
【図10】コントローラ104のメインアナログスティックが右に傾倒されている場合における、図6に示す各キャラクタの表示状態を示す図である。
【図11】コントローラ105のRボタンが押圧されている場合における、図6に示す各キャラクタの表示状態を示す図である。
【図12】コントローラ104のメインアナログスティックおよびコントローラ105のRボタン(Lボタン)を操作した場合における、図6に示す移動体キャラクタ601の進行方向を示す図である。
【図13】図7に示すステップS106の詳細を示すフローチャートである。
【図14】図13に示すステップS302の詳細を示すフローチャートである。
【図15】図13に示すステップS303の詳細を示すフローチャートである。
【図16】図15に示すステップS501の詳細を示すフローチャートである。
【図17】図15に示すステップS502の詳細を示すフローチャートである。
【図18】図17のステップS713における移動体キャラクタの速度算出方法を説明するための図である。
【符号の説明】
101 ゲーム機本体
102 DVD−ROM
103 メモリカード
104,105 コントローラ
106 テレビ
202 CPU
Claims (4)
- ゲーム空間に登場する移動体キャラクタと、当該移動体キャラクタを運転する運転者キャラクタと、当該移動体キャラクタに搭乗する搭乗者キャラクタとを含む複数のキャラクタを動作させるゲーム装置であって、
複数個の操作スイッチを有する第1のコントローラの操作スイッチに加えられる操作に応じた第1の操作データと、複数個の操作スイッチを有する第2のコントローラの操作スイッチに加えられる操作に応じた第2の操作データを取得し、さらに前記第1のコントローラおよび第2のコントローラの複数の操作スイッチのうち、交代操作のための所定のスイッチに加えられる操作に応じた交代操作データを取得する操作データ取得手段と、
前記第1の操作データに応じて前記移動体キャラクタおよび前記運転者キャラクタの進行方向を決定する第1動作制御手段と、
前記第2の操作データに応じて前記移動体キャラクタの進行方向および前記搭乗者キャラクタの姿勢を変化させる第2動作制御手段と、
前記交代操作データに応じて、前記第1動作制御手段において前記移動体キャラクタおよび前記運転者キャラクタの進行方向を決定するための操作データを前記第1の操作データから前記第2の操作データへ変更するとともに、前記第2動作制御手段において前記移動体キャラクタの進行方向および前記搭乗者キャラクタの姿勢を変化させるための操作データを前記第2の操作データから前記第1の操作データへ変更する変更手段と、
前記交代操作データに応じて、さらに前記運転者キャラクタと前記搭乗者キャラクタとに対して予め用意されたキャラクタの配置が交代するように前記キャラクタの配置座標を徐々に変化させる配置変換手段と、
前記配置座標に前記キャラクタが配置されたゲーム画像を生成して表示装置に表示させる画像処理手段とを備える、ゲーム装置。 - 前記運転者キャラクタおよび前記搭乗者キャラクタに関するキャラクタ固有の属性であるキャラクタデータを記憶する記憶手段をさらに備え、
前記変更手段は、前記運転者キャラクタと前記搭乗者キャラクタとの前記キャラクタデータの内容を入れ替えるようにさらに変更する、請求項1に記載のゲーム装置。 - ゲーム空間に登場する移動体キャラクタと、当該移動体キャラクタを運転する運転者キャラクタと、当該移動体キャラクタに搭乗する搭乗者キャラクタとを含む複数のキャラクタを動作させるゲーム装置のコンピュータで実行されるゲームプログラムであって、
複数個の操作スイッチを有する第1のコントローラの操作スイッチに加えられる操作に応じた第1の操作データと、複数個の操作スイッチを有する第2のコントローラの操作スイッチに加えられる操作に応じた第2の操作データを取得し、さらに前記第1のコントローラおよび第2のコントローラの複数の操作スイッチのうち、交代操作のための所定のスイッチに加えられる操作に応じた交代操作データを取得する操作データ取得ステップと、
前記第1の操作データに応じて前記移動体キャラクタおよび前記運転者キャラクタの進行方向を決定する第1動作制御ステップと、
前記第2の操作データに応じて前記移動体キャラクタの進行方向および前記搭乗者キャラクタの姿勢を変化させる第2動作制御ステップと、
前記交代操作データに応じて、前記第1動作制御ステップにおいて前記移動体キャラクタおよび前記運転者キャラクタの進行方向を決定するための操作データを前記第1の操作データから前記第2の操作データへ変更するとともに、前記第2動作制御ステップにおいて前記移動体キャラクタの進行方向および前記搭乗者キャラクタの姿勢を変化させるための操作データを前記第2の操作データから前記第1の操作データへ変更する変更ステップと、
前記交代操作データに応じて、さらに前記運転者キャラクタと前記搭乗者キャラクタとに対して予め用意されたキャラクタの配置が交代するように前記キャラクタの配置座標を徐々に変化させる配置変換ステップと、
前記配置座標に前記キャラクタが配置されたゲーム画像を生成して表示装置に表示させる画像処理ステップと、を前記コンピュータに実行させる、ゲームプログラム。 - 前記運転者キャラクタおよび前記搭乗者キャラクタに関するキャラクタ固有の属性であるキャラクタデータを前記ゲーム装置の記憶手段に記憶する記憶ステップを前記コンピュータにさらに実行させ、
前記変更ステップは、前記運転者キャラクタと前記搭乗者キャラクタの前記キャラクタデータの内容を入れ替えるようにさらに変更する、請求項3記載のゲームプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002129936A JP3797608B2 (ja) | 2002-05-01 | 2002-05-01 | ゲーム装置およびゲームプログラム |
US10/288,535 US7198568B2 (en) | 2002-05-01 | 2002-11-06 | Game machine and game program for changing the movement of one character based on the movement of another character |
EP03008019A EP1358918A3 (en) | 2002-05-01 | 2003-04-11 | Game machine and game program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002129936A JP3797608B2 (ja) | 2002-05-01 | 2002-05-01 | ゲーム装置およびゲームプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003320167A JP2003320167A (ja) | 2003-11-11 |
JP3797608B2 true JP3797608B2 (ja) | 2006-07-19 |
Family
ID=29543197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002129936A Expired - Fee Related JP3797608B2 (ja) | 2002-05-01 | 2002-05-01 | ゲーム装置およびゲームプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3797608B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8317615B2 (en) | 2010-02-03 | 2012-11-27 | Nintendo Co., Ltd. | Display device, game system, and game method |
US8339364B2 (en) | 2010-02-03 | 2012-12-25 | Nintendo Co., Ltd. | Spatially-correlated multi-display human-machine interface |
US8702514B2 (en) | 2010-11-01 | 2014-04-22 | Nintendo Co., Ltd. | Controller device and controller system |
US8814686B2 (en) | 2010-02-03 | 2014-08-26 | Nintendo Co., Ltd. | Display device, game system, and game method |
US8845426B2 (en) | 2011-04-07 | 2014-09-30 | Nintendo Co., Ltd. | Input system, information processing device, storage medium storing information processing program, and three-dimensional position calculation method |
US8913009B2 (en) | 2010-02-03 | 2014-12-16 | Nintendo Co., Ltd. | Spatially-correlated multi-display human-machine interface |
US8956209B2 (en) | 2010-08-30 | 2015-02-17 | Nintendo Co., Ltd. | Game system, game apparatus, storage medium having game program stored therein, and game process method |
US9132347B2 (en) | 2010-08-30 | 2015-09-15 | Nintendo Co., Ltd. | Game system, game apparatus, storage medium having game program stored therein, and game process method |
US9199168B2 (en) | 2010-08-06 | 2015-12-01 | Nintendo Co., Ltd. | Game system, game apparatus, storage medium having game program stored therein, and game process method |
US10150033B2 (en) | 2010-08-20 | 2018-12-11 | Nintendo Co., Ltd. | Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4821436B2 (ja) * | 2006-05-25 | 2011-11-24 | 株式会社セガ | プレーヤ交代操作機能を有するゲーム装置 |
JP5307048B2 (ja) * | 2010-01-21 | 2013-10-02 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲームシステム、ゲーム処理方法、ならびに、プログラム |
JP6368069B2 (ja) | 2013-01-31 | 2018-08-01 | 株式会社ソニー・インタラクティブエンタテインメント | ゲーム装置、ゲーム制御方法、ゲーム制御プログラム、マッチングサーバ、マッチング制御方法、及びマッチング制御プログラム |
JP6166827B1 (ja) * | 2016-09-12 | 2017-07-19 | 株式会社 ディー・エヌ・エー | ゲームを提供するためのシステム、方法、及びプログラム |
-
2002
- 2002-05-01 JP JP2002129936A patent/JP3797608B2/ja not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8896534B2 (en) | 2010-02-03 | 2014-11-25 | Nintendo Co., Ltd. | Spatially-correlated multi-display human-machine interface |
US8339364B2 (en) | 2010-02-03 | 2012-12-25 | Nintendo Co., Ltd. | Spatially-correlated multi-display human-machine interface |
US8684842B2 (en) | 2010-02-03 | 2014-04-01 | Nintendo Co., Ltd. | Display device, game system, and game process method |
US9776083B2 (en) | 2010-02-03 | 2017-10-03 | Nintendo Co., Ltd. | Spatially-correlated multi-display human-machine interface |
US8317615B2 (en) | 2010-02-03 | 2012-11-27 | Nintendo Co., Ltd. | Display device, game system, and game method |
US8814686B2 (en) | 2010-02-03 | 2014-08-26 | Nintendo Co., Ltd. | Display device, game system, and game method |
US9358457B2 (en) | 2010-02-03 | 2016-06-07 | Nintendo Co., Ltd. | Game system, controller device, and game method |
US8913009B2 (en) | 2010-02-03 | 2014-12-16 | Nintendo Co., Ltd. | Spatially-correlated multi-display human-machine interface |
US8961305B2 (en) | 2010-02-03 | 2015-02-24 | Nintendo Co., Ltd. | Game system, controller device and game method |
US9199168B2 (en) | 2010-08-06 | 2015-12-01 | Nintendo Co., Ltd. | Game system, game apparatus, storage medium having game program stored therein, and game process method |
US10150033B2 (en) | 2010-08-20 | 2018-12-11 | Nintendo Co., Ltd. | Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method |
US9132347B2 (en) | 2010-08-30 | 2015-09-15 | Nintendo Co., Ltd. | Game system, game apparatus, storage medium having game program stored therein, and game process method |
US8956209B2 (en) | 2010-08-30 | 2015-02-17 | Nintendo Co., Ltd. | Game system, game apparatus, storage medium having game program stored therein, and game process method |
US8814680B2 (en) | 2010-11-01 | 2014-08-26 | Nintendo Co., Inc. | Controller device and controller system |
US9272207B2 (en) | 2010-11-01 | 2016-03-01 | Nintendo Co., Ltd. | Controller device and controller system |
US8827818B2 (en) | 2010-11-01 | 2014-09-09 | Nintendo Co., Ltd. | Controller device and information processing device |
US8804326B2 (en) | 2010-11-01 | 2014-08-12 | Nintendo Co., Ltd. | Device support system and support device |
US9889384B2 (en) | 2010-11-01 | 2018-02-13 | Nintendo Co., Ltd. | Controller device and controller system |
US8702514B2 (en) | 2010-11-01 | 2014-04-22 | Nintendo Co., Ltd. | Controller device and controller system |
US8845426B2 (en) | 2011-04-07 | 2014-09-30 | Nintendo Co., Ltd. | Input system, information processing device, storage medium storing information processing program, and three-dimensional position calculation method |
Also Published As
Publication number | Publication date |
---|---|
JP2003320167A (ja) | 2003-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1358918A2 (en) | Game machine and game program | |
JP3797608B2 (ja) | ゲーム装置およびゲームプログラム | |
JP5507893B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JPH11144077A (ja) | ビデオゲーム装置およびその記憶媒体 | |
US20030104864A1 (en) | Video game apparatus and method with enhanced virtual camera control (as amended) | |
JP3883560B2 (ja) | ゲーム装置及び情報記憶媒体 | |
JP3747050B1 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP3786670B1 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP3797607B2 (ja) | ゲーム装置およびゲームプログラム | |
JP3001538B1 (ja) | ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体 | |
JP3751789B2 (ja) | ゲーム装置及び情報記憶媒体 | |
TWI291888B (en) | Image generating apparatus, load display method and recording medium | |
JP5054908B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP3539839B2 (ja) | 疑似3次元表示されたフィールド内におけるカーソルの表示方法、ゲームシステム及び記録媒体 | |
JP3606383B2 (ja) | 電子遊戯機器 | |
JP4143590B2 (ja) | 3次元画像処理装置、ゲーム装置、3次元画像処理プログラムおよびゲームプログラム | |
JP2007181713A (ja) | ゲーム装置及び情報記憶媒体 | |
JP4148868B2 (ja) | ゲームプログラムおよびゲーム装置 | |
JP4036509B2 (ja) | 画像生成装置及び情報記憶媒体 | |
JP2003325968A (ja) | ゲーム機およびゲームプログラム | |
JP4036508B2 (ja) | 画像生成装置及び情報記憶媒体 | |
JP2002360921A (ja) | ゲームシステム及びゲーム用プログラム | |
JP3583994B2 (ja) | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 | |
JP4826923B2 (ja) | ゲーム装置 | |
JP4054708B2 (ja) | ゲーム装置およびゲームプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060328 |
|
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: 20060413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060414 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3797608 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: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 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: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 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: 20110428 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: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 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: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 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 |
|
LAPS | Cancellation because of no payment of annual fees |