【新規性喪失の例外の表示】特許法第30条第3項適用 〔博覧会名〕 東京ゲームショウ2008 〔主催者名〕 社団法人コンピュータエンターテインメント協会 〔開催日〕 平成20年10月9日から10月12日「4日間」
【文献】
武藤智史(外2名),ゼルダの伝説 トワイライトプリンセス パーフェクトガイド,株式会社エンターブレイン,2007年 2月14日,初版,P.12,P.20
【文献】
An-EDITOR(外1名),機動戦士ガンダム 一年戦争 コンプリートガイド,株式会社エンターブレイン,2005年 6月 8日,初版,P.18,20-22
【文献】
Vジャンプブックス[ゲームシリーズ] ブリーチ 選ばれし魂 プレイステーション2版,株式会社集英社,2005年 8月 9日,第1刷,P.036
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
図面を参照して、本発明が適用されるゲームシステム1について説明する。
図1は、当該ゲームシステム1を説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明のゲームシステム1について説明する。
【0014】
図1において、当該ゲームシステム1は、家庭用テレビジョン受像機等のスピーカ2aを備えたディスプレイ(以下、モニタと記載する)2に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)3および当該ゲーム装置3に操作情報を与えるコントローラ7によって構成される。ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が着脱される。ゲーム装置3には、ゲームの主電源である電源ON/OFFスイッチ、ゲーム処理のリセットスイッチ及び光ディスク4の着脱を行うインジェクトスイッチが設けられている。
【0015】
また、ゲーム装置3には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード5が必要に応じて着脱自在に装着される。ゲーム装置3は、光ディスク4に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ2に表示する。さらに、ゲーム装置3は、外部メモリカード5に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3の遊戯者は、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
【0016】
コントローラ7は、その内部に備える通信部75(後述)から受信ユニット36a(
図2参照)が接続されたゲーム装置3へ、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて送信データを無線送信する。コントローラ7は、2つのコントロールユニット(コアユニット70およびサブユニット76)が屈曲自在な接続ケーブル79を介して互いに接続されて構成されており、主にモニタ2に表示されるゲーム空間に登場するプレイヤキャラクタ等の遊戯者オブジェクトを操作するための操作手段である。モニタ2の表示画面近傍に2つのLEDモジュール8Lおよび8Rが設置される。これらLEDモジュール8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力する。コアユニット70およびサブユニット76は、それぞれ複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、コアユニット70は、当該コアユニット70から見たLEDモジュール8L,8Rの画像を撮像する撮像情報演算部74(後述)を備えている。
なお、本実施形態では、コアユニット70とサブユニット76を屈曲自在なケーブルで接続したが、サブユニット76に無線ユニットを搭載することで、接続ケーブル79をなくすこともできる。例えば、無線ユニットとしてBluetooth(登録商標)ユニットをサブユニット76に搭載することで、サブユニット76からコアユニット70へ操作データを送信することが可能になる。
【0017】
次に、
図2を参照して、ゲーム装置3の機能的構成について説明する。なお、
図2は、ゲーム装置3の機能ブロック図である。
図2において、ゲーム装置3は、各種プログラムを実行する例えばリスク(RISC)CPU(セントラルプロセッシングユニット)30を備える。CPU30は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ33等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。CPU30には、メモリコントローラ31を介して、GPU(Graphics Processing Unit)32、メインメモリ33、DSP(Digital Signal Processor)34、およびARAM(Audio RAM)35が接続される。また、メモリコントローラ31には、所定のバス42を介して、コントローラI/F(インターフェース)36、ビデオI/F37、外部メモリI/F38、オーディオI/F39、およびディスクI/F41が接続され、それぞれ受信ユニット36a、モニタ2、外部メモリカード5、スピーカ2a、およびディスクドライブ40が接続されている。
【0018】
GPU32は、CPU30の命令に基づいて画像処理を行うものあり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU32は、図示しない画像処理専用のメモリやメインメモリ33の一部の記憶領域を用いて画像処理を行う。GPU32は、これらを用いてモニタ2に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ31およびビデオI/F37を介してモニタ2に出力する。
【0019】
メインメモリ33は、CPU30に使用される記憶領域であって、CPU30の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ33は、CPU30によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ33に記憶されたゲームプログラムや各種データ等がCPU30によって実行される。
【0020】
DSP34は、ゲームプログラム実行時にCPU30において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのARAM35が接続される。ARAM35は、DSP34が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP34は、ARAM35に記憶されたサウンドデータを読み出し、メモリコントローラ31およびオーディオI/F39を介してモニタ2に備えるスピーカ2aに出力させる。
【0021】
メモリコントローラ31は、データ転送を統括的に制御するものであり、上述した各種I/Fがバス42を介して接続される。コントローラI/F36は、コントローラ7をゲーム装置3と通信可能に接続する。例えば、受信ユニット36aは、コントローラI/F36を介してメモリコントローラ31と接続される。上述したように受信ユニット36aは、コントローラ7からの送信データを受信し、コントローラI/F36を介して当該送信データをCPU30へ出力する。ビデオI/F37には、モニタ2が接続される。外部メモリI/F38には、外部メモリカード5が接続され、その外部メモリカード5に設けられたバックアップメモリ等とアクセス可能となる。
オーディオI/F39にはモニタ2に内蔵されるスピーカ2aが接続され、DSP34がARAM35から読み出したサウンドデータやディスクドライブ40から直接出力されるサウンドデータをスピーカ2aから出力可能に接続される。ディスクI/F41には、ディスクドライブ40が接続される。ディスクドライブ40は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ゲーム装置3のバス42やオーディオI/F39に出力する。
【0022】
図3を参照して、コアユニット70について説明する。なお、
図3(A)は、コアユニット70の上面後方から見た斜視図である。
図3(B)は、コアユニット70を下面後方から見た斜視図である。
コアユニット70は、例えばプラスチック成型によって形成されたハウジング71を有している。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【0023】
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型のボタンヘッドで結合された4つのプッシュスイッチであり、ボタンヘッドの上下左右の4つの方向の突出片がそれぞれの方向に対応するプッシュスイッチの操作子となる。遊戯者が十字キー72aのいずれかの操作子を押下することによって上下左右いずれかの方向が選択される。なお、遊戯者がコアユニット70をモニタ2方向に向けて水平に把持した場合、「上下」の操作子は「前後」の操作子となる。例えば遊戯者が十字キー72aを操作することによって、仮想ゲーム世界に登場するカメラ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【0024】
ハウジング71上面の十字キー72aより後面側に、複数のボタンスイッチ72b〜72gが設けられる。ボタンスイッチ72b〜72gは、遊戯者がボタン頭部を押下することによって、それぞれのボタンスイッチ72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、ボタンスイッチ72b〜72dには、1ボタン、2ボタン、Aボタンとしての機能が割り当てられる。また、ボタンスイッチ72e〜72gには、−(マイナス)ボタン、ホームボタン、および+(プラス)ボタンとしての機能が割り当てられる。
【0025】
なお、ボタンスイッチ72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、ボタンスイッチ72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、ボタンスイッチ72fは、その上面がハウジング71の上面に埋没しており、遊戯者が不意に誤って押下することのないタイプのボタンである。
【0026】
また、ハウジング71上面の十字キー72aより前面側に、ボタンスイッチ72hが設けられる。このボタンスイッチ72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、遊戯者が不意に誤って押下することのないタイプのボタンである。
【0027】
また、ハウジング71上面のボタンスイッチ72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別を遊戯者に通知するために用いられる。具体的には、コアユニット70から受信ユニット36aへ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
【0028】
一方、ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、遊戯者がコアユニット70を把持したとき、この遊戯者の人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、ボタンスイッチ72iが設けられる。ボタンスイッチ72iは、Bボタンとして機能する操作部である。
【0029】
これらボタンスイッチ72b〜72g,72iには、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの機能が割り当てられる。後述のアクションゲームにおいて、Aボタンであるボタンスイッチ72dは、プレイヤキャラクタに武器による攻撃をさせるための操作子として機能し、Bボタンであるボタンスイッチ72iは、緊急回避の行動をさせるための操作子として機能する。
【0030】
また、ハウジング71前面には、撮像情報演算部74(
図5を参照)の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コアユニット70が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコアユニット70の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えば32ピンのエッジコネクタであり、接続ケーブル79のコネクタと嵌合して接続するために利用される。
【0031】
図4を参照して、サブユニット76について説明する。なお、
図4(A)はサブユニット76の上面図であり、
図4(B)はサブユニット76の下面図であり、
図4(C)はサブユニット76の左側面図である。
【0032】
図4において、サブユニット76は、例えばプラスチック成型によって形成されたハウジング77を有している。ハウジング77は、その前後方向を長手方向とし、サブユニット76において最太部となる頭部を前方に形成した流線型の立体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【0033】
ハウジング77上面の上記最太部近傍に、スティック78aが設けられる。スティック78aは、ハウジング77上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部である。例えば、遊戯者がスティック先端を360°任意の方向に傾倒することによって任意の方向や位置を指定することができ、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【0034】
次に、
図5を参照して、コントローラ7の内部構成について説明する。
図5は、コントローラ7の構成を示すブロック図である。
図5において、コアユニット70は、上述した操作部72および撮像情報演算部74の他に、その内部に通信部75、加速度センサ701およびバイブレータ704を備えている。
【0035】
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コアユニット70の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。
【0036】
なお、これらの撮像情報演算部74は、コアユニット70のハウジング71に固設されており、ハウジング71自体の方向が変わるとそれに伴ってその撮像方向も変わる。この撮像情報演算部74から出力される処理結果データに基づいて、コアユニット70の位置や動きに応じた信号を得ることができる。
【0037】
なお、サブユニット76のハウジング71は、サブユニット76とは屈曲自在な接続ケーブル79によって接続されているため、サブユニット76の方向や位置を変更しても撮像情報演算部74の撮像方向が変化しない。また、サブユニット76にもコアユニット70と同様の撮像情報演算部を設けてもよい。
【0038】
加速度センサ701は、コアユニット70の上下方向、左右方向および前後方向の3軸でそれぞれ加速度を検知する加速度センサである。なお、加速度センサ701は、必要な操作信号の種類によっては、上下方向、左右方向の2軸でそれぞれ加速度を検出する加速度センサが用いられてもかまわない。加速度センサ701が検知した加速度を示すデータは、通信部75へ出力される。なお、加速度センサ701は、典型的には静電容量式の加速度センサが用いられるが、他の方式の加速度センサやジャイロセンサを用いてもかまわない。この加速度センサ701から出力される加速度データに基づいて、コアユニット70の動きを検出することができる。
【0039】
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。
【0040】
コアユニット70に設けられた操作部72からの操作信号(コアキーデータ)、加速度センサ701からの加速度信号(加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。また、接続ケーブル79を介して、サブユニット76に設けられた操作部78からの操作信号(サブキーデータ)は、マイコン751に出力される。マイコン751は、入力した各データ(コアキーデータ、サブキーデータ、加速度データ、処理結果データ)を受信ユニット36aへ送信する送信データとして一時的にメモリ752に格納する。
【0041】
ここで、通信部75から受信ユニット36aへの無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥースで構成される通信部75の送信間隔は5msである。マイコン751は、受信ユニット36aへの送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ754から放射する。
【0042】
つまり、コアユニット70に設けられた操作部72からのコアキーデータ、サブユニット76に設けられた操作部78からのサブキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データがコアユニット70から送信される。そして、ゲーム装置3の受信ユニット36aでその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(コアキーデータ、サブキーデータ、加速度データおよび処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。また、ゲーム装置3のCPU30は、LED8L,8Rの位置座標や面積の検出結果を示す処理結果データおよびLED8L,8R間の距離等に基づいて、コアユニット70の位置および向きを算出する。
【0043】
なお、Bluetooth(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【0044】
バイブレータ704は、例えば振動モータ又はソレノイド等が考えられる。バイブレータ704が作動することによってコアユニット70に振動が発生するので、それを把持している遊戯者の手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
【0045】
遊戯者は、右手の親指をコアユニット70の上面(例えば、十字キー72a付近)に添え、人差し指をコアユニット70下面の凹部(例えば、操作ボタン72i付近)に添える形態でコアユニット70を把持する。このとき、コアユニット70の前面に設けられている撮像情報演算部74の光入射口が遊戯者の前方方向に露出する。
【0046】
このように、コアユニット70は、遊戯者が片手で把持した状態で十字キー72aや操作ボタン72i等の操作部72を容易に操作することができる。さらに、遊戯者がコアユニット70を片手で把持したとき、当該コアユニット70の前面に設けられている撮像情報演算部74の光入射口が露出するため、上述した2つのLEDモジュール8Lおよび8Rからの赤外光を容易に当該光入射口から取り入れることができる。つまり、遊戯者は、コアユニット70が有する撮像情報演算部74の機能を阻害することなくコアユニット70を片手で把持することができる。つまり、遊戯者がコアユニット70を把持した手を表示画面に対して動かすことによって、コアユニット70は、遊戯者の手の運動が表示画面に直接作用する操作入力をさらに備えることができる。
また、サブユニット76も、遊戯者の左手でほぼ同様の形態で把持・操作される。
【0047】
ここで、上記構成のゲームシステムで実行されるアクションゲームについて説明する。このゲームは、遊戯者が操作するプレイヤキャラクタが敵キャラクタを討伐することによりミッションを達成していくゲームである。プレイヤキャラクタがミッションを行うゲームステージには、平野、丘、山、海、川、池、湖等の地形を有するものがあり、プレイヤキャラクタの行動範囲は陸上だけでなく、水中にも広がっている。
【0048】
陸上では、プレイヤキャラクタは地面上を前後左右360°方向に移動し、陸上に生息する敵キャラクタと戦闘を行う。一方、水中では、プレイヤキャラクタは前後左右だけでなく上下にも移動し、任意の方向に浮上と潜水を行って、水中に生息する敵キャラクタと戦闘を行う。また、プレイヤキャラクタは顔を水面上に出し、水面に沿って移動したり、水面に浮上してきた敵キャラクタや水面際に生息する敵キャラクタと戦闘を行ったりすることができる。
【0049】
遊戯者は、右手で把持したコアユニット70と左手で把持したサブユニット76を同時に使用して、ゲーム画面の操作およびプレイヤキャラクタの移動操作を行う。
【0050】
コアユニット70の十字キー72aにより、ゲーム空間を撮影する仮想カメラ(以下、カメラ)の位置および向き(以下、「カメラ位置」という。)が操作される。カメラは、ゲーム空間内で活動するプレイヤキャラクタを撮影するため、プレイヤキャラクタと所定距離を保ちながら、常にプレイヤキャラクタ内又はプレイヤキャラクタ近傍等に設定されたカメラの向け先である注視点(本発明の「特定位置」)に向けられる。そして、カメラはその注視点を中心に回転する。このように、カメラの位置と向きは互いに連動しており、カメラは注視点を向いたまま、位置を移動させることができる。
【0051】
遊戯者は、十字キー72aの見たい方向(上下左右)に対応する操作子を押下することにより、見たい方向を映すようにカメラの位置を移動させることができる。すなわち、遊戯者が上の操作子を押下すると、カメラはプレイヤキャラクタの下に向かって回転し、プレイヤキャラクタを見上げるようになる。逆に、遊戯者が下の操作子を押下すると、カメラはプレイヤキャラクタの上に向かって回転し、プレイヤキャラクタを見下ろすようになる。同様に、遊戯者が左の操作子を押下すると、カメラはプレイヤキャラクタを中心に右方向に回転しプレイヤキャラクタの左方を見るようになる。逆に、遊戯者が右の操作子を押下すると、カメラはプレイヤキャラクタを中心に左方向に回転しプレイヤキャラクタの右方を見るようになる。
【0052】
また、遊戯者は、サブユニット76下面のCボタン78dを押下することにより、プレイヤキャラクタの背後から水平にゲーム空間を撮影するイニシャル方向(位置)にカメラ位置をリセットすることができる。このようにキャラクタの動きから独立してカメラのみを任意に回転させることができるため、遊戯者の所望する方向のゲーム画像をモニタ2に表示させ、たとえば、プレイヤキャラクタの背後にいる敵キャラクタを発見することができる。
【0053】
サブユニット76のコントロールスティック78aにより、プレイヤキャラクタの移動方向が制御される。遊戯者は、コントロールスティック78aを任意の方向に傾倒することにより、カメラ位置を始点として注視点に向けられた直線(以下、「カメラ視線」と言う。)を基準としてプレイヤキャラクタの移動方向を指示することができる。コントロールスティック78aを上方向に傾倒することにより、プレイヤキャラクタをカメラ視線の方向に(ゲーム画面の奥に)移動させる。逆に、コントロールスティック78aを下方向に傾倒することにより、プレイヤキャラクタをカメラ視線と逆方向に(ゲーム画面の手前に)移動させる。
【0054】
コントロールスティック78aは任意の方向に傾倒することができ、どの方向に傾倒しても、上記カメラ視線とこのカメラ視線に直交する水平線とで決定される平面(以下、「カメラ平面」という。)上でプレイヤキャラクタを任意の方向に移動させる。ここで、水平線とは、ゲーム空間の仮想的に設定されている重力方向(後述する
図7〜
図9のY軸方向)に直交する後述する
図7〜
図9のXZ平面に平行な直線をいう。
【0055】
遊戯者は、カメラを操作してカメラ位置を変えながらコントロールスティック78aを傾倒することによりプレイヤキャラクタをゲーム空間内の任意の場所に思い通りに移動させることができる。プレイヤキャラクタの陸上、水面、水中での詳細な移動操作については
図7〜
図9を参照して後述する。
【0056】
このようなゲームを実行するゲームプログラムを上述したゲーム装置に読み込ませることにより、
図6に示すようなゲームシステムを機能的に実現することができる。ゲームシステムは、操作検出部50、ゲーム進行制御部51、描画処理部55等から構成されている。ゲーム進行制御部51は、プレイヤキャラクタ制御部52、ノンプレイヤキャラクタ制御部53、ゲーム空間制御部54を含んでいる。描画処理部55は、カメラ制御部56を含んでいる。
【0057】
操作検出部50は、CPU30、GPU32等のデータ処理部およびコントローラ7を含み、遊戯者の各種操作を検出して、ゲーム進行制御部51および描画処理部55に伝達する。ゲーム進行制御部51は、CPU30、GPU32等のデータ処理部を含み、仮想のゲーム空間やキャラクタを生成するとともに、遊戯者の操作や時間の経過等に応じて、上述のゲーム空間を変化させたりキャラクタを活動させたりする等の処理を行ってゲームを進行させる。
【0058】
プレイヤキャラクタ制御部52は、ゲーム空間内にプレイヤキャラクタを生成するとともに、操作検出部50から入力される操作情報に基づいてプレイヤキャラクタの移動などの活動を制御する。ノンプレイヤキャラクタ制御部53は、ゲーム空間内にノンプレイヤキャラクタを生成するとともに、ノンプレイヤキャラクタの活動を制御する。ゲーム空間制御部54は、操作検出部50から入力された操作情報に基づいて選択されたフィールドのゲーム空間を生成するとともに、そのゲーム空間の天候や昼夜の変更などの環境を制御する。
【0059】
描画処理部55は、CPU30、GPU32等のデータ処理部を含み、ゲーム進行制御部51が生成したゲーム空間、キャラクタを二次元のスクリーンに投影したゲーム画像を生成してモニタ2に出力する。具体的には、ゲーム空間を撮影したカメラの画像を生成し、この画像をモニタ2に表示する。カメラ制御部56は、遊戯者によるコアユニット70の十字キー72aの操作に応じてカメラの位置および向きを制御する。
【0060】
ゲームプログラムは、仮想的な3次元のゲーム空間を形成し、このゲーム空間を所定の視点から透視投影した2次元画像から生成したゲーム画像を外部に(モニタ2に)出力する処理をゲーム装置3に実行させる。具体的には、カメラ位置と注視点との間にモニタ2と同じサイズの仮想的なスクリーンを配置し、キャラクタやオブジェクトが配置されているゲーム空間をカメラ位置から見た映像をこのスクリーン上に透視投影して描画した2次元映像をゲーム画像とする。
【0061】
以下、
図7〜
図9を参照して、プレイヤキャラクタの移動操作方法を説明する。この図では、カメラを水平方向に向けて設置した位置を原点として、互いに直交したX軸、Y軸、Z軸の座標軸を定め、カメラの鉛直上向きをY軸、カメラ視線をZ軸、そのY軸とZ軸に直交するカメラの水平方向をX軸とした直交座標系(ワールド座標系)で説明している。
【0062】
図7は、陸上でのカメラとプレイヤキャラクタとの位置関係を示す図であり、X軸、Y軸、Z軸はゲーム空間内に設定されたワールド座標系を表しており、地面Gはこのワールド座標系のXZ平面に平行な面である。遊戯者は、十字キー72aの左右の操作子を操作することにより、カメラを注視点から所定距離、XZ平面に平行な地面Gから所定角度を保ちながらY軸周りに360°任意の位置に移動させることができる。また、十字キー72aの上下の操作子を操作することにより、カメラの位置をD2〜U2の上下5段階の予め定められた所定の位置に変更できる。5段階は、水平H、上方向2段階U1、U2、下方向2段階D1、D2である。
【0063】
陸上では、カメラ位置に関わらず、XZ平面に平行な地面Gが常にプレイヤキャラクタの移動平面となり、プレイヤキャラクタは地面G上を移動する。カメラの左右の位置によりカメラ視線の方向が決定され、コントロールスティック78aの傾倒方向に応じて移動を行う。例えば、カメラが円周100上に位置し、プレイヤキャラクタ方向を視線方向とする場合、カメラがD2〜U2のいずれに位置しても、遊戯者がコントロールスティック78aを上に傾倒するとプレイヤキャラクタ101は101aの方向に移動し、下に傾倒すると101bの方向に移動する。
【0064】
図8は、水面上でのカメラとプレイヤキャラクタとの位置関係を示す図であり、X軸、Y軸、Z軸はゲーム空間内に設定されたワールド座標系を表しており、水面Wはこのワールド座標系のXZ平面に平行な面である。
【0065】
プレイヤキャラクタは、
図10(A)のように、顔を水面W上に出し、
図10(B)のように、首から下を水中に沈めたまま、水面Wに沿って移動したり、水面Wに浮上してきた敵キャラクタや水面際に生息する敵キャラクタと戦闘を行ったりすることができる。また、息継ぎをしたり、水面Wなどの様子を見たりすることができる。プレイヤキャラクタが水中から水面Wに到達すると、カメラは、水面Wより上で、かつ、プレイヤキャラクタを見下ろすことができる所定位置U1まで自動的に移動するよう制御される。U1は、注視点から所定距離、水面Wから所定角度の位置に予め設定されている。このカメラが移動する間は、プレイヤキャラクタは潜水動作(水中への移動)を行うことができず、コントロールスティック78aの傾倒方向に応じて水面W上を移動する。以下、この移動状態を「水面モード」という。
【0066】
なお、カメラは、所定位置U1まで自動的に移動するよう制御されるが、所定位置まで瞬時に移動させてもよく、時間をかけて移動させるようにしてもよい。
【0067】
そして、カメラ移動後も、カメラが所定位置U1にある間は水面モードであり、プレイヤキャラクタは同様に水面Wを移動平面とし、水面W上を移動する。このとき、プレイヤキャラクタは水面Wに垂直(Y軸方向)な姿勢(
図10)ではなく、水面W上を沿うような姿勢で移動する。例えば、カメラがU1に位置し、プレイヤキャラクタがZ軸方向を向いているとき、遊戯者がコントロールスティック78aを上に傾倒するとプレイヤキャラクタ101は101cの方向に移動し、下に傾倒すると101dの方向に移動する。
【0068】
水面モードは、十字キー72aの上下の操作子を押下しない限り維持される。水面モードのときに十字キー72aの左右の操作子を押下した場合、カメラは注視点を中心として前記U1の所定距離、所定角度を保ちながらY軸周りに360°任意の位置に移動させることができる。このカメラの左右の位置によりカメラ視線の方向が決定される。なお、プレイヤキャラクタはコントロールスティック78aの傾倒方向に応じて水面W上で移動を行う。
【0069】
一方、遊戯者が十字キー72aの上下の操作子を押下することで、カメラをX軸周りに約180°任意の位置に移動させることができるが、この上下の操作によりカメラ位置が所定位置U1ではなくなるため、水面モードが解除される。これは陸上のように予め定められた段階的なカメラ位置の変更(選択)ではなく、連続的なカメラ位置の移動である。
【0070】
なお、「連続的」なカメラ位置の移動には、完全な自由値の角度の移動だけでなく、陸上の場合よりも細かい角度ステップ(たとえば1〜5°間隔)で移動させる場合も含む。
【0071】
例えば、遊戯者が十字キー72aの下の操作子を操作することにより、カメラ位置がU1からU3に移動し、カメラがプレイヤキャラクタを見下ろす位置にある場合、遊戯者がコントロールスティック78aを上に傾倒することにより、プレイヤキャラクタ101は潜水動作を行い101eの方向に移動する。逆に、コントロールスティック78aを下に傾倒すると、プレイヤキャラクタは水面Wから空中に向かって移動することはできないため、水面W上の101dの方向に移動する。
【0072】
一方、遊戯者が十字キー72aの上の操作子を操作することにより、カメラ位置がU1からD3に移動し、カメラがプレイヤキャラクタを見上げる位置にある場合、遊戯者がコントロールスティック78aを下に傾倒することにより、プレイヤキャラクタは潜水動作を行い101fの方向に移動する。逆に、コントロールスティック78aを上に傾倒すると、プレイヤキャラクタは水面Wから空中に向かって移動することはできないため、水面W上の101cの方向に移動するよう制御している。
【0073】
すなわち、遊戯者の操作によりカメラ位置が所定位置U1ではなくなると、水面モードが解除され、プレイヤキャラクタの移動平面は水面Wではなくなり、カメラ平面CPがプレイヤキャラクタの移動平面となる。そして、プレイヤキャラクタはコントロールスティック78aの傾倒方向に応じてカメラ平面CP上で移動を行う。
【0074】
図9は、水中でのカメラとプレイヤキャラクタとの位置関係を示す図である。
遊戯者は、十字キー72aの左右の操作子を操作することにより、カメラの回転角度をY軸周りに360°任意の位置に連続的に移動させることができ、十字キー72aの上下の操作子を操作することにより、カメラの回転角度をX軸周りに約180°任意の位置に連続的に移動させることができる。なお、本実施形態では、敵キャラクタとの戦闘時に制御が複雑になるため、移動させることができるカメラの位置をX軸周り(上下)については360°とせず約180°としているが、上下も360°移動できるようにしてもよい。
【0075】
水中では、プレイヤキャラクタは常にカメラ平面CPを移動平面とし、コントロールスティック78aの傾倒方向に応じてカメラ平面CP上で移動を行う。例えば、カメラ位置がH(水平)のとき、遊戯者がコントロールスティック78aを上に傾倒するとプレイヤキャラクタ101は101gの方向に移動し、下に傾倒すると101hの方向に移動する。
【0076】
例えば、カメラ位置がD1のとき、プレイヤキャラクタはカメラ平面CP上を前(浮上)後(潜水)左右に移動する。遊戯者がコントロールスティック78aを上に傾倒するとプレイヤキャラクタ101は101iの方向に移動し、下に傾倒すると101jの方向に移動する。
【0077】
図11は、カメラ位置がD1のときにプレイヤキャラクタが水中で移動する姿を示す図である。この図において、上部中央に表示されているのは水面に差し込む太陽の光であり、これはプレイヤキャラクタのちょうど真上に位置している。同図(A)では、遊戯者がコントロールスティック78aを上に傾倒することにより、プレイヤキャラクタが水面に向かって(カメラの奥に)浮上している。同図(B)では、遊戯者がコントロールスティック78aを下に傾倒することにより、プレイヤキャラクタが水面から離れるように(カメラの手前に)潜水している。
【0078】
例えば、カメラ位置がU1のとき、プレイヤキャラクタはカメラ平面CP上を前(潜水)後(浮上)左右に移動する。遊戯者がコントロールスティック78aを上に傾倒するとプレイヤキャラクタ101は101kの方向に移動し、下に傾倒すると101lの方向に移動する。
【0079】
また、遊戯者は、水中においてプレイヤキャラクタに(
図9)回避行動を行わせることができる。遊戯者がコアユニット70のBボタン72iを押下すると、プレイヤキャラクタはカメラ位置に関わらず、垂直方向(Y軸の−方向)に下へ移動する回避行動を行う。例えば、プレイヤキャラクタ101は101xの方向に移動する。また、遊戯者がコアユニット70を垂直方向に向けた状態でBボタン72iを押下すると、プレイヤキャラクタはカメラ位置に関わらず、垂直方向(Y軸の+方向)に上へ移動する回避行動を行う。例えば、プレイヤキャラクタ101は101yの方向に移動する。さらに、遊戯者がコントロールスティック78aを傾倒させた状態でBボタン72iの押下を行うと、プレイヤキャラクタはコントロールスティック78aの傾倒方向に所定距離移動する「緊急回避」を行う。これらの回避は、一刻も早く敵から逃げるときなどに有効である。
【0080】
さらに、遊戯者は、上記移動、回避操作を行いながら、敵に対する攻撃操作を行う。遊戯者は、プレイヤキャラクタが所持している武器の中から1種類の武器を選択して攻撃技を繰り出すことができる。各武器を用いた攻撃技はそれぞれ複数あり、遊戯者はコントローラの操作により攻撃技を選択することができる。
【0081】
遊戯者がコアユニット70のAボタン72dを押下することにより、プレイヤキャラクタは攻撃技を繰り出すが、コアユニット70の姿勢(向き)によって繰り出される攻撃技の種類が異なる。例えば、コアユニット70を水平に把持した状態、コアユニット70の上面部を右向きにした状態、コアユニット70の上面部を左向きにした状態でAボタン72dを押下すると、プレイヤキャラクタはそれぞれ異なる攻撃技を繰り出す。さらに、遊戯者がコアユニット70を垂直に把持した状態でAボタン72dを押下し続けるとプレイヤキャラクタは「溜め行動」を行い、力が溜まった状態でコアユニット70を揺動させるかAボタン72dを放すと「溜め攻撃」を行う。陸上では、プレイヤキャラクタの正面に対してこれらの攻撃行動を行う。
【0082】
また、プレイヤキャラクタが水中にいるときに攻撃操作を行う場合、プレイヤキャラクタは水中では水面Wに垂直(Y軸方向)な姿勢であるため、コントロールスティック78aを操作せずに攻撃操作を行うと、XZ平面に平行な方向を正面として攻撃行動を行う。一方、コントロールスティック78aを操作しながら攻撃操作を行うと、カメラ平面CPを移動平面として移動しながら攻撃するため、移動時の姿勢のままそのとき向いている方向に対して攻撃行動を行う。
【0083】
以下、
図12、
図13のフローチャートを参照して本実施形態の移動制御処理について説明する。
図12は、カメラ制御部56が行うカメラの視点制御処理を示すフローチャートである。なお、この処理は例えば1フレームごとに繰り返し実行される。
【0084】
まず、十字キー72aの操作(押下)を検出すると(S11)、押下された十字キー72aの操作子が左右の操作子であるか否かを判定する(S12)。押下された操作子が左右の操作子である場合(S12でYES)、カメラ位置を左右の押下された方向に移動させる(S13)。
【0085】
押下された操作子が左右の操作子ではない場合(S12でNO)、すなわち押下された操作子が上下の操作子である場合、プレイヤキャラクタが陸上にいるか否かを判定する(S14)。プレイヤキャラクタが陸上にいる場合(S14でYES)、カメラ位置を上下の押下された方向に1段階変更する(S15)。陸上ではカメラ位置を上下5段階の予め定められた所定の位置に変更でき、5段階とは、水平、上方向2段階、下方向2段階である。
【0086】
プレイヤキャラクタが陸上にいない場合(S14でNO)、すなわちプレイヤキャラクタが水面W上または水中にいる場合、カメラ位置を上下の押下された方向に連続的に移動させる(S16)。カメラ位置は上下約90°ずつ(約180°)変更可能であるが、その所定値以上は操作子を押下してもカメラ位置は移動しない。
【0087】
図13は、プレイヤキャラクタ制御部53が行うプレイヤキャラクタの移動制御処理を示すフローチャートである。
まず、コントロールスティック78aの操作(傾倒)を検出すると(S21)、プレイヤキャラクタが水中にいるか否かを判定する(S22)。プレイヤキャラクタが水中にいる場合(S22でYES)、プレイヤキャラクタをカメラ平面CP上でコントロールスティック78aの傾倒方向に応じて移動させる(S23)。プレイヤキャラクタが水中にいない場合(S22でNO)、プレイヤキャラクタが陸上にいるか否かを判定する(S24)。プレイヤキャラクタが陸上にいる場合(S24でYES)、プレイヤキャラクタを地面G上でコントロールスティック78aの傾倒方向に応じて移動させる(S25)。プレイヤキャラクタが陸上にいない場合(S24でNO)、すなわちプレイヤキャラクタが水面W上にいる場合、カメラ位置が所定位置U1であるか否かを判定する(S26)。カメラ位置が所定位置U1である場合(S26でYES)、プレイヤキャラクタを水面W上でコントロールスティック78aの傾倒方向に応じて移動させる(S27)。カメラ位置が所定位置U1ではない場合(S26でNO)、プレイヤキャラクタをカメラ平面CP上でコントロールスティック78aの傾倒方向に応じて移動させる(S28)。
【0088】
なお、本実施形態では、遊戯者が十字キー72aの上下左右の操作子を押下すると、カメラ位置を押下された方向と逆の方向に移動させて押下された方向のゲーム画像をモニタ2に表示しているが、カメラ位置を上下左右の押下された方向に移動させるようにしてもよい。
【0089】
なお、本実施形態では、カメラ位置を所定位置U1からわずかでも移動させた場合に水面モードを解除しているが、水面モードを解除する条件を、カメラ位置を所定位置U1より所定角度(U1±α)以上移動させた場合としてもよい。
【0090】
また、このアクションゲームをプレイする場合に、プレイヤキャラクタの移動制御にコアユニット70、仮想カメラの移動制御にサブユニット76を用いるようにしてもよい。
【0091】
さらに、この発明は、家庭用ゲーム機のみならずアーケードゲーム機に適用してもよい。また、ゲーム機本体とコントローラが分離したゲーム機のみならず、コントローラと装置本体が一体化した携帯用ゲーム機に適用してもよい。
【0092】
上述したように、この実施形態では、カメラの位置を変更するとそれに連動してカメラの向きも(たとえば注視点が視界の中心になるように)変更されるが、カメラの位置と向きを互いに連動させないようにしてもよい。また、連動させる場合でもカメラの位置に向きをリアルタイムに(遅れ・進みなく)追従させなくてもよく、たとえば、カメラの位置を移動させてから向きを注視点方向に変更してもよく、逆にカメラの向きを変更してから位置を移動させてもよい。