以下、図面を用いて、本発明の実施形態に係る遊技台(例えば、パチンコ機100等の弾球遊技機やスロット機等の回胴遊技機)について詳細に説明する。
<全体構成>
まず、図1を用いて、本発明の実施形態に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
パチンコ機100は、外部的構造として、外枠102と、本体104と、前面枠扉106と、球貯留皿付扉108と、発射装置110と、遊技盤200と、をその前面に備える。
外枠102は、遊技機設置営業店に設けられた設置場所(島設備等)へと固定させるための縦長方形状から成る木製の枠部材である。
本体104は、外枠102の内部に備えられ、ヒンジ部112を介して外枠102に回動自在に装着された縦長方形状の遊技機基軸体となる部材である。また、本体104は、枠状に形成され、内側に空間部114を有している。
前面枠扉106は、ロック機能付きで且つ開閉自在となるようにパチンコ機100の正面側となる本体104の前面に対しヒンジ部112を介して装着され、枠状に構成されることでその内側を開口部とした扉部材である。なお、この前面枠扉106には、開口部116にガラス製又は樹脂製の透明板部材118が設けられ、正面側には、スピーカ120や枠ランプ122が取り付けられている。前面枠扉106の後面と遊技盤200の前面とで遊技領域124を区画形成する。
球貯留皿付扉108は、パチンコ機100の前面において本体104の下側に対して、ロック機能付きで且つ開閉自在となるように装着された扉部材である。球貯留皿付扉108は、複数の遊技球(以下、単に「球」と称する場合がある)が貯留可能で且つ発射装置110へと遊技球を案内させる通路が設けられている上皿126と、上皿126に貯留しきれない遊技球を貯留する下皿128と、遊技者の操作によって上皿126に貯留された遊技球を下皿128へと排出させる球抜ボタン130と、遊技者の操作によって下皿128に貯留された遊技球を遊技球収集容器(俗称、ドル箱)へと排出させる球排出レバー132と、遊技者の操作によって発射装置110へと案内された遊技球を遊技盤200の遊技領域124へと打ち出す球発射ハンドル134と、遊技者の操作によって各種演出装置206の演出態様に変化を与えるチャンスボタン136と、チャンスボタン136を発光させるチャンスボタンランプ138と、遊技店に設置されたカードユニット(CRユニット)に対して球貸し指示を行う球貸操作ボタン140と、カードユニットに対して遊技者の残高の返却指示を行う返却操作ボタン142と、遊技者の残高やカードユニットの状態を表示する球貸表示部144と、を備える。
発射装置110は、本体104の下方に取り付けられ、球発射ハンドル134が遊技者に操作されることによって回動する発射杆146と、遊技球を発射杆146の先端で打突する発射槌148と、を備える。
遊技盤200は、前面に遊技領域124を有し、本体104の空間部114に臨むように、所定の固定部材を用いて本体104に着脱自在に装着されている。なお、遊技領域124は、遊技盤200を本体104に装着した後、開口部から観察することができる。
図2は、図1のパチンコ機100を背面側から見た外観図である。パチンコ機100の背面上部には、上方に開口した開口部を有し、遊技球を一時的に貯留するための球タンク150と、この球タンク150の下方に位置し、球タンク150の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置152に導くためのタンクレール154とを配設している。
払出装置152は、筒状の部材からなり、その内部には、不図示の払出モータとスプロケットと払出センサとを備えている。
スプロケットは、払出モータによって回転可能に構成されており、タンクレール154を通過して払出装置152内に流下した遊技球を一時的に滞留させると共に、払出モータを駆動して所定角度だけ回転することにより、一時的に滞留した遊技球を払出装置152の下方へ1個ずつ送り出すように構成している。
払出センサは、スプロケットが送り出した遊技球の通過を検知するためのセンサであり、遊技球が通過しているときにハイまたはローの何れか一方の信号を、遊技球が通過していないときはハイまたはローの何れか他方の信号を払出制御部600へ出力する。なお、この払出センサを通過した遊技球は、不図示の球レールを通過してパチンコ機100の表側に配設した上皿126に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
払出装置152の図中左側には、遊技全般の制御処理を行う主制御部300を構成する主基板156を収納する主基板ケース158、主制御部300が生成した処理情報に基づいて演出に関する制御処理を行う第1副制御部400を構成する第1副基板160を収納する第1副基板ケース162、第1副制御部400が生成した処理情報に基づいて演出に関する制御処理を行う第2副制御部500を構成する第2副基板164を収納する第2副基板ケース166、遊技球の払出に関する制御処理を行う払出制御部600を構成するとともに遊技店員の操作によってエラーを解除するエラー解除スイッチ168を備える払出基板170を収納する払出基板ケース172、遊技球の発射に関する制御処理を行う発射制御部630を構成する発射基板174を収納する発射基板ケース176、各種電気的遊技機器に電源を供給する電源管理部660を構成するとともに遊技店員の操作によって電源をオンオフする電源スイッチ178と電源投入時に操作されることによってRWMクリア信号を主制御部300に出力するRWMクリアスイッチ180とを備える電源基板182を収納する電源基板ケース184、および払出制御部600とカードユニットとの信号の送受信を行うCRインタフェース部186を配設している。
図3は、遊技盤200を正面から見た略示正面図である。遊技盤200には、外レール202と内レール204とを配設し、遊技球が転動可能な遊技領域124を区画形成している。
遊技領域124の略中央には、演出装置206を配設している。この演出装置206には、略中央に装飾図柄表示装置208を配設し、その周囲に、普通図柄表示装置210と、第1特別図柄表示装置212と、第2特別図柄表示装置214と、普通図柄保留ランプ216と、第1特別図柄保留ランプ218と、第2特別図柄保留ランプ220と、高確中ランプ222を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
演出装置206は、演出可動体224を動作して演出を行うものであり、詳細については後述する。
装飾図柄表示装置208は、装飾図柄ならびに演出に用いる様々な表示を行うための表示装置であり、本実施形態では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置208は、左図柄表示領域208a、中図柄表示領域208b、右図柄表示領域208cおよび演出表示領域208dの4つの表示領域に分割し、左図柄表示領域208a、中図柄表示領域208bおよび右図柄表示領域208cはそれぞれ異なった装飾図柄を表示し、演出表示領域208dは演出に用いる画像を表示する。さらに、各表示領域208a、208b、208c、208dの位置や大きさは、装飾図柄表示装置208の表示画面内で自由に変更することを可能としている。また、後述するキャラクター700の仮想空間への表示もこの装飾図柄表示装置208で行われる。なお、装飾図柄表示装置208として液晶表示装置を採用しているが、液晶表示装置でなくとも、種々の演出や種々の遊技情報を表示可能に構成されていればよく、例えば、ドットマトリクス表示装置、7セグメント表示装置、有機EL(ElectroLuminescence)表示装置、リール(ドラム)式表示装置、リーフ式表示装置、プラズマディスプレイ、プロジェクタを含む他の表示デバイスを採用してもよい。
普図表示装置210は、普図の表示を行うための表示装置であり、本実施形態では7セグメントLEDによって構成する。第1特図表示装置212および第2特図表示装置214は、特図の表示を行うための表示装置であり、本実施形態では7セグメントLEDによって構成する。
普図保留ランプ216は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施形態では、普図変動遊技を所定数(例えば、2つ)まで保留することを可能としている。第1特図保留ランプ218および第2特図保留ランプ220は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施形態では、特図変動遊技を所定数(例えば、4つ)まで保留することを可能としている。高確中ランプ222は、遊技状態が大当りが発生し易い高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を大当りが発生し難い低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
また、この演出装置206の周囲には、一般入賞口226と、普図始動口228と、第1特図始動口230と、第2特図始動口232と、可変入賞口234を配設している。
一般入賞口226は、本実施形態では遊技盤200に複数配設しており、この一般入賞口226への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口226に入賞した場合)、払出装置152を駆動し、所定の個数(例えば、10個)の球を賞球として上皿126に排出する。上皿126に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口226に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施形態では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。
普図始動口228は、ゲートやスルーチャッカーと呼ばれる、遊技領域124の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施形態では遊技盤200の左側に1つ配設している。普図始動口228を通過した球は一般入賞口226に入球した球と違って、遊技島側に排出することはない。球が普図始動口228を通過したことを所定の玉検出センサが検出した場合、パチンコ機100は、普図表示装置による普図変動遊技を開始する。
第1特図始動口230は、本実施形態では遊技盤200の中央に1つだけ配設している。この第1特図始動口230への入球を所定の球検出センサが検出した場合、後述する払出装置152を駆動し、所定の個数(例えば、3個)の球を賞球として上皿126に排出するとともに、第1特図表示装置による特図変動遊技を開始する。なお、第1特図始動口230に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
第2特図始動口232は、電動チューリップ(電チュー)と呼ばれ、本実施形態では第1特図始動口230の真下に1つだけ配設している。この第2特図始動口232は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口232への入球を所定の球検出センサが検出した場合、払出装置152を駆動し、所定の個数(例えば、4個)の球を賞球として上皿126に排出するとともに、第2特図表示装置による特図変動遊技を開始する。なお、第2特図始動口232に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
可変入賞口234は、大入賞口またはアタッカーと呼ばれ、本実施形態では遊技盤200の中央部下方に1つだけ配設している。この可変入賞口234は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選して特図表示装置が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口234への入球を所定の球検出センサが検出した場合、払出装置152を駆動し、所定の個数(例えば、15個)の球を賞球として上皿126に排出する。なお、可変入賞口234に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材236や、遊技釘238を複数個、配設していると共に、内レール204の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口を設けている。
このパチンコ機100は、遊技者が上皿126に貯留している球を発射レールの発射位置に供給し、遊技者の操作ハンドルの操作量に応じた強度で発射モータを駆動し、発射杆146および発射槌148によって外レール202、内レール204を通過させて遊技領域124に打ち出す。そして、遊技領域124の上部に到達した球は、打球方向変換部材236や遊技釘238等によって進行方向を変えながら下方に落下し、入賞口(一般入賞口226、可変入賞口234)や始動口(第1特図始動口230、第2特図始動口232)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口228を通過するのみでアウト口240に到達する。
<演出装置206>
次に、パチンコ機100の演出装置206について説明する。
この演出装置206の正面側には、遊技球の転動可能な領域にワープ装置242およびステージ244を配設し、遊技球の転動不可能な領域に演出可動体224を配設している。また、演出装置206の背面側には、装飾図柄表示装置208および遮蔽装置246(以下、扉と称する場合がある)を配設している。すなわち、演出装置206において、装飾図柄表示装置208および遮蔽装置246は、ワープ装置242、ステージ244、および演出可動体224の後方に位置することとなる。
ワープ装置242は、演出装置206の左上方に設けたワープ入口242aに入った遊技球を演出装置206の前面下方のステージ244にワープ出口242bから排出する。
ステージ244は、ワープ出口242bから排出された球や遊技盤200の釘などによって乗り上げた球などが転動可能であり、ステージ244の中央部には、通過した球が第1特図始動口230へ入球し易くなるスペシャルルート244aを設けている。
演出可動体224は、本実施形態では人間の右腕の上腕と前腕を模した上腕部224aと前腕部224bとからなり、肩の位置に上腕部224aを回動させる不図示の上腕モータと肘の位置に前腕部224bを回動させる不図示の前腕モータを備える。演出可動体224は、上腕モータと前腕モータによって装飾図柄表示装置208の前方を移動する。
遮蔽装置246は、格子状の左扉246aおよび右扉246bからなり、装飾図柄表示装置208および前面ステージ244の間に配設する。左扉246aおよび右扉246bの上部には、不図示の2つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉246aおよび右扉246bは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽装置246は、左扉246aおよび右扉246bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置208を視認し難いように遮蔽する。左扉246aおよび右扉246bを開いた状態ではそれぞれの内側端部が装飾図柄表示装置208の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置208の表示の全てを視認可能である。また、左扉246aおよび右扉246bは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左扉246aおよび右扉246bは、格子の孔から後方の装飾図柄表示装置208の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置208による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ(遮蔽し)、後方の装飾図柄表示装置208を全く視認不可にしてもよい。
<制御部>
次に、図4を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
パチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて主に演出の制御を行う第1副制御部400と、第1副制御部400より送信されたコマンドに基づいて各種機器を制御する第2副制御部500と、主制御部300が送信するコマンドに応じて主に遊技球の払い出しに関する制御を行う払出制御部600と、遊技球の発射制御を行う発射制御部630と、パチンコ機100に供給される電源を制御する電源管理部660と、によって構成している。
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312と、プログラム処理の異常を監視するWDT314を搭載している。なお、ROM306やRAM308については他の記憶装置を用いてもよく、この点は後述する第1副制御部400についても同様である。この基本回路302のCPU304は、水晶発振器316が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路302には、水晶発振器316が出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路318(この回路には2つのカウンタを内蔵しているものとする)と、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ320が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路318および基本回路302に出力するためのセンサ回路322と、第1特図表示装置212や第2特図表示装置214の表示制御を行うための駆動回路324と、普図表示装置210の表示制御を行うための駆動回路326と、各種状態表示部328(例えば、普図保留ランプ216、第1特図保留ランプ218、第2特図保留ランプ220、高確中ランプ222等)の表示制御を行うための駆動回路330と、第2特図始動口232や可変入賞口234等を開閉駆動する各種ソレノイド332を制御するための駆動回路334を接続している。
なお、第1特図始動口230に球が入賞したことを球検出センサが検出した場合には、センサ回路322は球を検出したことを示す信号をカウンタ回路318に出力する。この信号を受信したカウンタ回路318は、第1特図始動口230に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口230に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路318は、第2特図始動口232に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口232に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口232に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
さらに、基本回路302には、情報出力回路336を接続しており、主制御部300は、この情報出力回路336を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路350にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。
また、主制御部300には、電源管理部660から主制御部300に供給している電源の電圧値を監視する電圧監視回路338を設けており、この電圧監視回路338は、電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路302に出力する。
また、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)340を設けており、CPU304は、この起動信号出力回路340から起動信号を入力した場合に、遊技制御を開始する(後述する主制御部メイン処理を開始する)。
また、主制御部300は、第1副制御部400にコマンドを送信するための出力インタフェースと、払出制御部600にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、第1副制御部400および払出制御部600との通信を可能としている。なお、主制御部300と第1副制御部400および払出制御部600との情報通信は一方向の通信であり、主制御部300は第1副制御部400および払出制御部600にコマンド等の信号を送信できるように構成しているが、第1副制御部400および払出制御部600からは主制御部300にコマンド等の信号を送信できないように構成している。
<副制御部>
次に、パチンコ機100の第1副制御部400について説明する。第1副制御部400は、主に主制御部300が送信したコマンド等に基づいて第1副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種演出データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発振器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。なお、ROM406は、制御プログラムと各種演出データとを別々のROMに記憶させてもよい。
また、基本回路402には、スピーカ120(およびアンプ)の制御を行うための音源IC416と、各種ランプ418(例えば、チャンスボタンランプ138)の制御を行うための駆動回路420と、遮蔽装置246の駆動制御を行うための駆動回路432と、遮蔽装置246の現在位置を検出する遮蔽装置センサ430と、チャンスボタン136の押下を検出するチャンスボタン検出センサ426と、遮蔽装置センサ430やチャンスボタン検出センサ426からの検出信号を基本回路402に出力するセンサ回路428と、CPU404からの信号に基づいてROM406に記憶された画像データ等を読み出してVRAM436のワークエリアを使用して表示画像を生成して装飾図柄表示装置208に画像を表示するVDP434(ビデオ・ディスプレイ・プロセッサー)と、を接続している。また、VDP434は、ROM406に記憶されているシェーダプログラムを実行することによって、後述するキャラクターを構成する各オブジェクトのポリゴンの生成、テクスチャ画像をROM406から取り出して、各ポリゴンに貼り付ける処理、処理後の各ポリゴンを仮想空間の所定の座標に配置する処理等を行う。
なお、上記の駆動回路420は、後述するLEDユニット703のLEDの点灯又は非点灯の制御も行う。
次に、パチンコ機100の第2副制御部500について説明する。第2副制御部500は、第1副制御部400が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第2副制御部500の全体を制御する基本回路502を備えており、この基本回路502は、CPU504と、一時的にデータを記憶するためのRAM508と、各種デバイスの入出力を制御するためのI/O510と、時間や回数等を計測するためのカウンタタイマ512を搭載している。基本回路502のCPU504は、水晶発振器514が出力する所定周期のクロック信号をシステムクロックとして入力して動作し、第2副制御部500の全体を制御するための制御プログラム及びデータ、画像表示用のデータ等が記憶されたROM506が設けられている。
また、基本回路502には、演出可動体224の駆動制御を行うための駆動回路516と、演出可動体224の現在位置を検出する演出可動体センサ424と、演出可動体センサ424からの検出信号を基本回路502に出力するセンサ回路518と、遊技盤用ランプ532の制御を行うための遊技盤用ランプ駆動回路530と、遊技台枠用ランプ542の制御を行うための遊技台枠用ランプ駆動回路540と、遊技盤用ランプ駆動回路530と遊技台枠用ランプ駆動回路540との間でシリアル通信による点灯制御を行うシリアル通信制御回路520と、を接続している。
<払出制御部、発射制御部、電源管理部>
次に、パチンコ機100の払出制御部600、発射制御部630、電源管理部660について説明する。
払出制御部600は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置152の払出モータ602を制御すると共に、払出センサ604が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部606を介して、パチンコ機100とは別体で設けられたカードユニット608との通信を行う。
発射制御部630は、払出制御部600が出力する、発射許可または停止を指示する制御信号や、球発射ハンドル134内に設けた発射強度出力回路が出力する、遊技者による球発射ハンドル134の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆146および発射槌148を駆動する発射モータ632の制御や、上皿126から発射装置110に球を供給する球送り装置634の制御を行う。
電源管理部660は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、第1副制御部400等の各制御部や払出装置152等の各装置に供給する。さらに、電源管理部660は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えば、コンデンサ)を備えている。なお、本実施形態では、電源管理部660から払出制御部600と第2副制御部500に所定電圧を供給し、払出制御部600から主制御部300と第2副制御部500と発射制御部630に所定電圧を供給しているが、各制御部や各装置に他の電源経路で所定電圧を供給してもよい。
<図柄の種類>
次に、図5(a)〜(c)を用いて、パチンコ機100の第1特別図柄表示装置212、第2特別図柄表示装置214、装飾図柄表示装置208、普通図柄表示装置210が停止表示する特図および普図の種類について説明する。図5(a)は特図の停止図柄態様の一例を示したものである。
第1特図始動口230に球が入球したことを第1始動口センサが検出したことを条件として特図1変動遊技が開始され、第2特図始動口232に球が入球したことを第2始動口センサが検出したことを条件として特図2変動遊技が開始される。特図1変動遊技が開始されると、第1特別図柄表示装置212は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図1の変動表示」を行う。また、特図2変動遊技が開始されると、第2特別図柄表示装置214は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図2の変動表示」を行う。これらの「特図1の変動表示」および「特図2の変動表示」が本発明にいう図柄の変動表示の一例に相当する。そして、特図1の変動開始前に決定した変動時間(本発明にいう変動時間が相当)が経過すると、第1特別図柄表示装置212は特図1の停止図柄態様を停止表示し、特図2の変動開始前に決定した変動時間(これも本発明にいう変動時間が相当)が経過すると、第2特別図柄表示装置214は特図2の停止図柄態様を停止表示する。したがって、「特図1の変動表示」を開始してから特図1の停止図柄態様を停止表示するまで、あるいは「特図2の変動表示」を開始してから特図2の停止図柄態様を停止表示するまでが本発明にいう図柄変動停止表示の一例に相当し、以下、この「特図1又は2の変動表示」を開始してから特図1又は2の停止図柄態様を停止表示するまでの一連の表示を図柄変動停止表示と称する。後述するように、図柄変動停止表示は複数回、連続して行われることがある。図5(a)には、図柄変動停止表示における停止図柄態様として「特図A」から「特図J」までの10種類の特図が示されている。同図においては、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
「特図A」は15ラウンド(15R)特別大当たり図柄であり、「特図B」は15R大当たり図柄である。本実施形態のパチンコ機100では、後述するように、特図変動遊技における大当りか否かの決定はハードウェア乱数の抽選によって行い、特別大当りか否かの決定はソフトウェア乱数の抽選によって行う。大当りと特別大当りの違いは、次回の特図変動遊技で、大当りに当選する確率が高い(特別大当り)か、低い(大当り)かの違いである。以下、この大当りに当選する確率が高い状態のことを特図高確率状態と称し、その確率が低い状態のことを特図低確率状態と称する。また、15R特別大当たり遊技終了後および15R大当たり遊技終了後はいずれも時短状態に移行する。時短については詳しくは後述するが、時短状態に移行する状態のことを普図高確率状態と称し、時短状態に移行しない状態のことを普図低確率状態と称する。15R特別大当たり図柄である「特図A」は、特図高確率普図高確率状態であり、15R大当たり図柄である「特図B」は、特図低確率普図高確率状態である。これらの「特図A」および「特図B」は、遊技者に付与する利益量が相対的に大きな利益量になる図柄である。
「特図C」は突然確変と称される2R大当たり図柄であり、特図高確率普図高確率状態である。すなわち、15Rである「特図A」と比べて、「特図C」は2Rである点が異なる。「特図D」は突然時短と称される2R大当たり図柄であり、特図低確率普図高確率状態である。すなわち、15Rである「特図B」と比べて、「特図D」は2Rである点が異なる。
「特図E」は隠れ確変と称される2R大当たり図柄であり、特図高確率普図低確率状態である。「特図F」は突然通常と称される2R大当たり図柄であり、特図低確率普図低確率状態である。これら「特図E」および「特図F」はいずれも、2Rであるとともに、時短状態に移行しない状態である。
「特図G」は第1小当たり図柄であり、「特図H」は第2小当たり図柄であり、何れも特図低確率普図低確率状態である。ここにいう小当たりは、2R時短無し大当たりと同じものに相当する。すなわち、この「特図G」、「特図H」は「特図F」と同じ状態であるが、両者では装飾図柄表示装置208に表示される演出が異なり、あえて、同じ状態でも「特図G」、「特図H」と「特図F」を設けておくことで、遊技の興趣を高めている。
また、「特図I」は第1はずれ図柄であり、「特図J」は第2はずれ図柄であり、遊技者に付与する利益量が相対的に小さな利益量になる図柄である。
なお、本実施形態のパチンコ機100には、15R特別大当たり図柄として「特図A」以外の図柄も用意されており、15R大当たり図柄等の他の図柄についても同様である。
図5(b)は装飾図柄の一例を示したものである。本実施形態の装飾図柄には、「装飾1」〜「装飾10」の10種類がある。第1特図始動口230または第2特図始動口232に球が入賞したこと、すなわち、第1特図始動口230に球が入球したことを第1始動口センサが検出したこと、あるいは第2特図始動口232に球が入球したことを第2始動口センサが検出したことを条件にして、装飾図柄表示装置208の左図柄表示領域208a、中図柄表示領域208b、右図柄表示領域208cの各図柄表示領域に、「装飾1」→「装飾2」→「装飾3」→・・・・「装飾9」→「装飾10」→「装飾1」→・・・の順番で表示を切り替える「装飾図柄の変動表示」を行う。そして、「特図B」の15R大当たりを報知する場合には、図柄表示領域208a〜208cに15R大当たりに対応する、同じ装飾図柄が3つ並んだ図柄組合せ(例えば「装飾1−装飾1−装飾1」や「装飾2−装飾2−装飾2」等)を停止表示する。「特図A」の15R特別大当たりを報知する場合には、同じ奇数の装飾図柄が3つ並んだ図柄組合せ(例えば「装飾3−装飾3−装飾3」や「装飾7−装飾7−装飾7」等)を停止表示する。
また、「特図E」の隠れ確変と称される2R大当たり、「特図F」の突然通常と称される2R大当たり、あるいは「特図G」の第1小当たり、「特図H」の第2小当たりを報知する場合には、「装飾1−装飾2−装飾3」を停止表示する。さらに、「特図C」の突然確変と称される2R大当たり、あるいは「特図D」の突然時短と称される2R大当たりを報知する場合には、「装飾1−装飾3−装飾5」を停止表示する。
一方、「特図I」の第1はずれ、「特図J」の第2はずれを報知する場合には、図柄表示領域208a〜208cに図5(b)に示す図柄組合せ以外の図柄組合せを停止表示する。
図5(c)は普図の停止表示図柄の一例を示したものである。本実施形態の普図の停止表示態様には、当たり図柄である「普図A」と、外れ図柄である「普図B」の2種類がある。普図始動口228を球が通過したことを上述のゲートセンサが検出したことに基づいて、普通図柄表示装置210は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図A」を停止表示し、普図変動遊技の外れを報知する場合には「普図B」を停止表示する。同図においても、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
<主制御部メイン処理>
次に、図6を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
上述したように、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)340を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割込によりリセットスタートしてROM306に予め記憶している制御プログラムに従って図6に示す主制御部メイン処理を実行する。
ステップSA01では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定(仮設定)、割込マスクの設定、I/O310の初期設定、RAM308に記憶する各種変数の初期設定、WDT314への動作許可及び初期値の設定等を行う。なお、本実施形態では、WDT314に、初期値として32.8msに相当する数値を設定する。
ステップSA03では、WDT314のカウンタの値をクリアし、WDT314による時間計測を再始動する。
ステップSA05では、低電圧信号がオンであるか否か、すなわち、電圧監視回路338が、電源管理部660から主制御部300に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップSA03に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップSA07に進む。なお、電源が投入された直後で未だ上記所定の値(9V)に達しない場合にもステップSA03に戻り、供給電圧がその所定の値以上になるまで、ステップSA05は繰り返し実行される。
ステップSA07では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割込処理を定期毎に実行するための周期を決める数値をカウンタタイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、第1副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
ステップSA09では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)には初期化処理(ステップSA13)に進む。
具体的には、最初に、電源基板に設けたRWMクリアスイッチ180を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップSA13に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)には、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップSA13に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップSA11に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップSA13に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップSA13に進む。
ステップSA11では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタの値を読み出し、スタックポインタに再設定(本設定)する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割込許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割込処理(後述)に分岐する直前に行った(ステップSA15、ステップSA17内の所定の)命令の次の命令から処理を再開する。また、図4に示す主制御部300における基本回路302に搭載されているRAM308には、送信情報記憶領域が設けられている。このステップSA11では、その送信情報記憶領域に、復電コマンドをセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部300のタイマ割込処理におけるステップSB33において、第1副制御部400へ送信される。
ステップSA13では、初期化処理を行う。この初期化処理では、割込禁止の設定、スタックポインタへのスタック初期値の設定(本設定)、RAM308の全ての記憶領域の初期化などを行う。さらにここで、主制御部300のRAM308に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部300の初期化処理(ステップSA13)が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部300のタイマ割込処理におけるステップSB33において、第1副制御部400へ送信される。
ステップSA15では、割込禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、および特図タイマ乱数値それぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割込許可の設定を行ってステップSA17に進む。
ステップSA17では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。主制御部300のRAM308には、0から127の範囲の値を取り得る第1特図予告抽選乱数値を生成する第1特図予告抽選乱数カウンタ、および同じく0から127の範囲の値を取り得る第2特図予告抽選乱数値を生成する第2特図予告抽選乱数カウンタが設けられている。このステップSA17では、これらのカウンタそれぞれの値を更新する。
主制御部300は、所定の周期ごとに開始するタイマ割込処理を行っている間を除いて、ステップSA15およびステップSA17の処理を繰り返し実行する。
<主制御部タイマ割込処理>
次に、図7を用いて、主制御部300のCPU304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
主制御部300は、所定の周期(本実施形態では約2msに1回)でタイマ割込信号を発生するカウンタタイマ312を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。
ステップSB01では、タイマ割込開始処理を行う。このタイマ割込開始処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップSB03では、WDT314のカウント値が初期設定値(本実施形態では32.8ms)を超えてWDT割込が発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施形態では、主制御部タイマ割込の周期である約2msに1回)リスタートを行う。
ステップSB05では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述の前面枠扉開放センサや内枠開放センサや下皿満タンセンサ等、また各種の球検出センサを含む各種センサ318の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前々回のタイマ割込処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
また、ステップSB05では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約2msという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップSB05では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して2回記憶されている場合には、入賞があったと判定する。図4に示す主制御部300のROM306には、入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)が記憶されている。このステップSB05では、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、一般入賞口226、可変入賞口234、第1特図始動口230、および第2特図始動口232への入球、または普図始動口228の通過があったと判定する。すなわち、これらの入賞口226、234やこれらの始動口230、232、228への入賞があったと判定する。例えば、一般入賞口226への入球を検出する一般入賞口センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口226へ入賞があったと判定し、以降の一般入賞口226への入賞に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口226への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部300のROM306には、入賞判定クリアパターン情報(本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報)が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。
ステップSB07およびステップSB09では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップSA15で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する、普図当選乱数値、特図1乱数値、および特図2乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。また、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。なお、本実施形態では特図1の乱数値を取得するためのカウンタと特図2の乱数値を取得するためのカウンタとを別に設けたが、同一のカウンタを用いてもよい。
ステップSB11では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。ここでは上記ステップSA17で行った演出用乱数値を生成するための乱数カウンタを更新する。したがって、特図1予告抽選乱数カウンタおよび特図2予告抽選乱数カウンタそれぞれの値は、このステップSB11で更新される。
ステップSB13では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置210に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、第1特別図柄表示装置212に図柄を変動・停止表示する時間を計時するための特図1表示図柄更新タイマ、第2特図表示装置214に図柄を変動・停止表示する時間を計時するための特図2表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップSB15では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口226、234や始動口230、232、228に入賞があった場合に、RAM308に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。
また、ステップSB17では、入賞受付処理を行う。ステップSB19では、払出要求数送信処理を行う。なお、払出制御部600に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に暗号化のための今回加工種別(0〜3)、およびビット0〜3に暗号化加工後の払出要求数を示すようにしている。
ステップSB21では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動表示の途中(上述する普図表示図柄更新タイマの値が1以上)における普図状態更新処理では、普通図柄表示装置210を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置210は普図の変動表示(普図変動遊技)を行う。
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、当たり図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、外れ図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯・消灯駆動制御を行う。また、主制御部300のRAM308には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯・消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置210は、当り図柄(図5(c)に示す普図A)および外れ図柄(図5(c)に示す普図B)いずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間(例えば500m秒間)、その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。
また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)における普図状態更新処理では、RAM308の設定領域に普図作動中を設定するとともに、所定の開放期間(例えば2秒間)、第2特図始動口232の羽根部材の開閉駆動用のソレノイド(332)に、羽根部材を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド332に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
また、所定の閉鎖期間が終了したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、RAM308の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果が外れであれば、後述するように、普図外れフラグがオンされる。この普図外れフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)における普図状態更新処理でも、RAM308の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップSB23に移行するようにしている。
ステップSB23では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口232の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置112に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
次いで、特図1および特図2それぞれについての特図状態更新処理を行うが、最初に、特図2についての特図状態更新処理(特図2状態更新処理)を行う(ステップSB25)。この特図2状態更新処理は、特図2の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図2変動表示の途中(上述の特図2表示図柄更新タイマの値が1以上)における特図2状態更新処理では、第2特別図柄表示装置214を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、第2特別図柄表示装置214は特図2の変動表示(特図2変動遊技)を行う。
また、主制御部300のRAM308には、15R大当りフラグ、2R大当たりフラグ、第1小当たりフラグ、第2小当たりフラグ、第1はずれフラグ、第2はずれフラグ、特図確率変動フラグ、および普図確率変動フラグそれぞれのフラグが用意されている。特図2変動表示時間が経過したタイミング(特図2表示図柄更新タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、15R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には図5(a)に示す特図A、15R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図B、2R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には特図C、2R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図D、2R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグはオンの場合には特図E、2R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグもオフの場合には特図F、第1小当たりフラグがオンの場合には特図G、第2小当たりフラグがオンの場合には特図H、第1はずれフラグがオンの場合には特図I、第2はずれフラグがオンの場合には特図Jそれぞれの態様となるように、第2特別図柄表示装置214を構成する7セグメントLEDの点灯・消灯駆動制御を行い、RAM308の設定領域に特図2停止表示中であることを表す設定を行う。この制御を行うことで、第2特別図柄表示装置214は、15R特別大当たり図柄(特図A)、15R大当たり図柄(特図B)、突然確変図柄(特図C)、突然時短図柄(特図D)、隠れ確変図柄(特図E)、突然通常図柄(特図F)、第1小当たり図柄(特図G)、第2小当たり図柄(特図H)、第1はずれ図柄(特図I)、および第1はずれ図柄(特図J)のいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図2停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図2が所定期間停止表示され、特図2変動遊技の結果が遊技者に報知される。また、RAM308に設けられた時短回数記憶部に記憶された時短回数が1以上であれば、その時短回数から1を減算し、減算結果が1から0となった場合は、特図確率変動中(詳細は後述)でなければ、時短フラグをオフする。さらに、大当り遊技中(特別遊技状態中)にも、時短フラグをオフする。
また、コマンド設定送信処理(ステップSB33)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に4Hを送信情報(一般情報)として追加記憶するとともに、変動表示を停止する図柄が特図2であることを示す特図2識別情報を、後述するコマンドデータに含める情報としてRAM308に追加記憶してから処理を終了する。
また、特図2変動遊技の結果が大当りであれば、後述するように、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング(特図2停止時間管理用タイマの値が1から0になったタイミング)における特図2状態更新処理では、RAM308の設定領域に特図2作動中を設定するとともに、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置208による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図2待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップSB33)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に5Hを送信情報(コマンド種別)として追加記憶する。
また、所定の入賞演出期間が終了したタイミング(特図2待機時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口234に所定球数(例えば10球)の遊技球の入賞を検出するまで。)可変入賞口234の扉部材の開閉駆動用のソレノイド(332)に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップSB33)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に7Hを送信情報(コマンド種別)として追加記憶する。
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口234の扉部材の開閉駆動用のソレノイド(332)に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップSB33)で一般コマンド大入賞口閉鎖設定送信処理を実行させるために上述の送信情報記憶領域に8Hを送信情報(コマンド種別)として追加記憶する。
また、この扉部材の開放・閉鎖制御を所定回数(本実施形態では15ラウンドか2ラウンド)繰り返し、終了したタイミングで開始する特図2状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置208による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、普図確率変動フラグがオンに設定されていれば、この大当たり遊技の終了と同時に、RAM308に設けられた時短回数記憶部に時短回数100回をセットするとともに、RAM308に設けられた時短フラグをオンする。なお、その普図確率変動フラグがオフに設定されていれば、時短回数記憶部に時短回数をセットすることもなく、また時短フラグをオンすることもない。ここにいう時短とは、特図変動遊技における大当りを終了してから、次の大当りを開始するまでの時間を短くするため、パチンコ機が遊技者にとって有利な状態になることをいう。この時短フラグがオンに設定されていると、普図高確率状態である。普図高確率状態では普図低確率状態に比べて、普図変動遊技に大当りすると、変動時間が短くなる可能性が高い。また、普図高確率状態の方が、普図低確率状態に比べて普図変動遊技の変動時間は短くなる。さらに、普図高確率状態では普図低確率状態に比べて、第2特別始動口232の一対の羽根部材の1回の開放における開放時間が長くなりやすい。加えて、普図高確率状態では普図低確率状態に比べて、一対の羽根部材は多く開きやすい。また、上述のごとく、時短フラグは、大当り遊技中(特別遊技状態中)にはオフに設定される。したがって、大当たり遊技中には、普図低確率状態が維持される。これは、大当たり遊技中に普図高確率状態であると、大当たり遊技中に可変入賞口234に所定の個数、遊技球が入球するまでの間に第2特図始動口232に多くの遊技球が入球し、大当たり中に獲得することができる遊技球の数が多くなってしまい射幸性が高まってしまうという問題があり、これを解決するためのものである。
さらに、コマンド設定送信処理(ステップSB33)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に6Hを送信情報(コマンド種別)として追加記憶する。
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、RAM308の設定領域に特図2非作動中を設定する。さらに、特図2変動遊技の結果が外れであれば、後述するように、はずれフラグがオンされる。このはずれフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング(特図2停止時間管理用タイマの値が1から0になったタイミング)における特図2状態更新処理でも、RAM308の設定領域に特図2非作動中を設定する。特図2非作動中の場合における特図2状態更新処理では、何もせずに次のステップSB27に移行するようにしている。
続いて、特図1についての特図状態更新処理(特図1状態更新処理)を行う(ステップSB27)。この特図1状態更新処理では、特図1の状態に応じて、上述の特図2状態更新処理で説明した各処理を行う。この特図1状態更新処理で行う各処理は、上述の特図2状態更新処理で説明した内容の「特図2」を「特図1」と読み替えた処理と同一であるため、その説明は省略する。なお、特図2状態更新処理と特図1状態更新処理の順番は逆でもよい。
ステップSB25およびステップSB27における特図状態更新処理が終了すると、今度は、特図1および特図2それぞれについての特図関連抽選処理を行う。ここでも先に、特図2についての特図関連抽選処理(特図2関連抽選処理)を行い(ステップSB29)、その後で、特図1についての特図関連抽選処理(特図1関連抽選処理)を行う(ステップSB31)。これらの特図関連抽選処理についても、主制御部300が特図2関連抽選処理を特図1関連抽選処理よりも先に行うことで、特図2変動遊技の開始条件と、特図1変動遊技の開始条件が同時に成立した場合でも、特図2変動遊技が先に変動中となるため、特図1変動遊技は変動を開始しない。また、装飾図柄表示装置208による、特図変動遊技の大当り判定の結果の報知は、第1副制御部400によって行われ、第2特図始動口232への入賞に基づく抽選の抽選結果の報知が、第1特図始動口230への入賞に基づく抽選の抽選結果の報知よりも優先して行われる。
ステップSB33では、コマンド設定送信処理を行い、各種のコマンドが第1副制御部400に送信される。なお、第1副制御部400に送信する出力予定情報は本実施形態では16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、大当りラウンド数指定コマンド、復電コマンド、FRAMクリアコマンドなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、特図確率変動フラグの値などを含み、大当りラウンド数指定コマンドの場合であれば特図確率変動フラグの値、大当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口230への入賞の有無、第2特図始動口232への入賞の有無、可変入賞口234への入賞の有無などを含む。
また、上述の一般コマンド回転開始設定送信処理では、コマンドデータにRAM308に記憶している、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値、特図1関連抽選処理および特図2関連抽選処理で選択したタイマ番号、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンドデータにRAM308に記憶している、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンドデータに、RAM308に記憶している、入賞演出期間中に装飾図柄表示装置208・各種ランプ418・スピーカ120に出力する演出制御情報、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンドデータに、RAM308に記憶している、演出待機期間中に装飾図柄表示装置208・各種ランプ423・スピーカ120に出力する演出制御情報、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンドデータにRAM308に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンドデータにRAM308に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。また、このステップSB33では一般コマンド特図保留増加処理も行われる。この一般コマンド特図保留増加処理では、コマンドデータにRAM308の送信用情報記憶領域に記憶している特図識別情報(特図1または特図2を示す情報)、予告情報(事前予告情報、偽事前予告情報、または事前予告無情報のいずれか)を設定する。
第1副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
ステップSB35では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路350に出力する。
ステップSB37では、デバイス監視処理を行う。このデバイス監視処理では、ステップSB05において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、前面枠扉開放エラーの有無または下皿満タンエラーの有無などを監視し、前面枠扉開放エラーまたは下皿満タンエラーを検出した場合に、第1副制御部400に送信すべき送信情報に、前面枠扉開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド332を駆動して第2特図始動口232や、可変入賞口234の開閉を制御したり、表示回路324、326、330を介して普通図柄表示装置210、第1特別図柄表示装置212、第2特別図柄表示装置214、各種状態表示部328などに出力する表示データ、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップSB19)で設定した出力予定情報を出力ポート(I/O310)を介して第1副制御部400に出力する。
ステップSB39では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップSB43に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップSB41に進む。
ステップSB41では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップSB01で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割込許可の設定などを行い、その後、図6に示す主制御部メイン処理に復帰する。
一方、ステップSB43では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、図6に示す主制御部メイン処理に復帰する。
<第1副制御部400の処理>
次に、図8を用いて、第1副制御部400の処理について説明する。なお、同図(a)は、第1副制御部400のCPU404が実行するメイン処理のフローチャートである。同図(b)は、第1副制御部400のコマンド受信割込み処理のフローチャートである。同図(c)は、第1副制御部400のタイマ割込処理のフローチャートである。同図(d)は、第1副制御部400の画像制御処理のフローチャートである。
まず、同図(a)のステップSC01では、各種の初期設定を行う。電源投入が行われると、まずSC01で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM408内の記憶領域の初期化処理等を行う。
ステップSC03では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップSC05の処理に移行する。
ステップSC05では、タイマ変数に0を代入する。ステップSC07では、コマンド処理を行う。第1副制御部400のCPU404は、主制御部300からコマンドを受信したか否かを判別する。ステップSC09では、演出制御処理を行う。例えば、SC07で新たなコマンドがあった場合には、このコマンドに対応する演出データをROM406から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。
ステップSC11では、チャンスボタンの押下を検出していた場合、ステップSC09で更新した演出データをチャンスボタンの押下に応じた演出データに変更する処理を行う。
ステップSC13では、同図(d)に示す画像制御処理(詳細は後述)を行う。
ステップSC15では、SC09で読み出した演出データの中に音源IC416への命令がある場合には、この命令を音源IC416に出力する。
ステップSC17では、SC09で読み出した演出データの中に各種ランプ418への命令がある場合には、この命令を駆動回路420に出力する。
ステップSC19では、SC09で読み出した演出データの中に遮蔽装置246への命令がある場合には、この命令を駆動回路426に出力する。
ステップSC21では、SC09で読み出した演出データの中に第2副制御部500に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、SC03へ戻る。
次に、同図(b)を用いて、第1副制御部400のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第1副制御部400が、主制御部300が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップSD01では、主制御部300が出力したコマンドを未処理コマンドとしてRAM408に設けたコマンド記憶領域に記憶する。
次に、同図(c)を用いて、第1副制御部400のCPU404によって実行する第1副制御部タイマ割込処理について説明する。第1副制御部400は、所定の周期(本実施形態では2msに1回)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
第1副制御部タイマ割込処理のステップSE01では、図8(a)に示す第1副制御部メイン処理におけるステップSC03において説明したRAM408のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップSC03において、タイマ変数の値が10以上と判定されるのは20ms毎(2ms×10)となる。
第1副制御部タイマ割込処理のステップSE03では、ステップSC21で設定された第2副制御部500への制御コマンドの送信や、演出用乱数値の更新処理等を行う。
次に、同図(d)を用いて、第1副制御部400のメイン処理におけるステップSC13の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。
ステップSF01では、画像データの転送指示を行う。ここでは、CPU404は、まず、VRAM436の表示領域Aと表示領域Bの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された1フレームの画像が装飾図柄表示装置208に表示される。次に、CPU404は、VDP434のアトリビュートレジスタに、位置情報等テーブルに基づいてROM座標(ROM406の転送元アドレス)、VRAM座標(VRAM436の転送先アドレス)などを設定した後、ROM406からVRAM436への画像データの転送開始を指示する命令を設定する。VDP434は、アトリビュートレジスタに設定された命令に基づいて画像データをROM406からVRAM436に転送する。その後、VDP434は、転送終了割込信号をCPU404に対して出力する。
ステップSF03では、VDP434からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップSF05に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップSF05では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、CPU404は、ステップSF01でVRAM436に転送した画像データに基づいてVRAM436の表示領域AまたはBに表示画像を形成するために、表示画像を構成する画像データの情報(VRAM436の座標軸、画像サイズ、VRAM座標(配置座標)など)をVDP434に指示する。VDP434はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。
ステップSF07では、描画指示を行う。この描画指示では、CPU404は、VDP434に画像の描画開始を指示する。VDP434は、CPU404の指示に従ってフレームバッファにおける画像描画を開始する。
ステップSF09では、画像の描画終了に基づくVDP434からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップSF11に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップSF11では、RAM408の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント(+1)して処理を終了する。
<オブジェクト>
次に、図9を用いてオブジェクトについて説明する。同図(a)は人間のキャラクターのオブジェクトであり、同図(b)は人間のキャラクターの頭オブジェクト(顔オブジェクトと言うこともある)であり、同図(c)は人間のキャラクターの眼オブジェクトである。なお、同図(a)〜(c)の各オブジェクトは、実際には複数のポリゴン(1又は複数のプリミティブの集合)が組み合わされて形成された3次元のCG画像である。具体的には、CPU404の指令に基づいて、VDP434がROM406から所定のデータ(頂点データやテクスチャデータ)を取り出して、頂点シェーダ処理、ラスタライザ処理及びピクセルシェーダ処理等の各処理を行うことで、頂点データを変換して所定のオブジェクトを仮想空間に配置する。なお、これらの処理は、VDP434が、ROM406に記憶されているシェーダプログラムを実行することによって行うことができる。
なお、以下、人間のキャラクターオブジェクト、頭オブジェクト、眼オブジェクト、瞳オブジェクトを、それぞれ単にキャラクター、頭、眼、瞳と省略して言うことがある。また、眼オブジェクト、瞳オブジェクトの縦方向や横方向と言う時には、キャラクターオブジェクト(または頭オブジェクト)を正面側から見た場合の上下方向又は左右方向を意味するものとする。
図9(a)に示されるキャラクター700は、頭オブジェクト720、眼オブジェクト740、胴体オブジェクト760、腕オブジェクト780、脚オブジェクト790など複数のオブジェクトが組み合わされることで表示される。
同図(b)に示されるように、頭オブジェクト720は、キャラクター700の両眼(眼窩)に相当する部分に透明な窓部722を有している。具体的には、頭オブジェクト720の窓部722を構成する各ピクセルの色情報の中のアルファ値を0〜1(本実施形態では0)に設定することにより、透明から不透明まで複数段階で設定することができる。
また同図(c)に示されるように、本実施形態において、眼オブジェクト740は、円柱状(筒状)のオブジェクトであり、円柱の第1の方向の曲率(例えば、本実施形態で示されるように円柱の場合には第1の曲率は、1/r1となる)は、第1の方向と直交する第2の方向の曲率(例えば、本実施形態で示されるように円柱の場合には第2の曲率は、1/r2となる)と異なるように形成されている。なお、本実施形態では、第1の曲率(1/r1)よりも第2の曲率(1/r2)の方が大きく、実際には、第1の曲率半径は0で、円柱の長手(縦)方向は直線になっている。なお、本明細書で説明する実施形態のように、眼オブジェクトが円柱(円)の場合の曲率は、上記のように1/r1又は1/r2として表せるが、その他の曲線の曲率は一般的な曲率の定義によって表すことができる。
眼オブジェクト740の表面の特定の位置(本実施形態では円柱の側面の略中心)には瞳画像742が表示されている。具体的には、まず、頂点シェーダにより、眼オブジェクトに貼り付ける瞳画像742を所定のテクスチャ画像から取り出す(切り出す)。そして、ピクセルシェーダのテクスチャマッピングによって、眼オブジェクト740の特定の位置(例えば、円柱の側面の略中心)の各ポリゴンの色に対応する座標の瞳画像742の色を混合することにより、眼オブジェクト740の側面に瞳画像742のテクスチャが貼り付けられる。これにより、眼オブジェクト740の側面の特定の位置に瞳画像742を貼り付けたように表示することができる。なお、詳細は後述するが、瞳画像742を複数のポリゴンが集合して形成した瞳オブジェクトとし、その瞳オブジェクトを眼オブジェクト740の上(前面)に重ねて表示するようにしても好ましい。また、眼オブジェクト740として瞳の部位を作成しても良い。
なお、図10(a)に示されるように、本実施形態では、頭オブジェクト740の窓部722の各ピクセルの色情報のアルファ値を0に設定することにより、窓部722を透明にすることにより、窓部722を通して、窓部722の裏面に配置される眼オブジェクト740の瞳画像742を露出するようにしている。しかし、窓部722から瞳画像742を露出できるものであれば、上記の方法に限定されるものではない。例えば、頭オブジェクト740の窓部722を開口にしたオブジェクトモデルとしても良く、または眼オブジェクト740をそのまま収容できるような窪み(凹部)が形成されたオブジェクトモデルとしても好ましい。窓部722を開口にした頭オブジェクトでは、開口を通して開口の奥(頭オブジェクトの内部)に配置される眼オブジェクト740の瞳画像742を露出させることができる。また、窓部722を窪みとした頭オブジェクトでは、窪みの中に眼オブジェクトを配置し、窪みの開口から眼オブジェクト740の瞳画像742を露出させることができる。
なお、同図(b)に示されるように、本実施形態において、キャラクター700の眼は横幅よりも縦幅が長い縦長の筒状オブジェクトで表現される。そして、キャラクター700の眼を表示する眼オブジェクト740は、縦長の円筒状のオブジェクトを使用し、円筒を立てた状態で頭オブジェクト720の内部に配置している。上記のように、本実施形態では円筒状の眼オブジェクト740を立てた状態で窓部722の裏面に配置し、円筒状の表面に貼り付けた瞳画像742を窓部722から露出するようにしているが、頭オブジェクト720の窓部722と眼オブジェクト740の配置関係は上記に限定されるものではない。例えば、キャラクターの種類(表情)により、円筒状の眼オブジェクトを上記と異なる大きさや形状(例えば、楕円の筒状や筒の中心軸方向に対して並行に切断した半筒状)にしても良く、また、眼オブジェクト740の仮想空間への配置位置を頭オブジェクト720の窓部722から少し離した奥部や、反対に表面に近い方向に配置するようにしても良い。
次に、図11を用いて眼オブジェクトの動きと瞳画像のマッピングについて説明する。同図(a)は眼オブジェクトと瞳画像の縦方向の動きを示す斜視図であり、同図(b)は眼オブジェクトと瞳画像の横方向の動きを示す斜視図であり、(c)は瞳画像の眼オブジェクトへのマッピングのイメージ図である。
まず、瞳画像742を縦方向に移動させる場合について説明する。図11(a)に示されるように、眼オブジェクト740は、第1の方向の曲率(第1の曲率(1/r1))により形成される仮想円の中心を中心軸J1として回転する。本実施形態では、眼オブジェクト740は円柱形状であり、第1の方向の曲率半径は0(直線)であるので、第1の曲線の曲率により形成される仮想円は描けない。この場合、眼オブジェクト740は、円柱の中心軸J1の軸(上下)に平行に直線移動する。これにより、眼オブジェクト740の表面に貼り付けられている瞳画像742も一緒に、中心軸J1に平行に直線移動する。
次に、瞳画像742を横方向に移動させる場合について説明する。同図(b)に示されるように、眼オブジェクト740は、第2の方向の曲率(第2の曲率(1/r2))により形成される仮想円S1の中心を回転軸として回転する。つまり、眼オブジェクト740が円柱の中心軸J1を回転中心として回転することによって、瞳画像742は、眼オブジェクト740の周(左右)方向に移動する。
次に、瞳画像742を眼オブジェクト740にマッピングする手法について説明する。具体的には、同図(c)に示されるように、まずVDP434は、頂点シェーダ処理、ラスタライザ処理、ピクセルシェーダ処理を順番に行うことにより、瞳の模様(テクスチャ)が描かれた画像(例えばビットマップ画像)から瞳画像742となる部分を切り出し、それを眼オブジェクト740の特定の位置(ポリゴン)に貼り付ける。この、テクスチャをポリゴンに貼り付けることをUVマッピングまたはテクスチャマッピングと言う。上記の模様(テクスチャ)が描かれた画像はビットマップデータや、その他のフォーマットの画像データが使用できる。
次に、第2実施形態に係る眼オブジェクトと瞳画像について説明する。第2実施形態に係る眼オブジェクトは、中心軸J1と平行に切断した半円柱(半筒)状であるところに特徴がある。なお、他のオブジェクトやテクスチャマッピング方法等は第1実施形態に係る眼オブジェクト及び瞳画像と同じであるので、同一の番号を付し詳細な説明は省略する。
本実施形態に係る眼オブジェクト800は、上記のように円柱を長手方向に切断し、半円柱状に形成されたオブジェクトである。眼オブジェクト800の表面の特定の位置(例えば、表面の中心)には、瞳画像742(テクスチャ)が貼り付けられている。
第1実施形態と同様、同図(a)に示されるように、眼オブジェクト800の第1の方向(半円柱の長手方向)の曲率(1/r1)よりも第2の方向(長手方向と直交する方向)の曲率(1/r2)の方が大きくなっている(曲率半径r1は0(直線))。
眼オブジェクト800は、第2の方向の曲率(1/r2)により形成される仮想円S2の中心軸J2を回転中心として回転する。つまり、眼オブジェクト800を回転軸J2を回転中心として右回転(上側から見て時計回りに回転)させることにより、瞳画像742も眼オブジェクト800と共に回転して左方向に移動する(同図(b)参照)。反対に眼オブジェクト800を回転軸J2を回転中心として左回転(上側から見て反時計まわりに回転)させることにより、瞳画像742も眼オブジェクト800と共に回転して右方向に移動する(同図(b)参照)。これにより、キャラクター800の瞳が左右方向に動いたように表示できる。
なお、眼オブジェクト800を第1の方向により形成される仮想円の中心軸を回転中心として回転させることにより、半円柱の長手方向に移動させることができる。本実施形態では、第1の方向の曲率半径(r1)は0であるので、仮想円は形成されず、回転軸J2の軸(上下)と平行方向に移動する。これにより、眼オブジェクト800は回転軸J2の軸方向に平行移動するとともに、眼オブジェクト800の貼り付けられた瞳画像742も軸と平行方向に移動し、キャラクター700の瞳が上下方向に動いたように表示できる。
次に、図13を用いて、第3実施形態に係る眼オブジェクトと瞳オブジェクトについて説明する。第3実施形態は、眼オブジェクトに瞳画像のテクスチャを貼り付けるのではなく、ポリゴンで形成した瞳オブジェクトを仮想空間に配置するところに特徴がある。なお、第3実施形態の眼オブジェクト740は第1実施形態の眼オブジェクト740と同一なので同一の番号を付し詳細な説明は省略する。
瞳オブジェクト900は、眼オブジェクト740と同様に複数のポリゴン(1又は複数のプリミティブの集合)が組み合わされて形成され、演出装置206の装飾図柄表示装置208に表示されるCG画像である。このように、瞳オブジェクト900を眼オブジェクト740と別個のポリゴンで生成することにより、瞳オブジェクト900と眼オブジェクト740を個別に動かすことができる。
例えば、図13(a)に示されるように、瞳オブジェクト900を左右方向に移動させる場合には、眼オブジェクト740を眼オブジェクト740の中心軸J1を回転中心として回転させることによって、眼オブジェクト740の回転に合わせて瞳オブジェクト900も回転させる。このようにすることによって、キャラクター700の瞳が違和感なく左右に移動したように表示できる。なお、眼オブジェクト740は回転させずに、瞳オブジェクト900のみを中心軸J1を回転中心として回転させても良い。
また、瞳オブジェクト900を上下方向に移動させる場合、眼オブジェクト740は仮想空間に固定配置し、瞳オブジェクト900のみを、眼オブジェクト740の表面に沿って中心軸J1の軸と平行に移動させる。このようにして瞳オブジェクト900を上下方向に移動させることができる。このようにすることによって、第1、2実施形態のように眼オブジェクト740自体を上下移動させる場合に比べ、上下移動に必要な空間を小さくすることができる。したがって、窓部722の奥方に眼オブジェクト740が配置できれば、その中で瞳オブジェクト900を上下移動することができ、キャラクターの表情や顔の大きさ等によっては非常に有効な場合がある。もちろん、瞳オブジェクト900と眼オブジェクト740を同時または別々に上下移動させることによって、より表情豊かな画像を作ることもできる。
上記のように、眼オブジェクト740と瞳オブジェクト900を別個のオブジェクトとすることによって、オブジェクト毎に別々に移動させることが可能となり、より複雑で表情豊かな画像にすることができる。
次に図14を用いて第4実施形態に係る瞳オブジェクトへのテクスチャマッピングの一例について説明する。第4実施形態は、瞳オブジェクト1000に法線テクスチャと色彩テクスチャ(カラーテクスチャと言うこともある)の2枚のテクスチャ画像を張り付けることによって、瞳の明るさを顔の他の部位(例えば、頬や額、鼻等)の明るさと異なるように設定でき、より自然なキャラクターの表情を作ることができるところに特徴がある。また、瞳オブジェクト1000は、配置されるオブジェクト(本実施形態では、眼オブジェクト740)の表面形状に合わせて変形させた形状(例えば、眼オブジェクト740の第2の方向の曲率半径r2と同じ曲率半径を有する形状)にしているため、例えば、眼オブジェクトに配置された場合に違和感がなく自然な瞳の動き実現することができる。
図14(a)に示されるように、法線テクスチャ1100は、光源からの光による瞳の明るさを表現したビットマップデータであり、色彩テクスチャ1200は、瞳の基本色による基本図を描いたビットマップデータである。
この法線テクスチャ1100と色彩テクスチャ1200を瞳オブジェクト1000にマッピングする。具体的には、まず、瞳オブジェクト1000に瞳の基本図となる色彩テクスチャ1200を貼り付け、さらにその上に法線テクスチャ1100を貼り付ける処理をおこなう。このように1のオブジェクトに複数のテクスチャを貼り付ける処理のことをマルチテクスチャマッピングと言う。なお、法線とは、光源から発せられた光の当たる面の向きのことを言う。また、法線テクスチャはキャラクターの右目用と左目用の両方を別々に設け、左右の瞳オブジェクトにそれぞれ貼り付けるようにするのが好適であるが、例えば、左目用の法線テクスチャを用意し、左目用の法線テクスチャを左右反転させて右目用の法線テクスチャを作成しても良い。
また、同図(b)に示されるように、瞳オブジェクト1000は、瞳オブジェクト1000が配置される部位の表面形状に合う形状に形成されている。本実施形態では、眼オブジェクト740の円柱状の表面の曲率(例えば、第2の方向の曲率1/r2)に合わせて、瞳オブジェクト1000も同じ曲率(1/r2)を有して形成されている。このように、眼オブジェクト740の表面形状に合わせて瞳オブジェクト1000の形状を形成して動かすため、より自然な瞳の動きを行うことができる。
同図(c)に示されるように、法線テクスチャ1100は、光源からの光の方向(ベクトル)によってできる明るさや陰影を表現する画像である。例えば、右下から光が当たっている場合には、同図(c)のように、右側から左側への光のベクトルと下側から上側への光のベクトルによって、概ね楕円形状の右下が明るく左上が暗くなるような法線テクスチャが設定される。このように、頭の他の部位とは別個に瞳の法線テクスチャを設定することによって、光源との位置関係を考慮してより自然な瞳の明るさ(輝き)を表現することができる。なお、前述したように、法線テクスチャは左右両目別々に用意するのが好適であるが、一方の眼の法線テクスチャのみを生成し、その法線テクスチャを反転させて他方の眼の法線テクスチャとして利用しても好ましい。このようにすることで、少ない法線テクスチャデータで多彩な瞳の表現を行うことができる。
図15(a)(b)を用いて、第5実施形態に係る眼オブジェクトのテクスチャマッピングの一例を説明する。第5実施形態に係る眼オブジェクト740は、複数のテクスチャを貼り付けて眼オブジェクトの表現を多彩にしているところに特徴がある。例えば、眼(いわゆる白眼)の毛細血管を表すテクスチャを張り付けたり、眼の部位の光の明るさを表すテクスチャを貼り付けることによって眼の質感を多彩に表現できる。なお、眼オブジェクト740は第1実施形態に係る眼オブジェクト740と同一であるので、同じ番号を付し、詳細な説明は省略する。
まず、同図(a)に示すように、法線テクスチャ1300は、光源からの光による眼の明るさをグラデーションで表現したビットマップデータであり、色彩テクスチャ1400は、眼の基本色により基本図を描いたビットマップデータである。例えば、色彩テクスチャ1400には、眼の毛細血管等が詳細に描かれている。
この法線テクスチャ1300と色彩テクスチャ1400を眼オブジェクト740にマッピングする。具体的には、まず、眼オブジェクト740に眼の基本図となる色彩テクスチャ1400を貼り付け、さらにその上に法線テクスチャ1300を貼り付ける処理を行う。また、第4実施形態と同様に、法線テクスチャはキャラクターの右目用と左目用の両方を別々に設け、左右の眼オブジェクトにそれぞれ貼り付けるようにするのが好適であるが、例えば、左目用の法線テクスチャを用意し、左目用の法線テクスチャを左右反転させて右目用の法線テクスチャを作成して利用しても良い。なお、キャラクターの環境(光源からの位置や距離、配置する場所)によって眼オブジェクト740の色彩テクスチャ1400、法線テクスチャの両方またはいずれか1方は無くても良い場合がある。例えば、光源からの距離が遠い位置にキャラクターを配置する場合、眼の表面の血管は見えなくてもよく、この場合には、テクスチャデータを少なくし、VDP434のマッピング処理負担を軽くするため色彩テクスチャ1400を省略することが好ましい。
また、同図(b)に示されるように、法線テクスチャ1300は、光源からの光の方向(ベクトル)によってできる明るさや陰影を表現する画像である。例えば、右下から光が当たっている場合には、同図(b)のように、右側から左側への光のベクトルと下側から上側への光のベクトルによって、右下が明るく左上が暗くなるような法線テクスチャが設定される。このように、法線テクスチャを設定することによって、より自然な瞳の輝きを表現することができる。なお、前述したように、法線テクスチャは左右両目別々に用意するのが好適であるが、一方の眼の法線テクスチャのみを生成し、その法線テクスチャを反転させて他方の眼の法線テクスチャとして利用しても好ましい。このようにすることで、少ない法線テクスチャデータで多彩な瞳の表示を行うことができる。また、光の方向ベクトルは対称でなくてもよい。例えば、同図(b)の下側から上側に向かう法線のベクトルは、左右非対称となっている。
また、上記の法線テクスチャや色彩テクスチャは眼オブジェクトの全周に貼り付けられる必要はなく、眼オブジェクトの一部(例えば、前面側180°の範囲)に貼り付けられるようにしても好ましい。これはキャラクターの眼オブジェクトの動きが少ない場合に、眼オブジェクトの一部にのみ法線テクスチャや色彩テクスチャを貼り付けるようにすることで、テクスチャの画像データ量を少なくすることができ、VDP434のマッピング処理負担を軽減することができる。
また、瞳の移動は、図16に示されるように、瞳オブジェクトのみを左右に移動するようにしても良い。同図(a)〜(c)は、第4実施形態に示す眼オブジェクト740と瞳オブジェクト1000の動きの一例を上方から見た図である。
眼オブジェクト740は仮想空間に固定配置しておく。そして、瞳オブジェクト1000のみを眼オブジェクト740の表面形状に沿って左右に移動させる(同図(a)参照)。具体的には、眼オブジェクト740は仮想空間に固定配置した状態で、眼オブジェクト740の第2の方向の曲率1/r2により形成される仮想円S1の中心軸J1を回転軸として、瞳オブジェクト1000を右回りに回転させると、瞳オブジェクト1000は左側に移動する(同図(b)参照)。一方、眼オブジェクト740の第2の方向の曲率1/r2により形成される仮想円S1の中心軸J1を回転軸として、瞳オブジェクト1000を左回りに回転させると、瞳オブジェクト1000は右側に移動する(同図(c)参照)。これにより、眼オブジェクト740は一定の表示だけをさせておき、瞳だけを素早く且つ広い範囲で移動することができ、キャラクターの顔や眼の大きさ等に合わせて、眼の表情を多彩に表現することができる。
図17(a)は第6実施形態に係る瞳オブジェクトの一例を上側から見た図であり、同図(b)は、第7実施形態に係る眼オブジェクトの配置の一例である。
瞳オブジェクトは、同図(a)に示されるように、板状のオブジェクト1500でも良い。キャラクターの眼(瞳)が小さい場合には、遊技者は、キャラクターの瞳が板状であるということに気が付き難く、瞳を違和感がなく表現できる。また、このように瞳オブジェクトを板状にすることによって、ポリゴン数を減らしオブジェクトを簡易化することができる。
また、同図(b)に示されるように、キャラクターの顔や眼の形状によっては、上記実施形態の円柱状の眼オブジェクト740の長手方向を横向きにして配置しても好ましい。例えば、キャラクターの眼の形状が横長の場合には、このように眼オブジェクト740の長手方向を横向きにして配置して利用することができる。
また、図18(a)に示されるように、瞳(瞳画像または瞳オブジェクト)に光源の光によるハイライト処理を施しても好ましい。具体的には、光源からの光による眼の反射光テクスチャ1600を眼オブジェクト740の形状に合わせて光源方向からマッピング(環境マッピング)する。つまり、眼オブジェクト740とその上に貼り付けられた瞳画像(テクスチャ)の上からさらに、眼オブジェクト740の表面形状(周方向)に沿って光源方向から反射光テクスチャ1600を環境マッピングする。
同図(b)に示されるように、上記のように光源方向から反射光テクスチャ1600を眼オブジェクト740に環境マッピングすることにより、瞳画像742(または瞳オブジェクト)の中心からずれた任意の位置に反射光1620を貼り付けることができ、より自然な眼の輝きを表現することができる。また、前述の実施形態で説明したように、眼オブジェクト740とは個別に配置及び移動させることができる瞳オブジェクトを配置した場合、眼オブジェクト740を固定配置し、瞳オブジェクトを縦方向または横方向に移動した場合でも反射光テクスチャ1600の反射光1620(ハイライト)は同じ位置に表示される。これにより、瞳のハイライトは常に光源方向から当たっているように表現することができる。
次に図19を用いて、眼オブジェクトに各種テクスチャをマッピングしたCG画像について説明する。同図(a)は眼オブジェクトに色彩テクスチャと法線テクスチャをマルチテクスチャマッピングしたCG画像の一例であり、同図(b)は眼オブジェクトに色彩テクスチャと法線テクスチャと反射光テクスチャを環境マッピングしたCG画像の一例である。
まず、同図(a)は、眼オブジェクト740にマルチテクスチャマッピングにより色彩テクスチャ(瞳画像742)を貼り付け、さらにその上から法線テクスチャ1300を貼り付けたCG画像である。法線テクスチャ1300によって、眼オブジェクト740に縦方向の光の線が貼り付けられている。
そして、同図(b)は、同図(a)の画像にさらに反射光テクスチャ1600を環境マッピングにより貼り付けたCG画像である。眼オブジェクト740全体に光源方向からのに反射光1620が貼り付けられ、光源との位置関係による眼のハイライト表現がより自然になっている。
図20は、上記に説明した眼オブジェクト740に色彩テクスチャ742、法線テクスチャ1300、反射光テクスチャ1600を環境マッピングし、マッピング後の眼オブジェクト740をキャラクターの頭オブジェクト720の窓部722の奥方に配置した一例である。眼オブジェクト740は、円柱状の長手方向を縦にして配置されている。
前述したように、頭オブジェクト720の窓部720(眼窩)は開口、又は窪み又は透明(眼窩部を形成するポリゴンの色情報のアルファ値0)になっている。したがって、頭オブジェクト720の窓部722から眼オブジェクト740の一部と瞳画像742が露出して見えている。本実施形態の眼オブジェクト740は、右目と左目で各種テクスチャを別々に用意してマッピングしており、より自然な眼を表現している。一方、前述したように、どちらか一方の眼の各種テクスチャだけ用意し、他方の眼には左右反転したテクスチャを用いても好ましい。
また、上記実施形態において、眼オブジェクトを円柱状(円筒状)としたがこれに限定されるものではない。図21を用いて、眼オブジェクトが他の形状の場合について説明する。図21の左欄は、頭オブジェクト720を上側から見た図であり、同図右欄は、頭オブジェクト720を側面から見た図である。
例えば、図21の上段に示されるように球状(または半球状)の眼オブジェクト1700としても良い。しかし、眼オブジェクト1700の曲率が窓部722を形成する曲面の曲率よりも小さい場合、眼オブジェクト1700の配置位置が難しい。具体的には、眼オブジェクト1700が窓部722の表面近傍に配置(右欄上段のA位置)されると、眼が飛び出た印象になってしまう。一方、眼オブジェクト1700が奥方に配置(右欄上段のB位置)されると、眼オブジェクト1700と窓部722の間に隙間が空いてしまい、頭オブジェクト720の内部が見えてしまうという問題がある。このように、眼オブジェクトを球状(または半球状)にした場合、キャラクターの眼(窓部722)の大きさの影響を直に受けてしまい、眼オブジェクトの直径を大きくしなければならない。また、頭オブジェクト720を少し動かす場合でも、眼オブジェクト1700全体を頭オブジェクト720に追従させて動かさないと、上記のように眼オブジェクト1700と窓部722の間に隙間ができてしまうので、頭オブジェクトの720の動きに合わせて眼オブジェクト1700を細かく動かす必要がある。
また、図21の中段に示されるように楕円状(または半楕円状)の眼オブジェクト1800としてもよい。しかし、このように楕円状では、場所によって曲率が異なり、眼オブジェクト1800を動かした場合、眼オブジェクト1800を違和感なく動かすのが難しい(違和感なく動かすには、細かく複雑な動きが必要)。
また、図21の下段に示されるように頭オブジェクト720の窓部722の曲率よりも大きな曲率の仮想円状に眼オブジェクト1900を形成しても良い。この場合、眼オブジェクト1900の曲率を窓部722の曲率よりも大きくすると、キャラクターの眼の大きさによって、眼オブジェクトの曲率も大きくしなければならない。また、僅かな距離でも頭オブジェクト720を動かした場合、窓部722から眼オブジェクト1900が飛び出てしまう可能性が高く、頭オブジェクト720の僅かな動きに対しても細かく動かさないといけない。
上記のような理由から、眼オブジェクトの形状は円柱状(または半円柱状)が好適である。
次に、図22を用いて、オブジェクトとテクスチャのデータ構造について説明する。同図は、VRAM436に記憶されている各種データのデータ構造の概念図である。VDP434は、ROM406から適宜必要なデータを取り出して、ポリゴンを作成したり、マッピング等の処理を行う。
まず、ROM406には、モデルデータとして、光源(ライト)の位置、色、明るさ等のデータ、人物データが記憶されている。人物データは、キャラクター700を構成する頭オブジェクト、眼(眼球)オブジェクト、瞳オブジェクト、胴体オブジェクト、腕オブジェクト、脚オブジェクト等各種オブジェクトを形成するためのポリゴンデータが記憶されている。各ポリゴンデータはさらに、各ポリゴンを構成する三角形のプリミティブを形成する複数の頂点データ(頂点データはリスト化され頂点バッファとして記憶されている)から構成されている。VDP434は、頂点シェーダにより、この複数の頂点データを変換することにより、所定のポリゴンを形成する。
例えば、光源と、複数のポリゴンから形成されるキャラクターを仮想空間に配置することによって、光源とキャラクターの位置関係や距離からキャラクターの各ポリゴン(具体的にはポリゴンを形成する頂点データ)への影響を計算し、その影響に応じて各頂点データを変換する。
また、ROM406には、色彩テクスチャ(カラーマップテクスチャ)、法線マップテクスチャ、環境マップテクスチャ等の複数のテクスチャデータを記憶している。テクスチャデータはビットマップデータを使用するが、画像データであればその他のフォーマットデータでも良い。VDP434は、上記の各オブジェクトに対し、必要なテクスチャを取り出してマッピングする(貼り付ける)
次に、図23を用いて、VDP434が行う処理について説明する。
まず、ステップSG01では、各ポリゴンを構成するプリミティブの頂点データの座標変換を行う。具体的には、ROM406に記憶されている頂点バッファの各頂点を仮想空間のどの座標(X、Y、Z)へ描画するかを決定する。
ステップSG03では、各頂点の色をどのような色で表示するかを決定する。各頂点の色情報は、R(赤)、G(緑)、B(青)の三色と、A(アルファ値)によって決定される。ここでは、アルファ値を設定(設定範囲0〜1)することで、頂点に対応するピクセル毎に透明(アルファ値0)から不透明(アルファ値1)までを段階的に設定することができる。この座標変換処理(SG01)と頂点の色決定(SG03)は頂点シェーダと言われる。
ステップSG05では、レンダリング処理を行う。具体的には、ステップSG01〜SG03の処理が終了した各頂点データからポリゴンを構成するプリミティブ(三角形)を1つずつ作り、その三角形をピクセルで塗りつぶす処理を行う(ラスタライザと言うことがある)。また、ROM406に記憶されている各種テクスチャの模様と各ピクセルの色を混合(各ピクセルにテクスチャを貼り付ける)し、その後、各種ピクセルテスト(例えば、アルファテスト、テンシルテスト、深度テスト)を行い、処理後のピクセルを仮想空間に表示するか否かを決定する。このピクセルテストをすることによって、ピクセルを透明にするか否か(表示するか否か)、背景のピクセルを破棄するか否か、ピクセルの奥行によってピクセルを表示するか否かを決定する。なお、テクスチャの模様とピクセルの色を混合する処理は、マッピング(テクスチャマッピング、マルチテクスチャマッピング、環境マッピング等)と言われる。このレンダリング処理はピクセルシェーダと言われる。
そして、ステップSG07では、VDP434は、上記の頂シェーダ(SG01〜SG03)、ピクセルシェーダ(SG05)の処理が行われた各ピクセルを装飾図柄表示装置208(LCD)に出力する。
上記の各処理によって、頂点バファの頂点をピクセルに変換するとともに、所定のオブジェクトが形成される。
なお、例えば、上記第4実施形態のように、装飾図柄表示装置208に表示される仮想空間において、所定の位置から前記眼オブジェクト(本実施名体では、眼オブジェクト740)及び前記顔オブジェクト(本実施形態では、頭オブジェクト720)を照明するライト(本実施形態では、光源)を配置し、前記眼オブジェクトに対し、前記ライトの照明によって所定の陰影付けをする法線情報が設定された法線テクスチャをマッピングした。これにより、ライトの光によって、キャラクターの前記眼オブジェクトや前記顔オブジェクトの各部位ごとに輝度を個別に変化させることができ、実際の人間にライトが当たっているように自然に表現することができる。
なお、前記顔オブジェクトの窓部722を開閉するための目蓋オブジェクトを縦方向に移動可能に、前記仮想空間の前記眼オブジェクトの前面に配置しても良い。これにより、より実際の人間に近い顔の表情を作り出すことができ、多彩な表現を行うことができる。
また、前記顔オブジェクトの前記眼オブジェクトに貼り付けた前記瞳画像(本実施形態では、瞳画像742)の表面側(顔オブジェクトの前方向)にカメラオブジェクトを配置し、前記顔オブジェクト、前記眼オブジェクト、および前記瞳画像を前記カメラオブジェクトから見た2次元画像を生成するようにしても好ましい。
これにより、3D画像だけでなく、仮想空間内のカメラオブジェクトから見たキャラクターの2次元画像を表現でき、より多彩な演出を行うことができる。
また、第3のオブジェクト(例えば、瞳オブジェクト)を、第1のオブジェクト(例えば、眼オブジェクト)の筒側面に配置し、前記第3のオブジェクトに対し、所定画像の表示色情報が設定されたカラーテクスチャ(例えば、第3のオブジェクトの基本色が設定された色彩テクスチャ)と、第1のオブジェクトに対して用意された法線テクスチャとは異なる法線情報が設定された法線テクスチャを、テクスチャマッピングしても好ましい。
これにより、第1のオブジェクト(例えば、眼オブジェクト)と異なる第3のオブジェクト(例えば、瞳オブジェクト)の光の反射態様を容易に異ならせることができ、より自然な眼の表現を行うことができる。
また、眼オブジェクトの横方向の筒径(幅)及び高さ方向の筒径(高さ)は、窓部722(眼窩)の開口よりも大径になるようにオブジェクトを形成して配置することが好ましい。
これにより、顔オブジェクトが僅かに動いた場合、窓部722と眼オブジェクトの間に隙間ができるのを防止することができる。
また、本実施形態のように、窓部は眼等のように2か所ある部分に適用することが好ましい。
これにより、一方のテクスチャ(例えば、カラーテクスチャや法線テクスチャ)のデータを反転変換することにより、他方のテクスチャを生成して利用することができる。
以上説明したように、本実施形態に係るパチンコ機100は、眼オブジェクト(本実施形態では、眼オブジェクト740)と、窓部(本実施形態では、窓部722)を有する顔オブジェクト(本実施形態では、頭オブジェクト720)と、を仮想空間内に配置して画像表示装置(本実施形態では、装飾図柄表示装置208)に表示する画像を生成する遊技台であって、前記眼オブジェクトの表面に表示された所定の瞳画像(本実施形態では、瞳画像742)が、前記顔オブジェクトの前記窓部を通して露出する位置関係となるように、前記眼オブジェクトと前記顔オブジェクトを前記仮想空間内に配置し、前記眼オブジェクトの表面は直交する第1の方向(本実施形態では、中心軸J1方向)と第2の方向(本実施形態では、半径r2方向)で曲率を異ならせた。
このため、遊技を演出するための動物の画像やアニメのキャラクターの画像を生成する際に、人間などの眼球とは異なり、複数の方向(少なくとも2方向)で曲率が異なる眼オブジェクトとすることで眼の表情を多彩に表現することができる場合がある。また、眼の表現を簡単に豊かにしようと思った場合には、眼の部位を形成する各ポリゴンのうちの瞳を形成するポリゴンを一定の曲率で湾曲した単純形状とするとともに、各ポリゴンの輝度処理(ハイライト処理)をするか否かの判定を行ない、ハイライト処理を行うと判定したポリゴンに対してハイライト処理を行なった3次元のCG画像を表示すれば、それなりに表情を増加させられると思われる。しかし眼の部位のポリゴンの輝度を変えるのみでは、瞳の動きの変化は少なく、単調になり、そのためキャラクターの表情がどうしても乏しくなってしまうことが想定できる。このことから瞳から発せられる光の具合(例えば光の反射具合など)をバリエーション豊かに表現すれば、眼の表現を著しく豊富にできることが分かる。そのため瞳の方向によって曲率を変化させる、さらに曲率を変化させた1または複数のポリゴンの輝度を調整することで眼の表現を簡単に、そして格段に豊かにできる場合がある。
また、前記第1の方向は前記眼オブジェクトの縦方向であり、前記第2の方向は前記眼オブジェクトの横方向であり、前記眼オブジェクトは、前記縦方向の第1の曲率(本実施形態では、曲率半径0の曲率(直線))よりも前記横方向の第2の曲率(本実施形態では、曲率1/r2)の方が大きく、前記瞳画像は、前記眼オブジェクトの前記第2の曲率を維持した状態で、該第2の曲率により形成される仮想円(本実施形態では、S1)の中心を回転中心(本実施形態では、中心軸J1)として回転する。
このため、横方向への瞳の移動は、眼オブジェクトの横方向の曲率に関連した動きをするので、実際の人間などの瞳の動きに近く、なおかつ眼の表情を多彩に表現できる場合がある。
また、前記第1の方向は前記眼オブジェクトの縦方向であり、前記第2の方向は前記眼オブジェクトの横方向であり、前記眼オブジェクトは、前記縦方向の第1の曲率よりも前記横方向の第2の曲率の方が大きく、前記所定の瞳画像(本実施形態では、瞳画像742(テクスチャ))は、前記眼オブジェクトの表面の所定の位置に貼り付けられ、前記眼オブジェクトは、前記第2の曲率を維持した状態で、該第2の曲率により形成される仮想円の中心を回転中心として回転する。
このため、横方向の瞳の動きは、瞳画像を貼り付けた(マッピングした)眼オブジェクトを横方向に回転させるだけなので、実際の人間などの瞳の動きに近く、なおかつ眼の表情を多彩に表現できる場合がある。
また、前記第1の方向は前記眼オブジェクトの縦方向であり、前記第2の方向は前記眼オブジェクトの横方向であり、前記眼オブジェクトは、前記縦方向の第1の曲率よりも前記横方向の第2の曲率の方が大きく、前記所定の瞳画像(本実施形態では、瞳オブジェクト900)は、前記眼オブジェクトとは別個に、該眼オブジェクトの表面で移動可能に表示され、前記眼オブジェクトは固定表示されるとともに、前記所定の瞳画像は、前記眼オブジェクトの前記第1の曲率を維持した状態で、前記第1の曲率により形成される仮想円の中心を回転中心として回転する。
このため、縦方向の瞳の動きは、眼オブジェクトを固定した状態で瞳オブジェクトを移動させるだけなので、窓部722(眼窩)が縦方向に狭く眼の表情が粗末な実際の人間などと比べ、大きな移動範囲で眼を動かすことができ、遊技を演出するキャラクターの眼の表情を多彩に表現できる場合がある。
また、前記第1の方向は前記眼オブジェクトの縦方向であり、前記第2の方向は前記眼オブジェクトの横方向であり、前記眼オブジェクトは、前記縦方向の第1の曲率よりも前記横方向の第2の曲率の方が大きく、前記眼オブジェクトは円筒状であり、前記縦方向の前記第1の曲率は0である。
このため、人間の顔の大きさや窓部722の大きさが違っても、眼オブジェクトを自然な態様で表示することができ、また、僅かな頭オブジェクトの移動に対しては、第2の曲率によって眼オブジェクトをほとんど動かさなくても、違和感のない瞳の表現を行うことができる場合がある。
尚、本発明の遊技台は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。