(57)【要約】【課題】  パチンコシミュレーションゲームにおいて、衝突判定のコストを低減することによりリアルタイム性を向上したゲーム装置とゲームプログラムを提供すること。【解決手段】  パチンコ機の動作を再現させたパチンコゲームを実施するゲーム装置であって、玉の衝突動作を衝突判定データを用いた物理計算によりシミュレーションするシミュレーション手段を備え、該シミュレーション手段が、各玉との衝突判定の対象とする衝突判定データを、玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限する。全衝突判定データの一部に制限する単位は、玉の動作しうる盤の範囲を横Ｍ×縦Ｎに等分割してできる区画である。【選択図】  図６Ｂ
2007259904.tif 000002
【特許請求の範囲】
【請求項１】
パチンコ機の動作を再現させたパチンコゲームを実施するゲーム装置であって、
パチンコ機の仮想モデルに基づいてパチンコ機の画像を生成するパチンコ機画像生成手段と、
玉の衝突動作を衝突判定データを用いた物理計算によりシミュレーションする衝突動作シミュレーション手段とを備え、
該衝突動作シミュレーション手段が、それぞれの前記玉との衝突判定の対象とする衝突判定データを、前記玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限することを特徴とするゲーム装置。
【請求項２】
前記制限する単位が、前記玉の動作しうる盤の範囲を横Ｍ×縦Ｎに等分割してできる区画であることを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記衝突動作シミュレーション手段が、衝突判定開始の座標および速度ベクトルで計算して、所定時間内に前記玉が通過する前記区画に関連付けられた衝突判定データのみに、当該玉について前記所定時間における衝突判定の対象とする衝突判定データを制限することを特徴とする請求項２に記載のゲーム装置。
【請求項４】
前記衝突動作シミュレーション手段が、前記玉の衝突判定データを球として取り扱い、前記所定時間内において前記玉の一部が通過する区画は、当該玉が当該所定時間内に通過したこととすることを特徴とする請求項３に記載のゲーム装置。
【請求項５】
前記衝突動作シミュレーション手段が、前記所定時間内の前記玉の動作を等速直線運動とみなして計算を行うことを特徴とする求項２〜４のいずれか一項に記載のゲーム装置。
【請求項６】
前記所定時間が、描画の周期であることを特徴とする請求項２〜５のいずれか一項に記載のゲーム装置。
【請求項７】
前記所定時間が、描画の周期から、当該描画の周期内での各前記玉の各衝突までの時間を引いた値であることを特徴とする請求項２〜６のいずれか一項に記載のゲーム装置。
【請求項８】
前記所定時間内に衝突がある場合は、当該衝突までの時間に応じた重力加速度を、前記所定時間内に衝突がない場合は当該所定時間に応じた重力加速度を、前記速度ベクトルに追加することを特徴とする請求項２〜７のいずれか一項に記載のゲーム装置。
【請求項９】
複数の区画に関連する衝突判定データを、単一の前記所定時間内の衝突判定において重複して判定しないようにするフラグを備えることを特徴とする請求項２〜８のいずれか一項に記載のゲーム装置。
【請求項１０】
描画の周期内に衝突を処理する回数を所定数に制限することを特徴とする請求項１から９のいずれか一項に記載のゲーム装置。
【請求項１１】
パチンコ機の動作を再現させたパチンコゲームをコンピュータに実施させるゲームプログラムであって、コンピュータに、
パチンコ機の仮想モデルに基づいてパチンコ機の画像を生成するパチンコ機画像生成制御と、
玉の衝突動作を衝突判定データを用いた物理計算によりシミュレーションする衝突動作シミュレーション制御とを実施させ、
前記衝突動作シミュレーション制御において、各前記玉との衝突判定の対象とする衝突判定データが、前記玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限されることを特徴とするゲームプログラム。
【請求項１２】
パチンコ機の動作を再現させたパチンコゲームをコンピュータに実施させるゲームプログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに、
パチンコ機の仮想モデルに基づいてパチンコ機の画像を生成するパチンコ機画像生成制御と、
玉の衝突動作を衝突判定データを用いた物理計算によりシミュレーションする衝突動作シミュレーション制御とを実施させ、
前記衝突動作シミュレーション制御において、それぞれの前記玉との衝突判定の対象とする衝突判定データが、前記玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限されることを特徴とするゲームプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置、操作入力装置及びモニタ装置を有するゲーム装置及び当該ゲーム装置上でゲームを実行するためのプログラムに関し、特にモニタ装置上においてパチンコ機の物理的な動作を再現して表示させるゲーム装置及びそのゲームプログラムに関する。
【背景技術】
【０００２】
処理装置において生成したゲーム画面をテレビ受像器上で再生させるようにした家庭用ゲーム機において、パチンコ機の動作を再現させるシミュレーションゲームが知られている（例えば、下記特許文献１）。
【０００３】
しかし、パチンコ玉の動きなどについて、物理的な再現性という意味で十分なものはなく、ゲーム画面上で運動するパチンコ玉の画像（玉画像）を拡大して表示させた場合でも十分な物理的リアリティと迫力の感じられるゲームが強く求められていた。
【０００４】
しかし、パチンコ機の動作に関連する物理法則の全部を再現しようとすると計算コストが増大してしまい、家庭用ゲーム機などでは、リアルタイムのシミュレーションが困難になってしまう。
【０００５】
また、そもそも物理の法則として容易に分析しきれない部材間の相互作用がゲーム性に影響している場合もあり、結局、計算コストを抑えながら、十分なリアリティ、十分なリアルタイム性および十分なゲーム性を兼ね備えたパチンコシミュレーションゲームを実現する必要が生じていた。特に、パチンコ玉と打出レールや障害釘との衝突判定のコストが、３次元の物理計算では大きくなるため、この衝突判定のコストを低減することによりリアルタイム性を向上することが優先的に求められていた。
【特許文献１】特開平８−２８０９３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は上記の課題に鑑みてなされたものであり、パチンコシミュレーションゲームにおいて、衝突判定のコストを低減することによりリアルタイム性を向上することをその目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記問題を解決したものであり、
パチンコ機の動作を再現させたパチンコゲームを実施するゲーム装置であって、
パチンコ機の仮想モデルに基づいてパチンコ機の画像を生成するパチンコ機画像生成手段と、
玉の衝突動作を衝突判定データを用いた物理計算によりシミュレーションする衝突動作シミュレーション手段とを備え、
該衝突動作シミュレーション手段が、それぞれの前記玉との衝突判定の対象とする衝突判定データを、前記玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限することを特徴とするゲーム装置（請求項１）、又は、
パチンコ機の動作を再現させたパチンコゲームをコンピュータに実施させるゲームプログラムであって、コンピュータに、
パチンコ機の仮想モデルに基づいてパチンコ機の画像を生成するパチンコ機画像生成制御と、
玉の衝突動作を衝突判定データを用いた物理計算によりシミュレーションする衝突動作シミュレーション制御とを実施させ、
前記衝突動作シミュレーション制御において、各前記玉との衝突判定の対象とする衝突判定データが、前記玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限されることを特徴とするゲームプログラム（請求項１１）、又はこれを記録したコンピュータ読み取り可能な記録媒体（請求項１２）である。
【０００８】
また、本発明では、前記制限する単位が、前記玉の動作しうる盤の範囲を横Ｍ×縦Ｎに等分割してできる区画であること（請求項２）が有利である。
【０００９】
また、本発明では、前記衝突動作シミュレーション手段が、衝突判定開始の座標および速度ベクトルで計算して、所定時間内に前記玉が通過する前記区画に関連付けられた衝突判定データのみに、当該玉について前記所定時間における衝突判定の対象とする衝突判定データを制限すること（請求項３）が有利である。
【００１０】
また、本発明では、前記衝突動作シミュレーション手段が、前記玉の衝突判定データを球として取り扱い、前記所定時間内において前記玉の一部が通過する区画は、当該玉が当該所定時間内に通過したこととすること（請求項４）が有利である。
【００１１】
また、本発明では、前記衝突動作シミュレーション手段が、前記所定時間内の前記玉の動作を等速直線運動とみなして計算を行うこと（請求項５）が有利である。
【００１２】
また、本発明では、前記所定時間が、描画の周期であること（請求項６）が有利である。
【００１３】
また、本発明では、前記所定時間が、描画の周期から、当該描画の周期内での各前記玉の各衝突までの時間を引いた値であること（請求項７）が有利である。
【００１４】
また、本発明では、前記所定時間内に衝突がある場合は、当該衝突までの時間に応じた重力加速度を、前記所定時間内に衝突がない場合は当該所定時間に応じた重力加速度を、前記速度ベクトルに追加すること（請求項８）が有利である。
【００１５】
また、本発明では、複数の区画に関連する衝突判定データを、単一の前記所定時間内の衝突判定において重複して判定しないようにするフラグを備えること（請求項９）が有利である。
【００１６】
また、本発明では、描画の周期内に衝突を処理する回数を所定数に制限すること（請求項１０）が有利である。
【発明の効果】
【００１７】
請求項１、１１又は１２に係る発明では、各玉との衝突判定の対象とする衝突判定データを、玉毎の座標および速度ベクトルに応じて、全衝突判定データの一部に制限するため、衝突判定のコストを大幅に削減して課題を達成することができる。
【００１８】
請求項２に係る発明では、前記全衝突判定データの一部に制限する単位が、玉の動作しうる盤の範囲を横Ｍ×縦Ｎに等分割してできる区画であるため、各制限する単位（区画）に属する衝突判定データの量を十分少なくでき、単位間の不必要な不均衡もなく、単位に属する衝突判定データの座標的特性を玉の移動の局所性や連続性に対応した自然なものとすることができる。
【００１９】
請求項３に係る発明では、衝突判定開始の座標および速度ベクトルで計算して、所定時間内に前記玉が通過する前記区画に関連付けられた衝突判定データのみに、当該玉について前記所定時間における衝突判定の対象とする衝突判定データを制限するため、各時点でのより具体的な属性である玉の座標および速度ベクトルによって、所定時間内にその玉と衝突する可能性のある衝突判定データを、より効率的かつもれなく絞り込むことが可能になる。
【００２０】
請求項４に係る発明では、玉の衝突判定データを球として取り扱い、前記所定時間内に玉の一部以上が交わる区画は、当該玉が当該所定時間内に通過したこととするため、球としての実際の衝突可能性を正確に反映しながら衝突判定データの制限によるコスト削減を行うことが可能になる。
【００２１】
請求項５に係る発明では、前記所定時間内の玉の動作を等速直線運動とみなして計算を行うため、計算コストが削減され、また、十分小さな「所定時間」について、十分正確な、リアリティとゲーム性を備えた計算となる。
【００２２】
請求項６に係る発明では、前記所定時間が描画の周期であるため、描画（シミュレーション）に寄与しない冗長な計算コストを回避し、かつ、十分小さな描画周期（たとえば、６０分の１秒）とすることにより、衝突を先読みしすぎる傾向を抑制し、リアルタイム性、リアリティおよびゲーム性を兼ね備えたシミュレーションを可能にする。
【００２３】
請求項７に係る発明では、前記所定時間が、描画の周期から、当該描画の周期内での各玉の各衝突までの時間を引いた値であることにより、描画周期内に同一の玉について複数回の衝突がある場合でも、各衝突後の衝突判定の対象となる衝突判定データを正しくかつ効率的に制限し、さらに高いリアルタイム性、リアリティおよびゲーム性を兼ね備えたシミュレーションを可能にする。
【００２４】
請求項８に係る発明では、前記所定時間内に衝突がある場合は、当該衝突までの時間に応じた重力加速度を、前記所定時間内に衝突がない場合は当該所定時間に応じた重力加速度を、前記速度ベクトルに追加することにより、重力の影響をもれなく重複なく適用したリアルな軌道計算が可能となる。
【００２５】
請求項９に係る発明では、複数の区画に関連する衝突判定データを、単一の前記所定時間分の衝突判定において、重複して判定しないようにするフラグを備えることにより、衝突判定の重複を排除して衝突判定コストを削減することができる。
【００２６】
請求項１０に係る発明では、描画の周期内に衝突を処理する回数を所定数に制限するため、玉の詰まり等による無意味な衝突計算の繰り返しを回避することが可能になる。また、そのような所定数を境として玉の詰まり等を検出して、別途詰まりを解除するトリガ等とすることも可能になる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を図面に基づいて説明する。
【００２８】
以下、本発明を図面に基づいて説明する。
【００２９】
図１（Ａ）は、本発明のゲーム機においてシミュレーションしようとするパチンコ機１の概略図であり、図１（Ｂ）は、本発明のゲーム機において後述のモニタ２３に表示されるゲーム画面１０を示す説明図である。
【００３０】
図示されるように、パチンコ機１は、遊技のためのパチンコ玉を投入する投入口２、パチンコ玉の初速を決定するハンドルゲージ３、初速を得たパチンコ玉を主盤面４に誘導するための打出レール５、パチンコ玉を主盤面４で衝突・反射させてゲーム性を広げる障害釘６及びパチンコ玉の主盤面４への打出しを安定させるための弁となる板バネ７等を備えている。
【００３１】
これに対して、ゲーム画面１０には、ハンドルゲージ画像１３、主盤面画像１４、打出レール画像１５、釘画像１６などを備え、打出レール画像１５と主盤面画像１４の境界位置に板バネ画像１７を備えるなど、現実のパチンコ機１と同様の外観のパチンコ機画像１１が表示される。またパチンコ機画像１１上において、現実のパチンコ機１における動作を再現させて、打出レール画像１５から主盤面画像１４に向けて次々に打ち出される玉画像１８の表示が行われる。
【００３２】
パチンコ機１の打出レール５や主盤面４では、パチンコ玉と打出レール５や障害釘６等との間で衝突や反射（跳ね返り）が生じる。本発明では、計算負荷を過剰に増大させることなく上記の衝突や反射のシミュレートを行って玉画像１８の移動経路の導出が行われる。
【００３３】
図２は、本発明に係るゲーム装置２０の外観構成図である。
【００３４】
ゲーム装置本体２１は、ゲームの進行制御や演出処理を行う。また、後述する記録媒体ドライブ３５を備え、進行制御プログラムや演出処理データを含むＣＤ、ＤＶＤやＲＯＭ等の外部記録媒体を入れ替えることにより、本発明のパチンコシミュレーション以外のゲームも行えるようになっている。
【００３５】
コントローラ２２は、本シミュレーションゲームにおいては、上記玉画像１８に与える初速の入力に用いるほか、シミュレーションに特有の各種付加機能（たとえば仮想カメラのズームや各種のゲーム機能）を選択、決定するため等にも用いる。
【００３６】
モニタ２３は、図１に示したパチンコ機の３次元モデルを仮想カメラから撮像した内容を主に表示するために用いるほか、シミュレーションに特有の各種付加機能を実施するため等にも用いる。
【００３７】
図３は、ゲーム装置本体２１のハードウェア構成を示す説明図である。
【００３８】
ゲーム装置本体２１は、その内部にゲーム装置全体の制御を行う中央処理装置（ＣＰＵ）３１のほか、ＲＡＭ３２、ＲＯＭ３３、ハードディスク３４などの記録装置、外部記録媒体の読み取りを行うための記録媒体ドライブ３５、ゲーム画面及びゲーム音声を生成するための画像合成ＩＣ３６及び音声合成ＩＣ３７、上記コントローラ２２等との間での信号の送受を行うためのＩ／Ｏポート３８及びこれらの装置を相互に接続するバスライン３９等を備えており、外部記録媒体に記録されるプログラム等に従って動作するＣＰＵ３１からの信号に基づいて画像合成ＩＣ３６および音声合成ＩＣ３７が生成するゲーム画面およびゲーム音声がモニタ２３から出力されて、ゲームが進行する。
【００３９】
なお、ＲＡＭ３２内には、本発明のパチンコソフト３２ａが、上記外部記憶媒体から記憶媒体ドライブ３５を介してロードされている。このパチンコソフト３２ａは、パチンコゲームの一般的な進行に関するプログラムやデータのほか、現実のパチンコ機１におけるパチンコ玉の衝突動作をシミュレートするためのプログラムやデータにより構成される衝突動作再現部３２ｂ、パチンコ玉の主盤面４への打出しをシミュレートするためのプログラムやデータにより構成される打出制御部３２ｃ、板バネ７の作用をシミュレートするためのプログラムやデータにより構成される板バネ動作制御部３２ｄ、玉の初速を乱数化するためのプログラムやデータにより構成される初速制御部３２ｅ及びパチンコ機画像表示制御部３２ｆを含んでいる。
【００４０】
上記のうち、パチンコ機画像表示制御部３２ｆは、現実のパチンコ機１の主盤面４及び打出レール５の形状を再現させたオブジェクト（以下、「盤」という。また、盤の打出レール５に対応する部分を「レール部」という）や、当該盤上に配される障害釘６を再現させたオブジェクト（以下、「釘」という）などの複数の３次元仮想オブジェクトを組み合わせてパチンコ機１を仮想３次元空間内で生成し、衝突動作再現部３２ｂ、打出制御部３２ｃ、板バネ動作制御部３２ｄ及び初速制御部３２ｅにおける処理によって導出される軌道に従って、パチンコ玉を再現した仮想オブジェクト（以下、「玉」という）を盤上で移動させることにより構築される３次元モデルを仮想空間における所定の位置に配置された仮想カメラからの映像として前述のパチンコ機画像１１を生成するものである。
【００４１】
本発明に係る衝突動作再現部３２ｂは、玉の落下を計算する機能、玉の衝突を計算する機能、表示玉数を８個に制限する機能（連続発射の頻度をおさえるモード）を有する。また、効率的なシミュレーションのため、衝突動作再現部３２ｂにおいて衝突判定用のデータとして使用される上記の各仮想オブジェクトとは別に、本発明のゲーム装置２０は、画像描画用の仮想オブジェクトデータを別途有することが可能である。そして、衝突判定用のデータは、本発明の効果的な実施のため、玉を球として、釘を円柱として、盤その他のオブジェクトをポリゴンの集合として管理している。玉の衝突を計算する機能は、これらの衝突判定用データの各要素（レール部を構成する各ポリゴンや釘等の衝突判定用のオブジェクト）に対する、その各要素の座標に応じたＭ×Ｎ個の衝突判定用のインデックスを、ゲームの初期化時に計算して記憶しているほか、衝突判定用データの各要素との衝突判定結果（および、衝突する場合の衝突時間（ｔ））を、玉ごとおよび衝突判定時間（所定時間）ごとにクリアされるフラグ等として記憶している。
【００４２】
玉の落下を計算する機能は、シミュレーションのための仮想３次元空間のワールド座標系に応じた重力加速度（Ｙ軸マイナス方向加速度）を記憶し、フレーム時間および速度ベクトルに応じて玉の座標移動（すべての座標移動は落下を含む）を実施し、かつ、フレーム時間（６０分の1秒）に応じた重力加速度を各玉の速度ベクトルへ追加する。ただし、フレーム時間内に盤上の衝突が１回以上発生するときは、各衝突までの時間分と残ったフレーム時間分とについて、一つの時間分づつ座標移動と重力加速度追加を実施する。
【００４３】
玉の衝突を計算する機能は、上記衝突判定により衝突すると判定した場合には、静止物（レール部や釘等）との間では、跳ね返り係数に応じた法線方向の減速および所定の摩擦係数に応じた接線方向の減速を伴う反射をシミュレーションし、可動物（他の玉等）との間では、跳ね返り係数に応じた法線方向の減速および所定の摩擦係数に応じた接線方向の減速／加速を伴う速度交換をシミュレーションする。
【００４４】
図４Ａは、玉４１が、描画のフレーム時間（描画周期）ごとに落下移動する様子を示す説明図である。
【００４５】
図中のＴ１は最初のフレーム時間Ｔ１での座標移動を表しており、Ｔ２からＴ５はその後の各フレーム時間での座標移動を表している。フレーム時間Ｔ５の座標移動は、釘（円柱状の衝突判定オブジェクト）に当たって跳ね返っている様子を示している。
【００４６】
図では、フレーム時間ごとの各座標移動を単体として見ると、移動開始時の速度ベクトルのみを反映して（等速）直線となっていること、一方、複数のフレーム時間に渡って観察すると、擬似的な放物線を構成して衝突に至っていることがわかる。
【００４７】
図４Ｂは、図４Ａで示した各フレーム時間（Ｔ１〜Ｔ５）の衝突判定に影響してくる玉４１の軌道、衝突判定データの各要素（レール部を構成するポリゴンＰ１〜Ｐ５および円柱状の形状が付与された釘Ｋ１〜Ｋ５）及び各区画（（１１，５）〜（１４，９））の関係を表している。
【００４８】
図中、フレーム時間Ｔ５に対応する跳ね返りベクトルと線対称である点線は、フレーム時間Ｔ５内で釘Ｋ４に反射しなければ玉が到達していた終点座標までの仮の座標移動を示している。
【００４９】
すなわち、フレーム時間Ｔ５で衝突判定すべき区画は、本来は、衝突判定開始座標の属する区画（１３，７）、通過途中の区画（１３，８）およびフレーム時間Ｔ５経過時の終点座標の属する区画（１３，９）の３区画であるが、釘Ｋ４が存在したことにより、フレーム時間Ｔ５の途中で衝突が発生し、フレーム時間Ｔ５が衝突前（前半）のより短い時間と衝突後（後半）のより短い別の時間（残り時間）に分かれている。また、後半の衝突判定では、上記釘Ｋ４との衝突・反射後の新しい衝突判定開始座標、速度ベクトルおよびこの残り時間に対応して、区画（１３，８）および区画（１３，７）が衝突判定の対象区画となっている。
【００５０】
なお、フレーム時間Ｔ５の前半では、区画（１３，７）、区画（１３，８）又は区画（１３，９）に中心が含まれる玉と接触しうる（以降「関連する」とも呼ぶ）ポリゴンＰ２、ポリゴンＰ３、ポリゴンＰ４、ポリゴンＰ５、釘Ｋ３、釘Ｋ４および釘Ｋ５が衝突判定の対象になり、フレーム時間Ｔ５の後半では区画（１３，８）又は区画（１３，７）に中心が含まれる玉と接触しうるポリゴンＰ２、ポリゴンＰ３，ポリゴンＰ４、釘Ｋ３、釘Ｋ４および釘Ｋ５が「改めて」衝突判定の対象となる。
【００５１】
ただし、フレーム時間Ｔ５の前半の衝突判定で、ポリゴンＰ３は、区画（１３，７）にも区画（１３，８）にも関連するが、後述するフラグを利用することにより、玉４１に関するこのフレーム時間Ｔ５の前半で、重複しては衝突判定しないようにする。これは、同じく前半で複数の区画に関連するポリゴンＰ４や釘Ｋ５も同様である。また、後半でも同様に、ポリゴンＰ３について重複して衝突判定しないよう、改めてフラグ処理を行う。
【００５２】
なお、フレーム時間Ｔ５で、まず釘Ｋ５にでなくまず釘Ｋ４に衝突すると判定できるのは、衝突判定時に、衝突判定データの各要素との衝突までの時間ｔを求めているからであり、この実施例では、釘Ｋ４との衝突時間ｔが釘Ｋ５との衝突時間ｔよりも短かったため、釘Ｋ４との衝突を確定し、これを区切りとして前半（第一の衝突まで）と後半とを分けている。すなわち、釘Ｋ４との衝突・反射によって速度ベクトルそのものが変わるため、最初の所定時間（フレーム時間Ｔ５）で衝突すると判定された釘Ｋ５を、フレーム時間Ｔ５内の、最初の衝突後の所定時間（後半）でも、実際には衝突処理しない結果となっている。
【００５３】
なお、本実施形態では、玉がオブジェクトやポリゴンに衝突するか脱出するかの判断、および、衝突する場合にオブジェクトやポリゴンの面と衝突するか辺や点と衝突するかの判断は、公知のアルゴリズムを採用し、本明細書では詳述しない。
【００５４】
図５Ａは、玉の動作しうる盤の範囲を横Ｍ×縦Ｎに等分割してできる各区画が衝突判定データのどの要素を含むか（どの要素と関連づけられるか）を、ゲーム初期化時に計算してＭ×Ｎのインデックス付リンクトリストとして記憶したものである。
【００５５】
インデックスは、区画（１，１）から区画（Ｍ，Ｎ）までに対応しており、この図では、そのうち、図４Ｂに関連して上述した区画を優先的に表示している。
【００５６】
例えば、区画（１３，５）は、リンクトリストの終端を表すnullのみであり衝突判定データの要素を一切含まないが、区画（１３，６）は釘Ｋ２を含み、区画（１３，７）はポリゴンＰ２、ポリゴンＰ３および釘Ｋ３を含む。
【００５７】
ポリゴンＰ３は、図からわかるように、区画（１３，７）および区画（１３，８）の両方に含まれるので、衝突判定開始座標から所定時間経過後の終点までのすべての区画について順番に衝突判定をしていくと、重複した判定の対象となってしまい余計なコストになる。
【００５８】
このため、図５Ｂに示すようなフラグを記憶して、判定を効率化する。
【００５９】
図５Ｂ−１は、図４Ｂのフレーム時間Ｔ５の前半における、玉４１と区画（１３，７）との衝突判定直後のフラグの様子を示したものである。図から、図５Ａにおいて区画（１３，７）と関連づけられているポリゴンＰ２、ポリゴンＰ３および釘Ｋ３との衝突判定処理が終わっており、いずれとも衝突しないことが既に判明していることがわかる。
【００６０】
図５Ｂ−２は、図４Ｂのフレーム時間Ｔ５の前半における、玉４１と区画（１３，８）との衝突判定直後のフラグの様子を示したものである。図から、図５Ａにおいて区画（１３，７）又は区画（１３，８）と関連づけられているポリゴンＰ２、ポリゴンＰ３、ポリゴンＰ４、釘Ｋ３、釘Ｋ４および釘Ｋ５との衝突判定処理が終わっており、０．０１１＞０．００９より、釘Ｋ５ではなく釘Ｋ４とまず衝突していることがわかる。なお、明らかに前の段階（図５Ｂ−１）で「衝突しない」となっている要素（ポリゴンＰ２、ポリゴンＰ３および釘Ｋ３）については再判定しないことができ、重複を回避できる。同様に、次の区画（１３，９）に係る衝突判定以降でも、衝突判定開始座標及び速度ベクトルに変化がない限り、「Ｋ４→衝突（ｔ＝０．００９）」といった判定結果は援用することができ、重複判定を回避できる。
【００６１】
図５Ｂ−３は、図４Ｂのフレーム時間Ｔ５の前半における、玉４１と区画（１３，９）との衝突判定直後のフラグの様子を示したものである。ここでは、図５Ｂ−２以降（すなわち、区画（１３，７）および区画（１３，８）を衝突判定して以降）新たに判定すべき要素が、図５Ｂ−２や図５Ａ等から、ポリゴンＰ５のみと決定した上でポリゴンＰ５とは衝突しなかったという結果が示されている。
【００６２】
図５Ｂ−４は、図４Ｂのフレーム時間Ｔ５の後半における、玉４１と区画（１３，８）との衝突判定直後のフラグの様子を示したものである。ここでの衝突判定では、釘Ｋ４との最初の衝突により衝突判定開始座標および速度ベクトルが変わってしまっているため、図５Ｂ−１〜３のフラグ等を援用することはできず、これらのフラグ等を初期化した上で、区画（１３，８）に関連する衝突判定データの各要素につき、改めて衝突判定した結果を反映している。結局、最初の衝突後の残り時間では、いずれの要素とも衝突しない結果となっている。
【００６３】
図５Ｂ−５は、図４Ｂのフレーム時間Ｔ５の後半における、玉４１と区画（１３，７）との衝突判定直後のフラグの様子を示したものである。この場合、やはり最初の衝突前のフラグ等は援用することはできないが、最初の衝突後に改めて衝突判定したフラグ等（図５Ｂ−４）は衝突判定開始座標および速度ベクトルが同一であるため援用することができ、ポリゴンＰ２と釘Ｋ３の衝突判定のみを新たに行って、これらの要素について「衝突しない」という結果を反映している。
【００６４】
図６Ａは、ＲＡＭ３２内のプログラムによって実現される全体的な動作を示したフローチャートである。
【００６５】
ステップＳ１でゲームが開始（ＳＴＡＲＴ）されると、ステップＳ２以降の処理がステップＳ６で終了するまで繰り返される。
【００６６】
ステップＳ２では、衝突動作再現部３２ｂにより、盤上のすべての玉について、落下、衝突（減速を含む。また衝突判定対象の制限については、図６Ｂに関して後述）、反射および速度交換の物理法則により状態計算を行い、次の描画フレームでの玉の基準座標および速度を求めている。ただし、簡単と計算速度向上（ＣＰＵ処理負荷軽減によるリアルタイム性の向上）のため、玉の回転と玉のすべり（摩擦係数）は考慮しないことにしている。
【００６７】
ついでステップＳ３では、物理シミュレーション以外の、コストがかかりがちな作用について擬似的なシミュレーションを行う。例えば、板バネ７に対応する部分を通過する玉があれば、打出制御部３２ｃが、その玉の角度および基準座標を、事前にゲーム性を検証した所定の値に補正し、板バネ動作制御部３２ｄが、板バネ７について製作されたオブジェクトをその固定端を中心に回転変位させる一方、玉の通過が生じなければ、板バネ動作制御部３２ｄが、その回転変位を元に戻す処理や、玉の詰まり（座標が長い間変化しない短期的な衝突の繰り返し）を物理法則外で解除する処理等を行う。
【００６８】
ついで、ステップＳ４では、利用者による入力の処理、入賞等の判定処理、玉の動作以外の演出のための処理などを行う。また、このステップでは、ゲーム性を実現するためのその他の部分的な処理も行う。例えば、レール部への玉の打出しが行われる場合、初速制御部３２ｅが、コントローラ２２からの操作信号により指定される設定値に乱数発生装置などにより生成した揺らぎを付加することで玉に与える初速を決定する。
【００６９】
ついで、ステップＳ５では、仮想カメラ座標および各玉の基準座標、板バネの回転変位を示す座標、各ポリゴンの定義やテクスチャーなどからなる３次元モデルをもとに、新しいフレームの描画（レンダリング）を行う。また、シミュレーションのリアルタイム性を追求するため、前回の描画から６０分の１秒経過していなければ経過を待つ等といった公知の処理も行う。
【００７０】
ステップＳ６では、所定のゲーム時間の経過やゲーム数の消化などの終了条件の成否判定が実行され、成立していればゲームは終了し（ステップＳ７）、不成立であれば後続のフレーム時間におけるゲーム画面の生成のため、処理はステップＳ２に戻される。
【００７１】
図６Ｂは、図６ＡのステップＳ２中の衝突判定以下の制御を、より詳細に説明するフローチャートである。
【００７２】
ステップＳ２０１で、各玉の１フレーム分（描画周期分）の処理が開始される。
【００７３】
ついで、ステップＳ２０２では、残り時間（所定時間）がフレーム時間（描画周期）に初期化され、跳ね返り処理可能残数がＣＰＵパワーを考慮した所定の値に初期化される。
【００７４】
なお、この跳ね返り処理可能残数は、跳ね返り処理回数の過剰を検出して玉の詰まりを別途解除するためにも用いられる。
【００７５】
ついで、ステップＳ２０３では、残り時間（所定時間）が存在しかつ跳ね返り処理可能残数が存在するかどうかをチェックし、存在する場合は、さらなる衝突判定、座標移動、重力加速度追加を行うため、ステップＳ２０４に遷移する。
【００７６】
ステップＳ２０４では、現在の座標および速度をもとにその等速直線運動で通過する可能性のある区画を特定する。図４Ｂのフレーム時間Ｔ５の例では、区画（１３，７）、区画（１３，８）および区画（１３，９）が、この「通過する可能性のある区画」になる。
【００７７】
ついで、ステップＳ２０５では、通過する可能性のある区画に含まれる衝突判定データの要素のうち最初に接触する要素のデータγおよびその接触時間ｔを求める。図４Ｂの例では、釘Ｋ４の衝突判定データ（円柱オブジェクト）がデータγになり、接触時間は図５Ｂ−３で示すとおり０．００９秒となる。
【００７８】
ついで、ステップＳ２０６に遷移し、ｔ（０．００９秒）と残り時間（１／６０＝０．０１７）のすくないほう（ｍｉｎ＝０．００９）がｔに代入される。これは、衝突があるときは衝突で残り時間を区切って衝突までの座標移動や重力加速度追加を計算し衝突以降は次回のループで計算するためのものである。一方、衝突がないときは、残り時間全部に対して、現在のループですべての座標移動と重力加速度追加を実施してしまうことになる。
【００７９】
ついで、ステップＳ２０７では、その計算したｔ秒分の座標移動を行う。
【００８０】
また、ステップＳ２０８では、ｔが、残り時間を衝突までで区切った時間（ｔ＜残り時間）なのか、残り時間全部（ｔ＝残り時間）なのかをチェックし、区切った時間であるときは、ステップＳ２１１に遷移して、上記最初の衝突データγとの跳ね返り処理（速度ベクトルの反射や減速）を行う。
【００８１】
ついで、ステップＳ２０９では、前記計算したｔ秒分だけ重力加速度の追加を行う。
【００８２】
最後に、ステップＳ２１０では、現在の残り時間から処理し終えたｔ秒分を差し引き、また、跳ね返り処理可能残数を１回分減算し、ステップＳ２０３に戻る。これにより、残り時間全部について処理済の場合や、跳ね返り処理可能残数がなくなった場合は、ステップＳ２０３からステップＳ２２１に遷移してその玉の１フレーム分の処理を終了することになる。
【００８３】
ステップＳ２２１では、その玉の１フレーム分の処理が終わったタイミングで、残り時間が存在する（残り時間＞０）かどうかをチェックし、存在する場合はステップＳ２２３に遷移して、玉詰まり状態の程度を示すカウンタをすすめてステップＳ２２４で終了する。一方存在しない場合は、いずれかの玉が正常に動いており他の玉を正常に遷移させる可能性があるためステップＳ２２２で玉詰まり状態の程度を示すカウンタを初期化してステップＳ２２４で終了する。
【００８４】
以上、例示的な実施形態に基づいて本発明を説明したが、本発明は上記実施形態により限定されるものではなく、特許請求の範囲の記載内において種々の変更、改変を行うことが可能である。
【００８５】
例えば、上記した実施形態では、仮想３次元空間に生成された盤、玉などの仮想オブジェクトに基づいてゲーム画面を生成する場合を例として説明したが、盤や玉などは、パチンコ機画像上における玉画像の軌道を本発明に従って導出することが可能な他の任意の形式のデータとすることが可能である。
【００８６】
また上記した実施形態では、跳ね返り処理可能残数を４回に制限していたが、ＣＰＵパワーに応じて、それ以上の回数に制限したり、それ以下の回数に制限したりすることも可能である。
【００８７】
例えば、上記した実施形態では、所定時間内に通過する可能性のあるすべての区画について区画に関連する衝突判定データの要素と衝突判定をおこなっていたが、通過経路の最初の区画で最初の衝突を検出したときは、その先の区画については衝突判定を制限することも可能である。
【００８８】
また、上記した実施形態では、所定時間の玉の動作を等速直線運動とみなしているが、よりＣＰＵパワーがあるときは、落下運動（放物線）とみなして、通過区画の集合を特定したり、最初に衝突する要素データや時間を割り出したりして、より正確でリアルな物理シミュレーションを実施することも可能である。
【図面の簡単な説明】
【００８９】
【図１】パチンコ機の外観を示す説明図（Ａ）及び本発明の一実施形態に係るゲーム機において表示されるゲーム画面の説明図（Ｂ）。
【図２】本発明の一実施形態に係るゲーム装置の外観構成を示す説明図。
【図３】本発明の一実施形態に係るゲーム装置のハードウェア構成を示す説明図。
【図４Ａ】本発明の一実施形態に係る玉のフレーム時間ごとの移動の様子を示す説明図。
【図４Ｂ】本発明の一実施形態に係る玉の軌道、衝突判定データおよび区画の関係を示す説明図。
【図５Ａ】本発明の一実施形態に係る衝突判定データの各要素へのＭ×Ｎ個のインデックスの例を示す説明図。
【図５Ｂ−１】本発明の一実施形態に係る衝突判定結果フラグの状態を示す説明図。
【図５Ｂ−２】本発明の一実施形態に係る衝突判定結果フラグの別の状態を示す説明図。
【図５Ｂ−３】本発明の一実施形態に係る衝突判定結果フラグのまた別の状態を示す説明図。
【図５Ｂ−４】本発明の一実施形態に係る衝突判定結果フラグのさらに別の状態を示す説明図。
【図５Ｂ−５】本発明の一実施形態に係る衝突判定結果フラグの最後の状態を示す説明図。
【図６Ａ】本発明の一実施形態に係るゲーム装置の動作を示すフローチャート。
【図６Ｂ】本発明の一実施形態に係るゲーム装置の動作を示すフローチャート。
【符号の説明】
【００９０】
１・・・パチンコ機、２・・・投入口、３・・・ハンドルゲージ、４・・・主盤面、５・・・打出レール、６・・・障害釘、７・・・板バネ、１０・・・ゲーム画面、１１・・・パチンコ機画像、１３・・・ハンドルゲージ画像、１４・・・主盤面画像、１５・・・打出レール画像、１６・・・釘画像、１７・・・板バネ画像、１８・・・玉画像、２０・・・ゲーム装置、２１・・・ゲーム装置本体、２２・・・コントローラ、２３・・・モニタ、３１・・・ＣＰＵ、３２・・・ＲＡＭ、、３２ａ・・・パチンコソフト、３２ｂ・・・衝突動作再現部、３２ｃ・・・打出制御部、３２ｄ・・・板バネ動作制御部、３２ｅ・・・初速制御部、３２ｆ・・・パチンコ機画像表示制御部、３３・・・ＲＯＭ、３４・・・ハードディスク、３５・・・記録媒体ドライブ、３６・・・画像合成ＩＣ、３７・・・音声合成ＩＣ、３８・・・Ｉ／Ｏポート、３９・・・バスライン、４１・・・玉、Ｔ１〜Ｔ５・・・フレーム時間、Ｐ１〜Ｐ５・・・レール部の衝突判定データの要素となる各ポリゴン、Ｋ１〜Ｋ５・・・衝突判定データの要素となる各釘の円柱データ
【図１】
2007259904.tif 000003
【図２】
2007259904.tif 000004
【図３】
2007259904.tif 000005
【図４Ａ】
2007259904.tif 000006
【図４Ｂ】
2007259904.tif 000007
【図５Ａ】
2007259904.tif 000008
【図５Ｂ−１】
2007259904.tif 000009
【図５Ｂ−２】
2007259904.tif 000010
【図５Ｂ−３】
2007259904.tif 000011
【図５Ｂ−４】
2007259904.tif 000012
【図５Ｂ−５】
2007259904.tif 000013
【図６Ａ】
2007259904.tif 000014
【図６Ｂ】
2007259904.tif 000015