JP2005152081A - キャラクタ移動制御プログラムおよびゲーム装置 - Google Patents

キャラクタ移動制御プログラムおよびゲーム装置 Download PDF

Info

Publication number
JP2005152081A
JP2005152081A JP2003391922A JP2003391922A JP2005152081A JP 2005152081 A JP2005152081 A JP 2005152081A JP 2003391922 A JP2003391922 A JP 2003391922A JP 2003391922 A JP2003391922 A JP 2003391922A JP 2005152081 A JP2005152081 A JP 2005152081A
Authority
JP
Japan
Prior art keywords
direction data
character
operation direction
game
player
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.)
Granted
Application number
JP2003391922A
Other languages
English (en)
Other versions
JP4226999B2 (ja
Inventor
S Dyke Eric
エス ダイク エリック
Newman Ted
ニューマン テッド
Masashi Goto
正志 後藤
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 JP2003391922A priority Critical patent/JP4226999B2/ja
Publication of JP2005152081A publication Critical patent/JP2005152081A/ja
Application granted granted Critical
Publication of JP4226999B2 publication Critical patent/JP4226999B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【構成】 ゲームシステム10はビデオゲーム装置12を含み、ビデオゲーム装置12に設けられるCPUはプレイヤによって操作される動画キャラクタの移動等を制御する。2Pプレイモードで、1の動画キャラクタの移動を制御する場合には、第1プレイヤによる第1操作信号と第2プレイヤによる第2操作信号とが読み出される。各操作信号に従った当該動画キャラクタの移動後の第1位置座標および第2位置座標が計算され、それらと各操作信号に設定される重み付けとによって、実際に当該動画キャラクタを移動させる場合の移動後の第3位置座標が算出され、第3位置座標に当該動画キャラクタが移動される。
【効果】 同時に複数の操作入力があった場合でも、キャラクタを適切に移動させることができる。
【選択図】 図1

Description

この発明はキャラクタ移動制御プログラムおよびゲーム装置に関し、特にたとえば、プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内においてプレイヤキャラクタが移動する様子を表示装置に表示させる、キャラクタ移動制御プログラムおよびゲーム装置に関する。
この種の従来のキャラクタ移動制御装置の一例が特許文献1に開示されている。この先行技術は、複数のゲーム装置を通信ケーブルによって接続し、通信対戦を可能にするものである。通信モードでは、たとえば、プレイヤキャラクタ1とプレイヤキャラクタ2とが協力して、敵のコンピュータキャラクタと戦闘することができる。また、ゲームの進行により、合体モードに切り替わると、プレイヤキャラクタ1とプレイヤキャラクタ2とが合体し、共通の敵であるコンピュータキャラクタと戦闘することができる。合体キャラクタは、右腕、右脚、左腕、左脚および頭のように、部品化されており、各プレイヤキャラクタの能力値に応じて、各部品を優先的に操作できるプレイヤが決定されている。また、或る部品について優先的に操作できるプレイヤ以外のプレイヤが操作した場合には、当該操作に応じた制御命令が補助的または予備的に実行される。たとえば、優先的に操作できるプレイヤが制御命令を実行した場合よりも若干弱い効果で同一の制御命令を実行したり、優先的に操作できるプレイヤが次回制御命令を実行する際に、より強力な効果で制御命令を実行できるようにしたりして、各プレイヤが別々に敵キャラクタに攻撃を加えて対戦するゲームとは一味違った協力プレイを楽しめるようにしたものである。
特開2000−342855号公報[A63F 13/12,13/10]
一般的に、ゲーム装置では、各プレイヤからの操作入力は1フレーム(1/60秒)単位で読み出されるが、同一フレーム内に複数のプレイヤからの入力があった場合には、どのプレイヤの入力を優先してキャラクタに反映させるかが問題となる。この点にはついては、上述の先行技術では何ら考慮されておらず、優先的に操作できるプレイヤの制御命令に従ってゲームを進行させる場合とそれ以外のプレイヤの制御命令に従ってゲームを進行させる場合とによって、ゲームの進行状況が全く変わってしまうという問題があった。たとえば、同一フレームにおいて、一のプレイヤがキャラクタに対して右方向への移動を操作し、他のプレイヤが当該キャラクタに対して左方向への移動を操作した場合には、キャラクタの移動する方向が一方のプレイヤにとっては全く反対の方向となってしまう。また、これを回避するため、両方の入力を受け付けると、キャラクタが移動しないこともある。
それゆえに、この発明の主たる目的は、新規な、キャラクタ移動制御プログラムおよびゲーム装置を提供することである。
また、この発明の他の目的は、同時に複数のプレイヤが操作入力した場合であっても、適切にキャラクタの移動を制御することができる、キャラクタ移動制御プログラムおよびゲーム装置を提供することである。
上記課題を解決するために、本発明は以下の構成を採用した。なお、括弧内の参照符号や図番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
請求項1の発明は、プレイヤキャラクタ(72)の移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内においてプレイヤキャラクタが移動する様子を表示装置(34)に表示させるゲーム装置(12)で実行されるキャラクタ移動制御プログラムである。このゲーム装置は、第1操作方向データを出力する第1操作手段(22a,56a)および第2操作方向データを出力する第2操作手段(22b,56b)を備える。キャラクタ移動制御プログラムは、当該ゲーム装置のコンピュータ(36)を以下に示す手段として機能させる。方向データ検出手段(36,402d,S25,S27)は、第1操作手段から出力される第1操作方向データと第2操作手段から出力される第2操作方向データとを検出する。重み付け設定手段(36,S23)は、第1操作方向データおよび第2操作方向データにそれぞれ重み付けを設定する。移動制御手段(36,S35)は、重み付け設定手段によって重み付けされた第1操作方向データと第2操作方向データとに基づいてゲーム空間内におけるプレイヤキャラクタを移動させる。
請求項1の発明によれば、第1操作方向データと第2操作方向データとに異なる重み付けを設定し、重み付けを設定された各操作方向データに基づいてプレイヤキャラクタを移動させるので、同時に操作入力があった場合であっても、両方の操作入力を反映させて適切にプレイヤキャラクタを移動させることができる。
請求項2の発明は、請求項1に従属し、重み付け設定手段は、ゲーム進行におけるプレイヤキャラクタの状況、たとえば、弱っているキャラクタ自体の状態、場所、風、音頭などのキャラクタの置かれた周囲の雰囲気等、またはプレイヤキャラクタの種類に応じて、第1操作データおよび第2操作方向データの一方の操作方向データをプレイヤキャラクタの移動に対してより反映させるように、第1操作方向データおよび第2操作方向データに異なる重み付けを設定する。
請求項2の発明によれば、ゲームの進行に応じてプレイヤの間で有利な状況が変化され、これを反映するように、重み付けを設定するので、ゲームが単調にならず、ゲーム性や趣向性を向上させることができる。
請求項3の発明は、請求項1または2に従属し、ゲーム画面表示制御手段(36,42,58)は、ゲーム空間内のプレイヤキャラクタを含むゲーム画面を表示装置に表示させる。方向データ検出手段は、ゲーム画面を更新する単位周期或いはその整数倍の周期で、第1操作方向データと第2操作方向データとを検出する。
請求項3の発明によれば、ゲーム画面を更新する単位周期或いはその整数倍の周期で操作方向データを検出するので、当該周期毎にプレイヤキャラクタの移動後の位置を計算するとともに、プレイヤキャラクタを移動させる様子を表示装置に表示することができる。
請求項4の発明は、プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内においてプレイヤキャラクタが移動する様子を表示装置(34)に表示させるゲーム装置(12)で実行されるキャラクタ移動制御プログラムである。当該ゲーム装置は、第1操作方向データを出力する操作手段(22)を備える。このキャラクタ移動制御プログラムは、当該ゲーム装置のコンピュータを次の手段として機能させる。方向データ検出手段(36,56,S25)は、操作手段(22)から出力される第1操作方向データを検出する。操作方向データ生成手段(36,S27)は、第2操作方向データを生成する。重み付け設定手段(36,S23)は、第1操作方向データと第2操作方向データとにそれぞれ重み付けを設定する。移動制御手段(36,S35)は、重み付け設定手段によって重み付けされた第1操作方向データと第2操作方向データとに基づいてゲーム空間内におけるプレイヤキャラクタを移動させる。
請求項4の発明によれば、プレイヤとコンピュータとが対戦するようなゲームにおいても、請求項1の発明と同様に、適切にプレイヤキャラクタを移動させることができる。
請求項5の発明は、請求項1または4に従属し、第1位置座標算出手段(36,S29,S33)は、重み付け設定手段によって重み付けを設定された第1操作方向データに基づいて前記プレイヤキャラクタを前記ゲーム空間内で移動させる場合の移動後の第1位置座標を算出する。第2位置座標算出手段(36,S31,S33)は、重み付け設定手段によって重み付けを設定された第2操作方向データに基づいて前記プレイヤキャラクタを前記ゲーム空間内で移動させる場合の移動後の第2位置座標を算出する。そして、第3位置座標算出手段(36,S33)は、第1位置座標と第2位置座標とからプレイヤキャラクタを実際にゲーム空間内で移動させる場合の移動後の第3位置座標を算出する。移動制御手段は、第3位置座標算出手段によって算出された第3位置座標にプレイヤキャラクタを移動させる。
請求項5の発明によれば、座標演算により、移動後のプレイヤキャラクタの位置を算出するだけなので、移動処理が簡単である。
請求項6の発明は、請求項4または5に従属し、状況判別手段(S51,S55)は、ゲームの進行において操作手段を操作するプレイヤまたは操作方向データ生成手段として機能する前記コンピュータの有利な状況を判別する。なお、上述したようなプレイヤキャラクタの状況で、プレイヤまたはコンピュータの有利・不利が決定される。重み付け変更手段(36,S53,S57)は、状況判別手段によって判別された状況に応じて、第1操作方向データおよび第2操作方向データの重み付けを変更する。
請求項6の発明によれば、ゲームの進行に従ってプレイヤ同士或いはプレイヤまたはコンピュータの有利な状況を判別し、この判別結果に応じて重み付けを変更するので、ゲーム性や趣向性を向上させることができる。
請求項7の発明は、請求項4ないし6のいずれかに従属し、ゲーム画面表示制御手段(36,42,58)は、ゲーム空間内のプレイヤキャラクタを含むゲーム画面を表示装置に表示させる。ゲーム画面を更新する単位周期或いはその整数倍の周期で、方向データ検出手段(36,56,S25)は操作手段から出力される第1操作方向データを検出し、操作方向データ生成手段(36,S27´)は第2操作方向データを生成する。
請求項7の発明においても、請求項3の発明と同様に、当該周期毎にプレイヤキャラクタの移動後の位置を計算するとともに、プレイヤキャラクタを移動させる様子を表示装置に表示することができる。
請求項8の発明は、プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置(34)に表示させるゲーム装置(12)で実行されるキャラクタ移動制御プログラムである。当該ゲーム装置は、第1操作方向データを出力する第1操作手段(22a)、および第2操作方向データを出力する第2操作手段(22b)を備える。このキャラクタ移動制御プログラムは、当該ゲーム装置のコンピュータを、次の手段として機能させる。方向データ検出手段(36,S25,S27)は、第1操作手段から出力される第1操作方向データと前記第2操作手段から出力される第2操作方向データとを、所定周期であり、異なる期間で交互に検出する。移動制御手段は、第1操作方向データおよび第2操作方向データのいずれか一方に基づいて、ゲーム空間内のプレイヤキャラクタを移動させる。
請求項8の発明によれば、各操作手段から入力される操作方向データを所定周期で読み出すとともに、その読み出しの周期を異なる周期に設定するので、請求項1の発明と同様に、適切にプレイヤキャラクタを移動させることができる。
請求項9の発明は、プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置(34)に表示させるゲーム装置(12)で実行されるキャラクタ移動制御プログラムである。当該ゲーム装置は、第1操作方向データを出力する操作手段(22)を備える。キャラクタ移動制御プログラムは、ゲーム装置のコンピュータ(36)を、次の手段として機能させる。操作方向データ生成手段(36,S27´)は、第2操作方向データを生成する。方向データ検出手段(36)は、操作手段から出力される第1操作方向データと前記操作方向データ生成手段によって生成される第2操作方向データとを、所定周期であり、異なる期間で交互に検出する。移動制御手段(36,S35)は、第1操作方向データおよび第2操作方向データのいずれか一方に基づいて、ゲーム空間内の前記プレイヤキャラクタを移動させる。
請求項9の発明によれば、コンピュータと対戦するようなゲームであっても、操作方向データを所定周期で読み出すとともに、その読み出しの周期を異なる周期に設定するので、コンピュータと対戦するようなゲームであっても、請求項1の発明と同様に、適切にプレイヤキャラクタを移動させることができる。
請求項10の発明は請求項8または9に従属し、ゲーム画像表示制御手段(36,42,58)は、ゲーム空間内のプレイヤキャラクタを含むゲーム画面を表示装置に表示させる。期間は前記ゲーム画面を更新する単位周期またはその整数倍の周期である。
請求項10の発明によれば、請求項3の発明と同様に、当該周期毎にプレイヤキャラクタの移動後の位置を計算するとともに、プレイヤキャラクタを移動させる様子を表示装置に表示することができる。
請求項11および請求項12の発明に従ったゲーム装置においても、請求項1の発明と同様に、適切にプレイヤキャラクタを移動させることができる。
この発明によれば、異なる重み付けをされた各操作方向データに基づいてプレイヤキャラクタをゲーム空間内で移動させるので、同時に操作入力があった場合でも、適切にプレイヤキャラクタを移動させることができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
<第1実施例>
図1を参照して、この発明の一実施例であるビデオゲームシステム10はビデオゲーム装置12を含む。ビデオゲーム装置12には電源が与えられるが、この電源は、実施例では、一般的なACアダプタ(図示せず)であってよい。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、ビデオゲーム装置12を駆動するのに適した低いDC電圧に変換する。他の実施形態としては、電源として、バッテリが用いられてもよい。
ビデオゲーム装置12は、略立方体のハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。
コントローラ22には、その上面,下面,或いは側面などに、操作部(操作スイッチ)26が設けられる。操作部26は、たとえば2つのアナログジョイスティック(26a,26b),1つの十字キー(26c),複数のボタンスイッチ(26d,26e,26f,26g,26h)等含む。1つのアナログジョイスティックは、コントロールスティック26aであり、当該スティックの傾き量と方向とによって、プレイヤキャラクタ(プレイヤがコントローラ22によって操作可能な動画キャラクタ)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、Cスティック26bであり、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチ26cは、コントロールスティック26aに代えてプレイヤキャラクタの移動方向を指示するために用いられる。ボタンスイッチは、Aボタン26d,Bボタン26e,Xボタン26fであり、プレイヤキャラクタの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤキャラクタの移動スピード調節等に用いられる。また、ボタンスイッチは、Yボタン26gであり、たとえばメニュー選択やポインタあるいはカーソル移動を制御する。さらに、ボタンスイッチは、スタート/ポーズボタン26hであり、ゲームの開始やゲームの一時停止するために用いられる。
なお、この実施例ではコントローラ22がそれと一体的に設けられるケーブル24によってビデオゲーム装置12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ビデオゲーム装置12に接続されてもよい。また、コントローラ22の操作部26の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティック(26a,26b)は1つだけでもよい。また、十字スイッチ26cは用いられなくてもよい。
ビデオゲーム装置12のハウジング14の前面であり、コネクタ20の下方には、1つまたは複数の(この実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(たとえばゲームの結果)を保存(セーブ)しておいたりするために利用される。
ビデオゲーム装置12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声、または2スピーカであってもサラウンド効果を出すことが可能な場合は、サラウンド音声を含むゲーム音声が出力される。
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずビデオゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をビデオゲーム装置12のディスクドライブ16にローディングする。応じて、ビデオゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはビデオゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作部26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作部26の他のものを動かすことによって、動画キャラクタ(プレイヤキャラクタ)を異なる方向に移動させ、または3次元(3D)の仮想ゲーム空間(以下、単に「ゲーム空間」という。)におけるユーザの視点(カメラ位置)を変化させることができる。
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12には、中央処理ユニット(以下、「CPU」という。)36が設けられる。このCPU36は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が結合される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して結合されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit:グラフィックス処理装置) 42が結合される。
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(graphics command :作画命令) を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3次元(3D)ゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種キャラクタやキャラクタ(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種キャラクタの各ポリゴンにテクスチャ(Texture :模様画像)を貼り付けるなどの画像生成処理を行う。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データがフレームバッファ48内に記憶される。
なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。具体的には、フレームバッファ48は、1画素(ピクセル)毎に、画像の色情報を順序立てて記憶している。ここで、色情報は、R,G,B,Aについてのデータであり、たとえば、8ビットのR(赤)データ、8ビットのG(緑)データ、8ビットのB(青)データおよび8ビットのA(アルファ)データである。なお、Aデータは、マスク(マット画像)についてのデータである。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dゲーム画像が表示される。
また、Zバッファ50は、フレームバッファ48に対応する画素数×1画素当たりの奥行きデータのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行きデータ(Z値)を記憶するものである。
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよい。
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、ARAM54に結合される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。
DSP52は、サウンドプロセサとして働き、メインメモリ40に記憶されたサウンドデータを用いたり、ARAM54に書き込まれている音波形データを用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に結合される。コントローラI/F56は、コントローラ22のためのインタフェースであり、コントローラ22の操作部26の操作信号またはデータを、メモリコントローラ38を通してCPU36に与える。図2では省略するが、図1に示したように、この実施例のビデオゲーム装置12には、4つのコントローラ22を接続することができるため、4つのコントローラ22(22a,22b,22c,22d)のそれぞれに対応して、コントローラI/F56(56a,56b,56c,56d)が設けられる。
ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBAピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。
外部メモリI/F60は、ビデオゲーム装置12の前面に挿入されるメモリカード30(図1)をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。
オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ34aに与える。
そして、ディスクI/F64は、ディスクドライブ16をメモリコントローラ38に結合し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムデータやテクスチャデータ等が、CPU36の制御の下で、メインメモリ40に書き込まれる。
図3にはメインメモリ40のメモリマップが示される。メインメモリ40は、ゲームプログラム記憶領域402およびデータ記憶領域404を含む。ゲームプログラム記憶領域402には、ゲームメイン処理プログラム402a,画像生成プログラム402b,画像表示プログラム402c,操作信号検出プログラム402d,移動位置算出プログラム402e,移動制御プログラム402f,重み係数設定プログラム402gおよび重み係数変化プログラム402hなどのプログラムが記憶される。
ゲームメイン処理プログラム402aは、ビデオゲーム装置12によって実行されるゲームについてのメインルーチンを処理するプログラムである。画像生成プログラム402bは、当該ゲームに登場し、プレイヤによって動作等を制御される(場合によっては、コンピュータ(CPU36)によって制御される場合もある。)プレイヤキャラクタのような動画キャラクタ、その動画キャラクタによって使用されるアイテムのキャラクタ(アイテムキャラクタ)および当該ゲームの背景オブジェクト(地形オブジェクト、壁オブジェクト、建物オブジェクトおよび床(地面)オブジェクトなど)などの3Dゲーム画像を生成するプログラムである。画像表示プログラム402cは、画像生成プログラム402bによって生成された3Dゲーム画像を2次元のゲーム画面としてモニタ34に表示するためのプログラムである。
操作信号検出プログラム402dは、コントローラ22から出力される操作信号を検出するプログラムであり、動画キャラクタの移動やジャンプ、攻撃(撃つ、打つ、投げる、魔法をかける、乗り移るなど)などの任意のアクションについての操作信号を検出する。移動位置算出プログラム402eは、プレイヤの操作に応じてゲーム空間内を移動した後(移動後)の動画キャラクタの位置(位置座標)を算出するプログラムである。後で詳細に説明するが、具体的には、プレイヤが選択した動画キャラクタをプレイヤの操作入力に応じて移動させる場合や1の動画キャラクタを複数のプレイヤの操作入力に応じて移動させる場合に、対応する動画キャラクタの移動後の位置座標を算出する。移動制御プログラム402fは、移動位置算出プログラム402eによって算出された移動後の位置座標に、動画キャラクタを移動させるプログラムである。
重み係数設定プログラム402gは、1の動画キャラクタを複数のプレイヤの操作入力に応じて移動させる場合に、当該複数のプレイヤの操作入力すなわち操作信号にそれぞれ(異なる)重み係数(ウェイト)を設定するプログラムである。ウェイトの設定およびその設定方法については、後で詳細に説明するため、ここでは詳細な説明は省略することにする。重み係数変化プログラム402hは、重み係数設定プログラム402gで設定されるウェイトをゲームの進行に応じて変化させるプログラムである。ウェイトを変化させる方法についても、後で詳細に説明するため、ここでは詳細な説明は省略することにする。
また、データ記憶領域404には、画像データ404a,マップデータ404bおよび生命力データ404cなどのデータが記憶される。画像データ404aは、上述したような3Dゲーム画像を生成するためのポリゴンデータやテクスチャデータのようなデータである。具体的には、上述した動画キャラクタ、アイテムキャラクタおよび背景オブジェクトなどについての画像データである。マップデータ404bは、当該ゲームのマップについての画像データである。生命力データ404cは、動画キャラクタのライフを示すデータ(たとえば、バーグラフデータないしは数値データ)である。
なお、図示は省略するが、メインメモリ40には、ゲーム中に演奏される音楽(BGM)や効果音のような音(音楽)についてのサウンドデータ、当該ゲームの進行に従って発生するゲームデータやフラグデータなども記憶される。
たとえば、このゲームシステム10(ビデオゲーム装置12)では、人間キャラクタ72を模した動画キャラクタ(人間キャラクタ72キャラクタ)と幽霊キャラクタ74を模した動画キャラクタ(幽霊キャラクタ74キャラクタ)とが所定の場(フィールド)で対戦するゲームを楽しむことができる。この第1実施例では、第1プレイヤ(1P)が人間キャラクタ72キャラクタを操作し、第2プレイヤ(2P)が幽霊キャラクタ74キャラクタを操作する2人(2P)プレイモードについて説明することにする。このような2Pプレイモードにおけるゲームのゲーム画面70が図4(A)に示される。図4(A)に示すゲーム画面70は、或るフィールドで人間キャラクタ72と幽霊キャラクタ74とがゲーム空間内で対面している状態を示してある。また、ゲーム画面70は、その中央で上下に分割されており、上側が第1プレイヤのゲーム画面(以下、「1P画面」という。)70aであり、下側が第2プレイヤのゲーム画面(以下、「2P画面」という。)70bである。さらに、ゲーム画面70では、1P画面70aの左下方に人間キャラクタ72の生命力(ライフ)の残量を示すためのバーグラフ状の表示部(以下、「ライフゲージ」という。)76が表示され、また、2P画面70bの左下方に幽霊キャラクタ74のライフゲーム78が表示される。
1P画面70aでは、幽霊キャラクタ74が正面を向くように表示され、当該幽霊キャラクタ74に対面する人間キャラクタ72の一部(手)および当該人間キャラクタ72が所持する銃72aが表示され、そして、人間キャラクタ72から見たフィールドの一部が背景として表示される。一方、2P画面70bでは、人間キャラクタ72が正面を向くように表示され、幽霊キャラクタ74から見たフィールドの一部が背景として表示される。
なお、ゲームの都合上、1P画面70aにはその容姿を可視表示してあるが、幽霊キャラクタ74は本来透明であるため、2P画面70bには表示されていない。
また、図4(A)に示すゲーム画面70は、図面の都合上、縦長で示してあるが、実際にはモニタ34の大きさおよびアスペクト比に応じた大きさで表示される。
このゲームは、人間キャラクタ72と幽霊キャラクタ74とが対戦する対戦ゲームである。簡単に説明すると、たとえば、人間キャラクタ72と幽霊キャラクタ74とが所定のフィールド上を互いに他を探すように移動される。人間キャラクタ72は、幽霊キャラクタ74を見つけると、銃72aを幽霊キャラクタ74に向けて撃つことにより、幽霊キャラクタ74を攻撃し、そのライフを減らす。一方、幽霊キャラクタ74は人間キャラクタ72キャラクタに72に接触すると、人間キャラクタ72に乗り移ることができ、乗り移りにより人間キャラクタ72を攻撃して、そのライフを減らす。ライフが「0」になると、いずれのキャラクタ(72,74)も死滅することとなる。先に相手キャラクタのライフを「0」に減らした方が勝ちとなる。
たとえば、図1に示したビデオゲーム装置12に、2つのコントローラ22(コントローラ22aおよびコントローラ22b)が接続され、図4(B)に示すように、第1プレイヤがコントローラ22aを操作し、第2プレイヤがコントローラ22bを操作することにする。また、コントローラ22aに対応してコントローラI/F56aが設けられ、コントローラ22bに対応してコントローラI/F56bが設けられているとする。
したがって、ゲーム中では、第1プレイヤはコントローラ22aを操作して、人間キャラクタ72についての移動等の任意のアクションを制御し、第2プレイヤはコントローラ22bを操作して、幽霊キャラクタ74についての移動等の任意のアクションを制御する。コントローラ22aおよびコントローラ22bから出力される操作コマンドないし操作信号は、それぞれ、コントローラI/F56aおよびコントローラI/F56bに与えられる。CPU36は、所定周期(第1実施例では、1フレーム)毎であり、Vリトレースのタイミングで、コントローラI/F56aおよびコントローラI/F56bに設けられるコントローラバッファ(図示せず)に一時記憶された操作信号を取得する。以下、コントローラ22aから出力される操作信号を「第1操作信号」と呼び、コントローラ22bから出力される操作信号を「第2操作信号」と呼ぶ場合がある。
なお、後の説明でも明らかになるが、第1プレイヤが人間キャラクタ72を操作し、第2プレイヤが幽霊キャラクタ74を操作することはゲームを進行させる上のルールであり、上述したように幽霊キャラクタ74が人間キャラクタ72に乗り移った後は、第1プレイヤおよび第2プレイヤの操作対象は人間キャラクタ72のみとなる。このときの当該人間キャラクタ72が本願発明のプレイヤキャラクタに相当する。
また、Vリトレースのタイミングは3Dゲーム画像を生成するGPU42で発生され、これをCPU36は取得する。
ここで、コントローラ22からビデオゲーム装置12に出力される操作信号のフォーマットについて、図5を用いて説明することにする。ただし、操作信号は、ビデオゲーム装置12(この実施例では、本件出願人が製造販売する「GAME CUBE(商品名)」)の標準のコントローラ(図1のコントローラ22)に対応したフォーマットである。
なお、図1においては省略したが、コントローラ22の側面であり、ケーブル24が設けられる側には、さらに、ボタンスイッチとしてのRトリガーボタン,LトリガーボタンおよびZトリガーボタンが設けられる。
図5からも分かるように、操作信号は8バイトで構成され、1バイト目(1st byte)には、ビット7(b7)から順にビット0(b0)まで、“0”,“0”,“ORG_CH”,“START”,“Y”,“X”,“B”および“A”についてのデータが書き込まれる。ビット7およびビット6は固定値“0”であり、ビット5は設定モード“ORG_CH”のオンまたはオフを示すデータが書き込まれる。この実施例では、設定モード“ORG_CH”がオンである場合には“1”が書き込まれ、設定モード“ORG_CH”がオフである場合には“0”が書き込まれる。ここで、“ORG_CH”は、基準位置(ジョイスティック(26a,26b)の原点(ニュートラルポジション))を再設定するか否かを設定するモード(設定モード)についての変数である。ビット4〜ビット0は、スタート/ポーズボタン26h,Yボタン26g,Xボタン26f,Bボタン26eおよびAボタン26dの各々のオンまたはオフを示すデータが書き込まれる。この実施例では、ボタンスイッチがオンである場合には該当するビットに“1”が書き込まれ、ボタンスイッチがオフである場合には該当するビットに“0”が書き込まれる。
2バイト目(2nd byte)には、ビット7から順にビット0まで、“FIN”,“L”,“R”,“Z”,“UP”,“DOWN”,“RIGHT”および“LEFT”についてのデータが書き込まれる。ビット7はコントローラを識別するモード“FIN”のオンまたはオフを示すデータが書き込まれる。この実施例では、標準コントローラの場合にはオンである“1”が書き込まれ、標準コントローラとは異なる操作装置(拳銃を模した操作装置や楽器を模した操作装置など)の場合にはオフである“0”が書き込まれる。ビット6〜ビット0には、Lトリガーボタン,Rトリガーボタン、Zボタン、UP(上)ボタン、DOWN(下)ボタン、RIGHT(右)ボタンおよびLEFT(左)ボタンの各々のオン/オフを示すデータが書き込まれる。各ビットに書き込まれるデータ値は、上述したスタート/ポーズボタン26h等のボタンスイッチと同じである。
なお、UP(上)ボタン、DOWN(下)ボタン、RIGHT(右)ボタンおよびLEFT(左)ボタンは、十字スイッチ26cの各ボタンである。
3バイト目(3rd byte)には、コントロールスティック26aのX方向の傾き量を示すデータが全8ビットを用いた2進数のデータで書き込まれる。したがって、X方向の傾きは、“00000000”(10進数で“0”)〜“11111111”(“255”)で表される。たとえば、コントロールスティック26aを左に傾けると“0”に近づき、右に傾けると“255”に近づく。
デフォルト設定では、ニュートラルポジションは“128(01000000)”であるため、これより小さい場合には、コントロールスティック26aは左方向に傾けられていることが分かり、これより大きければ右方向に傾けられていることが分かる。また、その傾き量は、取得したデータ値とニュートラルポジションのデータ値との差分によって検出することができる。
4バイト目(4th byte)には、コントロールスティック26aのY方向の傾き量を示すデータが全8ビットを用いた2進数のデータで書き込まれる。したがって、Y方向の傾きもまた、X方向と同様に、“00000000”(10進数で“0”)〜“11111111”(“255”)で表される。たとえば、コントロールスティック26aを下に傾けると“0”に近づき、上に傾けると“255”に近づく。
デフォルト設定では、ニュートラルポジションは“128(01000000)”であるため、これより小さい場合には、コントロールスティック26aは下方向に傾けられていることが分かり、これより大きければ上方向に傾けられていることが分かる。また、その傾き量は、取得したデータ値とニュートラルポジションのデータ値との差分によって検出することができる。
なお、コントロールスティック26aが斜めに傾けられている場合には、3バイト目と4バイト目のデータとが共にニュートラルポジションのデータ値“01000000”以外のデータ値となる。
5バイト目(5th byte)には、Cスティック26bのX方向の傾き量を示すデータが全8ビットを用いた2進数のデータで書き込まれる。また、6バイト目(6th byte)には、Cスティック26bのY方向の傾き量を示すデータが全8ビットを用いた2進数のデータで書き込まれる。これらのデータ値の決め方は、上述したコントロールスティック26aの場合と同じである。
7バイト目(7th byte)には、Lトリガーボタンの押し込み量を示すデータが全0ビットを用いた2進数のデータで書き込まれる。Lトリガーボタンが押されていない場合のデータ値は“00000000”であり、押し込み量に応じてデータ値は大きくされ、最大限に押し込んだ場合のデータ値は“11111111”となる。
8バイト目(8th byte)には、Rトリガーボタンの押し込み量を示すデータが全0ビットを用いた2進数で書き込まれる。このデータ値の決め方は、Lトリガーボタンの場合と同じである。
このような操作信号がコントローラ22(22a,22b)から出力され、CPU36はこれを取得し、上述したように、人間キャラクタ72および幽霊キャラクタ74についての動作等の任意のアクションをそれぞれ制御するのである。一例として、人間キャラクタ72および幽霊キャラクタ74の移動は、コントロールスティック26aの傾斜方向および傾斜量によって制御される。具体的には、CPU36は、コントローラ22aからの第1操作信号を取得すると、当該第1操作信号に含まれるコントロールスティック26aの傾斜方向および傾斜量に従って移動後の人間キャラクタ72の位置(位置座標)を計算する。たとえば、コントロールスティック26aを、上,下,左,右または斜めの方向に、100%傾斜させた(倒した)場合の移動量ないし移動速度は予め決定されており、スティックの傾斜量に応じて可変される。また、ゲーム空間における人間キャラクタ72の3次元位置(現在位置の位置座標)はCPU36によって監視されている。したがって、第1操作信号から移動方向および移動量を検出すると、人間キャラクタ72の移動後の位置座標(以下、「第1位置座標」という。)を算出することができるのである。また、CPU36は、コントローラ22bからの第2操作信号を取得すると、当該第2操作信号に含まれるコントロールスティック26aの傾斜方向および傾斜量に従って移動後の幽霊キャラクタ74の位置座標(以下、「第2位置座標」という。)を計算する。幽霊キャラクタ74についても、その現在位置はCPU36によって監視されているため、幽霊キャラクタ74の移動後の第2位置座標は、人間キャラクタ72の場合と同様に計算される。
このようにして、第1位置座標および第2位置座標を計算すると、CPU36は、当該第1位置座標および当該第2位置座標に、人間キャラクタ72および幽霊キャラクタ74の各々を移動させる。この様子の3Dゲーム画像がGPU42で生成され、したがって、人間キャラクタ72および幽霊キャラクタ74がフィールド内を移動する様子がモニタ34に表示される。
また、幽霊キャラクタ74が人間キャラクタ72に乗り移ると、第2プレイヤは、人間キャラクタ72を操作可能となる。したがって、第2プレイヤは、フィールドに設けられている、崖下(穴)に落ちるように移動したり、壁から突き出た矢が人間キャラクタ72に刺さるように移動したりして、直接的に人間キャラクタ72を死滅させる操作をすることも可能である。
ただし、当然に第1プレイヤは人間キャラクタ72を操作可能であるため、第1プレイヤは第2プレイヤの上述のような操作を阻止するように、人間キャラクタ72を移動させたり、銃72aから閃光弾を地面(床)に撃つことによって、乗り移った幽霊キャラクタ74を外に出して、乗り移りによる攻撃から逃れたりするのである。
なお、この実施例では、人間キャラクタ72が閃光弾を地面に撃つことにより、乗り移った幽霊キャラクタ74を外に出すようにしてあるが、これは幽霊キャラクタ74が光に弱いという属性を考慮したためである。したがって、幽霊キャラクタ74に乗り移られた状態で、人間キャラクタ72がフィールド上の明るい場所に一定時間以上、居つづける場合にも乗り移りから逃れるようにすることも可能である。
このように、幽霊キャラクタ74が人間キャラクタ72に乗り移った場合には、第1プレイヤと第2プレイヤとの両方が人間キャラクタ72を操作することになるため、第1操作信号および第2操作信号を人間キャラクタ72の動作に反映させる必要がある。
しかし、上述したように、この実施例では、1フレーム毎に操作信号を取得するようにしてあるため、何ら手当てしない場合には、第1プレイヤからの第1操作信号と第2プレイヤからの第2操作信号とを同じ或いは略同じタイミングで取得すると、人間キャラクタ72を適切に移動させることができない場合がある。たとえば、第1プレイヤが右方向への移動を操作入力し、第2プレイヤが左方向への移動を操作入力した場合には、人間キャラクタ72の移動が停止してしまう場合がある。また、これを回避するため、第1操作信号および第2操作信号の間で優先順位を決めて、その順番に従って操作信号を人間キャラクタ72の動作等に反映させるようにした場合には、操作に偏りが出てしまい、ゲームの趣向性を損なう恐れがある。
そこで、この実施例では、複数のプレイヤからの操作入力が同時にあった場合であっても、各操作に対応する操作信号に重み付けをすることにより、各プレイヤの操作を動画キャラクタ(人間キャラクタ72)の動作(移動)に反映できるようにしてある。
図6(A)は幽霊キャラクタ74が人間キャラクタ72に乗り移った場合のゲーム画面70である。この図6(A)に示すように、幽霊キャラクタ74が人間キャラクタ72に乗り移ると、幽霊キャラクタ74は1P画面70aから消され、人間キャラクタ72の一部(手)および当該人間キャラクタ72が所持する銃72aが1P画面70aに表示されるとともに、人間キャラクタ72から見たフィールドの一部が背景として表示される。また、人間キャラクタ72のライフゲージ76も表示される。一方、2P画面70bでは、幽霊キャラクタ74は人間キャラクタ72に乗り移っているため、1P画面70aと略同じであり、幽霊キャラクタ74のライフゲージ78が表示される点のみが異なる。
このとき、たとえば、図6(B)に示すように、第1プレイヤがコントローラ22aを操作するとともに、第2プレイヤがコントローラ22bを操作すると、第1操作信号がコントローラI/F56aに与えられ、第2操作信号がコントローラI/F56bに与えられる。上述したように、CPU36は、Vリトレースのタイミングで、当該第1操作信号および当該第2操作信号を取得する。
CPU36は、第1操作信号および第2操作信号を取得すると、第1操作信号に従って人間キャラクタ72を移動させる場合の移動後の第1位置座標を算出するとともに、第2操作信号に従って幽霊キャラクタ74(ここでは、乗り移っているため、厳密には人間キャラクタ72)を移動させる場合の移動後の第2位置座標を算出する。次に、算出した第1位置座標,第2位置座標および設定されたウェイトを用いて、実際に人間キャラクタ72を移動させるための移動後の位置座標(以下、「第3位置座標」という。)を算出する。その後、人間キャラクタ72を第3位置座標に移動させる。したがって、動画キャラクタすなわち人間キャラクタ72がゲーム空間内を移動する様子がモニタ34に表示される。
ここで、第1操作信号および第2操作信号に対するウェイトは、その合計が1(100%)であり、ゲームの進行に応じて可変的な数値に設定される。たとえば、幽霊キャラクタ74が人間キャラクタ72に乗り移った時点(初期状態)では、第1操作信号のウェイト(W1)は第2操作信号のウェイト(W2)よりも小さく設定される。人間キャラクタ72すなわち第1プレイヤの有利な状況では、ウェイト(W1)はウェイト(W2)よりも大きく設定され、幽霊キャラクタ74すなわち第2プレイヤの有利な状況では、ウェイト(W1)はウェイト(W2)よりも小さく設定される。人間キャラクタ72または幽霊キャラクタ74が有利な状況は、ゲームの進行によって随時変更されるため、これに従ってウェイト(W1)およびウェイト(W2)も変更される。
ここで、有利な状況とは、プレイヤキャラクタが弱っているなどのキャラクタ自体の状態や、場所や風や温度などのプレイヤキャラクタの置かれた周囲の雰囲気(状況)などによって変化するものである。また、プレイヤキャラクタには特性情報が関連付けられており、当該特性情報に基づいて、第1プレイヤまたは第2プレイヤのいずれか一方を有利にする。たとえば、特性情報として、プレイヤキャラクタが弱っている場合には、第1プレイヤを有利にする条件が設定されている場合には、プレイヤキャラクタが弱った時に、第1プレイヤの操作する第1コントローラの入力をプレイヤキャラクタの移動により反映させるようにする。
なお、本実施例では、人間キャラクタ72が有利な状況は、幽霊キャラクタ74が苦手な状況であり、たとえば、明るい場所での戦闘などである。また、幽霊キャラクタ74が有利な状況は、人間キャラクタ72に乗り移った場合、宙に浮いている場合、または暗い場所での戦闘などである。
幽霊キャラクタ74が人間キャラクタ72に乗り移った場合の人間キャラクタ72の移動制御について、図7ないし図9を参照しながら具体的に説明することにする。ただし、ここでは、人間キャラクタ72の現在位置と移動後の位置とを分かり易く説明するために、第1操作信号および第2操作信号による移動方向および移動量(移動速度)をベクトル(以下、「移動ベクトル」という。)で表現してある。なお、実際には、上述したように、全て座標演算される。
図6(B)に示すように、第1プレイヤが100%の前進を入力し、第2プレイヤが100%の後退を入力した場合には、第1操作信号および第2操作信号による移動ベクトルが図7(A)のようにそれぞれ示される。なお、上述したように、100%の入力に対する移動量(移動ベクトルのスカラー)ないし移動速度は予め決定されており、アナログジョイスティックすなわちコントロールスティック26aの傾斜量に応じて可変的な値を取る。たとえば、幽霊キャラクタ74が人間キャラクタ72に乗り移った時点(初期状態)では、第1操作信号のウェイト(W1)は0.35に設定され、第2操作信号のウェイト(W2)は0.65に設定される。このように設定されたウェイトを乗じた(かけた)移動ベクトルは、図7(B)のように示される。上述したように、この実施例では、第1操作信号および第2操作信号の両方を人間キャラクタ72に反映するようにしてあるため、図7(C)に示すように、ウェイトをかけた2つの移動ベクトルが合成され、これにより得られた合成ベクトルに従って人間キャラクタ72が移動される。この場合には、人間キャラクタ72は、35%後退することになる。図7(C)示す点(始点)が人間キャラクタ72の現在位置であり、移動後の人間キャラクタ72の位置は合成ベクトルの終点である。なお、移動速度は、合成ベクトルのスカラーに応じて決定される。以下、同じである。
また、人間キャラクタ72が有利な状況になると、第1操作信号のウェイト(W1)は第2操作信号のウェイト(W2)よりも大きくされる。たとえば、第1操作信号のウェイト(W1)が0.70に設定され、第2操作信号のウェイト(W2)が0.30に設定されたとする。このとき、第1プレイヤが100%の右方向への移動を入力し、第2プレイヤが100%の左斜め30度後方に移動(後退)を入力したとすると、対応する移動ベクトルは、図8(A)のように示される。それぞれの操作信号に設定されたウェイトを移動ベクトルにかけると、図8(B)に示すように、移動ベクトルの大きさが変更される。したがって、図8(C)に示すように、ウェイトをかけた移動ベクトルを合成した合成ベクトルが生成される。この場合には、人間キャラクタ72は、右斜め約70度後方に約62.5%移動することになる。
また、幽霊キャラクタ74が有利な状況になると、第1操作信号のウェイト(W1)は第2操作信号のウェイト(W2)よりも小さくされる。たとえば、第1操作信号のウェイト(W1)が0.45に設定され、第2操作信号のウェイト(W2)が0.55に設定されたとする。このとき、第1プレイヤが100%の前進を入力し、第2プレイヤが100%の前進を入力したとすると、その移動ベクトルは図9(A)のように示される。それぞれの操作信号に設定されたウェイトを移動ベクトルにかけると、図9(B)に示すように、移動ベクトルの大きさが変更される。これらを合成した合成ベクトルは、図9(C)のように示される。ここで、上述したように、ウェイトの合計は1(100%)であるため、各プレイヤの操作入力が100%であり、かつ、同じ方向への移動であれば、人間キャラクタ72は当該方向に100%移動される。これは人間キャラクタ72が有利な状況においても同じである。
ここで、図7ないし図9に示した例では、簡単のため、100%の操作入力があった場合についてのみ説明したが、操作信号のフォーマットに示したように、コントロールスティック26aでは、その傾斜量を0〜100%の間で調整することができる。
また、ウェイトの数値は単なる例示であり、これに限定されるべきではなく、任意に設定することができる。
また、人間キャラクタ72の移動後の第3位置座標は、上述したように、実際には座標演算により算出されるため、数1に従って求められる。ただし、(X1,Z1)は第1操作信号に基づく人間キャラクタ72の移動後のゲーム空間内における第1位置座標であり、(X2,Z2)は第2操作信号に基づく人間キャラクタ72の移動後のゲーム空間内における第2位置座標であり、(X´,Z´)は実際に人間キャラクタ72を移動させる場合のゲーム空間内における第3位置座標である。また、W1は第1操作信号に対するウェイト(W1)であり、W2は第2操作信号に対するウェイト(W2)である。
なお、人間キャラクタ72の位置はその足元の位置で決定され、幽霊キャラクタ74に乗り移られた場合にも人間キャラクタ72は必ず地面を移動すると仮定して、ゲーム空間の高さ方向(Y方向)については無視してある。
[数1]
(X´,Z´)=W1(X1,Z1)+W2(X2,Z2)
=(W1×X1+W2×X2,W1×Z1+W2×Z2)
なお、数1からも分かるように、第1プレイヤの操作信号に従って算出した移動後の第1位置座標に重み付けをした座標と、第2プレイヤの操作信号に従って算出した移動後の第2位置座標に重み付けをした座標とに基づいて、第3位置座標を計算しているということもできる。
具体的には、図2に示したCPU36が図10〜図12に示すフロー図に従って、動画キャラクタの移動処理を実行する。ゲームが開始されると、図10に示すように、CPU36は、ステップS1で、第1プレイヤの操作入力を検出する。つまり、コントローラI/F56aのコントロールバッファに一時記憶された第1操作信号を取得する。続くステップS3では、第2プレイヤの操作入力を検出する。つまり、コントローラI/F56bのコントロールバッファに一時記憶された第2操作信号を取得する。
なお、第1操作信号および第2操作信号は、Vリトレースのタイミングで同時或いは略同時に取得される。
次にステップS5では、第1プレイヤの操作入力(ステップS1で取得した第1操作信号)に従って移動後の位置座標を計算する。また、ステップS7では、第2プレイヤの操作入力(ステップS3で取得した第2操作信号)に従って移動後の位置座標を計算する。
なお、幽霊キャラクタ74は、ゲーム画面70上では宙に浮いているように表示される場合もあるが、その位置は足元から地面に向かって垂直に延ばした直線と地面との交点で決定される。つまり、幽霊キャラクタ74の位置は、人間キャラクタ72と同様に、Y成分を含まない位置座標を計算した後、宙に浮く場合にはY成分を追加しているのである。
そして、ステップS9では、ステップS5において計算した移動後の位置座標に人間キャラクタ72を移動させる。このとき、現在位置の位置座標と移動後の位置座標とで決定されるベクトルにより、移動速度が決定され、人間キャラクタ72は当該移動速度でゲーム空間内を移動される。また、ステップS11では、ステップS7において計算した移動後の位置座標に幽霊キャラクタ74を移動させる。なお、幽霊キャラクタ74を移動させる方法は、人間キャラクタ72の場合と同じである。
次のステップS13では、人間キャラクタ72と幽霊キャラクタ74とが接触したかどうかを判断する。ステップS13で“NO”であれば、つまり人間キャラクタ72と幽霊キャラクタ74とが接触していなければ、そのままステップS17に進む。しかし、ステップS13で“YES”であれば、つまり人間キャラクタ72と幽霊キャラクタ74とが接触すれば、ステップS15で、後述する乗り移りモードの処理を実行して、ステップS17に進む。
ステップS17では、ゲーム終了かどうかを判断する。たとえば、人間キャラクタ72または幽霊キャラクタ74のいずれか一方が死滅した場合やプレイヤのゲーム終了操作により、ゲーム終了かどうかを判断する。ここで、“NO”であれば、ゲーム終了ではないと判断して、ステップS1に戻る。しかし、“YES”であれば、ゲーム終了であると判断して、動画キャラクタの移動処理を終了する。
図11は、図10に示したステップS15における乗り移りモードの処理を示すフロー図である。以下、その内容について詳細に説明するが、図10を用いて説明した処理と同じ処理については簡単に説明することにする。図11を参照して、乗り移りモードの処理が開始されると、CPU36は、ステップS21で、1P画面70aに表示される幽霊キャラクタ74を消去する。これにより、ゲーム画面70に表示されるのは、人間キャラクタ72のみとなり、幽霊キャラクタ74が人間キャラクタ72に乗り移ったことを演出できる。
続くステップS23では、幽霊キャラクタ74が人間キャラクタ72に乗り移った初期状態のウェイトバランス、すなわちウェイト(W1)およびウェイト(W2)を決定(設定)する。次のステップS25では、第1プレイヤの操作入力すなわち第1操作信号を検出(取得)し、ステップS27では、第2プレイヤの操作入力すなわち第2操作信号を取得する。ステップS29では、第1操作信号に従って移動後の第1位置座標を計算し、ステップS31では、第2操作信号に従って移動後の第2位置座標を計算する。
続いて、ステップS33では、計算した両位置座標(第1位置座標および第2位置座標)と決定したウェイトとを用いて、数1に従って人間キャラクタ72の移動後の位置座標すなわち第3位置座標(X´,Z´)を決定(算出)する。そして、ステップS35で、算出した第3位置座標(X´,Z´)に人間キャラクタ72を移動させる。人間キャラクタ72と幽霊キャラクタ74とを別個独立に移動させる場合と同様に、現在位置の位置座標と移動後の位置座標とで決定されるベクトルのスカラーで移動速度が決定される。
次にステップS37では、後述するウェイト変更処理を実行し、ステップS39で、乗り移りが終了したかどうかを判断する。つまり、人間キャラクタ72が閃光弾を地面に向けて撃ち、幽霊キャラクタ74が人間キャラクタ72の外に出たか否かを判断する。このステップS39で“NO”であれば、つまり乗り移りが終了していない場合には、ステップS25に戻る。一方、ステップS39で“YES”であれば、つまり乗り移りが終了していれば、ステップS41で、1P画面70aに幽霊キャラクタ74を表示して、乗り移りモードの処理をリターンする。なお、ステップS41で、幽霊キャラクタ74キャラクタ70aが表示されると、図4に示したようなゲーム画面70がモニタ34に表示される。
図12に示すように、ウェイト変更処理が開始されると、CPU36は、ステップS51で、人間キャラクタ72が有利な場所(状況)であるかどうかを判断する。ここで“YES”であれば、つまり人間キャラクタ72が有利な場所である場合には、ステップS53で、人間キャラクタ72のウェイト(W1)を上げるとともに、幽霊キャラクタ74のウェイト(W2)を下げて、ウェイト変更処理をリターンする。
なお、ウェイトの上げ幅は一定値(たとえば、0.2)に設定されており、ウェイト(W1)とウェイト(W2)との和は1であるため、ウェイトの下げ幅も同じく一定値に設定される。
また、ステップS51で“NO”であれば、つまり人間キャラクタ72の有利な場所でない場合には、ステップS55で、幽霊キャラクタ74が有利な場所かどうかを判断する。ステップS55で“NO”であれば、つまり幽霊キャラクタ74の有利な場所でもなければ、ウェイトの変更を行わずにそのままウェイト変更処理をリターンする。一方、ステップS55で“YES”であれば、つまり幽霊キャラクタ74が有利な場所であれば、ステップS57で、幽霊キャラクタ74のウェイト(W2)を上げるとともに、人間キャラクタ72のウェイト(W1)を下げて、ウェイト変更処理をリターンする。なお、ステップS57におけるウェイトの上げ幅および下げ幅は、ステップS53の場合と同様に一定値である。
第1の実施例によれば、1の動画キャラクタの移動を制御する場合には、第1操作信号および第2操作信号に重み付けをするので、同時に操作入力があった場合であっても、両方の操作信号を反映させて、当該動画キャラクタを適切に移動させることができる。
また、重み付けをゲームの進行状況に応じて変化させるため、ゲームの進行が単調になることがない。つまり、ゲームの趣向性を向上させることができる。
<第2実施例>
第2実施例のゲームシステム10は、第2プレイヤとしてコンピュータが選択され、第1プレイヤとコンピュータとが対戦するようにした以外は、第1実施例のゲームシステム10と同じであるため、重複した説明は省略する。また、第1プレイヤは人間キャラクタ72または幽霊キャラクタ74の一方を任意に選択することができるが、この第2実施例では、第1プレイヤが人間キャラクタ72を選択した場合について説明することにする。
なお、図示は省略するが、かかる場合には、少なくとも1つのコントローラ22がゲーム12に接続されていればよい。
この第2実施例のゲームシステム10では、幽霊キャラクタ74の動作等はコンピュータすなわちCPU36によって制御される。したがって、図13に示すように、メインメモリ40のゲームプログラム記憶領域402には、操作入力生成プログラム402iがさらに記憶される。操作入力生成プログラム402iは、ゲームの進行に応じてCPU36ないしはコンピュータが操作する幽霊キャラクタ74の動作等を指示するための操作入力(第2操作信号)を生成する。
具体的なCPU36の移動処理は図14に示され、乗り移りモードの処理は図15に示される。ただし、図14および図15の処理は、上述の実施例で示した図10および図11の処理とほとんど同じであるため、同じステップには同じ参照符号を付してある。また、重複する内容についての説明は省略する。
図14を参照して、移動処理では、CPU36は、ステップS1で第1プレイヤの操作入力すなわち第1操作信号を検出すると、ステップS3´で、操作入力を生成する。つまり、幽霊キャラクタ74の動作等を制御するための第2操作信号を生成する。したがって、ステップS7´においては、生成した第2操作信号に従って移動後の位置座標を計算するのである。ただし、直接第2位置座標を生成する場合には、ステップS3´の処理を削除することができる。
具体的には、CPU36が制御するのは、幽霊キャラクタ74であるため、図14の移動処理においては、人間キャラクタ72の攻撃を回避するとともに、人間キャラクタ72すなわち人間キャラクタ72キャラクタに接触する(近づく)ような第2操作信号が生成されるのである。
また、図15に示す乗り移りモードの処理においても、CPU36は、幽霊キャラクタ74の動作等を制御する。つまり、ステップS27´においては、操作入力すなわち第2操作信号を生成し、ステップS31´では、ステップS27´で生成した第2操作信号に従って第2位置座標を計算する。なお、上述した場合と同様に、直接第2位置座標を生成する場合には、ステップS27´の処理を削除することができる。
この乗り移りモードの処理では、CPU36は、幽霊キャラクタ74の有利な場所に、人間キャラクタ72を移動させるような第2操作信号を生成するのである。
なお、ウェイト変更処理は、図13に示した処理と同じであるため、重複した説明は省略する。
第2実施例によれば、第1実施例と同様に、同時に操作入力があった場合であっても、両方の操作信号を反映させて、1の動画キャラクタを適切に移動させることができる。
また、重み付けをゲームの進行状況に応じて変化させるため、ゲームの進行が単調になることがなく、ゲームの趣向性を向上させることができる。
なお、上述の実施例では、2人で1の動画キャラクタの移動を制御する場合についてのみ説明したが、3人以上の複数で1の動画キャラクタの移動を制御することも可能である。かかる場合には、複数の操作入力(操作信号)のそれぞれにウェイトが設定される。
また、上述の実施例では、ビデオゲーム装置に1つまたは2つのコントローラを接続して対戦ゲームをするゲームシステムについて説明したが、モニタとゲーム装置とが一体に設けられる携帯型のゲーム装置、ビデオゲーム装置能を備える携帯電話機、PDAやラップトップ型のPCのようなコンピュータを単独または2つ以上通信可能に接続して、対戦ゲームを行うことも可能である。つまり、コンピュータと対戦する場合には、単独で対戦ゲームを行うことができ、2人のプレイヤが対戦する場合には、各機器を通信可能に接続して対戦ゲームを行うことができる。
また、上述の実施例では、乗り移りモードの処理においては、同時または略同時に取得した第1操作信号および第2操作信号に基づいて第1位置座標および第2位置座標を計算し、異なる重み付けをして第3位置座標を計算するようにしたが、第1操作信号および第2操作信号を交互に取得し、取得する期間を異なる長さに設定するようにすることも考えられる。
たとえば、図16に示すように、連続する3フレーム期間のうち、最初の1フレーム期間で第1操作信号検出し、次の2フレーム期間で第2操作信号を検出し、これを交互に繰り返すことが考えられる。つまり、操作信号の読み取り期間を所定フレーム数に設定し、第1操作信号の読み取り期間と第2操作信号の読み取り期間とを異なる期間(フレーム数)に設定するのである。具体的には、図16に示す例では、全読み出し期間すなわち3フレーム期間を1/3と2/3とに割り当てているのである。つまり、第1操作信号および第2操作信号を読み出す周期は3フレームごとであり、第1操作信号を1フレーム期間読み出し、第2操作信号を2フレーム期間読み出すようにしてある。したがって、フレームN−2(ここでは、Nは2以上の整数)のVリトレースのタイミングで第1操作信号を検出し、フレームN−1とフレームNのVリトレースのタイミングで第2操作信号を検出する。そして、フレームN+1のVリトレースのタイミングで第1操作信号を検出し、フレームN+2とフレームN+3のVリトレースのタイミングで第2操作信号を検出する。このような処理が繰り返される。
このようにした場合には、たとえば、第1プレイヤが100%の前進を入力し続け、第2プレイヤが100%の後退を入力し続けた場合には、フレームN−2で人間キャラクタ72は100%前進し、次のフレームN−1とフレームNで100%後退する。さらに、次のフレームN+1で100%前進し、そして、フレームN+2とフレームN+3で100%後退する。したがって、フレームN−2からフレームN+3の間(6フレーム期間)で、200%後退することになる。
一方、上述の実施例で示したように、操作信号に重み付けをした場合について考えると、各フレームにおいて、第1プレイヤの操作によって人間キャラクタ72に対して100%×1/3の前進が指示され、第2プレイヤの操作によって人間キャラクタ72に対して100%×2/3の後退が指示されるため、結果として、100%×1/3ずつ人間キャラクタ72は後退することになる。したがって、フレームN−2からフレームN+3の間(6フレーム期間)で、200%後退することになる。ただし、ここでは、図16に示した例と割合をあわせるために、ウェイト(W1)を1/3に設定し、ウェイト(W2)を2/3に設定してある。
以上のように、第1操作信号および第2操作信号を交互に取得し、取得する期間を異なる長さに設定するようにした場合であっても、上述の実施例と同様の結果を得ることができる。
しかも、操作信号を交互に取得し、取得する期間を異なる長さに設定した場合には、第3位置座標を演算する処理を省くことができ、処理負担を軽減することができる。
この発明の一実施例のゲームシステムを示す図解図である。 図1実施例に示すゲームシステムの電気的な構成を示すブロック図である。 図2に示すメインメモリのメモリマップを示す図解図である。 図1実施例に示すゲームシステムのモニタに表示されるゲーム画面の一例およびコントローラを示す図解図である。 図1実施例に示すゲームシステムにおいてコントローラからビデオゲーム装置に出力される操作信号のフォーマットを示す図解図である。 図1実施例に示すゲームシステムのモニタに表示されるゲーム画面の他の例およびコントローラの操作入力の一例を示す図解図である。 乗り移りモードにおける各プレイヤの操作入力、当該操作入力に基づいて計算された移動ベクトル、ウェイトをかけた移動ベクトルおよび2つの移動ベクトルの合成ベクトルの一例を示す図解図である。 乗り移りモードにおける各プレイヤの操作入力、当該操作入力に基づいて計算された移動ベクトル、ウェイトをかけた移動ベクトルおよび2つの移動ベクトルの合成ベクトルの他の一例を示す図解図である。 乗り移りモードにおける各プレイヤの操作入力、当該操作入力に基づいて計算された移動ベクトル、ウェイトをかけた移動ベクトルおよび2つの移動ベクトルの合成ベクトルのその他の一例を示す図解図である。 図2に示すCPUの動画キャラクタの移動処理の一例を示すフロー図である。 図2に示すCPUの乗り移りモードの処理の一例を示すフロー図である。 図2に示すCPUのウェイト変更処理を示すフロー図である。 この発明の他の実施例におけるメインメモリのメモリマップを示す図解図である。 図2に示すCPUの動画キャラクタの移動処理の他の例を示すフロー図である。 図2に示すCPUの乗り移りモードの処理の他の例を示すフロー図である。 この発明のその他の実施例における操作信号の読み出し方法を説明するための図解図である。
符号の説明
10 …ゲームシステム
12 …ビデオゲーム装置
18 …光ディスク
22 …コントローラ
34 …モニタ
34a …スピーカ
36 …CPU
38 …メモリコントローラ
40 …メインメモリ
42 …GPU
52 …DSP
54 …ARAM
56 …コントローラI/F
58 …ビデオI/F
60 …外部メモリI/F
62 …オーディオI/F
64 …ディスクI/F

Claims (12)

  1. プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置に表示させるゲーム装置で実行されるキャラクタ移動制御プログラムであって、
    前記ゲーム装置は、第1操作方向データを出力する第1操作手段、および第2操作方向データを出力する第2操作手段を備え、
    前記ゲーム装置のコンピュータを、
    前記第1操作手段から出力される第1操作方向データと前記第2操作手段から出力される第2操作方向データとを検出する方向データ検出手段、
    前記第1操作方向データおよび前記第2操作方向データにそれぞれ重み付けを設定する重み付け設定手段、および
    前記重み付け設定手段によって重み付けされた第1操作方向データと第2操作方向データとに基づいて前記ゲーム空間内における前記プレイヤキャラクタを移動させる移動制御手段として機能させる、キャラクタ移動制御プログラム。
  2. 前記重み付け設定手段は、ゲーム進行における前記プレイヤキャラクタの状況または前記プレイヤキャラクタの種類に応じて、前記第1操作方向データおよび前記第2操作方向データの一方の操作方向データを前記プレイヤキャラクタの移動に対してより反映させるように、前記第1操作方向データおよび前記第2操作方向データに異なる重み付けを設定する、請求項1記載のキャラクタ移動制御プログラム。
  3. 前記ゲーム空間内のプレイヤキャラクタを含むゲーム画面を前記表示装置に表示させるゲーム画面表示制御手段として前記コンピュータをさらに機能させ、
    前記方向データ検出手段は、前記ゲーム画面を更新する単位周期或いはその整数倍の周期で、前記第1操作方向データと前記第2操作方向データとを検出する、請求項1または2記載のキャラクタ移動制御プログラム。
  4. プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置に表示させるゲーム装置で実行されるキャラクタ移動制御プログラムであって、
    前記ゲーム装置は、第1操作方向データを出力する操作手段を備え、
    前記ゲーム装置のコンピュータを、
    前記操作手段から出力される第1操作方向データを検出する方向データ検出手段、
    第2操作方向データを生成する操作方向データ生成手段、
    前記第1操作方向データおよび前記第2操作方向データにそれぞれ重み付けを設定する重み付け設定手段、および
    前記重み付け設定手段によって重み付けされた第1操作方向データおよび第2操作方向データに基づいて前記ゲーム空間内における前記プレイヤキャラクタを移動させる移動制御手段、として機能させる、キャラクタ移動制御プログラム。
  5. 前記移動制御手段は、前記重み付け設定手段によって重み付けを設定された第1操作方向データに基づいて前記プレイヤキャラクタを前記ゲーム空間内で移動させる場合の移動後の第1位置座標を算出する第1位置座標算出手段、前記重み付け設定手段によって重み付けを設定された第2操作方向データに基づいて前記プレイヤキャラクタを前記ゲーム空間内で移動させる場合の移動後の第2位置座標を算出する第2位置座標算出手段、および前記第1位置座標と前記第2位置座標とから前記プレイヤキャラクタを実際に前記ゲーム空間内で移動させる場合の移動後の第3位置座標を算出する第3位置座標算出手段を含み、前記第3位置座標算出手段によって算出された第3位置座標に前記プレイヤキャラクタを移動させる、請求項1または4記載のキャラクタ移動制御プログラム。
  6. ゲームの進行において前記操作手段を操作するプレイヤまたは前記生成手段として機能する前記コンピュータの有利な状況を設定する状況設定手段、および
    前記状況設定手段によって設定された状況に応じて、前記第1操作方向データおよび前記第2操作方向データの重み付けを変更する重み付け変更手段、として前記コンピュータをさらに機能させる、請求項4または5記載のキャラクタ移動制御プログラム。
  7. 前記ゲーム空間内のプレイヤキャラクタを含むゲーム画面を前記表示装置に表示させるゲーム画面表示制御手段として前記コンピュータをさらに機能させ、
    前記ゲーム画面を更新する単位周期或いはその整数倍の周期で、方向データ検出手段は前記操作手段から出力される第1操作方向データを検出し、前記操作方向データ生成手段は前記第2操作方向データを生成する、請求項4ないし6のいずれかに記載のキャラクタ移動制御プログラム。
  8. プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置に表示させるゲーム装置で実行されるキャラクタ移動制御プログラムであって、
    前記ゲーム装置は、第1操作方向データを出力する第1操作手段、および第2操作方向データを出力する第2操作手段を備え、
    前記ゲーム装置のコンピュータを、
    前記第1操作手段から出力される第1操作方向データと前記第2操作手段から出力される第2操作方向データとを、所定周期であり、異なる期間で交互に検出する方向データ検出手段、および
    前記第1操作方向データおよび前記第2操作方向データのいずれか一方に基づいて、前記ゲーム空間内における前記プレイヤキャラクタを移動させる移動制御手段、として機能させる、キャラクタ移動制御プログラム。
  9. プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置に表示させるゲーム装置で実行されるキャラクタ移動制御プログラムであって、
    前記ゲーム装置は、第1操作方向データを出力する操作手段を備え、
    前記ゲーム装置のコンピュータを、
    第2操作方向データを生成する操作方向データ生成手段、
    前記操作手段から出力される第1操作方向データと前記操作方向データ生成手段によって生成される第2操作方向データとを、所定周期であり、異なる期間で交互に検出する方向データ検出手段、および
    前記第1操作方向データおよび前記第2操作方向データのいずれか一方に基づいて、前記ゲーム空間内における前記プレイヤキャラクタを移動させる移動制御手段、として機能させる、キャラクタ移動制御プログラム。
  10. 前記ゲーム空間内の前記プレイヤキャラクタを含むゲーム画面を前記表示装置に表示させるゲーム画面表示制御手段、として前記コンピュータをさらに機能させ、
    前記期間は前記ゲーム画面を更新する単位周期またはその整数倍の周期である、請求項8または9記載のキャラクタ移動制御プログラム。
  11. プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置に表示させるゲーム装置であって、
    第1操作方向データを出力する第1操作手段、
    第2操作方向データを出力する第2操作手段、
    前記第1操作手段から出力される第1操作方向データと前記第2操作手段から出力される第2操作方向データとを検出する方向データ検出手段、
    前記ゲーム空間における前記プレイヤキャラクタの状況または前記プレイヤキャラクタの種類に応じて、前記第1操作方向データおよび前記第2操作方向データのいずれか一方を前記プレイヤキャラクタの移動に対してより反映させるように、前記第1操作方向データおよび前記第2操作方向データにそれぞれ重み付けを設定する重み付け設定手段、および
    前記重み付け設定手段によって重み付けされた第1操作方向データおよび第2操作方向データに基づいて前記ゲーム空間内における前記プレイヤキャラクタを移動させる移動制御手段を備える、ゲーム装置。
  12. プレイヤキャラクタの移動方向を指示するためのプレイヤの操作に応じた操作方向データに基づいて、ゲーム空間内において前記プレイヤキャラクタが移動する様子を表示装置に表示させるゲーム装置であって、
    第1操作方向データを出力する操作手段、
    前記操作手段から出力される第1操作方向データを検出する方向データ検出手段、
    第2操作方向データを生成する操作方向データ生成手段、
    ゲームの進行において前記操作手段を操作するプレイヤまたは前記生成手段として機能する前記コンピュータの有利な状況を設定する状況設定手段、
    記状況設定手段によって設定された状況に応じて、前記第1操作方向データおよび前記第2操作方向データにそれぞれ重み付けを設定する重み付け設定手段、および
    前記重み付け設定手段によって重み付けされた第1操作方向データおよび第2操作方向データに基づいて前記ゲーム空間内における前記プレイヤキャラクタを移動させる移動制御手段を備える、ゲーム装置。
JP2003391922A 2003-11-21 2003-11-21 キャラクタ移動制御プログラムおよびゲーム装置 Expired - Lifetime JP4226999B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003391922A JP4226999B2 (ja) 2003-11-21 2003-11-21 キャラクタ移動制御プログラムおよびゲーム装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003391922A JP4226999B2 (ja) 2003-11-21 2003-11-21 キャラクタ移動制御プログラムおよびゲーム装置

Publications (2)

Publication Number Publication Date
JP2005152081A true JP2005152081A (ja) 2005-06-16
JP4226999B2 JP4226999B2 (ja) 2009-02-18

Family

ID=34718791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003391922A Expired - Lifetime JP4226999B2 (ja) 2003-11-21 2003-11-21 キャラクタ移動制御プログラムおよびゲーム装置

Country Status (1)

Country Link
JP (1) JP4226999B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013106701A (ja) * 2011-11-18 2013-06-06 Square Enix Co Ltd キャラクタの移動制御装置及びプログラム
JP2018198656A (ja) * 2017-05-25 2018-12-20 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013106701A (ja) * 2011-11-18 2013-06-06 Square Enix Co Ltd キャラクタの移動制御装置及びプログラム
JP2018198656A (ja) * 2017-05-25 2018-12-20 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム
JP7001366B2 (ja) 2017-05-25 2022-01-19 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム

Also Published As

Publication number Publication date
JP4226999B2 (ja) 2009-02-18

Similar Documents

Publication Publication Date Title
JP4791852B2 (ja) ゲーム装置、ゲームプログラムおよびゲーム制御方法
JP3637031B2 (ja) ゲーム装置およびゲームプログラム
US7618322B2 (en) Game system, storage medium storing game program, and game controlling method
US7753785B2 (en) Game apparatus, storing medium that stores control program of virtual camera, and control method of virtual camera
US8147305B2 (en) Attacking a virtual enemy by corresponding input to output sound
EP1850319A2 (en) Storage medium storing sound output program, sound output apparatus and sound output control method
JP5101080B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法
EP2147707A1 (en) Image/sound controller and image/sound control method
US6878065B2 (en) Video game system, character action control method, and readable storage medium storing character action control program
US8142285B2 (en) Game system and game program medium
JP2005310020A (ja) 3次元画像生成装置および3次元画像生成プログラム
US20140002456A1 (en) Image processing apparatus and storing medium that stores image processing program
US20050255899A1 (en) Game system and storage medium for storing game program
US7014561B2 (en) Recording medium for storing gauge display program, gauge display method video game device, and gauge display program
JP3602835B2 (ja) ビデオゲーム装置およびその制御方法ならびにゲームプログラム
JP2004242706A (ja) ゲームプログラムおよびゲーム装置
JP4226999B2 (ja) キャラクタ移動制御プログラムおよびゲーム装置
US6296567B1 (en) Video game machine and computer-readable recording medium containing video game program
JP3839355B2 (ja) ゲーム装置およびゲームプログラム
JP4054708B2 (ja) ゲーム装置およびゲームプログラム
JP2872667B1 (ja) ビデオゲーム装置、ゲーム画面出力方法及びゲーム画面出力プログラムが記録された可読記録媒体
JP4482370B2 (ja) ゲーム装置
JP2005211332A (ja) ゲームプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081127

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4226999

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121205

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 5

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term