説明

ゲームプログラム、対戦ゲーム装置、及び対戦ゲーム制御方法

【課題】プレイヤへの過大な操作性を軽減し、対戦する両者間のゲーム操作に対するバランスを取り、面白味を醸し出すゲームを提供する。
【解決手段】対戦ゲーム装置は、マウンド及びホームベースが含まれる領域を斜め上方から俯瞰したゲーム空間を2次元に変換してモニタ21に表示する画像表示制御部103と、投球後のボールオブジェクト72をモニタ21上で移動させる移動処理部108と、ボールオブジェクト72がマウンドからホームベースまで移動する間、コントローラ19の撮像部196から得られるモニタ21上の指示座標とモニタ21に表示されているボールオブジェクト72の表示位置との位置の差分をなぞり量として周期的に計測し、積算して総なぞり量として求めるなぞり量計測部109と、総なぞり量の大きさに応じてボールオブジェクト72を打撃する条件を決定する打撃条件設定部111とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせる制御技術に関する。
【背景技術】
【0002】
従来、モニタに仮想3次元の野球を模擬したゲーム空間内を表示し、このゲーム空間内で移動する、すなわち投手キャラクタによって投球されたボールオブジェクトにカーソルを一致させることで、自己キャラクタの所持するバットオブジェクトによるボールオブジェクトへの作用、すなわち打撃を決定させる野球ゲームが知られている。この野球ゲームでは、プレイヤによってコントローラの十字キーが操作されることで、カーソルがホームベース上で任意に移動可能にされている。また、近年、加速度センサを備えるコントローラを採用したゲームが提案されている(特許文献1)。特許文献1には、プレイヤがコントローラをバットを振るようにして振ることにより、投球されたボールオブジェクトを撃つゲームが提案されている。このゲームの場合、コントローラと、制御部を内蔵するゲーム機本体とは無線による近接通信方式を採用しているため、プレイヤの遊技位置等の自由度が高く、また、一人のプレイヤがモニタ部を占有することもなく複数人でゲームを楽しむことができる。
【特許文献1】特開2007−167531号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来の野球ゲームでは、投球されたボールオブジェクトのホームベース上での通過位置に対して打撃位置を示すカーソルをコントローラで指定し、両者の位置が一致するときボールオブジェクトが打たれたと判断するものである。しかしながら、カーソルは、ストライクゾーンに対してほぼ点状乃至は小円の小領域であるため、位置指定のための許容時間の短さ、モニタ上での位置指定の精度の点で、位置指定操作は必ずしも容易ではなかった。そのため、投手側(守備側)のプレイヤに比して、打者側(攻撃側)のプレイヤにはゲーム操作が相対的に難しいという傾向があり、攻守のゲームバランスや面白味という点で改善の余地があった。特に、特許文献1に記載のコントローラの場合、操作の汎用性、自由性がある反面、細かい位置指定操作はプレイヤの感覚に依存する部分があることから、一般的には容易とは言い難く、また経験を要するものであった。従って、単に、加速度センサを備えるコントローラによりカーソルを移動させる構成を採用しただけでは、操作の難易度が過大となり、ゲームの面白みに欠ける虞がある。
【0004】
本発明は、上記に鑑みてなされたもので、ポインティングデバイスでモニタに表示された移動体オブジェクトを追尾するようになぞり、得られたなぞり量から移動体オブジェクトとの作用条件を決定することで、作用結果に対するプレイヤへの過大な操作性を軽減し、対戦する両者間のゲーム操作に対するバランスを取り、ゲームの面白味を醸し出すゲームプログラム、対戦ゲーム装置、及び対戦ゲーム制御方法を提供するものである。
【課題を解決するための手段】
【0005】
請求項1記載の発明は、仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせるゲームプログラムにおいて、少なくとも前記移動体オブジェクトの移動中、前記移動開始位置と前記所定の領域とを斜め上方から俯瞰した前記ゲーム空間を2次元空間に変換してモニタに表示する画像表示制御手段、前記移動体オブジェクトの経時方向に対する移動軌跡を設定する移動軌跡設定手段、設定された移動軌跡に従って前記移動体オブジェクトを前記2次元空間で移動させる移動処理手段、前記移動体オブジェクトが前記移動開始位置から前記所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分をなぞり量として周期的に計測し、各なぞり量を積算して総なぞり量として求めるなぞり量計測手段、前記総なぞり量の大きさに応じて、前記移動体オブジェクトとの作用条件を決定する作用条件設定手段、として前記コンピュータを機能させるゲームプログラムである。
【0006】
請求項11記載の発明は、仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせる対戦ゲーム装置において、少なくとも前記移動体オブジェクトの移動中、前記移動開始位置と前記所定の領域とを斜め上方から俯瞰した前記ゲーム空間を2次元空間に変換してモニタに表示する画像表示制御手段と、前記移動体オブジェクトの経時方向に対する移動軌跡を設定する移動軌跡設定手段、設定された移動軌跡に従って前記移動体オブジェクトを前記2次元空間で移動させる移動処理手段と、前記移動体オブジェクトが前記移動開始位置から前記所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分をなぞり量として周期的に計測し、各なぞり量を積算して総なぞり量として求めるなぞり量計測手段と、前記総なぞり量の大きさに応じて、前記移動体オブジェクトとの作用条件を決定する作用条件設定手段とを備えたことを特徴とするものである。
【0007】
請求項12記載の発明は、仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせる対戦ゲーム制御方法において、前記コンピュータの画像表示制御手段が、少なくとも前記移動体オブジェクトの移動中、前記移動開始位置と前記所定の領域とを斜め上方から俯瞰した前記ゲーム空間を2次元空間に変換してモニタに表示し、前記コンピュータの移動軌跡設定手段が、前記移動体オブジェクトの経時方向に対する移動軌跡を設定し、前記コンピュータの移動処理手段が、設定された移動軌跡に従って前記移動体オブジェクトを前記2次元空間で移動させ、前記コンピュータのなぞり量計測手段が、前記移動体オブジェクトが前記移動開始位置から前記所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分をなぞり量として周期的に計測し、各なぞり量を積算して総なぞり量として求め、前記コンピュータの作用条件設定手段が、前記総なぞり量の大きさに応じて、前記移動体オブジェクトとの作用条件を決定することを特徴とするものである。
【0008】
これらの発明によれば、仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動体オブジェクトの移動が行われ、この移動中の移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて対戦ゲームが進行される。まず、画像表示制御手段によって、少なくとも移動体オブジェクトの移動中、移動開始位置と所定の領域とを斜め上方から俯瞰したゲーム空間が2次元空間に変換されモニタに表示される。この状態で、移動軌跡設定手段によって、移動体オブジェクトの経時方向に対する移動軌跡が設定され、移動処理手段によって、設定された移動軌跡に従って移動体オブジェクトが2次元空間上で移動させられる。ここで、なぞり量計測手段によって、移動体オブジェクトが移動開始位置から所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分がなぞり量として周期的に計測され、周期毎の各なぞり量が積算されて総なぞり量として求められる。そして、作用条件設定手段によって、総なぞり量の大きさに応じて、移動体オブジェクトとの作用条件が決定される。従って、プレイヤはポインティングデバイスを介してモニタ画面上をなぞる操作をすることで移動体オブジェクトとの作用条件を変更させることができるので、従来のようなプレイヤへの過大な操作性を軽減し、対戦する両者間のゲーム操作に対するバランスを取り、面白味を醸し出すゲームを提供することが可能となる。
【0009】
請求項2記載の発明は、請求項1記載のゲームプログラムにおいて、前記プレイヤが操作する第1の操作部材から操作信号を受け付けて、前記移動体オブジェクトとの作用の動作を指示する作用指示手段として前記コンピュータを機能させるものである。この構成によれば、プレイヤ、すなわち作用を目論むプレイヤによって操作される第1の操作部材から操作信号が作用指示信号として受け付けられ、受け付けタイミングで移動体オブジェクトとの作用の動作が実行される。従って、プレイヤには作用タイミングの指示操作が課せられるので、ゲーム性が向上する。
【0010】
請求項3記載の発明は、請求項1又は2に記載のゲームプログラムにおいて、前記移動軌跡設定手段は、直線状及び曲線状の移動軌跡が設定可能であることを特徴とする。この構成によれば、移動体オブジェクトの移動軌跡として、直線状、曲線状という多様な軌跡が採用可能となり、種々のなぞり操作が実現できるためゲームの多様化が図れる。
【0011】
請求項4記載の発明は、請求項1〜3のいずれかに記載のゲームプログラムにおいて、前記移動軌跡設定手段は、移動体オブジェクトの移動速度が設定可能であることを特徴とする。この構成によれば、移動体オブジェクトの移動軌跡として、種々の移動速度が採用可能となり、異なる速さでのなぞり操作が要求される分、ゲームの多様化が図れる。
【0012】
請求項5記載の発明は、請求項1〜4のいずれかに記載のゲームプログラムにおいて、前記作用条件設定手段は、前記移動体オブジェクトと作用する際の作用力(例えばパワー)及び作用が許容される範囲(例えばミート)の少なくとも一方を設定することを特徴とする。この構成によれば、なぞり操作の巧拙が、直接、移動体オブジェクトとの作用結果に反映されるので、面白味のあるゲームが提供される。
【0013】
請求項6記載の発明は、請求項1〜5のいずれかに記載のゲームプログラムにおいて、前記なぞり量計測手段は、前記周期的な計測毎に、前記差分が前記移動体オブジェクトの表示位置に対して所定距離内であるか否かを判断し、所定距離内である場合に、ポイントを付与し、このポイントを集計して総なぞり量とすることを特徴とする。この構成によれば、なぞり量計測手段によって、周期的な計測毎に差分が移動体オブジェクトの表示位置に対して所定距離内であるか否かの判断が行われ、所定距離内である場合に、ポイントが付与され、このポイントが集計されて総なぞり量とされる。従って、移動中の移動体オブジェクトに対して、重なるようになぞることで総なぞり量が多くなり、作用時の作用力、小範囲の増大という恩恵(ボーナス)が得られる。逆に、移動体オブジェクトを後から追いかけるような、移動軌跡のなぞり方では、ポイントは稼げず、総なぞり量も比較的小さい値となり、作用時の恩恵は少なくなる。
【0014】
請求項7記載の発明は、請求項6記載のゲームプログラムにおいて、前記所定距離は、前記指示座標が移動体オブジェクトの表示位置の移動軌跡側である場合、第1の閾値であり、それ以外である場合には、前記第1の閾値より大きな第2の閾値であることを特徴とする。この構成によれば、移動体オブジェクトを後から追いかけるような、移動軌跡のなぞり方は、比較的容易な操作であるため、ポイント付与の条件は第1の閾値以内という厳しい条件とされる。それ以外の位置では、移動体オブジェクトの現位置を目指したなぞり操作であると見なし、かかる操作は困難性を伴うことから、第1の閾値より大きな第2の閾値以内という相対的に緩和された条件としている。
【0015】
請求項8記載の発明は、請求項1〜7のいずれかに記載のゲームプログラムにおいて、前記ポインティングデバイスは、モニタ画面に対して予め設定された位置に設けられた少なくとも2個の位置特定用表示素子と、前記ポインティングデバイスの所定の向きに撮像面を有して取り付けられ、前記モニタの画面及び位置特定用表示素子を少なくとも撮像する撮像手段と、撮像画像内の前記位置特定用表示素子に対応する画像の位置から該ポインティングデバイスの向きを求め、当該向きの線上とモニタの画面とが交差する点にポインタを表示し、前記なぞり量計測手段は、該ポインタの表示位置の座標を前記指示座標として取得する取得手段とを備えることを特徴とする。この構成によれば、ポインティングデバイスを所定の方向に向けることで、撮像手段によってモニタ画面及び位置特定用表示素子が撮像され、撮像画像から、位置特定用表示素子に対応する画像からポインティングデバイスが向けられた線上にあるモニタ画面の位置を特定することが遠隔的に可能となる。そして、この特定位置にポインタを表示することで、位置の確認ができ、モニタ画面に表示された移動体オブジェクトにポインタを2次元上で重ねる操作を可能とする。従って、従来のように、ボタンやジョイスティックを操作して、移動体オブジェクトとの作用位置を指定するという形態とは異なるタイプのゲームを提供することが可能となる。
【0016】
請求項9記載の発明は、請求項1〜7のいずれかに記載のゲームプログラムにおいて、前記ポインティングデバイスは、モニタ画面に積層された透明な膜状の感圧部材を備え、前記なぞり量計測手段は、前記感圧部材上の押圧された位置の座標を前記指示座標として取得する取得手段とを備えることを特徴とする。この構成によれば、モニタ画面で移動される移動体オブジェクトの表示位置を機械的に押す操作で、自動的に同位置の感圧部材を押圧することで、指示座標が取得される。従って、従来のように、ボタンやジョイスティックを操作して、移動体オブジェクトとの作用位置を指定するという形態とは異なるタイプのゲームを提供することが可能となる。
【0017】
請求項10記載の発明は、請求項1〜9のいずれかに記載のゲームプログラムにおいて、前記対戦ゲームは野球を模したものであり、前記移動体オブジェクトはボールに対応し、前記移動開始位置はマウンドに対応し、前記所定の領域はホームベース上のストライクゾーンに対応し、前記作用は、ボールオブジェクトを前記作用手段で作用が指示される、バットオブジェクトで打ち返し処理であることを特徴とする。この構成によれば、投球されたボールオブジェクトをポインティングデバイスでなぞることで、バットオブジェクトによるボールオブジェクトへの打撃が行われる。従って、新タイプの野球ゲームが実現される。
【発明の効果】
【0018】
請求項1,11,12記載の発明によれば、ポインティングデバイスを介してモニタ画面上をなぞる操作をすることで移動体オブジェクトとの作用条件を変更させることができるので、従来のようなプレイヤへの過大な操作性を軽減し、対戦する両者間のゲーム操作に対するバランスを取り、ゲームの面白味を醸し出すゲームを提供することができる。
【0019】
請求項2記載の発明によれば、プレイヤに対して作用タイミングの指示操作を課すことで、ゲーム性を向上させることができる。
【0020】
請求項3記載の発明によれば、移動体オブジェクトの移動軌跡として、直線状、曲線状という多様な軌跡が採用可能となり、種々のなぞり操作が実現できるためゲームの多様化が図れる。
【0021】
請求項4記載の発明によれば、移動体オブジェクトの移動軌跡として、種々の移動速度が採用可能となり、異なる速さでのなぞり操作が要求される分、ゲームの多様化が図れる。
【0022】
請求項5記載の発明によれば、なぞり操作の巧拙を、直接、移動体オブジェクトとの作用結果に反映させるので、面白味のあるゲームを提供することができる。
【0023】
請求項6記載の発明によれば、周期的な計測毎に、なぞりの巧拙をポイントに換算し、ポイントの集計で総なぞり量を得るようにしたので、計測処理が容易となる。
【0024】
請求項7記載の発明によれば、比較的容易ななぞり操作に対しては位置差に対して厳しい条件を設定し、それ以外では条件を相対的に緩和したので、操作の困難性に即したポイント付与処理が可能となる。
【0025】
請求項8,9記載の発明によれば、従来のように、ボタンやジョイスティックを操作して、移動体オブジェクトとの作用位置を指定するという形態とは異なるタイプのゲームを提供することが可能となる。
【0026】
請求項10記載の発明によれば、新タイプの野球ゲームが実現できる。
【発明を実施するための最良の形態】
【0027】
図1は、本発明に係る対戦ゲーム装置の構成の一実施形態を示すブロック図である。以下の説明では、ゲーム装置の一例として家庭用ビデオゲーム機を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置について説明する。しかし、本発明はこの例に限定されず、モニタが一体に構成された業務用ビデオゲーム装置、本発明によるゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【0028】
図1に示すビデオゲーム装置は、家庭用ゲーム機(ゲーム機本体)100及び家庭用テレビジョン200を備える。家庭用ゲーム機100は、ゲームプログラムが記録されたコンピュータ読み出し可能な記録媒体300が装填可能な構成を備えている。記録媒体300がゲーム機本体100に装填された状態で、ゲームプログラムが適宜読み出されて対戦ゲームが実行される。
【0029】
家庭用ゲーム機100は、CPU(Central Processing Unit)1、バスライン2、グラフィックスデータ生成プロセッサ3、インターフェース回路(I/F)4、メインメモリ5、ROM(Read Only Memory)6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12、インターフェース13、バッファ14〜16、記録媒体ドライブ17、メモリ18、及びコントローラ19を含む。家庭用テレビジョン200はテレビジョンモニタ(モニタ)21、増幅回路22及びスピーカ23を含む。
【0030】
CPU1は、バスライン2およびグラフィックスデータ生成プロセッサ3に接続されている。バスライン2は、アドレスバス、データバス及びコントロールバス等を含み、CPU1、インターフェース回路4、メインメモリ5、ROM6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12及びインターフェース13を相互に接続している。
【0031】
描画プロセッサ10は、バッファ14に接続されている。音声プロセッサ11は、バッファ15及び増幅回路22に接続されている。デコーダ12は、バッファ16及び記録媒体ドライブ17に接続されている。インターフェース13は、メモリ18及びコントローラ19に接続されている。
【0032】
モニタ21は、描画プロセッサ10に接続されている。スピーカ23は、増幅回路22に接続されている。なお、業務用ビデオゲーム装置の場合、モニタ21、増幅回路22及びスピーカ23は、家庭用ゲーム機100を構成する各ブロックとともに1つの筺体に収納される場合がある。指標表示器24は、例えば所定長を有する長尺体の両端にそれぞれ1個乃至は所定数の、例えば赤外光を発光するLEDからなる発光素子が所定寸法だけ離間して配置されているものである。指標表示器24は、後述するコントローラ19の撮像部196によって輝点として撮像され、発光素子を撮像した輝点画像の位置(すなわち撮像した画像を一時的に取り込むメモリ18内の座標(アドレス))から、コントローラ19の向きを検出するための位置特定用表示素子として機能する。
【0033】
また、ビデオゲーム装置が、パーソナルコンピュータやワークステーション等を核として構成されている場合、モニタ21は、コンピュータ用のディスプレイに対応する。また、伸張回路7、描画プロセッサ10及び音声プロセッサ11等は、それぞれ記録媒体300に記録されているプログラムデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路4、パラレルポート8、シリアルポート9及びインターフェース13は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ14〜16はそれぞれメインメモリ5又は拡張メモリの各記憶エリアに対応する。
【0034】
次に、図1に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ3は、CPU1のいわばコプロセッサとしての役割を果たす。すなわち、グラフィックスデータ生成プロセッサ3は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理によって行う。
【0035】
グラフィックスデータ生成プロセッサ3が行う主な処理としては、CPU1から供給される画像データの2次元又は3次元空間内における各頂点の座標データ、移動量データ、及び回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてCPU1に返す処理、仮想的に設定された光源からの距離やこの光源に対する傾きに応じて画像の輝度を計算する処理等がある。
【0036】
インターフェース回路4は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。メインメモリ5はRAM(Random ccess Memory)で構成される。ROM6にはビデオゲーム装置のオペレーティングシステムとなるプログラムデータが記憶されている。
【0037】
伸張回路7は、動画に対するMPEG(Moving Picture Experts Group)規格や静止画に対するJPEG(Joint Photographic Experts Group)規格に準拠したイントラ符号化によって圧縮された圧縮画像に対して伸張処理を施す。伸張処理は、デコード処理(VLC:Variable Length Codeによってエンコードされたデータのデコード)、逆量子化処理、IDCT(Inverse Discrete Cosine Transform)処理、及びイントラ画像の復元処理等を含む。
【0038】
描画プロセッサ10は、所定時間T(例えば、1フレームでT=1/60秒)ごとにCPU1が発行する描画命令に基づいてバッファ14に対する描画処理を行う。
【0039】
バッファ14は、例えばRAMで構成され、表示エリア(フレームバッファ)と非表示エリアとに分けられる。表示エリアは、モニタ21の表示面上に表示するデータの展開エリアで構成される。非表示エリアは、スケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。
【0040】
ここで、テクスチャデータは、2次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。CPU1は、記録媒体300から一度に又はゲームの進行状況に応じて複数回に分けて、これらのデータを予めバッファ14の非表示エリアに読み出して記録する。
【0041】
また、描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の2次元画像を描画するための描画命令がある。ここで、ポリゴンは多角形の2次元仮想図形であり、例えば、三角形や四角形が用いられる。
【0042】
ポリゴンを用いて立体的な画像を描画するための描画命令は、ポリゴン頂点座標データのバッファ14の表示エリア上における記憶位置を示すポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャのバッファ14上における記憶位置を示すテクスチャアドレスデータ、テクスチャの色を示すカラーパレットデータのバッファ14上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【0043】
上記のデータのうち表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ3がCPU1からの3次元空間上におけるポリゴン頂点座標データを仮想カメラの視点情報から得られる移動量データ及び回転量データに基づいて座標変換することによって(仮想カメラの視点からの)2次元上でのポリゴン頂点座標データに置換されたものである。輝度データは、CPU1からの上記座標変換後のポリゴン頂点座標データによって示される位置から仮想的に配置された光源までの距離等に基づいてグラフィックスデータ生成プロセッサ3によって決定される。
【0044】
ポリゴン頂点アドレスデータは、バッファ14の表示エリア上のアドレスを示す。描画プロセッサ10は、3個のポリゴン頂点アドレスデータで示されるバッファ14の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【0045】
ゲーム空間内におけるキャラクタ等の物体は、複数のポリゴンで構成される。CPU1は、各ポリゴンの3次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ14に記憶する。そして、後述するコントローラ19の操作によって、モニタ21の表示画面上でキャラクタを移動させる等の場合において、キャラクタの動きを表現したり、キャラクタを見ている、仮想カメラの視点位置を変えたりするときに、以下の処理が行われる。
【0046】
すなわち、CPU1は、グラフィックスデータ生成プロセッサ3に対してバッファ14の非表示エリア内に保持されている各ポリゴンの頂点の3次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データとを与える。
【0047】
グラフィックスデータ生成プロセッサ3は、各ポリゴンの頂点の3次元座標データと各ポリゴンの移動量データ及び回転量データとに基づいて各ポリゴンの移動後及び回転後の3次元座標データを順次求める。
【0048】
このようにして求められた各ポリゴンの3次元座標データのうち、水平及び垂直方向の座標データは、バッファ14の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして描画プロセッサ10に供給される。
【0049】
描画プロセッサ10は、3個のポリゴン頂点アドレスデータによって示されるバッファ14の表示エリア上に予め割り当てられているテクスチャアドレスデータによって示されるテクスチャデータを書き込む。これによって、モニタ21の表示画面上には、対応するテクスチャの貼り付けられた多数のポリゴンから構成される物体が表示される。
【0050】
通常の2次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ14上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データに対して行われる。これらのデータのうち頂点アドレスデータは、CPU1からの2次元平面上における頂点座標データをCPU1からの移動量データ及び回転量データに基づいてグラフィックスデータ生成プロセッサ3で座標変換することによって得られる。
【0051】
音声プロセッサ11は、記録媒体300から読み出されたADPCM(Adaptive Differential Pulse Code Modulation)データをバッファ15に記憶させる。バッファ15に記憶されたADPCMデータが音源となる。
【0052】
また、音声プロセッサ11は、例えば、周波数44.1kHzのクロック信号に基づき、バッファ15からADPCMデータを読み出す。音声プロセッサ11は、読み出したADPCMデータに対してピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加等の処理を施す。
【0053】
記録媒体300から読み出される音声データがCD−DA(Compact Disk Digital Audio)等のPCM(Pulse Code Modulation)データの場合、音声プロセッサ11は、この音声データをADPCMデータに変換する。また、PCMデータに対するプログラムによる処理は、メインメモリ5上において直接行われる。そして、メインメモリ5上において処理されたPCMデータは、音声プロセッサ11に供給されてADPCMデータに変換される。その後、上述した各種処理が施され、音声がスピーカ23から出力される。
記録媒体ドライブ17としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体300としては、DVD−ROM、CD−ROM、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。
【0054】
記録媒体ドライブ17は、記録媒体300から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ12に供給する。デコーダ12は、記録媒体ドライブ17からデータを再生し、さらに、ECC(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理を施したデータをメインメモリ5又は音声プロセッサ11に供給する。
【0055】
メモリ18としては、例えばカード型のメモリが用いられる。カード型のメモリは、例えばゲームを中断した場合において中断時点での状態を保持するべく、例えば中断時点での各種ゲームパラメータを保持するため等に用いられる。
【0056】
コントローラ19は、プレイヤが把持可能な形状、例えば棒状の外形を有し、その表面適所に種々の操作部分が設けられている。コントローラ19は、プレイヤが種々の操作指令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU1に送出する。コントローラ19には、インターフェース191、加速度センサ192、さらに、操作部分としての、ボタン193、360°方向の傾倒方向と角度とが検出可能な操作桿(ジョイスティック)194、及び4方向(十字方向)が検出可能な十字キー195が設けられている。また、コントローラ19には、その本体長手方向の先端に前方に撮像面を有するCMOSセンサ等からなり、所要の視野幅内からの赤外光を受光するエリアセンサである撮像部196が配設されている。なお、インターフェース191は、例えば、赤外線や電波等による近接通信のための無線信号を送出する回路で構成され、コントローラ19から送出される操作信号を無線信号に変換してインターフェース13に送出する。
【0057】
加速度センサ192は、3軸の加速度センサにより構成され、3軸方向のそれぞれの加速度を加速度信号として検出する。加速度センサ192は、少なくともコントローラ19の向き及び姿勢を検出する。加速度センサ192としては、例えば、ピエゾ抵抗型、静電容量型、又は磁気センサ型等の加速度センサを採用することができる。
【0058】
ジョイスティック194は、例えば、キャラクタやオブジェクトや後述するようにカーソル等をモニタ21の画面上で上下左右乃至は斜め方向に移動させるコマンドをCPU1に与えるために使用される。
【0059】
コントローラ19のボタン193及び十字キー195は、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチで構成される。
【0060】
図3は、コントローラ19の一部外観図である。コントローラ19の長尺部の一側面には、先端側から順次、例えばジョイスティック194、十字キー195、ボタン193等が配設されており、前端面には撮像部196が配設されている。
【0061】
撮像部196は、モニタ21の画面から所要距離(ゲームをする際の通常の距離、例えば、1.5m程度)離れて、モニタ21画面及び指標表示器24の各発光素子を含む領域を少なくとも撮像し得る視野幅を有しているものである。
【0062】
図4は、視野幅及びコントローラ19の向きを算出する方法を説明する図で、図4(a)はモニタ21の正面図、図4(b)は撮像後のメモリ18の記憶内容の一例を示す図である。図4(a)において、コントローラ19をモニタ21画面上部のポイントO1に向ける場合、ポイントO1と指標表示器24とが視野内に入る必要がある。また、コントローラ19をモニタ21画面左部のポイントO2に向ける場合、ポイントO2と指標表示器24とが視野内に入る必要がある。コントローラ19をモニタ21画面下部のポイントO3に向ける場合、ポイントO3と指標表示器24とが視野内に入る必要がある。コントローラ19をモニタ21画面右部のポイントO4に向ける場合、ポイントO4と指標表示器24とが視野内に入る必要がある。従って、モニタ21画面上の全てのポイントを検知するためには、撮像部196は、少なくとも図中の枠W1の横幅分、枠W2の縦幅分の視野幅を持つ必要がある。
【0063】
図4(b)は、コントローラ19をモニタ21画面の任意のポイントOaに向けた場合のメモリ18の内容である。ポイントO′はメモリ18の中心座標Q0(X0,Y0)であり、その上方には指標表示器24の発光素子の画像Q1,Q2が表示されている。本実施形態では、逆に、画像Q1,Q2の座標、Q1(X1,Y1),Q2(X2,Y2)から、メモリ18の中心座標Q0(X0,Y0)に対応するモニタ21の画面位置Oaを算出する。すなわち、画像Q1,Q2の座標から、その中点{(X1−X2)、(Y1−Y2)}と座標中心座標(X0,Y0)とのずれ(コントローラ19の向きから発生)dX,dY、及び(X1−X2)/(Y1−Y)から姿勢(コントローラ19の回転から発生)θが得られ、これらの値と、さらに、(X1−X2)あるいは(Y1−Y2)の値(好ましくは差の大きい方)から、モニタ21画面サイズと視野幅(メモリ18の座標)との比率(モニタ21画面と撮像部196との距離に相当)を用いて、求めるべき、メモリ18の中心座標(X0,Y0)に対応するモニタ21画面上のポイントOa(xa,ya)を特定することが可能となる。ポインタ81はこのポイントOaに表示される。
【0064】
次に、上記のビデオゲーム装置の概略動作について説明する。記録媒体300が記録媒体ドライブ17に装填されている場合、電源スイッチ(図示省略)がオンされてビデオゲーム装置に電源が投入されると、ROM6に記憶されているオペレーティングシステムに基づいて、CPU1は、記録媒体300からゲームプログラムをメインメモリ5へ読み出すように記録媒体ドライブ17に指示する。これによって、記録媒体ドライブ17は、記録媒体300から画像データ、音声データ及びプログラムデータをデコーダ12へ読み出す。読み出された画像データ、音声データ及びプログラムデータは、デコーダ12によってエラー訂正処理が各データに施される。
【0065】
画像データは、デコーダ12によってエラー訂正処理が施され、バスライン2を介して伸張回路7に供給される。伸張回路7によって上述した伸張処理が行われた画像データは、描画プロセッサ10に供給され、描画プロセッサ10によってバッファ14の非表示エリアに書き込まれる。音声データは、デコーダ12によってエラー訂正処理が施され、メインメモリ5又は音声プロセッサ11を介してバッファ15に書き込まれる。デコーダ12によってエラー訂正処理が施されたプログラムデータはメインメモリ5に書き込まれる。
【0066】
以降、CPU1は、メインメモリ5に記憶されているゲームプログラム及びプレイヤがコントローラ19を用いて指示する内容に基づいてビデオゲームを進行させる。すなわち、プレイヤがコントローラ19を用いて指示する内容に基づいて、CPU1はゲーム状況の変更の制御、及びこれに基づく画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
【0067】
画像処理の制御として、例えば、キャラクタに指示されるアニメーションに該当するパターンデータから各スケルトンの座標の計算又はポリゴンの頂点座標データの計算、得られた3次元座標データや視点位置データのグラフィックスデータ生成プロセッサ3への供給、グラフィックスデータ生成プロセッサ3で求めたバッファ14の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等が行われる。
【0068】
音声処理の制御として、例えば、音声プロセッサ11に対する音声出力コマンドの発行、レベル、リバーブ等の指定が行われる。内部処理の制御として、例えばコントローラ19の操作に応じた演算等が行われる。
【0069】
図5は、ビデオゲーム装置においてモニタ21に表示される画像の一例を示した図である。まず、本ビデオゲーム装置を用いて野球ゲームを行う場合の、野球ゲームの概要について説明する。本発明で実行される野球ゲームは、一般的には2名のプレイヤがそれぞれコントローラ19を把持し、それぞれ操作指示を発することで、攻撃側と守備側とを交互に受け持って、得点を得るための攻撃動作と得点を与えないための守備動作とを所定イニング数だけ実行し、各イニングで得られた得点の合計で勝敗を競う対戦ゲームである。なお、プレイヤの一方をコンピュータによって制御される仮想的なプレイヤから構成されるチームとしてもよく、この場合、コンピュータ側のチームは守備側のみとなり、守備側の各キャラクタ(投手キャラクタや野手キャラクタ)による守備動作を実行させる。CPU1側の攻撃期間は特に設けず、仮想的な攻撃結果が設定される。
【0070】
図5に示すように、野球ゲームは、仮想3次元のゲーム空間として設定された野球場で行う態様とされ、ゲームの基準画面の構図としては、本実施形態では、投球用のマウンドとホームベースの位置とを斜め上方、かつホームベースの後方から俯瞰するように仮想カメラが設定され、所要の画角を有してホームベース側に視線が向けられている。ホームベース上には、所定サイズを有する投球領域を示す枠オブジェクト60がゲーム空間内に立設された姿勢で設定され、通常は表示されている。なお、仮想カメラの位置は、ホームベースの後方に限定されず、適宜の斜め上方位置が設定可能であるが、本実施形態の場合、攻撃側のプレイヤにとってホームベース側が遠近法的により近くなるため、打撃位置付近が相対的に拡大されるので、視認上好ましい。
【0071】
投手キャラクタ71が、移動体オブジェクトとしてのボールオブジェクト72を枠オブジェクト60に向けて投げ、作用キャラクタとしての打者キャラクタ73が、ボールオブジェクト72をバットオブジェクト74(作用キャラクタの一部としての意義を有する。)により打ち返す、すなわち、打者キャラクタ73がバットオブジェクト74を介して、移動中のボールオブジェクト72に作用(すなわち打撃)を与える野球ゲームである。
【0072】
枠オブジェクト60は、ホームベース上でのストライクゾーンに対応する範囲を示すものである。枠オブジェクト60は、投手による投球範囲の指標とされるものであり、投球位置の指定のために使用される。カーソル80は、所定の小径を有する円形乃至は楕円形であり、コントローラ19のジョイスティック194の傾倒操作に対応した方向に画面上で移動可能になされている。なお、投球位置の指定がない態様では、カーソル80は特に必要ではないが、本実施形態では、投球位置の指定を行う態様としている。
【0073】
さらに、本実施形態では、十字キー195を用いて球種(例えば直球、各種の変化球)が設定可能にされている。球種表記画像75は、図5の例では、ボールを模したボールマークと該ボールマークを中心に上下、右に向いた3つの矢印マークからなっている。矢印マークは投手キャラクタが選択可能な球種を示し、図5の例では、上矢印マークがストレート、右矢印マークがスライダ、下矢印マークがフォークを示している。その他、シュート、カーブなどがあってもよい。変化球が3種類を超える場合には、矢印マークの形態を変えればよく、更にボタン193の押下状態と非押下状態と、十字キー195とで選択可能にすれば、より多くの種類の変化球の指定が可能となる。なお、球種の指定は、攻撃側のプレイヤに判らないようにするべく、選択した矢印マークが別の色に変化したり、輝度が変化したりするのではなく、指定操作の確認のみとして、例えば中央のボールマークが別の色に変化したり、輝度が変化したり、あるいは音声で指定操作を受け付けた旨を報知する態様でもよい。
【0074】
ポインタ81は、後述するように攻撃側のプレイヤによって操作されるコントローラ19によって、モニタ21の画面上で移動される。ボーナスゲージ82は、後述するように、投球後に、設定された移動軌跡に従って移動中のボールオブジェクト72の時々刻々の表示位置をポインタ81を用いて2次元上でなぞるように追尾していく場合に、追尾(なぞり)の巧拙によって増加状態が変わる様子を、ゲージ量として示すものである。
【0075】
投球位置の指定のタイミングは、特に限定しないが、本実施形態では投球指示前としている。投球位置の指定と球種の指定との順番は特に問わない。カーソル80がジョイスティック194によってモニタ21の画面上を移動可能に操作され、ある時点でボタン193を押下することで、カーソル80の表示位置が投球位置とされる。この場合も、攻撃側のプレイヤに投球位置が知られないように、特別な表示は行われない。
【0076】
一方、攻撃側にあるプレイヤは、投球開始時点から、コントローラ19の向きを操作してポインタ81を移動させ、ボールオブジェクト72をなぞるようにする。この操作は、ボールオブジェクト72が枠オブジェクト60に到達し、あるいはボタン193によって打撃指示操作があるまで行われる。なぞり状態の巧拙に応じて、ボタン193の押下時における、ボールオブジェクト72を打つ返すためのパワー(作用力)やミート力が設定される。ボールオブジェクト72が打ち返されると、CPU1によってボールオブジェクト72の打球速さ及び打球方向が計算され、さらに打者側、守備側の各キャラクタに野球ゲームのルールに従った行動がCPU1から指令され、これによって野球を模擬した展開が実現される。例えば、3塁に走者がいる場面でヒットを打った場合、3塁走者がホームインして得点が入る。逆に、前記なぞり状態が不十分か打撃タイミングがずれていた場合、空振りとなる。ボタン193が押下されない(打撃指示がない)場合、見送りとなる。
【0077】
このように、投手側のプレイヤからの操作が許可、例えば球種、投球位置の指定操作が許可された時点から、打撃後の一連の動作までを1回のシーケンスとして処理し、各シーケンスの結果に従って、ストライクカウント、ボールカウント、所定アウトカウント、及び所定イニング数までの野球ゲームが進行する。また、図3において、モニタ21の画面の適所、例えば右下には投球履歴とアウトカウント数とが表示され、他の適所、例えば左上には、現時点までの両方のチームの得点と経過イニング数とが表示されている。なお、後述するように、1回のシーケンスにおいて、シーケンス開始から打撃が終了するまでは、図5の画面の表示が維持される。
【0078】
次に、上記のように構成されたビデオゲーム装置を用いて野球ゲームを行う場合のビデオゲーム装置の主要な機能について説明する。図2は、図1に示すビデオゲーム装置の主要な機能ブロック図である。
【0079】
図2に示すように、ビデオゲーム装置は、プログラム実行部であるCPU1を備え、コントローラ19、モニタ21と接続されている。また、CPU1は、記憶媒体300から取り込まれた各種画像データを記憶する画像記憶部141、及び野球ゲームに登場する、プレイヤ側のチーム乃至は両チームの各選手データを記憶する選手データ記憶部142を有するバッファ14、及び記憶媒体300から取り込まれたゲームプログラムのデータを記憶するプログラム記憶部51を有するメインメモリ5と接続されている。画像記憶部141は、枠オブジェクト60、投手キャラクタ71、ボールオブジェクト72、打者キャラクタ73、バットオブジェクト74、球種表記画像75、カーソル80、ポインタ81、ボーナスゲージ82、野球場の背景画像、及び野球ゲームを行う上で必要な種々の画像データを記憶している。ここで、野球場の背景画像の画像データとしては、例えば仮想3次元空間内において予め作成された仮想3次元モデルを仮想カメラの視点からレンダリングすることにより予め作成された画像データを採用することができる。
【0080】
選手データ記憶部142に記憶される選手データの内、特に野球ゲームに対する能力を示す選手パラメータとしては打撃に関するもの、投手の場合には投球に関する種々のものが含まれている。例えば、打者(野手)に関するものとしては、例えば「ミート」や「パワー」が含まれ、投手に関するものとしては、「球速」パラメータ等がある。また、選手データ記憶部142には、各選手キャラクタの個人成績である、打率、打点、ホームラン本数等も記憶されており、ゲーム進行に応じて更新されるようになされている。
【0081】
コントローラ19は、投手側の場合、ボタン193が押下されることによりプレイヤにより投球開始を指示するための投球コマンドが入力された時、投球指示信号としてCPU1に出力する。また、コントローラ19は、ジョイスティック194が傾倒操作されることによりプレイヤにより投球位置を指定するための操作信号が入力された場合に、投球位置指定信号としてCPU1に出力する。
【0082】
また、コントローラ19は、打者側の場合、ボタン193が押下されることによりプレイヤにより打撃タイミングを決定するための打撃コマンドが入力された時、打撃指示信号としてCPU1に出力する。また、コントローラ19は、コントローラ19自体がプレイヤにより動かされる(例えば、向きをや姿勢を変える方向に動かす)ことによって加速度センサ192により検出される加速度信号をCPU1に出力する。コントローラ19は、例えば一定の時間間隔で加速度信号を出力してもよいし、加速度センサ192により加速度が検出された場合に加速度信号を出力してもよい。
【0083】
CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、コントローラ19から受信された操作信号をデジタル信号として取得する取得部101、野球ゲームの全体進行を野球ルール(ゲームプログラムの一部)に基づいて制御するゲーム進行制御部102、ゲーム進行に沿ったゲーム画像をモニタ21に表示する画像表示制御部103として機能する。
【0084】
また、CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、枠オブジェクト60をホームベース上に設定する指標枠設定部104、守備側のプレイヤによって操作されるコントローラ19の十字キー195からの操作信号により投手キャラクタ71の投じるボールオブジェクト72の球種を設定する球種設定部105、守備側のプレイヤによって操作されるコントローラ19のジョイスティック194及びボタン193からの操作信号により枠オブジェクト60に対して所望する位置を投球コースとして設定する投球位置設定部106、守備側のプレイヤによって操作されるコントローラ19のボタン193からの操作信号により投手キャラクタ71に対して、ボールオブジェクト72を投球するスローイング動作を開始させる指示を与える投球指示部107、投手キャラクタ71の投じたボールオブジェクト72を枠オブジェクト60内の設定位置を通過させる軌道計算及び移動処理を行う移動処理部108として機能する。
【0085】
また、CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、モニタ21画面上で、ポインタ81の表示位置と、移動中のボールオブジェクト72の位置との2次元上の距離差をなぞり量として周期的に算出し、周期毎のなぞり量を積算して総なぞり量を求めるなぞり量計測部109、攻撃側のプレイヤによって操作されるコントローラ19のボタン193からの操作信号により打者キャラクタ73に打撃動作(バットオブジェクト74へのスイング動作)を指示する打撃指示部110、求めた総なぞり量に基づいて、打者キャラクタの「パワー」パラメータ、「ミート」パラメータを変更設定する打撃条件設定部111、打者キャラクタ73による打撃指示に基づいて打撃結果(作用結果)を算出処理し、かつバットオブジェクト74がボールオブジェクト72に当たった(空振り、見送りではない)場合に、ボールオブジェクト72の打球速さ、打球方向を例えば力学的に算出する処理、それに伴う守備側の各選手キャラクタ及び走者がいる場合の走塁処理を野球のルールに従って演出する処理を実行する結果処理部112として機能する。
【0086】
取得部101は、図略のインターフェース191,13を介して、コントローラ19の加速度センサ192、ボタン193、ジョイスティック194、十字キー195から出力される加速度信号、打撃指示、投球指示信号、投球位置指定信号及び球種指定信号をそれぞれ受け付けるものである。また、図には一方側しか示していないが、インターフェース13は、野球ゲームを行う2人のプレイヤがそれぞれ所持するコントローラ19からの信号をそれぞれ識別して受信する。
【0087】
ゲーム進行制御部102は、ゲーム開始から終了まで、より詳細には、野球ゲームを実行するための野球チーム(選手メンバー)の選定処理、ゲーム開始処理、さらに投手キャラクタ71がボールオブジェクト72を投球し、打者キャラクタ73がバットオブジェクト74で、投球後の移動中のボールオブジェクト72に対する打撃を行い、かつ結果処理部112による処理が終了するまでの1シーケンスの処理、このシーケンスを例えば野球ルール通りとすれば、3アウトで攻守の入れ替えを行い(1イニング)、最終イニングである9イニングまで実行させ、両チームの成績、すなわち最終得点による勝敗決定処理までを実行させるものである。
【0088】
画像表示制御部103は、仮想カメラの視点からの2次元画像をモニタ21に表示させる。画像表示制御部103は、描画プロセッサ10に対して、ゲーム進行に応じてゲーム空間に設定された背景画像、枠オブジェクト60、投手、打者キャラクタ71,73、ボール、バットオブジェクト72,74、球種表記画像75、カーソル80、ポインタ81、ボーナスゲージ82の表示を行わさせる。
【0089】
画像表示制御部103は、ボールオブジェクト72にバットオブジェクト74が当たった場合、好ましくは打球であるボールオブジェクト72がプレイヤによって追跡し得るように、すなわちモニタ21の画面の視野枠内に入るようにゲームプログラムによって仮想カメラの位置、視野方向が制御されることでゲーム画像の表示、及び結果処理内容の表示を行う。
【0090】
指標枠設定部104は、所定形状、ここでは所定サイズの四角形を有する枠オブジェクト60をゲーム空間内のホームベース上に設定するものである。枠オブジェクト60は投球の際の指標となるもので、マウンドに相当する、ボールオブジェクト72の移動開始位置に直角に向けられている。
【0091】
球種設定部105は、球種表記画像75を参照するプレイヤによって操作された、十字キー195からの、あるいは十字キー195及びボタン193からの操作信号に従って球種の設定を行う。
【0092】
投球位置設定部106は、カーソル80をモニタ21上で移動可能に表示し、投手キャラクタ71が投じる、あるいは投じたボールオブジェクト72の投球位置を指定するもので、コントローラ19のジョイスティック194で操作されるカーソル80によって位置を指定し、ボタン193の押下で指定位置を確定する。なお、指定位置情報は、結果処理における打球速さ、方向の計算に適用される。
【0093】
投球指示部107は、ボタン193を押下することで、投手キャラクタ71に対して投球動作の開始を指示するものである。
【0094】
移動処理部108は、投手キャラクタ71の投じたボールオブジェクト72が枠オブジェクト60に対する設定位置を通過するための軌道の計算を行うと共に、計算された軌道に従ってボールオブジェクト72のゲーム空間上で経時方向に順次位置情報を設置するようにして移動処理を行うものである。そして、画像表示制御部103は、軌道計算で得られた位置情報に基づいてボールオブジェクト72をモニタ21上に表示する。軌道計算は、投手キャラクタの「球速」パラメータを用いて、及び通常の運動方程式に倣った乃至は近似式を使用してもよい。軌道計算は球種、投球位置が指定されてから算出してもよいが、予め算出した軌道の位置情報を所要の記憶部に格納し、指定内容に応じた情報を順次移動処理部108に読み出して、ボールオブジェクト72をモニタ21上に表示させるようにしてもよい。なお、ボールオブジェクト72のモニタ21画面上での標準的な移動速度は、プレイヤによるなぞり操作の巧拙具合が顕在化される程度の速度に設定されるのが好ましい。
【0095】
なぞり量計測部109は、攻撃側のプレイヤによって操作されるコントローラ19の撮像部196で撮像される輝点画像を抽出する解析処理に基づいてコントローラ19の向きとモニタ21画面とが交差する位置を特定して、この特定位置にポインタ81を表示させて、さらに、モニタ21画面上のポインタ81の表示位置と、モニタ21画面を移動中のボールオブジェクト72の表示位置との2次元上の距離差をなぞり量として周期的に算出し、すなわち投球開始から枠オブジェクト60に到達するまで、あるいは打撃指示があるまでの各なぞり量を積算して総なぞり量を求めるものである。
【0096】
図6は、なぞり量の算出方法を説明する図で、モニタ21の画面に、移動中のボールオブジェクト72のある時点におけるポインタ81の表示状態を示している。この状態では、ポインタ81は、打者側のプレイヤがコントローラ19の向きをボールオブジェクト72に重なるように操作されていることを想定している。ボールオブジェクト72は移動しているため、ポインタ81をボールオブジェクト72に重ねる操作は、なぞり操作となるる。ある時点で、ボールオブジェクト72の表示位置の座標をB(x1,y1)、ポインタ81の表示位置の座標をP(x2,y2)とすると、両者の距離差dLは、dL=√{(x1−x2)+(y1−y2)}として求まる。そして、かかる演算が、あるいはこの演算式を近似したような簡易式を用いて、投球開始によってボールオブジェクト72が移動を開始した後、枠オブジェクト60に到達するまでか、打撃指示が行われるまでの、いずれか早い時点まで、所定周期(例えば1/60秒)毎に実行される。
【0097】
なぞり量乃至は総なぞり量の計測は、算出した距離差dLを単純に積算する方式でもよいが、本実施形態では、以下のように検出毎に所定の条件を満たす場合にポイントを付与する方式を採用して、直接的な距離差の集計値を採用する方式に代えた評価方法としている。具体的には、検出された座標P(x2,y2)が座標B(x1,y1)の後方に位置するか否かで、距離差dLに対する閾値を変えている。後方に位置していない場合には所定の閾値を採用する一方、後方に位置している場合には、より厳しく閾値を採用している。これは、ボールオブジェクト72の過去の軌跡上をなぞること、すなわちボール軌跡を追いかける操作は容易であることから、その分、条件を厳しくしているものである。現在位置に対して後方に相当するか否かの判断は種々の態様が考えられる。
【0098】
例えば、図5(あるいは図6)において、投手キャラクタ71とホームベースの表示の位置関係は、投球中は固定されていることから、この例では、ボールオブジェクト72の現在の位置から過去の軌道方向については、x、y座標の値は所定の関係を有する。例えば(モニタ21の左上を基準位置とすれば)、x座標は現在値より小さい値となり、かつy座標は現在値とほぼ同じである等である。かかる条件に該当する場合には、厳しい条件、例えば、表示されているボールオブジェクト72の半径が閾値とされ、それ以外については、表示されているボールオブジェクト72の直径が閾値として設定される。あるいは表示されているボールオブジェクト72のサイズを利用する代わりに、予め設定されたボールオブジェクト72のデータ上の直径データを用いて閾値を設定してもよい。
【0099】
なお、閾値はボールオブジェクト72のサイズに限定されず、所定の2種類の閾値(第1,2閾値:第1閾値<第2閾値)として設定されてもよい。また、軌跡の過去側の有無を判断要素とせず、一律に所定距離差以内か否かで判断してもよい。さらに、現在位置に対して後方に相当するか否かの判断の他の方法としては、過去の軌跡データとの距離差を算出する方法が考えられる。そして、閾値以内であれば、ボーナスゲージ用としてのゲージポイント、例えば1点が付与される。
【0100】
このように、本実施形態では、各周期で得られた距離差(なぞり量)は閾値と比較され、閾値以内であれば、ボーナスゲージ用に換算されたゲージポイントとして付与するようにしている。このゲージポイントは、検出毎に順次積算されていき、最終的に、なぞり結果を評価する総なぞり量とされる。本実施形態では、ゲージポイントの積算値である総なぞり量が多いほど、なぞり操作が巧みであることを意味する。ゲージポイントに換算して集積処理とすることで、処理が簡易となる。
【0101】
打撃条件設定部111は、総なぞり量と打者キャラクタ73の打撃能力とを関連付けるものである。総なぞり量は、打撃能力として、選手パラメータのうちの「パワー」パラメータと「ミート」パラメータとに反映される。すなわち、選手データ記憶部142に予め打者キャラクタ73毎に記憶されている「パワー」パラメータ、「ミート」パラメータの値を、総なぞり量が小さいほど、大きくなるように、予めテーブルとして例えばバッファ14かプログラム記憶部51に書き込まれている。あるいは例えば予め書き込まれている係数を用い、これを乗算する等によって適宜変更することで、打撃結果に適用するようにしてもよい。例えば、総なぞり量は所定の複数段階にランク分けされ、各ランクに応じて、「パワー」パラメータ、「ミート」パラメータに対する値が対応付けられている。
【0102】
表1は、総なぞり量に対応するゲージポイントと、ミートパラメータ、パワーパラメータとの関係の一例を示すものである。
【0103】
【表1】

【0104】
表1に示すように、ゲージポイントが「0」の場合、ミートパラメータは「10」、パワーパラメータは「100」であり、ゲージポイントが「10」増える毎に、ミートパラメータは「2」ずつ、パワーパラメータは「5」ずつ増加されている。そして、ゲージポイントが「100」、すなわち、なぞり検出周期の全てにおいて、なぞり操作が所定の閾値以内であった場合、ミートパラメータは「30」、パワーパラメータは「150」が最高条件として設定されている。なお、ゲージポイントの段階は、「10」に限定されず種々の値が採用可能であり、ミートパラメータ、パワーパラメータの増加分も所定の値が設定可能であり、また、差分も等差でなくてもよい。また、ゲージポイントの集計は「100」を上限としている。
【0105】
結果処理部112は、打撃後の一連の処理である打撃結果の算出処理を実行する。打撃結果処理のひとつは、ボールオブジェクト72にバットオブジェクト74が当たったかどうかの判定、及び当たった場合に、打撃条件設定部111で設定されたパラメータとボールオブジェクト72の球速、及び打撃指示タイミングとに基づいて、ボールオブジェクト72の打球速さ、打球方向を例えば力学的に算出する処理である。ボールオブジェクト72にバットオブジェクト74が当たったかどうかの判定は、打撃指示のタイミングの他、総なぞり量に対応する前記ランクに依存する。打撃指示がない場合、見送りとして処理される。
【0106】
打球速さは、本実施形態では、ボールオブジェクト72が棒状のバットオブジェクト74に直角に当たったか、真芯からのずれ量、及び選手パラメータである「ミート」、「パワー」、又はその他の各パラメータを反映して算出される。打撃指示タイミング(早撃ち〜振れ送り)及びこれらのパラメータを用いることで、打球方向は、野球場の各方向に打ち返される。例えば、「1塁側へのゴロ」になったり、「レフトオーバーの長打」になったりする。安打になるかどうかは、パワー、方向に加えて、野手の守備位置、さらに選手パラメータの「守備力」パラメータ等が反映されて処理される。なお、CPU1は内部に乱数発生器を備え、シーケンス毎に発生する乱数を用いて打撃条件、打撃結果に変動を付与するようにし、同一条件であっても必ずしも同一結果とならないようにゲームに変化性を与えている。
【0107】
結果処理部112による打撃結果処理としては、さらに、打撃に伴う、守備側の各選手キャラクタの動き(捕球、返球等)、及び走者がいる場合の走塁処理を野球のルールに従って実行させ、かつ画像表示制御部103に演出表示を指示する処理を行う。
【0108】
続いて、CPU1がゲームプログラムに基づいて実行するゲーム処理について、フローチャートを用いて説明する。図7は、ゲームの全体処理を示すフローチャートである。まず、ステップS1において、CPU1は、ゲーム開始のための初期設定を行う。例えば両プレイヤによって選出された対戦チーム及びその選手リストのモニタ21への表示等である。次いで、ゲーム空間の画像、各キャラクタ、各オブジェクト等の画像データが読み出されてモニタ21に表示される(ステップS3)。
【0109】
この状態で、シーケンスが開始され(ステップS5)、次いで対戦処理が実行されて(ステップS7)、結果処理の終了を受けて、1シーケンスの終了処理が行われる(ステップS9)。そして、このシーケンスの結果が三振であったか否かが判定され(ステップS11)、三振でなければ、次の投球に対するシーケンスを実行するべく、ステップS5に戻る。一方、三振であれば、3アウトか否かが判断され(ステップS13)、3アウトでなければ、次の打順の打者キャラクタが設定されて(ステップS15)、次シーケンスに移行する(ステップS5)。一方、ステップS13で、3アウトであれば、ゲームセットか否かが判断され(ステップS17)。ゲームセットでなければ、攻守の入れ替え処理が実行され(ステップS19)、一方、ゲームセットであれば、ゲーム終了処理が実行される(ステップS21)。
【0110】
図8は、CPU1がゲームプログラムに基づいて実行する対戦処理のフローチャートである。まず、コントローラ19からの操作信号の入力の有無がチェックされる。すなわち、球種指定信号が入力されたか否か(ステップS31)、投球位置指定信号が入力されたか否か(ステップS35)、投球指示信号が入力されたか否か(ステップS39)が判断される。
【0111】
球種指定信号が入力されたと判断されると、球種の設定が行われ(ステップS33)、投球位置指定信号が入力されたと判断されると、投球位置の設定が行われ(ステップS37)、投球指示信号が入力されたと判断されると、投手キャラクタ71に投球動作を行わせる(ステップS41)。
【0112】
次いで、なぞり量の検出処理が開始され(ステップS43)、検出されたなぞり量が直前に得られたなぞり量に積算され(ステップS45)、積算量がボーナスゲージ82のゲージ量に反映される(ステップS47)。次いで、打撃指示の有無が判断され(ステップS49)、打撃指示がなければ、ボールオブジェクト72が枠オブジェクト60を通過したか否かが判断される(ステップS51)。ボールオブジェクト72が枠オブジェクト60を通過したと判断されると、見送り処理がなされる(ステップS53)。一方、ボールオブジェクト72が枠オブジェクト60を通過するまでは、ステップS43に戻って、所定周期で、なぞり量の積算処理が繰り返される。
【0113】
また、ステップS49で打撃指示有りと判断されると、打撃タイミングが一致したか否かの判断が行われ(ステップS55)、打撃タイミング、すなわちボールオブジェクト72がホームベース上を通過する時点(乃至は微少な所定期間内)で、打撃指示がなされていなければ、空振りとして処理される(ステップS55)。
【0114】
一方、打撃タイミングが一致している場合、総なぞり量に応じて、「パワー」「ミート
等のパラメータに基づき打球速さ、や打球方向(打撃条件)が設定される(ステップS59)。この後、打撃結果の処理が実行される(ステップS61)。
【0115】
図9は、CPU1がゲームプログラムに基づいて実行するなぞり量検出処理のフローチャートである。まず、ポインタ81の検出位置がボールオブジェクト72の現座標位置に対して過去側か否かが判断され(ステップS71)、過去側であれば、次いで、ボールオブジェクト72との距離dLがボールオブジェクト72の半径以内か否かが判断される(ステップS73)。距離dLが前記半径以内であれば、ゲージポイント「1」が付与されて(ステップS75)、本フローを終了する。
【0116】
一方、ステップS71で、ポインタ81の検出位置がボールオブジェクト72の現座標位置に対して過去側でないと判断された場合、次いで、ボールオブジェクト72との距離dLがボールオブジェクト72の直径以内か否かが判断される(ステップS77)。距離dLがボールオブジェクト72の直径以内であれば、ゲージポイント「1」が付与されて(ステップS75)、本フローを終了する。ステップS73及びステップS77での判断が否定された場合、ゲージポイントは付与されない。
【0117】
そして、図8の、なぞり量積算処理において、検出周期毎にゲージポイントの加算処理が実行され(ステップS45)、積算値に対応してボーナスゲージ82が表示される(ステップS47)。
【0118】
なお、本発明は、以下の態様が採用可能である。
【0119】
(1)本実施形態では、打撃指定操作を行う態様としたが、なぞり操作の巧拙が打撃タイミングにも反映される態様としてもよい。
【0120】
(2)本実施形態では、撮像部196及び指標表示器24をポインティングデバイスとして用い、遠隔的になぞり操作を行ったが、ポインティングデバイスとしては、このような構造に限定されず、直接なぞり操作を行う態様でもよい。例えばモニタ21の画面に膜状をなす透明な感圧部材を積層し、モニタ21画面に表示されるボールオブジェクト72を指先乃至はタッチペン等の押圧部材で直接なぞる態様とし、感圧部材からなぞり信号を取得するようにしてもよい。また、ポインティングデバイスの一部をコントローラ19に設けたが、別部材としてもよい。
【0121】
(3)本発明は、野球ゲームに限定されず、移動体オブジェクトを介して対戦ゲームが行われるゲームであって、移動体オブジェクトに対して作用を与えることでゲームが進行するような対戦ゲーム全般に適用可能である。例えば、サッカーのPK合戦、テニス等である。また、作用としては、移動体を打ち返す(跳ね返す)他、受け取る態様であってもよい。例えば、球技のゲームにおいて、投じられたボールを他の選手が受け取る場合、投じられたボールに対するなぞりの巧拙でキャッチに成功したり、失敗したりして、ゲームが進行する(アメフトやラグビー等)ものにも適用可能である。野球ゲームの場合には、打たれたボールを野手がキャッチする場合となる。
【0122】
(4)なお、本発明では、コントローラ19の姿勢、回転を撮像部196で行うようにしているが、内蔵する加速度センサ192からの信号を利用する態様としてもよい。この場合、コントローラ19の向きは撮像部196で求め、コントローラ19の回転は加速度センサ192で検出するようにしてもよい。このようにすれば、コントローラの回転角度θを撮像画像から求める手間が省ける。
【図面の簡単な説明】
【0123】
【図1】本発明に係る対戦ゲーム装置の構成の一実施形態を示すブロック図である。
【図2】図1に示すビデオゲーム装置の主要な機能ブロック図である。
【図3】コントローラ19の一部外観図である。
【図4】視野幅及びコントローラ19の向きを算出する方法を説明する図で、図4(a)はモニタ21の正面図、図4(b)は撮像後のメモリ18の記憶内容の一例を示す図である。
【図5】ビデオゲーム装置においてモニタ21に表示される画像の一例を示した図である。
【図6】なぞり量の算出方法を説明する図である。
【図7】ゲームの全体処理を示すフローチャートである。
【図8】CPU1がゲームプログラムに基づいて実行する対戦処理のフローチャートである。
【図9】CPU1がゲームプログラムに基づいて実行するなぞり量検出処理のフローチャートである。
【符号の説明】
【0124】
1 CPU1
101 取得部(取得手段)
102 ゲーム進行制御
103 画像表示制御部(画像表示制御手段)
104 指標枠設定部(指標枠設定手段)
105 球種設定部(移動軌跡設定手段)
106 投球位置設定部(移動軌跡設定手段)
107 投球指示部(移動開始指示手段)
108 移動処理部(移動処理手段)
109 なぞり量計測部(なぞり量計測手段)
110 打撃指示部(作用指示手段)
111 打撃条件設定部(作用条件設定手段)
112 結果処理部(作用結果処理手段)
142 選手データ記憶部
19 コントローラ(ポインティングデバイス)
192 加速度センサ
193 ボタン(第1の操作部材)
194 ジョイスティック
195 十字キー
196 撮像部(ポインティングデバイス、撮像手段)
21 モニタ
25 指標表示器(位置特定用表示素子)
60 枠オブジェクト
72 ボールオブジェクト(移動体オブジェクト)
75 球種表記画像
80 カーソル
81 ポインタ
82 ボーナスゲージ

【特許請求の範囲】
【請求項1】
仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせるゲームプログラムにおいて、
少なくとも前記移動体オブジェクトの移動中、前記移動開始位置と前記所定の領域とを斜め上方から俯瞰した前記ゲーム空間を2次元空間に変換してモニタに表示する画像表示制御手段、
前記移動体オブジェクトの経時方向に対する移動軌跡を設定する移動軌跡設定手段、
設定された移動軌跡に従って前記移動体オブジェクトを前記2次元空間で移動させる移動処理手段、
前記移動体オブジェクトが前記移動開始位置から前記所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分をなぞり量として周期的に計測し、各なぞり量を積算して総なぞり量として求めるなぞり量計測手段、
前記総なぞり量の大きさに応じて、前記移動体オブジェクトとの作用条件を決定する作用条件設定手段、として前記コンピュータを機能させるゲームプログラム。
【請求項2】
前記プレイヤが操作する第1の操作部材から操作信号を受け付けて、前記移動体オブジェクトとの作用の動作を指示する作用指示手段として前記コンピュータを機能させる請求項1記載のゲームプログラム。
【請求項3】
前記移動軌跡設定手段は、直線状及び曲線状の移動軌跡が設定可能であることを特徴とする請求項1又は2に記載のゲームプログラム。
【請求項4】
前記移動軌跡設定手段は、移動体オブジェクトの移動速度が設定可能であることを特徴とする請求項1〜3のいずれかに記載のゲームプログラム。
【請求項5】
前記作用条件設定手段は、前記移動体オブジェクトと作用する際の作用力及び作用が許容される範囲の少なくとも一方を設定することを特徴とする請求項1〜4のいずれかに記載のゲームプログラム。
【請求項6】
前記なぞり量計測手段は、前記周期的な計測毎に、前記差分が前記移動体オブジェクトの表示位置に対して所定距離内であるか否かを判断し、所定距離内である場合に、ポイントを付与し、このポイントを集計して総なぞり量とすることを特徴とする請求項1〜5のいずれかに記載のゲームプログラム。
【請求項7】
前記所定距離は、前記指示座標が移動体オブジェクトの表示位置の移動軌跡側である場合、第1の閾値であり、それ以外である場合には、前記第1の閾値より大きな第2の閾値であることを特徴とする請求項6記載のゲームプログラム。
【請求項8】
前記ポインティングデバイスは、モニタ画面に対して予め設定された位置に設けられた少なくとも2個の位置特定用表示素子と、前記ポインティングデバイスの所定の向きに撮像面を有して取り付けられ、前記モニタの画面及び位置特定用表示素子を少なくとも撮像する撮像手段と、撮像画像内の前記位置特定用表示素子に対応する画像の位置から該ポインティングデバイスの向きを求め、当該向きの線上とモニタの画面とが交差する点にポインタを表示し、前記なぞり量計測手段は、該ポインタの表示位置の座標を前記指示座標として取得する取得手段とを備えることを特徴とする請求項1〜7のいずれかに記載のゲームプログラム。
【請求項9】
前記ポインティングデバイスは、モニタ画面に積層された透明な膜状の感圧部材を備え、前記なぞり量計測手段は、前記感圧部材上の押圧された位置の座標を前記指示座標として取得する取得手段とを備えることを特徴とする請求項1〜7のいずれかに記載のゲームプログラム。
【請求項10】
前記対戦ゲームは野球を模したものであり、前記移動体オブジェクトはボールオブジェクトに対応し、前記移動開始位置はマウンドに対応し、前記所定の領域はホームベース上のストライクゾーンに対応し、前記作用は、ボールオブジェクトを前記作用手段で作用が指示される、バットオブジェクトで打ち返し処理であることを特徴とする請求項1〜9のいずれかに記載のゲームプログラム。
【請求項11】
仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせる対戦ゲーム装置において、
少なくとも前記移動体オブジェクトの移動中、前記移動開始位置と前記所定の領域とを斜め上方から俯瞰した前記ゲーム空間を2次元空間に変換してモニタに表示する画像表示制御手段と、
前記移動体オブジェクトの経時方向に対する移動軌跡を設定する移動軌跡設定手段と、
設定された移動軌跡に従って前記移動体オブジェクトを前記2次元空間で移動させる移動処理手段と、
前記移動体オブジェクトが前記移動開始位置から前記所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分をなぞり量として周期的に計測し、各なぞり量を積算して総なぞり量として求めるなぞり量計測手段と、
前記総なぞり量の大きさに応じて、前記移動体オブジェクトとの作用条件を決定する作用条件設定手段とを備えたことを特徴とする対戦ゲーム装置。
【請求項12】
仮想3次元のゲーム空間内の所定の移動開始位置から所定の領域に向けて移動している移動体オブジェクトに、プレイヤからの指示を受け付けて作用させ、その作用結果に基づいて進行する対戦ゲームをコンピュータに行わせる対戦ゲーム制御方法において、
前記コンピュータの画像表示制御手段が、少なくとも前記移動体オブジェクトの移動中、前記移動開始位置と前記所定の領域とを斜め上方から俯瞰した前記ゲーム空間を2次元空間に変換してモニタに表示し、
前記コンピュータの移動軌跡設定手段が、前記移動体オブジェクトの経時方向に対する移動軌跡を設定し、
前記コンピュータの移動処理手段が、設定された移動軌跡に従って前記移動体オブジェクトを前記2次元空間で移動させ、
前記コンピュータのなぞり量計測手段が、前記移動体オブジェクトが前記移動開始位置から前記所定の領域まで移動する間、前記プレイヤの操作指示を介してポインティングデバイスから得られるモニタ上の指示座標と前記モニタに表示されている移動体オブジェクトの表示位置との位置の差分をなぞり量として周期的に計測し、各なぞり量を積算して総なぞり量として求め、
前記コンピュータの作用条件設定手段が、前記総なぞり量の大きさに応じて、前記移動体オブジェクトとの作用条件を決定することを特徴とする対戦ゲーム制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−88711(P2010−88711A)
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2008−262639(P2008−262639)
【出願日】平成20年10月9日(2008.10.9)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】