以下,本発明の実施の形態の例について図面に従って説明する。尚,図に於いて,同一または類似のものは,同一の参照番号及び記号を付して説明する。しかしながら,かかる実施の形態例が本発明の技術的範囲を限定するものではない。
本発明の実施の形態の装置は,遊戯施設等に備えられる形態であり,魚釣り映像を表示するモニタ装置及び魚釣りゲームの全体を制御する制御盤を収容するキャビネット等を有する。最初に,本発明の実施の形態による機構部分について説明する。
図1は,本発明の魚釣り遊戯装置の全体の機構概略図を示す。釣り竿1は,遊戯装置に固定されておらず,実際の魚釣りと同様に遊戯者が自由に操作することができる。釣り竿1の先端には釣り糸2が固定されており,釣り糸2は後に説明するセンシングユニット20に挿入されている。10ないし12は魚の横方向の動きを演出する横方向メカニズムで,第1のスライドテーブル11は第1のスライドレール10に沿ってモータ12により駆動される。
また,第1のスライドテーブル11には後に詳細に説明するセンシングユニット20が取り付けられており,釣り竿1が上下左右のどの方向を向いているかを検知することができる。
30ないし33は後に詳細に説明するが,釣り糸2に小刻みな運動を与えることができる振動ユニットで,釣り糸ガイド31及び32の間に張られた釣り糸2に,偏心ローラ30が接するようにされ,偏心ローラ30はモータ33により回転される。
3ないし5は,釣り糸2の向きを変える釣り糸ガイドである。40ないし45は後に詳細に説明するたるみ取りユニットで,固定された釣り糸ガイド44及び45の間に,釣り糸2に引っ張り力を与える釣り糸ガイド43を有し,釣り糸ガイド43は,一方の端が支点41を中心に回動可能に支持され,バネ42により弾性力を与えられた棒状体40の他方の端に固定される。
また,50ないし54は後に詳細に説明するが,縦方向の魚の引きを演出する縦方向メカニズムで,第2のスライドレール50に沿ってモータ54により駆動される第2のスライドテーブル51と,第2のスライドテーブル51に取り付けられ釣り糸2の強い引きに対して逃げを与えるローラ部52を有する。なお,53はローラ部52に固定された釣り糸ガイド,6は釣り糸2の終端を結び付ける
装置の固定部分である。
魚釣り遊戯装置特にルアーフィッシングを題材としたゲーム機の場合,ルアーにアクションを与える釣り竿の操作を迅速に検知し,よりリアルな魚の引きを再現することが重要である。
本発明の魚釣り遊戯装置は,センシングユニット20により釣り竿1の位置を簡易に検知することができ,横方向及び縦方向メカニズムにより上下左右の魚の動きを再現することができる。また,振動ユニット30により釣り糸2に微振動を与えることにより,魚が泳ぐ時の手応えに似た感覚を釣り竿を持つ手に伝えることができる。更に,たるみ取りユニット40により,釣り竿1の動きに対して常に釣り糸2が張った状態となり,ルアーの動きを操作している感覚をよりリアルに味わうことができる。
図2は,横方向メカニズムの機構概略図を示す。第1のスライドテーブル11は,第1のスライドレール10に横方向に移動可能に取り付けられており,第1のスライドレール10の端に取り付けられたモータ12によりベルト13を介して横方向に駆動される。第1のスライドテーブル11には後で詳細に説明するセンシングユニット20が固定されており,釣り糸2は,センシングユニット20の前面の穴25から入り,底面の穴26から抜けるごとく構成されている。この横方向メカニズムにより魚の横方向の動きを模擬することができる。なお,本実施例は,駆動方式としてモータベルト駆動を採用しているが,ボールネジ駆動又はリニアモータ駆動又はロッドレスシリンダを使用したエア方式でも可能である
。
図3は,センシングユニットの構成概略図である。21は,図示しない手段により,運動方向をセンシングユニットを基準として上下左右に限定したスライドプレートで,その中央部には釣り糸2の直径よりわずかに大きい直径を有する穴28を有する。したがって,釣り糸2は,スライドプレート21を自由に通過できる。スライドプレート21の前後には,釣り糸ガイドA23及び釣り糸ガイドB24があり,遊戯者の持つ釣り竿1に面した側には,釣り糸ガイドB24が配置される。なお,釣り糸ガイドA23及び釣り糸ガイドB24は,センシングユニットに固定されている。
釣り糸ガイドB24は,釣り糸2が上下左右に動けるように方形をしており,その大きさは,釣り竿1の上下左右の動きの範囲と,釣り竿1からセンシングユニットまでの距離を考慮して決められる。一方,釣り糸ガイドA23は,その穴の直径は,釣り糸2の直径よりわずかに大きく,釣り糸2は自由に通過できる。
したがって,遊戯者が釣り竿1を右に振ると,釣り糸2も釣り糸ガイドB24の右に移動し,スライドプレート21も右へ移動する。
スライドプレート21の上下左右には位置センサー22が配置されており,スライドプレート21の動きを検知することによって,釣り糸2の位置及び釣り竿1の向きを知ることができる。
本発明によるセンシングユニットによれば,上下左右の動きを単一のスライドプレート21により検知することができ,機構の簡易化とメンテナンスの容易化を図ることができる。なお,位置センサー22aは,図3に示すように光学的位置センサー等の周知の手段をとることができる。
また,位置センサーとして図4に示すようにマイクロスイッチ22bを使用することもできる。この場合は,マイクロスイッチそのものでスライドプレート21をセンタリングできるため,センシングユニットの機構を簡略化することができる。
図5は,振動ユニットの構成概略図である。装置に固定された釣り糸ガイド31,32の間に通された釣り糸2は,前記縦方向メカニズムにより張った状態にされている。30は偏心ローラでその棒状部が釣り糸2に接触する位置におかれ,モータ33により回転される。
したがって,偏心ローラ30を回転することによって,釣り糸2に小刻みな上下運動をさせることができ,この動きが釣り竿1に伝わると魚を釣った時の感触に近いものが味わえる。
この場合において,モータ33の回転数を可変にすることにより,振動のバリエーションを変えることができ,魚の大きさによる手応えの違いや,魚が餌に食い付いたアタリなどの演出をすることができる。
図6は,振動ユニットの応用例を示す。(1)は,偏心ローラ部30を図示しないモータやソレノイドなどで左右に動かすことによって,釣り糸2の動きのストロークを変えることができるようにしたものである。
したがって,偏心ローラ30の棒状部が,釣り糸2に最も接近した位置でのみ釣り糸2に接触する場合は,釣り糸2の動きのストロークは短く,一方,偏心ローラ30を左に動かし,偏心ローラ30の回転中の大部分の角度で棒状部が釣り糸2に接触すると,釣り糸2の動きのストロークは長いものとなる。
これによって,釣り竿を持つ手に伝える感覚の強弱を制御することができ,餌を引く魚の大きさやルアーが障害物に当たった時の感触を演出することができる。
(2)は偏心ローラ30は固定し,釣り糸ガイド31,32を左右に動かすようにしたもので,この場合も上記と同じ効果を得ることができる。
(3)は偏心ローラ30を固定し釣り糸ガイド31,32の一方又は両方を偏心ローラ部30に近づけたり遠ざけたりすることによって,釣り糸の動きのストロークを変えることができるものであり,この場合も上記と同じ効果を得ることができる。
図7は,たるみ取りユニットの構成概略図を示す。44及び45は固定された釣り糸ガイドである。40は一方の端を支点41として回動可能とされ,他方の端に釣り糸ガイド43を固定した棒状体で,その中間はバネ42等の弾性体で支持されている。釣り糸2は図示のように釣り糸ガイドに掛けられているので,釣り糸は常に張った状態を保つことができる。
したがって,ルアーフィッシングにおいてルアーにアクションを伝える為に,釣り竿を小刻みに動かしたりするが,本機においては,釣り竿の動きに対して釣り糸が常に張った状態を保つため,ルアーの微細な動きも釣り竿を持つ手に伝えることができ,ルアーの動きを操作している感覚を模擬的に味わうことができる。更に,支点部41には図示しないエンコーダ又はボリュームが付いていて,その変位により釣り竿の移動量を知ることができる。
図8は,たるみ取りユニットの他の具体例である。釣り糸ガイド43,44,45の位置関係は上記と同様である。第3のスライドテーブル47は第3のスライドレール46に沿って動けるようになっており,第3のスライドテーブル47には釣り糸ガイド43が固定されている。第3のスライドテーブル47はバネ48等の弾性体で支持されているので,釣り糸は常に張った状態を保つことができる。
このような直線的な機構によっても上記と同様な効果を得ることができ,スライドレール及びスライドテーブルは縦及び横方向メカニズムと共通した機構部品を使用でき,機構の簡単化及びメンテナンスの容易化を図ることができる。
図9は,縦方向メカニズムを示す構成概略図である。51は第2のスライドテーブルで第2のスライドレール50に沿ってモータ54により駆動される。第2のスライドテーブル51にはローラー部52が支点56の回りに回動可能に取り付けられ,バネ55等の弾性体で第2のスライドテーブル51に押し付けられている。また,ローラー部52の一端には釣り糸ガイド53が取り付けられ,釣り糸2は釣り糸ガイド53に掛けられた後,装置の固定端6で固定されている。
したがって,縦方向メカニズムは,横方向メカニズムと同様の直動システムを使用し,魚の引きを演出することができる。また,釣り糸を掛けるローラー部は,バネによって第2のスライドテーブルに押し付けられているが,強い張力が加わると支点56を中心として回動する。これにより,釣り竿を強くあおったりしても釣り竿が折れたり,釣り糸が切れたりするのを防ぐことができる。
なお,図10は,上記ローラー部52を筐体58に固定した実施例を示す。このようにすると,ローラー部は上記と同様な機能を有するとともに,第2のスライドテーブル52は釣り糸ガイド53を有する軽量で簡単な構造となり,魚の引き力の応答性を向上させることができる。
図11は,本発明において,センシングユニットを筐体に固定した実施例を示す。この場合は魚の横方向の引き力を演出することはできないが,簡略化された機構として調整及びメンテナンスが容易となる。
次に図1乃至図11の構成を適用した本発明の魚釣り遊戯装置の実施の形態の制御動作を図12乃至図36を参照して説明する。従って,必要により前記の図1乃至図11を参照する。
図12は,本実施の形態の魚釣り遊戯装置60の外観斜視図を示す。釣り竿1の先端に固定された釣り糸2は,キャビネットA64に設けられたセンシングユニット20(図1参照)に挿入され,前述した横方向メカニズム10及び縦方向メカニズム50等によって魚の引き力を与えられる。また,釣り竿1の先端とリール61の間にはダミーの釣り糸が張られており,リール61を回すことにより釣り糸2を引いている感覚を遊戯者に与えている。
釣り竿1とキャビネットB65はケーブル62で接続され,リール61の回転数を示す信号や,魚が釣れた時にリール61に抵抗を与える信号が送られる。また,キャビネットB65にはコイン投入口63が設けられ,遊戯者がコイン投入口63からコインを投入すると,魚釣りゲームが開始される。そして,遊戯者は,プロジェクションTV65を見ながら釣り竿1及びリール61を操作し,魚釣りゲームを行う。
図13は,本実施の形態の魚釣り遊戯装置のブロック図を示す。交流電源70から供給される交流電圧は,パワーサプライ71で直流電圧に変換され各部に供給される。
本実施の形態は,CPU72,RAM73,ROM74,画像処理部75,音声処理部76,I/O79,80,81がバス線90により双方向に信号の送受信可能に接続される。更に,画像処理部75にはプロジェクションTV65が接続され,音声処理部76にはスピーカ77が接続される。
I/O79には,コイン投入口及びゲームの難易度等を設定する設定ボタン等を備えたキャビネットB65が接続され,I/O80には,リール61の巻き回転を検出するリールエンコーダ82,リール61の巻きトルクを調節するパウダークラッチ83,ゲーム画面内のカーソルを動かす十字キー84,ゲーム内でルアーを投入するためにボタン85等からの信号を送受信するリールコントローラ86が接続される。
また,I/O81には,前述した釣り糸2の動きを検出するためのセンシングユニット20及びモータ12を備えた横方向メカニズム10,偏心ローラのゼロ位置検出用センサ87及びモータ33を備えた振動ユニット30,釣り糸2の張力を調節するボリューム88を備えたたるみ取りユニット40,スライドテーブルのリミット位置検出センサ89及びモータ54を備えた縦方向メカニズム50が接続される。
ROM74には,ゲームプログラム,ゲーム内のキャラクターのデータ,装置のシステムプログラム,初期データ等が記憶されている。そして,ROM74に記憶されたプログラム,及びI/O80,81等を介して入力されるリールコントローラ86や横方向メカニズム10等の信号に基いて,CPU72はゲーム装置全体の制御を行う。またRAM73には,CPU72で演算されたデータ等が必要に応じて記憶され,更にRAM73内のバックアップ可能な部分には,遊戯者が釣り上げた魚の重さのランキングデータ等が記憶される。
更に,画像処理部75は,CPU72で演算された仮想的な三次元ゲーム空間におけるゲームキャラクターの位置座標等を,プロジェクションTV65に表示するためのスクリーン座標に投影変換する。また,音声処理部76は,外部記憶部78等に記憶されたデータ,及びCPU72におけるプログラムの進行に伴って,ゲーム音楽や効果音等の信号を合成し,それらの音楽等はスピーカ77から出力される。
図14は本実施の形態の座標系の説明図である。仮想的な三次元ゲーム空間はワールド座標(Xw,Yw,Zw)で表わされ,そのワールド座標内をボート105,釣り人212,ルアー142,魚143等のオブジェクトが自由に動き回る。各オブジェクトのポリゴンデータ及びワールド座標系での位置座標データは,ROM74等に記憶される。そして,それらの位置座標データ等は,ゲームの進行に伴いCPU72に呼び込まれ,センシングユニット20等で検出した釣り糸2の動きのデータ等と共に演算され,ワールド座標系の湖101及び背景の景色の中を動き回る。
ワールド座標系内のオブジェクトをプロジェクションTV65の画面に表示するために,まず,ルアー142や魚143等のワールド座標系での位置座標を,カメラ201の視点を原点とした視点座標系(Xv,Yv,Zv)に変換する。次に,カメラ201の視線方向,視野角に合わせてクリッピング処理等を行い,2次元のスクリーン座標(Xs,Ys)に投影変換を行う。そして,このスクリーン座標系に投影変換された画像がプロジェクションTV65の画面に表示され
る。
図15は,本実施の形態のゲームフローチャートを示す。このフローチャートに従ってゲームの流れを説明する。図12に示したキャビネットB65に備えられたコイン投入口63にコインが投入され,設定ボタンでゲームの難易度等が設定されるとゲームが開始される。
まずステップS1では,プロジェクションTV65に所定の初期画面が表示される。この初期画面ではゲームが初心者モードか上級者モードか,またトーナメントモードか等のゲームモードが選択される。また初心者モードが選択された場合には,ゲームの説明や得点方法等が画面に表示される。
次にステップS2でマップ,ステージセレクト画面が表示される。マップ,ステージセレクト画面は,例えば図16に示す画面100で,魚釣りのフィールドである湖101等の一部分が拡大して表示される。また,湖101にはゲーム内容を異ならせた複数のステージが表示され,図16では一例として,アシ(葦)ステージ102,ロッジステージ103,立ち木ステージ104の3ステージが表示される。更に,湖101にはボート05が表示され,遊戯者が選択したステージに移動する。
また,遊戯者は本画面において魚釣りに使用するルアーを選択する。図16では一例として,スピナー106,クランク107,ペンシル108が表示される。本実施の形態の魚釣りゲームでは,湖101内にいる魚の配置を,湖101上の風向き及び湖101の水温によって変化させているので,遊戯者は,画面100内に表示される風向きと水温によって,魚のいそうなステージとそのステージにいる魚が好むルアーを選択する。
遊戯者がステージとルアーを選択すると,ボート105が湖101を疾走する画面が表示され,その画面に重ねて,そのステージで何グラム以上の魚を釣り上げればそのステージをクリアできるか等のノルマが説明される。そして,ボート105が減速しながら遊戯者が選択したステージに到着する画面が表示される。
次にステップS3においてルアーのキャストポイントをセットする。図17(1)は,キャストポイントセット画面110の一例を示す。ボート105が選択したステージに到着すると,遊戯者はリール61に備えられた十字キー84によりルアーのキャストポイントを示すカーソル111等を動かし,キャストポイントを選択する。このキャストポイントセット画面110から,ゲームモード等で設定される制限時間のカウントダウンが開始され,その時間が画面に表示される。尚,図17(1)の画面内の十字キー84とリール61は,遊戯者の操作を容易にするために表示される。
また,キャストポイントセット画面110は,図17(2)に示すように湖101内に魚がいることを示す魚マーク116等が表示され,遊戯者は魚がいる所にキャストポイントをセットすることができる。遊戯者は,キャストポイントを選択後,リール61に備えられたボタン85を押すと,選択したキャストポイントにルアーが投入される画面が表示される。
図18は,本実施の形態のステージ内の魚の配置を示す説明図である。図18(1)では一例としてステージ120が示され,ステージ120は,湖101と陸121から構成される。ステージ120は複数のエリア122,123等に分けられ,あるエリアにいる魚の行動範囲はそのエリア内に限定される。但し,前述したように,湖101の風向き及び水温により魚のいるエリアが決定され,また,そのエリアの魚の食物となる生物等に似ているルアーが,そのエリアでの魚釣りに適したルアーとされている。これにより,遊戯者は,ルアー選択等に実際の魚釣りに似た興味を持つことができる。
更に,大きな魚に関しては,1ゲーム毎にステージ間を移動できる。これにより,大きな魚が出現するステージが多彩となり,大物狙いの興味を増すことができる。また,魚は,ゲーム装置の稼動時間につれて成長し,釣り上げられた回数等によって成長の度合を異ならせる。これにより,一度も釣り上げられていない魚は特に大きく成長し,大物のいる穴場等を探す興味を持つことができる。
尚,稼動時間や釣り上げられた回数により成長の度合が異なる魚のデータ,遊戯者が釣り上げた魚の重さのランキングデータ等は,図13のRAM73に含まれる電池によりバックアップ可能なRAM,又は,ROM74に含まれる書き込み可能なROM等に書き込まれ保存される。これにより,ゲーム毎に新たな印象を遊戯者に与え遊戯者を飽きさせないことができる。
図18(2)は,ステージ120内に一つのエリア129を示す。エリア129内には,岩などの複数のストラクチャー130等があり,魚131のいるポイントが決定される。尚,魚は行動範囲について大きく4種類に分けられる。第1はその場にじっとしている魚。第2は1つのストラクチャーの回りにいる魚。第3は複数のストラクチャー間を行き来している魚。第4は広い範囲で回遊している魚である。このように魚の属性を異ならせることにより,遊戯者はどの魚に狙いをつけるか等の興味を増すことができる。
次にステップS4で釣り糸2を引くリトリーブ画面となる。図19は,リトリーブ画面140の一例として,ルアー142に魚143が接近してきた様子を示す。また,リトリーブ画面140内には,遊戯者を乗せたボート105及び魚143を含んだ湖101の垂直断面を示す表示141,及び遊戯者から魚143までの距離が表示される。これにより,遊戯者は,湖101の全体的状況を把握することができ,魚釣りの興味を一層増すことができる。
また,前述したセンシングユニット20により釣り糸2の移動方向を検出するので,遊戯者の操作する釣り竿1の動きに敏感に反応するルアーの動きを演出することができる。
図20は,本実施の形態における魚の活性の説明図である。魚の活性は,魚の性格,行動等を決定づけるパラメータで,遊戯者の操作するルアーアクションにより増減する。即ち,魚の活性は,魚がルアーに反応する度合を表わし,活性の高い魚は,遠くのルアーにも,また,どの種類のルアーにも反応し易い。本実施の形態では,図20(1)に示すように,魚の活性値を0から100の数値で表わし,それを5段階の活性で表わしている。従って,活性1の魚は,0から20の活性値を持っている。
図20(2)は,魚がルアーに気付く範囲が魚の活性によって異なることを模式的に示す。図20(3)は,魚の活性により魚が泳ぐ限界スピードが異なることを示す。但し,魚の活性は,その魚に適したルアーで,適したルアーアクションをすることで上昇し,逆に適さないルアーで,適さないルアーアクションをすることにより下降する。従って,遊戯者のルアーアクションにより,活性の低い魚の活性を高め,ルアーに食い付かせ釣り上げることが可能である。
また,本実施の形態では,魚毎に様々のキャラクターを設定し,遊戯者の興味を増している。例えば,魚の体形により,超大物,大物,中型,小型に分類している。また,魚の表情では,ナーバス,警戒,ハングリー,イライラ,興奮,パニック等の区別をつけ,更に,その表情に対応した背ビレやエラの動きをさせている。遊戯者は,魚の表情や動きを見て,その魚を釣り上げるのに適したルアーアクションをすることができ,実際の魚釣りでは味わえない興奮を体験することができる。また,図20(4)は,活性値別の魚のステータスを表わしている。
図21は,本実施の形態における魚の属性パラメータの一例を示す。ゲームに登場する魚には魚ナンバーが付けられ,例えば魚ナンバー1の魚は,活性5,釣り上げるのに適したルアーA,B,適さないルアーD,釣り上げるのに適したルアーアクションa,適さないルアーアクションdのような属性パラメータを持っている。
これらの属性パラメータのデータは,ゲーム装置のROM74等に記憶されており,ゲームの進行に応じてCPU72に呼び出される。CPU72は,これらのデータをI/O80,81を介して入力される遊戯者のルアーアクションに応じた信号と共に演算し,画像処理部75,音声処理部76に演算結果を出力する。
次にステップS5のフッキング(ルアーの食い付き)となる。魚がルアーに食い付くか否かの判断は以下の様に行う。図22は,ルアーアクションと活性値及びバイトフラグの関係を示す説明図である。ここに,バイトフラグとは,魚がルアーにバイト(食い付き)するかどうかを決定づけるパラメータで,CPU72内で演算され,RAM73に記憶される。また,バイトフラグ値は遊戯者のルアーアクションにより増減する。
図22(1)は,ルアーの種類がスピナーの場合に,ルアーアクションに応じて魚がどの様に行動し,また,活性値及びバイトフラグが増加または減少するかを説明するテーブルである。図22(1)は,ルアーがスピナーの場合のテーブルであるが,クランク,ペンシル等の他のルアーに対しても同様のテーブルがある。それらのテーブルのデータは,ROM75等に記憶されており,ゲームの進行に応じてCPU72に取り込まれ演算される。
図22(1)について説明すると,遊戯者がルアーを投入しルアーが湖面に着水した時に,活性値が0から30のナーバスな魚の行動は,ルアーを無視する場合とルアーから逃げる場合が5対5の割合である。また,その魚の活性値は△2つの割合で減少し,バイトフラグは△1つの割合で減少する。
また,活性値が71から100のエキサイトな魚の場合に,ルアーが着水すると,魚はルアーの方を向く行動をし,活性値及びバイトフラグは共に○1つの割合で増加する。この時バイトフラグの欄にある☆は,活性値が71から100のエキサイトな魚に対して,遊戯者が所定のルアーアクションをさせると,魚がルアーに食い付くことを表わしている。更に,ポーズ,ファーストリトリーブ等の様々なルアーアクションに対して魚の行動等が規定されている。
図22(2)は,バイトフラグの説明図である。CPU72内のバイトフラグは,遊戯者のルアーアクションにより増減し,その値が10を越えるとバイト準備が完了した状態となる。この状態の時に,遊戯者がルアーにトリガーアクションを加えると魚はルアーに食い付く。
次にステップS6でファイト(ルアーに食い付いた魚との格闘)となる。図23(1)は,本実施の形態のファイト画面150の一例を示す。魚がルアーに食い付いた場合の釣り糸2の張力は,振動ユニット30及び縦方向メカニズム50のセンサ87,89等(図13参照)で検出され,ファイト画面150には,釣り糸2の張力を示す目盛り151が表示される。そして,張力が強すぎる場合等には,その旨のコメントやアドバイスが表示される。
図23(2)は,ファイト中等に魚がカメラに接近してきた時の画面を示す。この時は,魚が画面の上下方向に対して常に中心より若干上の位置に来るようにカメラ視点を変える。また,魚に接近するにつれてカメラ視点を上に移動させるが,図23(3)に示すように魚143を原点としたローカル座標(Xl,Yl,Zl)において,XY平面とカメラ201の視線のなす角度θは最大でも45°までに制限する。これは,魚の動きがよく見えるようにすると共に,魚を釣り上げる感覚を強調するためである。
次にステップS7で釣り上げとなる。釣り上げ画面は,釣り上げた魚のサイズ別に異なった表示内容とし,大きな魚程ゴージャスな雰囲気を演出し,スピーカ76から「グッドフィッシュ」等の音声が出力される。また,釣り上げた魚の重さ,そのステージで釣り上げた魚の重さの合計,そのステージのノルマを達成したか否か等が表示される。
次にステップS8で制限時間が経過しているか否かが判断され,時間があればステップS3に戻り,時間がなければステップS9に進む。
ステップS9では,釣れた魚の大きさや釣れるまでの時間等により遊戯者のテクニックのランク等を表示し,それに対するワンポイントアドバイスを表示する。また,釣れた魚のうち最も重い魚の重さを表示し,書込可能なROM等に記憶してある過去に釣れた魚の重さとの順位を表示する。これにより,遊戯者は更に大きな魚を釣ろうという挑戦意欲を高めることができる。そして所定の時間が経過するとゲームオーバーとなる。
以上のようなフローチャートに従って本実施の形態の魚釣りゲームが進行するが,遊戯者に実際の魚釣りに似た興奮を与えるためには,コンピュータグラッフィクにより魚釣りの映像を作成するためのカメラワークが極めて重要である。
ワールド座標内のオブジェクトを写すカメラの視点は,様々のアルゴリズムに従って動くが,水中のルアーを追う場合は次のように動く。図15のステップ3でルアーが水中に投入されるとカメラはルアーを写し始める。ルアーは,遊戯者が操作する釣り竿1とリール61によりワールド座標内を動くが,その位置は遊戯者が操作する釣り竿1とリール61の動きを検出し,CPU72により演算される。
カメラ視点は,移動するルアーの前方に所定の距離と角度を持ってルアーと共に移動するが,水中に岩等の障害物がある場合は,その障害物を迂回するコースをとる。そのためには,ROM74内に障害物の座標データと共にその障害物を含んだ所定範囲を示すコリジョン(衝突)データを持たせておき,そのコリジョンデータとカメラの視点座標が衝突した時に,所定のアルゴリズムに従って迂回ルートをとる。これらの演算はCPU72で行われる。
図24は,図15のステップ2で遊戯者がステージを選択した後,そのステージまでボートが疾走している間のカメラワークの説明図である。図24(1)は,プロジェクションTV65に表示されるボート疾走画面200の一例を示す。ボート105は,湖101の水面上を波を蹴立てて疾走する。
図24(2),(3)は,ボート疾走画面200のカメラワークの説明図である。ボートは,仮想的な三次元ゲーム空間に設けられたワールド座標系内を疾走するが,その情景は,カメラ201の視点を原点とした視点座標系に変換される。そして,プロジェクションTV65の画面には,視点座標系を更に二次元のスクリーン座標系に投影変換した画面が表示される。
ボート疾走中,カメラ201は,ワールド座標系において湖101から高さhの水平面内で,ボートを中心とした半径rの円周上を回り続ける。この時,高さh及び半径rを適宜変更することにより,カメラ201の視線202と湖101との角度θが変化し,湖面を疾走するボート105と湖101の全体の情景をダイナミックに表現することができる。
図25は,遊戯者が選択したステージに,ボートが到着する時のカメラワークの説明図である。図25(2),(3)に示すように,ボート105が減速しながらステージに接近するに従って,カメラ201は,ボート105の上空を旋回しつつ,高さをh1からh2に低め,また,半径をr1からr2に減少させる。そして,図25(1)に示すように,ボート105がステージに到着した画面210では,カメラ201は,画面の下方にボート105と釣り人212の一部が映るカメラアングルで停止する。このカメラワークにより,これから魚釣りが開始される臨場感を遊戯者に与えることができる。
図26はボートの揺れを表現するためのカメラワークの説明図である。ボートに乗った釣り人212を背後から写すカメラワークにおいて,従来は図26(1)に示す方法をとっていた。即ち,湖101におけるボート105の上下の揺れは通常5cm程度であるので,この動きに合わせるようにカメラ201の視線方向300をワールド座標のZ方向にΔz(2cm程度)だけ上下させていた。しかし,このカメラワークでは,カメラ201に近い釣り人212はゲーム画面上をΔzと同程度上下に動くが,カメラから遠くの距離にある陸121や木立等の背景は,画面内での位置をほとんど変えず,ボート105の揺れを適切に表現出来なかった。
そこで,本実施の形態では,図26(2)に示すように,カメラ201の視点位置を固定し,釣り人212の乗るボート105が上下に動いた時に,カメラの視線方向300をワールド座標に対してΔθの角度だけ上下に動かす。こうすると,カメラ201に近い釣り人212はゲーム画面上であまり動かず,カメラから遠くの距離にある陸121や木立等の背景は,画面上で大きく上下に動き,ボート105の揺れを表現するのに十分な効果が得られる。
図27は,リトリーブ中,カメラが水中での障害物をよける時の従来のアルゴリズムを説明するための図である。図27(1)は,水中での障害物がない場合のルアー142とカメラ201の動きを示す。遊戯者がリール61を回し釣り糸2をリトリーブすると,ルアー142は,ワールド座標系内で矢印310で示す釣り人の方向に移動する。カメラ201は,ルアー142の動きに合わせて,ルアー142の前方所定間隔の距離から,ルアー142を写しながら,矢印311の方向に移動する。
図27(2)は,水中に壁312,木の幹313,流木314等の障害物があった場合のカメラ201の動く軌跡315を示す。カメラ201は,遊戯者が操作するルアー142の前方所定間隔の距離を保って移動するので,それぞれの障害物と×印316,317,318の位置で衝突(コリジョン)が発生する。
従来は,障害物との衝突が発生した場合,カメラ201は,例えば,障害物の横に回るなどの規則的な動きをしていた。しかし,これでは,図27(3)のゲーム画面319に示すように,障害物312の蔭に入ったルアーを写すことは出来なかった。
そこで,本実施の形態では,カメラが障害物と衝突した場合に,障害物の形状に応じた回避方法をとることとし,更に,カメラからルアーへの視線が障害物と衝突した場合にも同様の回避方法をとることとした。これにより,カメラはたえずルアーを視界内に入れることができ,ルアー操作の臨場感を高めることができる。
図28(1)は,流木314のように上下方向に狭く,横方向に長い障害物の回避方法を示す。カメラ201のワールド座標内での位置を演算するCPU72は,障害物314の座標との比較から×印320での衝突を予測する。この場合,カメラは,201a,b,c,dのように障害物314の上方に移動し,ルアー142a,b,c,dを常に画面に写すことができる。尚,カメラの移動は,ルアーの動きを強調するため,ルアーの移動に少し遅れてルアーを追いかけるように移動する。また,前述のように,カメラからルアーへの視線が障害物に遮断される場合も同様の回避処理が行われる。
図28(2)は,上下方向に長く,横方向に狭い立ち木313ののような障害物の場合にカメラ201eが障害物313の横方向に回り込んで衝突を回避する場合を示す。また,図28(3)は,壁322のように,上下左右ともに回避が困難な障害物の場合に,障害物を通過せず,逆方向に回り込む場合を示す。
図29は,本実施の形態でカメラからルアーへの視線が障害物と衝突する場合のカメラワークの説明図である。図29(1)は,障害物313が立ち木等の場合で,カメラ201mからルアー142mへの視線が,×印326で障害物313と衝突する場合,カメラ201が,nのように横方向に回り込み,ルアー142oをカメラ201oが後ろから写し,その後201pの位置を通過して元のカメラの軌道に戻る。
図29(2)は,障害物324が縦長の流木のような場合にカメラ201rからルアー142rへの視線が,×印327で障害物324と衝突する場合である。この場合は,カメラは,s,tのように障害物324の上方に回り込み,その後uのように元の軌道に戻る。
図29(3)は,障害物325が縦長の壁のような場合に,カメラ201vからルアー142vへの視線が×印328で障害物325と衝突する場合である。この場合は,カメラは,wに示すように,ルアー142wの反対側に回り込み,障害物325を回避した後に,xのようにもとの軌道に戻る。
図30は,ルアー等の水中の物体を写す場合に,水面にその物体の影を写す場合の説明図である。遊戯者のルアーアクションによっては,ルアーは水面に近い所で操作される。この時,水中のカメラから水面を見上げるゲーム画面が表示される場合がある。図30(1)は,水中331のルアー142の影142’が水面330に写っているゲーム画面を示す。水面にルアーの影を写すことにより,遊戯者にルアーの深度を教えることができ,遊戯者のルアーアクションにリアリティーを持たせることができる。
図30(2)は,ルアーの影の位置Cの求め方を示す。ワールド座標におけるルアー142の位置座標Aと水面333から,水面上にルアーの虚像142’の位置座標Dを求める。即ち,Aから水面333に引いた垂線の延長線上に,AB=BDとなる点がDとなる。Dとカメラ201の位置座標Eを結ぶ直線が,水面333と交わる点Cが,水面上に写る影の位置となる。
図31は,リトリーブ中,釣り人から見て魚がルアーの手前にいた場合のカメラワークの説明図である。図31(1)は,ルアー142を原点とし釣り人の方向をX軸として,垂直方向をZ軸としたローカル座標系におけるカメラ201a,201bと魚220等の位置関係を示す。
カメラ201aは,魚がルアー142を中心とした所定半径Rの範囲にいない場合のカメラ位置を示す。この時,プロジェクションTV65の画面には,図31(2)に示すようにルアー142だけがほぼ中央に表示される。
この時,魚220が,前記の所定半径Rの範囲で,XZ平面にほぼ±45°の範囲に入ってきた場合は,カメラ201aは,魚の後方に回り込む位置201bに移動する。この時のプロジェクションTV65の画面には,図31(3)に示すようにルアー142が画面のほぼ中央に,また,魚220が画面左部分に表示される。
尚,図31では,釣り人から見て,魚220がルアー142より左寄りにいた場合を示したが,魚220がルアー142より右寄りにいた場合は,魚220が画面右部分に表示されるように,カメラは魚220の後方に回り込む。これにより,魚220がルアー142に接近する過程をよりリアルに表現することができる。
図32は,リトリーブ中,魚がルアーの後方寄りにいた場合のカメラワークの説明図である。図32(1)は,魚220が,ルアー142を原点として所定半径Rの範囲で,XZ平面にほぼ+45°からほぼ+315°の範囲に入ってきた場合のカメラワークを示す。
魚220がルアー142を中心とした所定半径Rの範囲にいない場合は,カメラ201cからルアー142だけを写し,図32(2)の画面が表示される。魚220が,前記の+45°からほぼ+315°の範囲に入ってきた場合は,カメラ201cは,ルアー142と魚220の両方が写せる位置201dに移動し,図32(3)のような画面が表示される。
図33は,魚の動きをカメラアングルの制御で表現する方法の説明図である。図33(1)は,魚220が止まっている場合の画面である。魚220は,仮想的な三次元ゲーム空間であるワールド座標系内を自由に泳ぎ回るが,その魚220を映すカメラの視点座標系においては,通常カメラの視線方向を魚220に向けている。このカメラの視点座標系をプロジェクションTV65に表示するために,二次元のスクリーン座標系に投影変換すると,魚220がどのように動いても画面のほぼ中央に表示される。
従って,本実施の形態では,図33(2)に示すように,例えば,魚220が,釣り人から見て,右方向に行けば行く程,画面の右の方に表示されるようにする。そして,右方向に泳いでいた魚220が,急に反対方向にダッシュした時でも,図33(3)に示すように,画面の右半分から少し左に出る位の位置で泳ぐようにする。これにより,魚220の動きを更にリアルに表現することができる。
図34は,魚の急な動きをカメラワークで表現する方法の説明図である。上述したように,カメラの視点座標系では,その視線を魚に向けているので,魚が急に動いた場合にそれと同時にカメラの視線を魚に向けたのでは,魚は常に画面の中央に表示され,魚の急な動きを表現できない。
そこで,魚の急な動きに対しては,魚に向けたカメラの視線の移動スピードを制限し,急に移動する魚にカメラの視線が遅れてついて行くようにする。図34(1)は,魚が右に急にダッシュする時の画面を示す。・で示す止まっていった魚が,急に右にダッシュすると,・に示す画面のようになる。・では,魚の尾ビレの部分が表示されているが,魚が一瞬画面から消えてもかまわない。そして,所定の時間後は,魚は・に示すように,また画面の中央に表示される。
図34(2)は,魚が急に遠ざかる時の画面を示す。この場合も,カメラは魚の動きに遅れてついて行くので,・に示すように魚が一瞬小さく表示される。これにより,魚の急な動きをより強調して表現することができる。
図35は,魚がルアーにバイト(食い付き)する瞬間のカメラワークの説明図である。図35(1)に示すように,バイト前のカメラは,201eの位置からルアー142と魚220eを写し,図35(2)に示す画面が表示される。
魚220eが回り込んでルアー142を食いに来た時,カメラは,ルアー142に対し魚220fと反対側の位置201fに回り込みつつズームインし,ルアーにバイト後ズームアウトする。図35(3)にバイトする直前のズームインした画面を示す。但し,この時のカメラの移動スピードは,前述したように,限界スピードを決めて速くなりすぎないようにする。従って,魚が,画面から一時的に外れてもかまわない。これにより,バイトの瞬間の迫力が増加し,遊戯者の興奮を高めることができる。
図36は,魚がえら洗いする時のカメラワークの説明図である。図36(1)に示すように,通常,カメラは,湖101の水中の201gの位置から魚220gを写している。しかし,魚が220hのように水面に出てえら洗いした時は,カメラも水面のすぐ上の位置201hに出て魚220hを写すと共にズームインし,図36(2)に示す画面を表示する。また,釣り人が魚を釣り上げた時には,カメラは,水面上に出て,釣り人と魚が同一画面に収まるような視点に移動する。これにより,魚釣りの迫力がアップし,遊戯者の臨場感を更に高めることができる。