以下、本発明の実施の形態を添付図面を参照して説明する。
[第1実施形態]
図1〜図20を用いて本発明の第1実施形態に係る遊技台について説明する。
<全体構成>
まず、図1を用いて、本実施形態に係るスロットマシン100の全体構成について説明する。なお、同図はスロットマシン100の外観斜視図である。
スロットマシン100は、本体101と、本体101の正面に取付けられ、本体101に対して開閉可能な前面扉102と、を備える。本体101の中央内部には、(図1において図示省略)外周面に複数種類の図柄が配置されたリールが3個(左リール110、中リール111、右リール112)収納され、スロットマシン100の内部で回転できるように構成されている。これらのリール110〜112はステッピングモータ等の駆動手段により回転駆動される。
本実施例において、各図柄は帯状部材に等間隔で適当数印刷され、この帯状部材が所定の円形筒状の枠材に貼り付けられて各リール110〜112が構成されている。リール110〜112上の図柄は、遊技者から見ると、図柄表示窓113から縦方向に概ね3つ表示され、合計9つの図柄が見えるようになっている。そして、各リール110〜112を回転させることにより、遊技者から見える図柄の組み合せが変動することとなる。つまり、各リール110〜112は複数種類の図柄の組合せを変動可能に表示する表示手段として機能する。なお、このような表示手段としてはリール以外にも液晶表示装置等の電子画像表示装置も採用できる。また、本実施例では、3個のリールをスロットマシン100の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
各々のリール110〜112の背面には、図柄表示窓113に表示される個々の図柄を照明するためのバックライト(図示省略)が配置されている。バックライトは、各々の図柄ごとに遮蔽されて個々の図柄を均等に照射できるようにすることが望ましい。なお、スロットマシン100内部において各々のリール110〜112の近傍には、投光部と受光部から成る光学式センサ(図示省略)が設けられており、この光学式センサの投光部と受光部の間をリールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の図柄の回転方向の位置を判断し、目的とする図柄が入賞ライン上に表示されるようにリール110〜112を停止させる。
入賞ライン表示ランプ120は、有効となる入賞ライン114を示すランプである。有効となる入賞ラインは、遊技媒体としてベットされたメダルの数によって予め定まっている。入賞ライン114は5ラインあり、例えば、メダルが1枚ベットされた場合、中段の水平入賞ラインが有効となり、メダルが2枚ベットされた場合、上段水平入賞ラインと下段水平入賞ラインが追加された3本が有効となり、メダルが3枚ベットされた場合、右下り入賞ラインと右上り入賞ラインが追加された5ラインが入賞ラインとして有効になる。なお、入賞ライン114の数については5ラインに限定されるものではなく、また、例えば、メダルが1枚ベットされた場合に、中段の水平入賞ライン、上段水平入賞ライン、下段水平入賞ライン、右下り入賞ラインおよび右上り入賞ラインの5ラインを入賞ラインとして有効としてもよい。
告知ランプ123は、例えば、後述する内部抽選において特定の入賞役(具体的には、ボーナス)に内部当選していること、または、ボーナス遊技中であることを遊技者に知らせるランプである。遊技メダル投入可能ランプ124は、遊技者が遊技メダルを投入可能であることを知らせるためのランプである。再遊技ランプ122は、前回の遊技において入賞役の一つである再遊技に入賞した場合に、今回の遊技が再遊技可能であること(メダルの投入が不要であること)を遊技者に知らせるランプである。リールパネルランプ128は演出用のランプである。
ベットボタン130〜132は、スロットマシン100に電子的に貯留されているメダル(クレジットという)を所定の枚数分投入するためのボタンである。本実施例においては、ベットボタン130が押下されるごとに1枚ずつ最大3枚まで投入され、ベットボタン131が押下されると2枚投入され、ベットボタン132が押下されると3枚投入されるようになっている。以下、ベットボタン132はMAXベットボタンとも言う。なお、遊技メダル投入ランプ129は、投入されたメダル数に応じた数のランプを点灯させ、規定枚数のメダルの投入があった場合、遊技の開始操作が可能な状態であることを知らせる遊技開始ランプ121が点灯する。
メダル投入口134は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、ベットボタン130〜132により電子的に投入することもできるし、メダル投入口134から実際のメダルを投入(投入操作)することもでき、投入とは両者を含む意味である。貯留枚数表示器125は、スロットマシン100に電子的に貯留されているメダルの枚数を表示するための表示器である。遊技情報表示器126は、各種の内部情報(例えば、ボーナス遊技中のメダル払出枚数)を数値で表示するための表示器である。払出枚数表示器127は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。
スタートレバー135は、リール110〜112の回転を開始させるためのレバー型のスイッチである。即ち、メダル投入口134に所望するメダル枚数を投入するか、ベットボタン130〜132を操作して、スタートレバー135を操作すると、リール110〜112が回転を開始することとなる。スタートレバー135に対する操作を遊技の開始操作と言う。
ストップボタンユニット136には、ストップボタン137〜139が設けられている。ストップボタン137〜139は、スタートレバー135の操作によって回転を開始したリール110〜112を個別に停止させるためのボタン型のスイッチであり、各リール110〜112に対応づけられている。以下、ストップボタン137〜139に対する操作を停止操作と言い、最初の停止操作を第1停止操作、次の停止操作を第2停止操作、最後の停止操作を第3停止操作という。なお、各ストップボタン137〜139の内部に発光体を設けてもよく、ストップボタン137〜139の操作が可能である場合、該発光体を点灯させて遊技者に知らせることもできる。
メダル返却ボタン133は、投入されたメダルが詰まった場合に押下してメダルを取り除くためのボタンである。精算ボタン134は、スロットマシン100に電子的に貯留されたメダル、ベットされたメダルを精算し、メダル払出口155から排出するためのボタンである。ドアキー孔140は、スロットマシン100の前面扉102のロックを解除するためのキーを挿入する孔である。メダル払出口155は、メダルを払出すための払出口である。
音孔160はスロットマシン100内部に設けられているスピーカの音を外部に出力するための孔である。前面扉102の左右各部に設けられたサイドランプ144は遊技を盛り上げるための装飾用のランプである。前面扉102の上部には演出装置190が配設されている。この演出装置190は、水平方向に開閉自在な2枚の右シャッタ163a、左シャッタ163bからなるシャッタ(シャッタ)部材163と、このシャッタ部材163の奥側に配設された液晶表示装置157を備えており、2枚の右シャッタ163a、左シャッタ163bが液晶表示装置157の手前で水平方向外側に開くと液晶表示装置157の表示画面(画像表示領域)がスロットマシン100正面(遊技者側)に出現する構造となっている。
<シャッタ部材>
次に、図2(a)および(b)を用いて、シャッタ部材163の構成について説明する。なお、同図(a)は右シャッタ163aおよび左シャッタ163bがそれぞれ全開位置にある状態のシャッタ部材163の正面図であり、同図(b)は右シャッタ163aおよび左シャッタ163bがそれぞれ全閉位置にある状態のシャッタ部材163の正面図である。
図2(a)および(b)に示されるように、シャッタ部材163は、右シャッタ163aと、左シャッタ163bと、フレーム163cと、を有して構成されている。フレーム163cは、中央に開口部163c1を有すると共に、上下一対のガイドレール163c2、163c3を左右に2組備えている。左シャッタ163bおよび右シャッタ163aは、このガイドレール163c2、163c3に上端および下端を案内されて、水平方向に移動する。液晶表示装置157は、フレーム163cの開口部163c1の後方(奥側)に配設される。従って、液晶表示装置157の表示は、この開口部163c1を通して視認されることとなる。
右シャッタ163aおよび左シャッタ163bにはそれぞれ、中心部に開孔163a0、163b0が設けられている。液晶表示装置157の表示は、この開孔163a0、163b0を通しても視認されることとなる。ここでは、開孔163a0、163b0は楕円形状に形成されている。
また、フレーム163cの上部には、一対のプーリ163c4およびこれらに巻き回された無端ベルト163c5が、左右に2組配設されている。そして2組の一対のプーリ163c4の一方はそれぞれ図示しないステッピングモータに接続され、2つの無端ベルト163c5は右シャッタ163aおよび左シャッタ163bの上部にそれぞれ接続されている。すなわち、右シャッタ163aおよび左シャッタ163bは、ステッピングモータに駆動されて走行する無端ベルト163c5と共に、水平方向に移動するようになっている。
右シャッタ163aおよび左シャッタ163bは、このようにステッピングモータに駆動されて、開口部163c1を解放する全開位置と、開口部の中央で右シャッタ163aの左端163a1および左シャッタ163bの右端163b1が略当接して開口部163c1を遮蔽する全閉位置の間をそれぞれ移動する。すなわち、右シャッタ163aおよび左シャッタ163bは、液晶表示装置157を解放する全開位置と、液晶表示装置157を遮蔽する全閉位置との間を移動する。なお、右シャッタ163aおよび左シャッタ163bは、全開位置と全閉位置の間の任意の位置で停止することが可能である。
さらに、フレーム163cの上部には、右シャッタ163aを駆動する一対のプーリ163c4の間に第1シャッタセンサ550および第2シャッタセンサ551が配設され、左シャッタ163bを駆動する一対のプーリ163c4の間に第3シャッタセンサ552および第4シャッタセンサ553が配設されている。これらのシャッタセンサ550〜553は、右シャッタ163aおよび左シャッタ163bが全開位置または全閉位置にあることを検出するためのものである。具体的には、第1シャッタセンサ550は右シャッタ163aが全開位置にあることを検出し、第2シャッタセンサ551は右シャッタ163aが全閉位置にあることを検出する。そして、第3シャッタセンサ552は左シャッタ163bが全開位置にあることを検出し、第4シャッタセンサ553は左シャッタ163bが全閉位置にあることを検出する。
なお、特に図示しないが、本実施形態では、右シャッタ163aおよび左シャッタ163bを駆動するステッピングモータは1−2相励磁で使用される。また、1対のプーリ163c4および無端ベルト163c5は、ステッピングモータへの1パルスの入力で右シャッタ163aおよび左シャッタ163bが0.25mm移動するように構成されている。シャッタ部材163は、右シャッタ163aおよび左シャッタ163bの全開位置から全閉位置までの距離が98mmに設定されているため、右シャッタ163aおよび左シャッタ163bを全開位置から全閉位置まで移動させるには392パルスの入力が必要となっている。
本実施形態では、右シャッタ163aおよび左シャッタ163bの位置を示す座標としてこのパルス数を用いている。すなわち、液晶表示装置157の左端を座標0、液晶表示装置157の中央を座標392、液晶表示装置157の右端を座標784としている。なお、右シャッタ163aの位置は左端163a1を基準とし、左シャッタ163bの位置は右端163b1を基準としている。従って、右シャッタ163aは、全開位置では座標784に位置し、全閉位置では座標392に位置することとなる。また、左シャッタ163bは、全開位置では座標0に位置し、全閉位置では座標392に位置することとなる。これにより、右シャッタ163aは、座標392と座標784の間を移動し、左シャッタ163bは、座標0と座標392の間を移動することとなる。
なお、右シャッタ163aおよび左シャッタ163bを駆動するステッピングモータは、その他の励磁パターン(2相励磁等)を使用するものであってもよいし、複数種類の励磁パターンを条件に応じて使い分けるものであってもよい。
<制御部>
次に、図3〜図6を用いて、このスロットマシン100の制御部の回路構成について詳細に説明する。
スロットマシン100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300より送信されたコマンドに応じて各種機器を制御する第1副制御部400と、第1副制御部400より送信されたコマンドに応じて各種機器を制御する第2副制御部500と、によって構成されている。
<主制御部>
まず、図3を用いて、スロットマシン100の主制御部300について説明する。主制御部300は、主制御部300の全体を制御するための演算処理装置であるCPU310や、CPU310が各ICや各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、その他、以下に述べる構成を有する。
クロック補正回路314は、水晶発振器311から発振されたクロックを分周してCPU310に供給する回路である。例えば、水晶発振器311の周波数が16MHzの場合に、分周後のクロックは8MHzとなる。CPU310は、クロック補正回路314により分周されたクロックをシステムクロックとして受け入れて動作する。
また、CPU310には、後述するセンサやスイッチの状態を常時監視するための監視周期やモータの駆動パルスの送信周期を設定するためのタイマ回路315がバスを介して接続されている。CPU310は、電源が投入されると、データバスを介してROM312の所定エリアに格納された分周用のデータをタイマ回路315に送信する。
タイマ回路315は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU310に送信する。CPU310は、この割り込み要求を契機に、各センサ等の監視や駆動パルスの送信を実行する。例えば、CPU310のシステムクロックを8MHz、タイマ回路315の分周値を1/256、ROM312の分周用のデータを47に設定した場合、この割り込みの基準時間は、256×47÷8MHz=1.504msとなる。
また、CPU310には、各ICを制御するための制御プログラムデータ、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等を記憶しているROM312や、一時的なデータを保存するためのRAM313が接続されている。これらのROM312やRAM313については他の記憶手段を用いてもよく、この点は後述する各制御部においても同様である。
CPU310には、さらに、入力インタフェース360、出力インタフェース370、371がアドレスデコード回路350を介してアドレスバスに接続されている。CPU310は、これらのインタフェースを介して外部のデバイスと信号の送受信を行っている。
CPU310は、割り込み時間ごとに入力インタフェース360を介して、メダル受付センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル投入ボタンセンサ323、精算スイッチセンサ324、インデックスセンサ325、メダル払い出しセンサ326、の状態を検出し、各センサを監視している。
メダル受付センサ320は、メダル投入口134の内部の通路に2個設置されており、メダルの通過有無を検出する。スタートレバーセンサ321は、スタートレバー135に2個設置されており、遊技者によるスタート操作を検出する。ストップボタンセンサ322は、各々のストップボタン137〜139に設置されており、遊技者によるストップボタンの操作を検出する。
メダル投入ボタンセンサ323は、メダル投入ボタン130〜132のそれぞれに設置されており、RAM313に電子的に貯留されているメダルを遊技用のメダルとして投入する場合の投入操作を検出する。たとえば、CPU310は、メダル投入ボタン130に対応するメダル投入センサ323がLレベルになった場合に、電子的に貯留メダルを1枚投入し、メダル投入ボタン131に対応するメダル投入センサ323がLレベルになった場合に、電子的に貯留メダルを2枚投入し、メダル投入ボタン132に対応するメダル投入センサ323がLレベルになった場合に、電子的に貯留メダルを3枚投入する。なお、メダル投入ボタン132が押された際、貯留されているメダル枚数が2枚の場合は2枚投入され、1枚の場合は1枚投入される。
精算スイッチセンサ324は、精算ボタン134に設けられている。精算ボタン134が一回押されると、貯留されているメダルを精算する。メダル払い出しセンサ326は、払い出されるメダルを検出するためのセンサである。なお、以上の各センサは、非接触式のセンサであっても接点式のセンサであってもよい。
インデックスセンサ325は、具体的には、各リール110〜112の取付台の所定位置に設置されており、リール110〜112に設けた遮光片がこのインデックスセンサ325を通過するたびにLレベルになる。CPU310は、この信号を検出すると、リール110〜112が1回転したものと判断し、リール110〜112の回転位置情報をゼロにリセットする。
出力インタフェース370には、リール110〜112を駆動させるためのリールモータ駆動部330と、ホッパー(バケットにたまっているメダルをメダル払出口155から払出すための装置)のモータを駆動するためのホッパーモータ駆動部331と、遊技ランプ340(具体的には、入賞ライン表示ランプ120、遊技開始ランプ121、再遊技ランプ122、告知ランプ123、遊技メダル投入可能ランプ124等)と、7セグメント表示器341(貯留枚数表示器125、遊技情報表示器126、払出枚数表示器127等)が接続されている。
また、CPU310には、乱数発生回路317がデータバスを介して接続されている。乱数発生回路317は、水晶発振器316から発振されるクロックに基づいて、一定の範囲内で値をインクリメントし、そのカウント値をCPU310に出力することのできるインクリメントカウンタであり、後述する入賞役の内部抽選をはじめ各種抽選処理に使用される。本発実施形態における乱数発生回路317は、水晶発振器316のクロック周波数を用いて0〜65535までの値をインクリメントする1つの乱数カウンタを備えている。
また、CPU310のデータバスには、第1副制御部400にコマンドを送信するための出力インタフェース371が接続されている。
<第1副制御部>
次に、図4を用いて、スロットマシン100の第1副制御部400について説明する。第1副制御部400は、主制御部300より送信されたコマンドに基づいて第1副制御部400の全体を制御する演算処理装置であるCPU410や、CPU410が各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
クロック補正回路414は、水晶発振器411から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてCPU410に供給する回路である。
また、CPU410にはタイマ回路415がバスを介して接続されている。CPU410は、所定のタイミングでデータバスを介してROM412の所定エリアに格納された分周用のデータをタイマ回路415に送信する。タイマ回路415は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU410に送信する。CPU410は、この割り込み要求のタイミングをもとに、各ICや各回路を制御する。
また、CPU410には、第1副制御部400の全体を制御するための命令及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータが記憶されたROM412や、データ等を一時的に保存するためのRAM413が各バスを介して接続されている。
また、CPU410には、外部の信号を送受信するための入出力インタフェース460が接続されており、入出力インタフェース460には、各リール110〜112の図柄を背面より照明するためのバックライト420、前面扉102の開閉を検出するための扉センサ421、RAM413のデータをクリアにするためのリセットスイッチ422が接続されている。
CPU410には、データバスを介して主制御部300から制御コマンドを受信するための入力インタフェース461が接続されており、CPU410は、入力インタフェース461を介して受信したコマンドに基づいて、遊技全体を盛り上げる演出処理等を実行する。
また、CPU410のデータバスとアドレスバスには、音源IC480が接続されている。音源IC480は、CPU410からの命令に応じて音声の制御を行う。また、音源IC480には、音声データが記憶されたROM481が接続されており、音源IC480は、ROM481から取得した音声データをアンプ482で増幅させてスピーカ483から出力する。
CPU410には、主制御部300と同様に、外部ICを選択するためのアドレスデコード回路450が接続されており、アドレスデコード回路450には、主制御部300からのコマンドを受信するための入力インタフェース461、入出力インタフェース470、時計IC422、が接続されている。CPU410は、時計IC422が接続されていることで、現在時刻を取得することが可能である。
さらに、入出力インタフェース470には、デマルチプレクサ419が接続されている。デマルチプレクサ419は、入出力インタフェース470から送信された信号を各表示部等に分配する。即ち、デマルチプレクサ419は、CPU410から受信されたデータに応じて演出ランプ430(上部ランプ、下部ランプ、サイドランプ144、リールパネルランプ128、タイトルパネルランプ、受皿ランプ、等)を制御する。なお、タイトルパネルランプは、タイトルパネル162を照明するランプである。
また、CPU410は、第2副制御部500へのコマンドの送受信は、入出力インタフェース470を介して実施する。
<第2副制御部>
次に、図5を用いて、スロットマシン100の第2副制御部500について説明する。第2副制御部500は、演算処理装置であるCPU510や、各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
クロック補正回路514は、水晶発振器511から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてCPU510に供給する回路である。
このCPU510は、第1副制御部400のCPU410からの制御コマンドを入出力インタフェース561を介して受信し、第2副制御部500全体を制御する。
また、CPU510にはタイマ回路515がバスを介して接続されている。CPU510は、所定のタイミングでデータバスを介してROM512の所定エリアに格納された分周用のデータをタイマ回路515に送信する。タイマ回路515は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU510に送信する。CPU510は、この割り込み要求のタイミングをもとに、各ICや各回路を制御する。
また、CPU510には、バスを介して、ROM512、RAM513、VDP(ビデオ・ディスプレイ・プロセッサー)600が接続されている。ROM512には、第2副制御部500全体を制御するための制御プログラムデータや演出用のデータが記憶されている。RAM513は、CPU510で処理されるプログラムのワークエリア等を有する。
VDP600には、水晶発信器512が接続され、さらに、バスを介して、画像データと、画像データ用のカラーパレットデータが記憶されているCG−ROM612、VRAM613が接続されている。VDP600は、CPU510からの信号をもとにCG−ROM612に記憶された画像データを読み出し、VRAM613のワークエリアを使用して画像信号を生成し、D/Aコンバータ614を介して液晶表示装置157の表示画面(画像表示領域)に画像を表示する。なお、液晶表示装置157には、CPU510によって液晶表示装置157の表示画面の輝度調整を可能とするため輝度調整信号が入力されている。
また、CPU510には、外部の信号を受信するための入力インタフェース560が接続されており、入力インタフェース560には、第1シャッタセンサ550、第2シャッタセンサ551、第3シャッタセンサ552、第4シャッタセンサ553が接続されている。第1シャッタセンサ550および第2シャッタセンサ551は、右シャッタ163aの開閉状態を検出するためのセンサであり、第3シャッタセンサ552および第4シャッタセンサ553は、左シャッタ163bの開閉状態を検出するためのセンサである。
CPU510には、データバスを介して第1副制御部400から制御コマンドを受信するための入出力インタフェース561が接続されており、CPU510は、入出力インタフェース561を介して受信したコマンドに基づいて、遊技全体を盛り上げる演出処理等を実行する。
また、CPU510には、主制御部300および第1副制御部400と同様に、外部ICを選択するためのアドレスデコード回路550が接続されており、アドレスデコード回路550には、第1副制御部400からのコマンドを送受信するための入出力インタフェース561、出力インタフェース570が接続されている。
さらに、出力インタフェース570には、左シャッタモータ駆動部522、右シャッタモータ駆動部523が接続されている。左シャッタモータ駆動部522は、左シャッタ163bを水平方向に駆動し、右シャッタモータ駆動部523は、右シャッタ163aを水平方向に駆動する。本実施形態では、左シャッタモータ駆動部522および右シャッタモータ駆動部523は、ステッピングモータおよびモータドライバから構成され、CPU510からのコマンドに基づいて左シャッタ163bおよび右シャッタ163aを駆動する。
<VDP>
図6は第2副制御部500を構成する表示制御基板のブロック図であり、特にVDP600の内部構成を詳細に示している。VDP600は、CPUI/F622と、CGバスI/F624と、CPUI/F622を介して受信した命令を一時的に記憶するためのアトリビュートレジスタ626と、を備えている。なお、CPUI/F622は、バスB2に接続されたCPU510、ROM512、RAM513とデータの送受信を行うためのインタフェースであり、CGバスI/F624は、バスB3に接続されたCG−ROM612とデータの送受信を行うためのインタフェースである。
また、これらのCPUI/F622、CGバスI/F624、アトリビュートレジスタ626は、バスB4を介して描画制御部628、データ転送制御部630、表示制御部632に接続されている。描画制御部628は、アトリビュートレジスタ626に記憶された命令に従って、CG−ROM612から画像データを読み出して、所定の画像を生成した後、生成した画像をVRAMI/F634を介してVRAM613の所定領域に記憶する。データ転送制御部630は、アトリビュートレジスタ626とVRAM613の間の画像データの転送を制御する。表示制御部632は、描画制御部628が生成した画像を受信してD/Aコンバータ614に送信すると共に、液晶表示装置157にD/Aコンバータ614からの画像信号を所定のタイミングでサンプリングさせるための同期信号を出力する。D/Aコンバータ614は、表示制御部632から入力されたデジタル信号である画像データをアナログ信号のR(赤)信号、G(緑)信号、B(青)信号に変換して液晶表示装置157に出力する。
VRAM613には、2つの表示領域Aおよび表示領域B(フレームバッファ)と、その他の記憶領域が設けられている。表示領域Aと表示領域Bは、共に液晶表示装置157に表示させる画像(1フレームの画像)の画像データを一時的に記憶するための記憶領域であるが、いずれか一方を描画領域に指定することができ、描画領域に指定されていない表示領域の画像データを液晶表示装置157に画像として表示させているときに、描画領域に指定された表示領域に画像データを展開(記憶)することが可能な構成(ダブルバッファリング方式)となっている。このような構成により、表示領域Aと表示領域Bとの間で描画領域の指定を切り替える(スワップする)ことによって、液晶表示装置157に表示させる画像を容易に切り替えることができる。すなわち、液晶表示装置157に表示される画像は、1フレームごとに所定の周期(詳細は後述するが、本実施形態では1秒間に30回(約33ms))で更新表示される。また、その他の記憶領域には、画像の色情報を記憶するカラーパレット記憶領域や、使用頻度の高い画像データの情報などが記憶される。なお、本実施例ではVDP600とVRAM613を別体としたが、VRAM613をVDP600に内蔵してもよい。
ROM512には、CPU510によって順次読み出されて実行される制御プログラムデータを記憶するプログラム領域や、後述するモータ動作テーブル等を記憶する制御データ格納領域の他に、キャラクタ用の情報を記憶するキャラクタ用情報格納領域が設けられている。このキャラクタ用情報格納領域には、液晶表示装置157にキャラクタを表示するために必要な情報(アトリビュートデータ)、例えば、描画順序、色数、拡大・縮小率、パレット番号、座標などが記憶される。
CG−ROM612には、キャラクタ画像カラーパレットデータと、キャラクタ画像データが記憶されている。キャラクタ画像カラーパレットデータの構成は、通常の画像カラーパレットデータと概ね同一であるが、画像カラーパレットデータが1種類の256色のパレットデータで構成されているのに対して、キャラクタ画像カラーパレットデータは、複数種類のキャラクタ画像に合わせて複数種類のパレットデータで構成されている上に、256色のパレットデータの他に、16色と64色のパレットデータを備えている。また、キャラクタ画像データの構成は、通常の画像データと概ね同一であるが、256色のパレットデータを用いたキャラクタ画像データは、各々のドットに対応して8ビットのパレット番号が記憶されており、64色のパレットデータを用いたキャラクタ画像データは、各々のドットに対応して6ビットのパレット番号が記憶されており、16色のパレットデータを用いたキャラクタ画像データは、各々のドットに対応して4ビットのパレット番号が記憶されている。なお、画像データの記憶方法はこれに限定されるものではなく、例えば、ランレングス法など、従来公知の画像圧縮方法を適用することができる。
<図柄配列>
次に、図7を用いて、上述の各リール110〜112に施される図柄配列について説明する。なお、同図は、各リール(左リール110、中リール111、右リール112)に施される図柄の配列を平面的に展開して示した図である。
各リール110〜112には、同図の右側に示す複数種類(本実施例では、8種類)の図柄が所定コマ数(本実施形態では、番号0〜20の21コマ)だけ配置されている。同図の左端に示した番号0〜20は、各リール110〜112上の図柄の配置位置を示す番号である。例えば、本実施形態では、左リール110の番号1のコマには「リプレイ」の図柄、中リール111の番号0のコマには「ベル」の図柄、右リール112の番号2のコマには「スイカ」の図柄、がそれぞれ配置されている。
<入賞役の種類>
次に、図8を用いて、スロットマシン100の入賞役の種類について説明する。なお、同図は入賞役(作動役を含む)の種類、各入賞役に対応する図柄組合せ、各入賞役の払出または作動を示した図である。
本実施形態における入賞役のうち、ビッグボーナス(BB1、BB2)および、レギュラーボーナス(RB)はボーナス遊技に移行する役として、また、再遊技(リプレイ)は新たにメダルを投入することなく再遊技が可能となる役として、それぞれ入賞役とは区別され「作動役」と呼ばれる場合があるが、本実施形態における「入賞役」には、作動役である、ビッグボーナス、レギュラーボーナス、再遊技が含まれる。また、本実施形態における「入賞」には、メダルの配当を伴わない(メダルの払い出しを伴わない)作動役の図柄組合せが有効ライン上に表示される場合も含まれ、例えば、ビッグボーナス、レギュラーボーナス、再遊技への入賞が含まれる。
スロットマシン100の入賞役には、ビッグボーナス(BB1、BB2)と、レギュラーボーナス(RB)と、小役(チェリー、スイカ、ベル)と、再遊技(リプレイ)がある。なお、入賞役の種類は、これに限定されるものではなく、任意に採用できることは言うまでもない。
「ビッグボーナス(BB1、BB2)」(以下、単に、「BB」と称する場合がある)は、入賞により特別遊技であるビッグボーナス遊技(BB遊技)が開始される特別役(作動役)である。対応する図柄組合せは、BB1が「白7−白7−白7」、BB2が「青7−青7−青7」である。また、BB1、BB2についてはフラグ持越しを行う。すなわち、BB1、BB2に内部当選すると、これを示すフラグが立つ(主制御部300のRAM313の所定のエリア内に記憶される)が、その遊技においてBB1、BB2に入賞しなかったとしても、入賞するまで内部当選を示すフラグが立った状態が維持され、次遊技以降でもBB1、BB2に内部当選中となり、BB1に対応する図柄組合せ「白7−白7−白7」、BB2に対応する図柄組合せ「青7−青7−青7」が、揃って入賞する状態にある。
「レギュラーボーナス(RB)」は、入賞によりレギュラーボーナス遊技(RB遊技)が開始される特殊役(作動役)である。対応する図柄組合せは、「ボーナス−ボーナス−ボーナス」である。なお、RBについても上述のBBと同様にフラグ持越しを行う。但し、(詳細は後述するが)ビッグボーナス遊技(BB遊技)においては、レギュラーボーナス遊技(RB遊技)が内部当選することや、図柄組合せが入賞ライン上に表示されること、を開始条件とせずに自動的に開始させる設定としてもよい。
「小役(チェリー、スイカ、ベル)」(以下、単に、「チェリー」、「スイカ」、「ベル」と称する場合がある)は、入賞により所定数のメダルが払い出される入賞役で、対応する図柄組合せは、チェリーが「チェリー−ANY−ANY」、スイカが「スイカ−スイカ−スイカ」、ベルが「ベル−ベル−ベル」である。また、対応する払出枚数は同図に示す通りである。なお、「チェリー−ANY−ANY」の場合、左リール110の図柄が「チェリー」であればよく、中リール111と右リール112の図柄はどの図柄でもよい。
「再遊技(リプレイ)」は、入賞により次回の遊技でメダル(遊技媒体)の投入を行うことなく遊技を行うことができる入賞役(作動役)であり、メダルの払出は行われない。なお、対応する図柄組合せは、再遊技は「リプレイ−リプレイ−リプレイ」である。
<遊技状態の種類>
次に、スロットマシン100の遊技状態の種類について説明する。本実施例では、スロットマシン100の遊技状態は、通常遊技と、BB遊技と、RB遊技と、ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技と、に大別した。但し、通常遊技と、BB遊技と、RB遊技と、に大別するような区分けであってもよい。
<通常遊技>
通常遊技に内部当選する入賞役には、ビッグボーナス(BB)と、レギュラーボーナス(RB)と、再遊技(リプレイ)と、小役(チェリー、スイカ、ベル)がある。
「ビッグボーナス(BB)」は、入賞により特別遊技であるビッグボーナス遊技(BB遊技)が開始される特別役(作動役)である。レギュラーボーナス(RB)」は、入賞によりレギュラーボーナス遊技(RB遊技)を開始する特殊役(作動役)である。「再遊技(リプレイ)」は、入賞により次回の遊技でメダルの投入を行うことなく遊技を行うことができる入賞役(作動役)であり、メダルの払出も行われない。「小役」は、入賞により所定数のメダルが払い出される入賞役である。
なお、各々の役の内部当選確率は、通常遊技に用意された抽選データから、各々の役に対応付けされた抽選データの範囲に該当する数値データを、内部抽選時に取得される乱数値の範囲の数値データ(例えば65535)で除した値で求められる。通常遊技に用意された抽選データは、予めいくつかの数値範囲に分割され、各数値範囲に各々の役やハズレを対応付けしている。内部抽選を実行した結果得られた乱数値が、何れの役に対応する抽選データに対応する値であったかを判定し、内部抽選役を決定する。この抽選データは少なくとも1つの役の当選確率を異ならせた設定1〜設定6が用意され、遊技店の係員等はいずれかの設定値を任意に選択し、設定することができる。
通常遊技は、内部抽選の結果が概ねハズレ(ビッグボーナス(BB)、レギュラーボーナス(RB)、再遊技(リプレイ)および小役に当選していない)となる設定がされており、獲得するメダルの総数が、投入したメダルの総数に満たない遊技状態になっている。よって、遊技者にとっては不利益となる遊技状態である。但し、予め定めた条件を満たした場合(例えば、特定の図柄組み合わせが表示された場合)には、再遊技の内部当選の確率を上昇させる変動をさせてもよい遊技状態であり、この場合、小役の入賞によって所定数のメダルが払い出されることにより、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態になり、遊技者にとっては利益となる遊技状態になる場合がある。
<BB遊技>
BB遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、BB遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。BB遊技は、本実施例では、ビッグボーナス(BB)の入賞により開始され、RB遊技(後述する)を連続して繰り返し実行可能になっており、遊技中に予め定められた一の数(例えば、465枚)を超えるメダルが獲得された場合に終了する。
但し、BB遊技中のRB遊技の開始条件は、RB遊技を開始する役(図柄組み合わせは例えば、リプレイ−リプレイ−リプレイ)を設定し、この役が内部当選した場合、または、入賞した場合に、RB遊技を開始するように設定してもよい。さらには、BB遊技は、BB遊技中のRB遊技を除くBB一般遊技を予め定めた回数(例えば、30回)実行した場合、または、BB遊技中に実行したRB遊技の回数が予め定めた回数に達した場合(例えば、3回)に終了するようにしてもよい。
<RB遊技>
RB遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、RB遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。RB遊技は、本実施例では、レギュラーボーナス(RB)の入賞により開始され、予め定めた一の役が内部当選の確率を上昇させる変動(例えば、「設定1」「通常遊技」に設定された「小役1」の内部当選確率1/15を、予め定めた一の値である内部当選確率1/1.2に上昇させる)をし、予め定めた一の数(例えば8回)の入賞があった場合に終了する。
<ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技>
ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技に内部当選するの入賞役には、再遊技(リプレイ)と、小役がある。ビッグボーナス(BB)およびレギュラーボーナス(RB)は内部当選することはなく、ビッグボーナス(BB)かレギュラーボーナス(RB)に対応する図柄組合せを入賞させることが可能となっている遊技状態である。
但し、ビッグボーナス(BB)およびレギュラーボーナス(RB)に内部当選した次遊技から、再遊技の内部当選の確率を変動させてもよく、例えば、再遊技の内部当選の確率を上昇させる変動をさせて、ビッグボーナス(BB)およびレギュラーボーナス(RB)対応する図柄組み合わせが入賞するまでの間は、獲得するメダルの総数が、投入したメダルの総数とほぼ同じとなる遊技状態とし、通常遊技と比べると遊技者にとっては利益となる遊技状態としてもよい。
<主制御部の処理>
図9はスロットマシン100における遊技の基本的制御(主制御部メイン処理)の流れを示すフローチャートである。遊技の基本的制御は主制御部300のCPU310が中心になって行い、電源断等を検知しないかぎり、同図の処理を実行する。また、各処理の実行によって得られた情報は第1副制御部400に送信する。
以下、この処理について説明する。電源投入が行われると、まず、ステップS101で初期化処理が実行される。ここでは各種の初期設定が行われる。
ステップS102では、メダル投入・スタート操作受付処理を実行する。ここではメダルの投入の有無をチェックし、メダルの投入に応じて入賞ライン表示ランプ120を点灯させる。なお、前回の遊技で再遊技に入賞した場合は、前回の遊技で投入されたメダル枚数と同じ数のメダルを投入する処理を行うので、遊技者によるメダルの投入が不要となる。また、スタートレバー135が操作されたか否かのチェックを行い、スタートレバー135の操作があればステップS103へ進む。
ステップS103では、投入されたメダル枚数を確定し、有効な入賞ラインを確定する。
ステップS104では、乱数発生回路317で発生させた乱数を取得する。
ステップS105では、現在の遊技状態に応じてROM312に格納されている入賞役抽選テーブルを読み出し、これとステップS104で取得した乱数とを用いて内部抽選を行う。内部抽選の結果、いずれかの入賞役(作動役を含む)に内部当選した場合、その入賞役のフラグがONになる。また、内部抽選結果に応じた演出を実行するために、内部抽選結果を示すコマンドを第1副制御部400に送信する。
ステップS106では、内部抽選結果に基づき、リール停止データを選択する。
ステップS107では、全リール110〜112の回転を開始させる。
ステップS108では、ストップボタン137〜139の受け付けが可能になり、いずれかのストップボタンが押されると、押されたストップボタンに対応するリール110〜112の何れかをステップS106で選択したリール停止制御データに基づいて停止させる。全リール110〜112が停止するとステップS109へ進む。
ステップS109では、入賞判定を行う。ここでは、有効化された入賞ライン114上に、何らかの入賞役に対応する絵柄組合せが表示された場合にその入賞役に入賞したと判定する。例えば、有効化された入賞ライン上に、「ベル−ベル−ベル」が揃っていたならばベル入賞と判定する。但し、ビッグボーナス(BB)およびレギュラーボーナス(RB)については、今回の遊技で入賞しなかった場合は、次回の遊技に内部当選フラグがONの状態が維持される。所謂フラグの持ち越しが行われる。
ステップS110では、払い出しのある何らかの入賞役に入賞していれば、その入賞役に対応する枚数のメダルを入賞ライン数に応じて払い出す。
ステップS111では、遊技状態制御処理を行う。以上により1ゲームが終了する。以降ステップS102へ戻って上述した処理を繰り返すことにより遊技が進行することになる。
<第1副制御部の処理>
次に、図10(a)〜(d)を用いて、第1副制御部400の処理について説明する。図10(a)は第1副制御部400のCPU410が実行するメイン処理の流れを示すフローチャートである。
まず、ステップS201では、各種の初期設定を行う。電源投入が行われると、まずステップS201で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM413内の記憶領域の初期化処理等を行う。
ステップS202では、コマンド入力処理(詳細は後述する)を行う。
ステップS203では、演出データの更新処理を行う。この演出データの更新処理では、演出を制御するための動作制御データ(例えば、内部抽選結果に基づく画像を表示するためのデータ等)の更新を行う。
ステップS204では、ステップS203で更新した演出データの中に第1副制御部400の各演出デバイスのドライバに出力するデータがあるか否かを判定する。該当する場合はステップS205へ進み、該当しない場合はステップS206へ進む。
ステップS205では、第1副制御部400の演出デバイスのドライバにデータをセットする。データのセットにより演出デバイスがそのデータに応じた演出を実行する。
ステップS206では、ステップS203で更新した演出データの中に第2副制御部500に送信する制御コマンドがあるか否かを判定する。該当する場合はステップS207へ進み、該当しない場合はステップS202へ戻る。
ステップS207では、第2副制御部500に制御コマンドを送信してステップS202へ戻る。
次に、図10(b)を用いて、第1副制御部400のコマンド入力処理について説明する。同図は、コマンド入力処理の流れを示すフローチャートである。
ステップS301ではコマンド格納エリアに少なくとも1つの制御コマンドが格納されているか否かを判定する。該当する場合はステップS302へ進み、該当しない場合は処理を終了する。
ステップS302では、コマンド格納エリアから制御コマンドを一つ取得し、制御コマンドに応じた処理を実行する。取得した制御コマンドはコマンド格納エリアから消去する。
次に、図10(c)を用いて、第1副制御部400のストローブ処理について説明する。同図は、ストローブ処理の流れを示すフローチャートである。このストローブ処理は、第1副制御部400が、主制御部300が出力するストローブ信号を検出した場合に実行する処理である。
ストローブ処理のステップS401では、主制御部300が出力したコマンドを未処理コマンドとしてRAM413に設けたコマンド記憶領域に記憶する。
次に、図10(d)を用いて、第1副制御部400のタイマ割り込み処理について説明する。同図は、タイマ割り込み処理の流れを示すフローチャートである。第1副制御部400は所定の周期(本実施例では2msに1回)でタイマ割り込みを発生するハードウェアタイマを備えており、このタイマ割り込みを契機として、タイマ割り込み処理を実行する。なお、第1副制御部400は汎用タイマの設定(10ms)としており、ステップS501ではこの汎用タイマの更新を行う。
<第2副制御部のメイン処理>
次に、図11を用いて、第2副制御部500のCPU510が実行するメイン処理について説明する。なお、同図は第2副制御部500のメイン処理の流れを示すフローチャートである。
ステップS601では、各種の初期設定を行う。電源投入が行われると、まずステップS601で初期化処理が実行される。この初期化処理では、CG−ROM612に記憶した画像カラーパレットデータや画像データをVRAM613に転送する処理等を行う。具体的には、CG−ROM612に記憶された画像カラーパレットデータや画像データをVRAM613に転送すべく、VDP600に対してVRAM転送要求を行う。なお、ここでは、画像カラーパレットデータと、画像データの中で頻繁に使用される画像データ(例えば、通常遊技中の背景画像等)の転送要求を行う(画像パレットデータや画像データの転送方法については後述する)。さらに、変数の初期化等、その他の初期化処理を行う。
ステップS602では、VSYNC待ち処理を行う。VSYNC待ち処理の詳細については後述する。
ステップS603では、コマンド格納エリアに第1副制御部400から受信した制御コマンドが格納されているか否かを判定する。少なくとも1つの制御コマンドが格納されている場合は、コマンド格納エリアから制御コマンドを1つ取得し、制御コマンドに応じた処理を実行する。例えば、制御コマンドに基づいて、次のステップS604で実行する演出抽選処理の設定を行う。取得した制御コマンドはコマンド格納エリアから消去する。
ステップS604では、演出抽選処理を行う。ここでは、演出において液晶表示装置157に表示する画像を特定する画像表示制御コマンド、および左右のシャッタ163a、163bの動作パターンを特定するシャッタコマンドを抽選により決定する。これらの画像表示制御コマンドおよびシャッタコマンドはRAM513の所定の領域に設定される。
ステップS605では、画像表示制御コマンドがステップS604で設定されたか否かを判定する。画像表示制御コマンドが設定された場合にはステップS606に進み、そうでない場合にはステップS607に進む。
ステップS606では、画像表示制御コマンドに基づいて、液晶表示装置157に表示する表示シーンの設定を行う。ここでは、演出のストーリーに基づく画像の表示パターンを設定すると共に、遊技者の操作を受け付けた旨のコマンドや入賞役のいずれかに入賞した旨のコマンド等を、第1副制御部400を経由して主制御部300から受信した場合に実行する処理の設定等を行う。
ステップS607では、画像制御処理を行う。画像制御処理の詳細については後述する。
ステップS608では、シャッタコマンドがステップS604で設定されたか否かを判定する。シャッタコマンドが設定された場合にはステップS609に進み、そうでない場合にはステップS612に進む。
ステップS609では、シャッタコマンドに対応したパーツリストデータを取得する。シャッタコマンドには各々のパーツリストデータが格納されているROM612上の先頭アドレスがそれぞれ格納されおり、CPU510は、ROM612の所定の領域に予め記憶されたパーツリストデータを参照して制御情報を取得する。パーツリストデータの詳細については後述する。
ステップS610では、取得したパーツリストデータに基づいて、ROM612の所定の領域に予め記憶されたパーツデータを参照し、より詳細な制御情報を取得する。パーツデータの詳細については後述する。
ステップS611では、シャッタ移動情報設定処理を行い、ステップS612では、シャッタ移動処理を行う。シャッタ移動情報設定処理およびシャッタ移動処理の詳細については後述する。ステップS612を実行した後はステップS602に戻り、上記ステップS602〜S612の処理を繰り返し実行する。
<ストローブ処理>
次に、図12(a)を用いて、第2副制御部500のストローブ処理について説明する。同図は、第2副制御部500のストローブ処理の流れを示すフローチャートである。このストローブ処理は、第1副制御部400が出力するストローブ信号を検出した場合に実行される。
ストローブ処理のステップS701では、第1副制御部400が出力したコマンドを未処理コマンドとしてRAM513に設けたコマンド記憶領域に記憶する。
<VSYNC割り込み処理>
次に、図12(b)を用いて、第2副制御部500のVSYNC割り込み処理について説明する。同図は、第2副制御部500のVSYNC割り込み処理の流れを示すフローチャートである。第2副制御部500は、VDP600が定期的に(本実施例では、1秒間に60回(約16.66msに1回))出力するVSYNC信号(垂直同期信号)を受信した場合に、VSYNC割り込み処理を実行する。
ステップS801では、RAM513の所定の領域に記憶されたVSYNC信号カウンタの値に1を加える。
<VSYNC待ち処理>
次に、図12(c)を用いて、第2副制御部500のメイン処理におけるステップS602のVSYNC待ち処理について説明する。なお、同図は、VSYNC待ち処理の流れを示すフローチャートである。
ステップS901では、上述のVSYNC割り込み処理で加算されるVSYNC信号カウンタが2になったか否かを判定する。そして、VSYNC信号カウンタが2になった場合(前回の画像表示切替から約33ms(=16.66ms×2)が経過した場合)にはステップS902に進み、VSYNC信号カウンタが2になっていない場合にはステップS901の判断を繰り返し実行してVSYNC信号カウンタが2になるのを待つ。なお、本実施例では、VSYNC信号が2回入力するのを待って後続の処理を行うように構成しているが、本発明はこれに限定されず、VSYNC信号が1回入力するのを待って(前回の画像表示切替から約16.66msが経過するのを待って)後続の処理を行ってもよく、また、VSYNC信号が2回以上入力するのを待って(前回の画像表示切替から約33ms以上(例えば約49.98ms(=16.66ms×3))が経過するのを待って)後続の処理を行ってもよい。
ステップS902では、VSYNC信号カウンタをクリア(初期化)する。
<画像制御処理>
次に、図13を用いて、第2副制御部500のメイン処理におけるステップS607の画像制御処理について説明する。なお、同図は、画像制御処理の流れを示すフローチャートと、画像制御処理に伴ってCPU510とVDP600の間で送受信される情報を示した図である。
ステップS1101では、キャラクタ画像データ等の画像データの転送指示を行う。ここでは、CPU510は、まず、VRAM613の表示領域Aと表示領域Bの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された1フレームの画像が液晶表示装置157に表示される。次に、CPU510は、VDP600のアトリビュートレジスタ626に、CG−ROM612の転送元アドレス、VRAM613の転送先アドレスなどを設定した後、CG−ROM612からVRAM613への画像データの転送開始を指示する命令を設定する。VDP600は、アトリビュートレジスタ626に設定された命令に基づいて画像データをCG−ROM612からVRAM613に転送した後、転送終了割込信号をCPU510に対して出力する。
ステップS1102では、VDP600からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップS1103に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。
ステップS1103では、アトリビュート指示を行う。このアトリビュート指示では、CPU510は、ステップ1101でVRAM613に転送した画像データに基づいてVRAM613の表示領域AまたはBに表示画像を形成するために、表示画像を構成する画像データの情報(VRAM613の座標軸、画像サイズ、格納先アドレスなど)をVDP600に指示する。VDP600はアトリビュートレジスタ626に格納された命令に基づいてアトリビュートに従った設定を行う。
ステップS1104では、画像生成指示を行う。この画像生成指示では、CPU510は、VDP600に画像の生成開始を指示する。VDP600は、CPU510の指示に従って画像生成を開始する。
ステップS1105では、VDP600からの生成終了割り込み信号が入力されたか否かを判定し、生成終了割り込み信号が入力された場合はステップS1106に進み、そうでない場合は生成終了割り込み信号が入力されるのを待つ。
ステップS1106では、RAM513の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント(+1)する。
なお、前述したように、VRAM613はダブルバッファリング方式を採用しているため、今回の処理で生成された画像は、次回の処理で次のフレームの画像を生成する前にVRAM613の表示領域AおよびBとの間で描画領域の指定をスワップさせたとき以降に液晶表示装置157に表示されることとなる。従って、今回の処理で生成された画像が液晶表示装置157に表示されるまでには、少なくとも約33ms(VSYNC待ち処理においてVSYNC信号カウンタが2になるまでの時間)の時間を要する。さらに、本実施例の液晶表示装置157の走査時間および応答時間を考慮すると、実際には画像がVRAM613の表示領域AまたはBに生成されてから液晶表示装置157に表示されるまでには、約50msの時間を要することとなる。すなわち、本実施形態では、今回の処理で生成された画像は、常に約50ms遅れて液晶表示装置157に表示されることとなる。つまり、今回の処理で設定された演出が開始されるまでに要する準備時間として約50msを要する。しかしながら、今回の処理でシャッタコマンドがあった場合には、右シャッタ163aおよび/または左シャッタ163bを移動させる処理を実行するため(詳細は後述する)、準備時間に対応する時間分だけ先に右シャッタ163aおよび/または左シャッタ163bが移動してしまう不都合が起こりうる。例えば、画像表示制御コマンドに対応する画像が液晶表示装置157に表示されるタイミングでは、すでにシャッタコマンドに対応する左シャッタ163bの移動があることで、左シャッタ163bの一部が表示した画像に重なってしまい、画像の一部が見えなくなることが考えられる。
<シャッタ移動情報設定処理>
次に、図14(a)を用いて、第2副制御部500のメイン処理におけるステップS611のシャッタ移動情報設定処理について説明する。なお、同図は、シャッタ移動情報設定処理の流れを示すフローチャートである。
ステップS1201では、パーツリストデータおよびパーツデータを参照して、右シャッタ163aおよび左シャッタ163bの移動先の位置(目標位置または停止ポジションともいう)をパーツデータから取得し、RAM513の所定の領域に設定する。
ステップS1202では、パーツリストデータおよびパーツデータを参照して、右シャッタ163aおよび左シャッタ163bが目標位置まで移動するのに要する時間(移動時間)をパーツデータから取得し、RAM513の所定の領域に設定する。
ステップS1203では、後述する速度設定処理を行う。
<速度設定処理>
次に、図14(b)および(c)を用いて、シャッタ移動情報設定処理におけるステップS1203の速度設定処理について説明する。なお、同図(b)は、速度設定処理の流れを示すフローチャートであり、同図(c)は、本実施例において設定可能な右シャッタ163aおよび左シャッタ163bの移動速度および速度IDの表である。
ステップS1301では、移動距離を算出する。ここでは、右シャッタ163aおよび左シャッタ163bの現在位置から目標位置までの移動距離を算出する。具体的には、左シャッタモータ駆動部522または右シャッタモータ駆動部532から左シャッタ163bおよび右シャッタ163aの現在位置情報を取得し、シャッタ移動情報設定処理のステップS1201で設定した目標位置の座標と現在位置の座標の差の絶対値を移動距離として算出する。算出した移動距離は、RAM513の所定の領域に設定する。
ステップS1302では、速度を算出する。ここでは、ステップS1301で算出した移動距離をシャッタ移動情報設定処理のステップS1202で設定した移動時間で除した値に最も近い速度を、同図(c)に示した設定可能な移動速度の表から選択し、RAM513の所定の領域に設定する。
ステップS1303では、暫定座標を算出する。本実施例では、規定速度(本実施例では500PPS)よりも大きい速度で右シャッタ163aおよび左シャッタ163bを移動させる場合、停止の際に減速パターンに基づいて減速させた上で停止させる。このため、ステップS1302で500PPS以上の速度が設定された場合、目標位置よりもこの減速パターンの挿入分だけ(減速に要する距離だけ)遠い位置に暫定座標を設定し、RAM513の所定の領域に記憶する。例えば、目標位置の座標が150であり、減速に要する距離が25であるならば、暫定座標はこの両者の和(150+25)である175となる。なお、減速パターンは、移動速度に応じて予め設定されており、ROM512の所定の領域に記憶されている。
ステップS1304では、ステップS1303で設定した暫定座標が全開位置(左シャッタ163bの場合は座標0、右シャッタ163aの場合は座標784)または全閉位置(左シャッタ163b、右シャッタ163a共に座標392)を超えるか否かを判定する。該当する場合にはステップS1305に進み、該当しない場合にはステップS1306に進む。
ステップS1305では、減速開始座標の設定を行う。ここでは、暫定座標が全開位置または全閉位置を超える場合に、右シャッタ163aおよび左シャッタ163bの停止する位置が全開位置または全閉位置となるように、減速開始座標を設定する。具体的には、例えば、閉じる方向に移動する左シャッタ163bの目標位置の座標が380であり、減速に要する距離が25である場合、暫定座標は405(=385+25)となり、全閉位置(座標392)を超えることとなる。ここでは、このような場合に、減速開始座標を367(=392−25)に設定する。また、開く方向に移動する左シャッタ163bの目標位置の座標が15であり、減速に要する距離が25である場合、暫定座標は−10(=15−25)となり、全開位置(座標0)を超えることとなる。このような場合には、減速開始座標を25(=0+25)に設定する。なお、暫定座標が全開位置または全閉位置を超えない場合には、減速開始座標は移動位置の座標となる。
ステップS1306では、加速パターンが必要であるか否かを判定する。すなわち、右シャッタ163aおよび左シャッタ163bの移動を開始する際に、ステップS1302で設定した速度まで加速パターンに基づいて加速させる必要があるか否かを判定する。具体的には、ステップS1302で設定した速度が、現在の速度よりも大きく、且つ規定速度(500PPS)より大きいか否かを判定する。該当する場合にはステップS1307に進み、該当しない場合には処理を終了する。
ステップS1307では、加速パターンを設定する。ここでは、移動速度に応じて予め設定され、ROM512の所定の領域に記憶された加速パターンを取得し、RAM513の所定の領域に設定する。
なお、本実施形態では、規定速度500PPS以上としているが、これに限定されるものではない。すなわち、規定速度は、モータの仕様や右シャッタ163aおよび左シャッタ163bの質量等に基づいて適宜に設定すればよい。また、減速パターンについての規定速度と加速パターンについての規定速度を別に設定してもよい。
<シャッタ移動処理>
次に、図15(a)〜(c)を用いて、第2副制御部500のメイン処理におけるステップS612のシャッタ移動処理について説明する。なお、同図(a)はシャッタ移動処理の流れを示すフローチャートであり、同図(b)はパーツリストデータおよびパーツデータの構造を示した図であり、同図(c)はパーツデータの一例を示した図である。
まず、同図(b)および(c)を用いて、パーツリストデータおよびパーツデータにつて説明する。パーツリストデータは、同図(b)に示されるように、例えば「データ数」、「ループ数」および「データa〜x」の項目から構成されており、ROM512の所定の領域に予め記憶されている。本実施例のパーツリストデータでは、「データ数」の領域に、0〜65535の範囲でデータa〜xの総数が格納されている(0の場合は無効)。また、「ループ数」の領域には、0〜65535の範囲で動作を繰り返す回数が格納されている(0の場合は無限ループ)。「データa〜x」の領域には、パーツデータを参照するためのアドレス(各パーツデータが格納されているROM612上の先頭アドレス)がそれぞれ格納されている。すなわち、パーツリストデータは最小単位の制御情報である複数のパーツデータを時系列的に組み合わせることで、様々な連続動作の制御を実行可能に構成されている。
そして、パーツデータは、同図(b)に示されるように、例えば「移動目標位置(停止ポジション)」、「移動時間(ms)」の項目から構成されており、ROM512の所定記憶領域に予め記憶されている。本実施例では、「移動目標位置」の領域には、移動目標位置(移動先の位置)の座標に関する情報として現在位置から移動先までのモータのステップ数が格納されている。「移動時間」の領域には、0〜65535msの範囲で移動に要する時間が格納されている(0の場合は最速動作となる)。このパーツデータは、詳細には、同図(c)に示されるように、左シャッタ163bの移動目標位置および移動時間、ならびに右シャッタ163aの移動目標位置および移動時間の項目から構成されている。例えば、データaのパーツデータには、左シャッタ163bの移動目標位置として392パルス、左シャッタ163bの移動時間として250ms、右シャッタ163aの移動目標位置として392パルス、右シャッタ163aの移動時間として250msが格納されている。また、データcのパーツデータには、左シャッタ163bの移動目標位置として98パルス、左シャッタ163bの移動時間として50ms、右シャッタ163aの移動目標位置として682パルス、右シャッタ163aの移動時間として50msが格納されている。
なお、パーツリストデータは、演出ごとに(または、演出における右シャッタ163aおよび左シャッタ163bの一連の動作ごとに)予め設定され、パーツデータは、右シャッタ163aおよび左シャッタ163bの特定の動作ごとに予め設定されている。
また、1つのパーツリストデータが複数種類のパーツデータから構成されている場合には(1つのパーツデータのみからなる場合もある)、上述のシャッタ移動設定処理は、パーツリストデータに格納された全てのパーツデータについて実行される。具体的には、パーツリストデータの先頭に格納されたパーツデータから順に各パーツデータについてシャッタ移動設定処理が実行される。
同図(a)に示されるように、シャッタ移動処理のステップS1401では、パーツデータの移動時間が終了したか否かを判定する。ここでは、現在実行中の右シャッタ163aおよび左シャッタ163bの移動についてパーツデータに設定された移動時間が終了したか否かを判定し、該当する場合にはステップS1402に進み、該当しない場合には処理を終了する。
ステップS1402では、パーツデータの総数を超えたか否かを判定する。すなわち、パーツリストデータに基づいて設定された全てのパーツデータを実行したか否かを判定し、該当する場合には処理を終了し、該当しない場合にはステップS1403に進む。
ステップS1403では、パーツリストデータに基づいて設定された次のパーツデータから、左シャッタモータ駆動部522および右シャッタモータ駆動部532に送信するコマンドであるシャッタ移動情報を設定し、RAM513の所定の領域に記憶する。
<第2副制御部のタイマ割り込み処理>
次に、図16(a)を用いて、第2副制御部500のタイマ割り込み処理について説明する。なお、同図は、第2副制御部500のタイマ割り込み処理の流れを示すフローチャートである。
第2副制御部500は所定の周期(本実施例では2msに1回)でタイマ割り込みを発生するハードウェアタイマを備えており、このタイマ割り込みを契機として、タイマ割り込み処理を実行する。なお、第2副制御部500は、第1副制御部400と同様に汎用タイマの設定(10ms)としており、ステップS1501ではこの汎用タイマの更新を行う。ステップS1502ではシャッタモータ処理を行う。
<シャッタモータ処理>
次に、図16(b)を用いて、第2副制御部500のタイマ割り込み処理におけるステップS1502のシャッタモータ処理について説明する。なお、同図は、シャッタモータ処理の流れを示すフローチャートである。
ステップS1601では、パルス出力回数を管理するカウンタを更新する。パルス出力回数を管理するカウンタとは、シャッタ移動情報に基づいて、左シャッタモータ駆動部522および右シャッタモータ駆動部532にパルスを出力するタイミングを判別するカウンタである。ここでは、パルス出力回数を管理するカウンタの更新設定を行う。
ステップS1602では、パルス出力回数を管理するカウンタの値に基づいて、パルスを出力して右シャッタ163aおよび左シャッタ163bを移動させるタイミングであるか否かを判定する。パルスを出力するタイミングである場合にはステップS1603に進み、そうでない場合には処理を終了する。
ステップS1603では、左シャッタモータ駆動部522および/または右シャッタモータ駆動部532にパルスを出力し、左シャッタ163bおよび/または右シャッタ163aを移動させる。
ステップS1604では、シャッタ位置情報更新処理を行う。このシャッタ位置情報更新処理では、右シャッタ163aおよび/または左シャッタ163bの現在位置(現在座標)に関する情報としてRAM513の所定の領域に記憶されたシャッタ位置情報を更新するが、シャッタ位置情報更新処理の詳細については後述する。
ステップS1605では、各シャッタセンサ550〜553の状態がOFFからONに変わったか否かを判定する。すなわち、各シャッタセンサ550〜553が右シャッタ163aまたは左シャッタ163bを検出したか否かを判定し、検出した場合にはステップS1606に進み、そうでない場合は処理を終了する。
ステップS1606では、シャッタ位置情報に記憶された右シャッタ163aおよび左シャッタ163bの現在位置と、右シャッタ163aおよび左シャッタ163bの実際の現在位置とのずれを解消するために、シャッタ位置情報を補正する。
本実施形態では、第1シャッタセンサ550は右シャッタ163aが座標776〜784の範囲にある場合にONとなり、第2シャッタセンサ551は右シャッタ163aが座標392〜400の範囲にある場合にONとなる。また、第3シャッタセンサ552は左シャッタ163bが座標0〜8の範囲にある場合にONとなり、第4シャッタセンサ553は左シャッタ163bが座標384〜392の範囲にある場合にONとなる。従って、第1シャッタセンサ550がOFFからONに変わった場合にはシャッタ位置情報における右シャッタ163aの現在座標を776に変更し、第2シャッタセンサ551がOFFからONに変わった場合にはシャッタ位置情報における右シャッタ163aの現在座標を400に変更する。また、第3シャッタセンサ552がOFFからONに変わった場合にはシャッタ位置情報における左シャッタ163bの現在座標を8に変更し、第4シャッタセンサ553がOFFからONに変わった場合にはシャッタ位置情報における左シャッタ163bの現在座標を384に変更する。
なお、右シャッタ163aおよび左シャッタ163bの現在座標が、各シャッタセンサ550〜553がOFFからONに変わる位置の座標から所定の許容範囲以上離れている場合にのみシャッタ位置情報を補正するようにしてもよい。例えば、第1シャッタセンサ550の許容範囲を座標760〜784に設定し、第1シャッタセンサ550がOFFからONに変わったときの右シャッタ163aの現在座標が、この許容範囲外である場合にのみ右シャッタ163aの現在座標を変更するようにしてもよい。また、右シャッタ163aまたは左シャッタ163bの現在座標を変更する場合に、右シャッタ163aまたは左シャッタ163bの現在座標に予め設定した補正値を加算または減算するようにしてもよい。
<シャッタ位置情報更新処理>
次に、図17を用いて、シャッタモータ処理におけるステップS1604のシャッタ位置情報更新処理について説明する。なお、同図は、シャッタ位置情報更新処理の流れを示すフローチャートである。
ステップS1701では、左シャッタモータ駆動部522および右シャッタモータ駆動部532への出力パルスに変化があったか否かを判定する。出力パルスに変化があった場合にはステップS1702に進み、そうでない場合には処理を終了する。
ステップS1702では、右シャッタ163aおよび左シャッタ163bの移動が座標の正方向への移動であるか否かを判定する。すなわち、右シャッタ163aが開く方向へ移動する場合または左シャッタ163bが閉じる方向へ移動する場合にはステップS1703に進み、右シャッタ163aが閉じる方向へ移動する場合または左シャッタ163bが開く方向へ移動する場合にはステップS1704に進む。
ステップS1703では、シャッタ位置情報の右シャッタ163aまたは左シャッタ163bの現在座標の値に1を加算する。
ステップS1704では、シャッタ位置情報の右シャッタ163aまたは左シャッタ163bの現在座標の値から1を減算する。
ステップS1705では、右シャッタ163aまたは左シャッタ163bの現在座標と、減速開始座標が一致するか否かを判定する。該当する場合にはステップS1706に進み、該当しない場合にはステップS1707に進む。
ステップS1706では、現在の速度に応じて減速パターンを設定し、RAM513の所定の領域に記憶する。
ステップS1707では、各シャッタセンサ550〜551の検知状態(ONの状態)が持続中であるか否かを判定する。該当する場合にはステップS1708に進み、該当しない場合にはステップS1710に進む。
ステップS1708では、パルスの出力を停止する。
ステップS1709では、駆動電圧を下げる。本実施例では、右シャッタ163aおよび左シャッタ163bを駆動するステッピングモータの駆動電圧を12Vに設定しているが、右シャッタ163aおよび左シャッタ163bの位置を保持した状態で停止させる場合には、駆動電圧を5Vに下げるようにしている。従って、ここでは、ステッピングモータの駆動電圧を12Vから5Vに変更する。
ステップS1710では、右シャッタ163aおよび左シャッタ163bの現在座標と目標座標(移動位置の座標)が一致するか否かを判定する。該当する場合にはステップS1711に進み、該当しない場合にはステップS1715に進む。
ステップS1711では、右シャッタ163aおよび左シャッタ163bの現在の速度が規定速度(500PPS)よりも大きいか否かを判定する。現在の速度が規定速度より大きい場合にはステップS1712に進み、そうでない場合にはステップS1713に進む。
ステップS1712では、右シャッタ163aおよび左シャッタ163bの現在の速度に応じて減速パターンを設定し、RAM513の所定の領域に記憶する。
ステップS1713では、パルスの出力を停止する。
ステップS1714では、右シャッタ163aおよび左シャッタ163bを駆動するステッピングモータの駆動電圧を12Vから5Vに変更する。
ステップS1715では、右シャッタ163aおよび左シャッタ163bが現在加速中であるか否かを判定する。加速中の場合にはステップS1716に進み、そうでない場合にはステップS1718に進む。
ステップS1716では、加速(加速パターン)を終了したか否かを判定する。加速を終了した場合にはステップS1717に進み、そうでない場合には処理を終了する。
ステップS1717では、加速終了時の速度を設定する。ここでは、右シャッタ163aおよび左シャッタ163bが加速パターンにおける最後の速度を維持するように、この最後の速度をRAM513の所定の領域に設定する。
ステップS1718では、右シャッタ163aおよび左シャッタ163bが現在減速中であるか否かを判定する。減速中の場合にはステップS1719に進み、そうでない場合には処理を終了する。
ステップS1719では、減速(減速パターン)を終了したか否かを判定する。減速を終了した場合にはステップS1720に進み、そうでない場合には処理を終了する。
ステップS1720では、停止条件が成立しているか否かを判定する。ここでは、ステップS1706またはS1712で減速パターンが設定された場合に停止条件が成立したと判断し、停止条件が成立している場合にはステップS1721に進み、そうでない場合にはステップS1723に進む。
ステップS1721では、パルスの出力を停止する。
ステップS1722では、右シャッタ163aおよび左シャッタ163bを駆動するステッピングモータの駆動電圧を12Vから5Vに変更する。
ステップS1723では、減速終了時の速度を設定する。ここでは、右シャッタ163aおよび左シャッタ163bが減速パターンにおける最後の速度を維持するように、この最後の速度をRAM513の所定の領域に設定する。
<シャッタ同期画像演出(特定演出)の例>
次に、図18〜図20を用いて、遊技を盛り上げるために右シャッタ163aおよび/または左シャッタ163bの移動に連動させて液晶表示装置157の表示画面(画像表示領域)に画像を表示するシャッタ同期画像演出(特定演出)の例について説明する。
本実施形態では、図18(a)〜(c)に示すように、左シャッタ163bの楕円形状の開孔163b0内に特定画像(ここでは殿様のキャラクタ画像)が収まる状態で、左シャッタ163bの移動に合わせて特定画像の位置も移動させて表示するシャッタ同期画像演出を実施する。なお、シャッタ同期画像演出では、背景画像の上から上記特定画像を含む複数種類のキャラクタ画像(ここでは木、侍および殿様のキャラクタ画像)を重ねて配置するフレーム画像を複数生成し、各フレーム画像を順次表示する。
図19(a)および(b)に示すように、左シャッタ163bの開孔163b0の大きさは、短径および長径ともに固定されているのに対して、画像表示領域に表示される特定画像の大きさは、左シャッタ163bの移動時と停止時とで横サイズおよび縦サイズともに変化するようになっている。
表示される特定画像の大きさは、左シャッタ163bの移動時および停止時ともに、特定画像が完全に左シャッタ163bの開孔163b0内に収まるように、開孔163b0の短径に対応して横サイズが設定されるとともに、開孔163b0の長径に対応して縦サイズが設定されている。また、表示される特定画像の大きさは、停止時の横サイズおよび縦サイズがともに移動時のそれよりもわずかに大きく設定されている。なお、停止時に表示される特定画像の横サイズおよび縦サイズが標準サイズであり、特定画像がぴったりと左シャッタ163bの開孔163b0内に収まるように予め設計されている。
詳述すると、特定画像の縁上の任意の点と当該点に対向する液晶表示装置157における開孔163b0の背後範囲の縁B上の点(単に開孔163b0の縁B上の点でもよい)とを結ぶ距離(対向する任意の2点間の距離)が、左シャッタ163bの停止時よりも移動時で長くなるように設定されている。これは、移動時には、特定画像が所定の縮小率で縮小された縮小状態で液晶表示装置157に表示される一方、停止時には、特定画像が縮小または拡大されていない通常状態で液晶表示装置157に表示されることで達成される。ただし、特定画像と開孔163b0との相対的な位置関係は、停止時と移動時とで一定になるように設定されている。
図19(a)の左側に示すように、左シャッタ163bが移動している状態(後述する第11フレーム時)では、表示された特定画像の縁上の任意の点とその点に対向する開孔163b0の縁B上の任意の点との距離が、例えば「Gx1−11」「Gx2−11」「Gy1−11」「Gy2−11」となるように設定されている。
一方、図19(b)の左側に示すように、左シャッタ163bが停止した状態(後述する第20フレーム時)では、表示された特定画像の縁上の任意の点とその点に対向する開孔163b0の縁B上の任意の点との距離が、例えば「Gx1−20」「Gx2−20」「Gy1−20」「Gy2−20」となるように設定されている。
「Gx1−11」および「Gx1−20」は同じ2点間の距離であり、「Gx2−11」および「Gx2−20」は同じ2点間の距離であり、「Gy1−11」および「Gy1−20」は同じ2点間の距離であり、「Gy2−11」および「Gy2−20」は同じ2点間の距離である。また、「Gx1−20<Gx1−11」、「Gx2−20<Gx2−11」、「Gy1−20<Gy1−11」、「Gy2−20<Gy2−11」となっている。
なお、図19(a)の右側および図19(b)の右側に示すように、特定画像をキャラクタそのものだけをさす画像ではなく、キャラクタを含む矩形状の範囲内の画像と捉えて、この矩形画像および開孔163b0の2点間の距離を設定するようにしてもよい。
特定画像の液晶表示装置157への表示は、CPU510が、左シャッタ163bの動作パターンに合わせて、VDP600にVRAM613の描画領域の座標、表示領域AおよびBの座標ならびに画像サイズ等の情報をフレームごとに指示することで(画像制御処理のステップS1103)、上述の距離間が確保されるようになっている。上記のVDP613に指示する情報(アトリビュートデータ)は、特に図示しないが、扉の動作パターンに対応して予め設定され、扉の動作パターンとともにROM512に記憶されている。
図18に示すシャッタ同期画像演出における左シャッタ163bおよび特定画像の詳細を図20(a)および(b)に示す。図20(a)および(b)中の符号「f−1」〜「f−21」はフレーム番号である。
左シャッタ163bは第1フレームから閉方向に移動を開始し、第11フレームで左シャッタ163bの開孔163b0の一部(左シャッタ163bの場合は右縁部)が液晶表示装置157の画像表示領域に到達する。第11フレーム以降は、開孔163b0を通して特定画像が視認されるように、左シャッタ163bの移動に合わせて特定画像が表示される。従来の技術であれば、左シャッタ163bの移動中、左シャッタ163bの移動速度が加速・定速・減速と変化するために、左シャッタ163bの移動位置と特定画像の表示位置とを厳密に一致させることは難しく、左シャッタ163bの背後に特定画像の一部が隠れて表示されるおそれがある。本実施形態ではこれを回避するために、左シャッタ163bの移動中は特定画像を標準サイズよりも縮小して表示する。これによって、左シャッタ163bの移動位置と特定画像の表示位置とにズレが生じても、このズレを容易に許容することができる。
本演出例では、第20フレームで左シャッタ163bが停止するように設定されている。左シャッタ163bが停止してから特定画像を標準サイズに戻すと、停止直前と停止直後とで急にサイズが変化するために遊技者に違和感を与えるおそれがある。これを回避するために、シャッタ停止前の所定期間中に(ここでは第17フレームから第19フレームを表示する期間中に)徐々に特定画像を拡大していき、特定画像の大きさが縮小サイズから徐々に標準サイズに戻るように設定されている。例えば、第11フレーム〜第16フレームでは標準サイズを85%に縮尺し、第17フレームでは90%に縮尺し、第18フレームでは95%に縮尺し、停止直前の第19フレームでは縮尺せずに標準サイズに戻しておくとよい。
また、シャッタ同期画像演出における、特定画像の縮小率を変化させる所定期間(ここでは第17フレームから第19フレームの期間)のフレーム数は、特定画像の縮小率が一定に維持される期間(ここでは第11フレーム〜第16フレームの期間)のフレーム数よりも少なくなるように設定されている。
上述のように構成された本実施形態の遊技台によれば、次のような作用および効果を奏することができる。
第2副制御部500のCPU510は、第1副制御部400から受信した制御コマンドに基づいて演出抽選処理を実行する(図11に示すメイン処理のステップS604)。この演出抽選処理で、右シャッタ163aおよび/または左シャッタ163bの移動と液晶表示装置157に表示する画像とを同期(連携、連動)させて実行する「シャッタ同期画像演出」に当選した場合、そのシャッタ同期画像演出において液晶表示装置157に表示する画像の制御を図13に示す画像制御処理の手順で実行するとともに、右シャッタ163aおよび/または左シャッタ163bの動作の制御を図14〜図17に示すシャッタ移動に係る処理の手順で実行する。
シャッタ同期画像演出では、例えば、図18〜図20を参照して上述したように、左シャッタ163bを全開位置から全閉位置に向かって移動させるに伴い特定画像の位置も移動させる際に、左シャッタ163bの移動時には、特定画像が左シャッタ163bに重ならないように特定画像を縮小表示して、左シャッタ163bの開孔136b内に収める。
したがって、シャッタ163a,163bの動作と連動した表示を行うために、例えば、シャッタ163a,163bの位置を逐次精密に算出し、この算出結果によって決定した表示位置に画像を表示するようにすると、画像の表示に係る処理負荷が増大するのに対して、本実施形態のスロットマシン100によれば、シャッタ163a,163bと連動して表示させる特定画像の情報をシャッタ163a,163bの動作パターンに予め対応づけてROM512に記憶させているので、動作パターンから予測されるシャッタ163a,163bの仮想位置に基づいて制御を行なったとしても、画像の表示に係る処理負荷を増大させることなく、右シャッタ163aおよび/または左シャッタ163bと特定画像とに不本意な重なりが生じず、特定画像の視認性も低下しないようにすることができる。
特に、特定画像を縮小表示することで、右シャッタ163aおよび/または左シャッタ163bと特定画像との重なりを回避するので、制御内容が簡素ですむという利点がある。
また、右シャッタ163aおよび/または左シャッタ163bの停止直前に徐々に特定画像の縮小率を上げて特定画像と開孔との距離を縮めていくので、特定画像の大きさが変化することにより遊技者に与える違和感を抑制することができる。
また、特定画像の縮小率が変化するフレーム数は、特定画像の縮小率が一定に維持されるフレーム数よりも少なく設定されているので、特定画像の大きさの変化を遊技者が視認することを困難にすることができ、この点でも遊技者に与える違和感を抑制することができる。
なお、図21(a)〜(c)に示すように、右シャッタ163aおよび左シャッタ163bの構成を適宜に変更してもよい。つまり例えば、図21(a)に示すように、右シャッタ163aおよび左シャッタ163bのそれぞれに複数の矩形状の開孔を設けるようにしてもよい。また、図21(b)に示すように、右シャッタ163aおよび左シャッタ163bのそれぞれに開孔を設けず、代わりにシャッタ全体を透過率が100%に近い透明樹脂で形成してもよい。また、図21(c)に示すように、右シャッタ163aおよび左シャッタ163bのそれぞれに開孔を設けず、且つ、シャッタ全体を透過率が0%の不透明樹脂で形成してもよい。
図21(a)に示す有開孔タイプのシャッタ163a,163bの場合、シャッタ163a,163bの移動時には特定画像を縮小表示して各シャッタ163a,163bの各開孔内に特定画像を収め、各シャッタ163a,163bの背後に特定画像が隠れないように画像制御処理を実行するとよい。
また、図21(b)に示す透過タイプのシャッタ163a,163bの場合、各シャッタ163a,163bの背後に位置する画像は視認可能である。そのため、各シャッタ163a,163bの移動時には特定画像を縮小表示して、シャッタ163a,163bの縁から特定画像がはみ出すことなくシャッタ163a,163bの背後に(シャッタ背後範囲内に)特定画像が配置されるように画像制御処理を実行するとよい。
また、図21(c)に示す遮蔽タイプのシャッタ163a,163bの場合、各シャッタ163a,163bの背後に位置する画像は視認不能である。そのため、各シャッタ163a,163bの移動時には特定画像を縮小表示して、シャッタ163a,163bに重ならない位置に(シャッタ背後範囲外に)特定画像が配置されるように画像制御処理を実行するとよい。
つまり、シャッタ163a,163bの背後に隠れる画像表示領域の背後範囲に対して、特定画像の表示位置を決定するようにするとよい。背後範囲は、シャッタ163a,163bと画像表示領域とが重なっている範囲であり、画像を透過して視認可能であっても視認不能であってもよい。
[第2実施形態]
次に、図22〜図25を用いて本発明の第2実施形態の遊技台について説明する。本実施形態では、第1実施形態の構成にさらに木の形状の演出可動体(以下、木役物という)を設けるとともに、右シャッタ163aおよび左シャッタ163bを図21(c)に示す遮蔽タイプに構成したものである。以下では、木役物および木役物の動作と表示画像とを同期させる特定演出(役物同期画像演出)を中心に説明し、上記の第1実施形態と同じ構成については説明を省略する。
木役物1001は、液晶表示装置157の上方に設けられたベルト装置によって、図22(a)〜(d)に示すように液晶表示装置157の手前側を左右に移動可能に構成されている。木役物1001を移動させるベルト装置は、右シャッタ163aおよび左シャッタ163bを移動させるベルト装置と同様の構成であり、特に図示しないが、一対のプーリおよびこれらに巻き回された無端ベルトが、液晶表示装置157の幅方向に亘って配設されている。上記一対のプーリの一方はステッピングモータに接続され、無端ベルトは木役物1001の上部に接続されている。すなわち、木役物1001は、ステッピングモータに駆動されて走行する無端ベルトとともに、水平方向に移動するようになっている。
木役物1001は、このようにステッピングモータに駆動されて、液晶表示装置157の左側の画像表示領域外に位置する左側領域外位置と、液晶表示装置157の右側の画像表示領域外に位置する右側領域外位置との間を水平移動する。木役物1001は、左側領域外位置と右側領域外位置との間の任意の位置で停止することが可能である。
左側領域外位置は左シャッタ163bの全開位置に一致し、右側領域外位置は右シャッタ163aの全開位置に一致する。したがって、左側領域外位置に位置する木役物1001は左シャッタ163bの背後に隠れ、右側領域外位置に位置する木役物1001は右シャッタ163aの背後に隠れた状態とすることが可能である。
また、右シャッタ163aおよび左シャッタ163bの位置を検知するシャッタセンサ550〜553と同様に、木役物1001の位置を検知する木役物センサ1002が設けられている。木役物センサ1002は、木役物1001が左側領域外位置にあることを検知する。
木役物1001の移動と特定画像(ここでは殿様のキャラクタ画像)の表示とが同期する役物同期画像演出において、木役物1001の移動中のほうが、停止時に比べて特定画像と木役物1001との間の距離が大きくなるように設定されている。
すなわち、本実施形態では特定画像の大きさを拡大・縮小することなく、図23(a)および(b)に示すように、特定画像の縁上の任意の点と当該点に対向する木役物1001の背後に隠れる液晶表示装置157の画像表示領域の背後範囲の縁B′上の点(単に木役物1001の縁上の点でもよい)とを結ぶ距離(対向する任意の2点間の距離)が、木役物1001の停止時よりも移動時で長くなるように設定されている。
図23(a)に示すように、左シャッタ163bが移動している状態(後述する第11フレーム時)では、表示された特定画像の縁上の任意の点とその点に対向する木役物1001の背後範囲の縁B′上の任意の点との距離が、例えば「Gx3−11」「Gx4−11」「Gx5−11」「Gx6−11」となるように設定されている。
一方、図23(b)に示すように、左シャッタ163bが停止した状態(後述する第20フレーム時)では、表示された特定画像の縁上の任意の点とその点に対向する木役物1001の背後範囲の縁B′上の任意の点との距離が、例えば「Gx3−20」「Gx4−20」「Gx5−20」「Gx6−20」となるように設定されている。
「Gx3−11」および「Gx3−20」は同じ2点間の距離であり、「Gx4−11」および「Gx4−20」は同じ2点間の距離であり、「Gx5−11」および「Gx5−20」は同じ2点間の距離であり、「Gx6−11」および「Gx6−20」は同じ2点間の距離である。また、「Gx3−20<Gx3−11」、「Gx4−20<Gx4−11」、「Gx5−20<Gx5−11」、「Gx6−20<Gx6−11」となっている。
特定画像の液晶表示装置157への表示は、CPU510が、木役物1001の動作パターンに合わせて、VDP600にVRAM613の描画領域の座標、表示領域AおよびBの座標ならびに画像サイズ等の情報をフレームごとに指示することで(画像制御処理のステップS1103)、上述の距離間が確保されるようになっている。上記のVDP613に指示する情報(アトリビュートデータ)は、特に図示しないが、木役物1001の動作パターンに対応して予め設定され、木役物1001の動作パターンとともにROM512に記憶されている。
図22(a)〜(d)に示す役物同期画像演出における木役物1001および特定画像の詳細を図24(a)〜(c)に示す。図24(a)〜(c)中の符号「f−11」〜「f−21」はフレーム番号である。
木役物1001は第1フレームの時点で左側領域外位置から右側領域外位置に向かって移動を開始し、第11フレーム以降、木役物1001の背後に特定画像が隠れないように、木役物1001の移動に合わせて特定画像が表示される。このとき、図24(b)に示す特定画像の表示位置(座標)と、図24(c)に示す、動作パターンから予測される木役物1001の移動位置(座標)とについて、特定画像の大きさを縮小・拡大させることなしに、両者の任意の2点間の距離が停止時よりも移動時で長くなるように設定されている。さらに、木役物1001の停止直後の所定期間中に(ここでは第19フレーム〜第20フレームの期間中に)徐々に2点間の距離を縮め、標準の距離に戻している。
上述のように構成された本実施形態の遊技台によれば、次のような作用および効果を奏することができる。
第2副制御部500のCPU510は、第1副制御部400から受信した制御コマンドに基づいて演出抽選処理を実行する(図11に示すメイン処理のステップS604)。この演出抽選処理で、木役物1001の移動と液晶表示装置157の特定画像の表示とを同期させて実行する「役物同期画像演出」に当選した場合、その役物同期画像演出において液晶表示装置157に表示する画像の制御を図13に示す画像制御処理の手順で実行する。
役物同期画像演出では、例えば図22〜24を参照して上述したように、木役物1001の移動時には、特定画像および木役物1001の間の距離を停止時よりも空ける。CPU510は、特定画像の表示位置などの画像表示に係る情報を木役物1001の動作パターンに予め対応付けてROM512に予め記憶しておき、記憶した情報に基づいてVDP600に指示するが、動作パターンから予測される木役物1001の仮想位置に基づいて制御を行なったとしても、上述の比較的大きく空けられた距離が移動中の木役物1001の仮想位置と実際の位置とのずれを許容し、画像の表示に係る処理負荷を増大させることなく、木役物1001と特定画像とに不本意な重なりが生じず、特定画像の視認性も低下しないようにすることができる。
また、第2実施形態において、特定画像の移動速度が木役物1001の移動速度よりも速くなるように設定することで、移動時の2点間の距離を停止時のそれよりも大きくなるように変更してもよい。
図25(a)〜(d)にこの例を模式的に示す。図25(a)は木役物1001が停止した状態であり、図25(b)の時点で木役物1001が移動を開始する。この木役物1001の移動に対応して、特定画像の表示位置も変更を開始する。このとき、特定画像の表示位置を変更させることによる特定画像の見かけ上の移動速度を木役物1001の移動速度よりも速くすることで、時間が経過するにつれて特定画像と木役物1001との任意の2点間の距離が徐々に開いていくことになる。なお、この場合でも、木役物1001の停止直後に、上記2点間の距離を徐々に詰めていくようにする。
[第3実施形態]
次に、図26〜図29を用いて本発明の第3実施形態の遊技台について説明する。本実施形態では、第1実施形態の構成にさらに振り子体(演出可動体)からなる振り子装置(演出移動装置)を設けたものである。このため、以下では振り子体および振り子体の動作と表示画像とを同期させる特定演出(役物同期画像演出)を中心に説明し、上記の第1実施形態と同じ構成については説明を省略する。
図26(a)および(b)に示すように、振り子体1100は、液晶表示装置157の上方に配置され、円環状の枠部1100aと、枠部1100aから半径方向に突設された棒状の支持部1100bとからなるフレームを備えて構成されている。また、枠部1100aに囲まれた内側の部分は、透明な素材からなる透過領域1100cとなっている。
振り子体1100の支持部1100bの先端部には、第1歯車1102が設けられている。そして、この第1歯車1102は、ステッピングモータ1105に接続された第2歯車1104に噛み合わされている。このような構成により、振り子体1100は、ステッピングモータ1105に駆動されて、振り子状に約90度の範囲で液晶表示装置157の画像表示領域の手前側(前方)を回転動作することが可能となっている。振り子体1100、第1歯車1102、第2歯車1104およびステッピングモータ1105を合わせて振り子装置という。
振り子体1100は、図26(a)に示す液晶表示装置157上方の退避位置から、液晶表示装置157の手前側を移動して、図26(b)に示す重複位置の間を移動可能、且つ、退避位置と重複位置の間の任意の位置で停止可能に構成されている。振り子体1100のステッピングモータ1105は、シャッタ部材163のステッピングモータと同様に、第2副制御部500のCPU510によって制御される。
また、振り子体1100が液晶表示装置157の正面に位置している場合には、透過領域1100cを通して後方の液晶表示装置157の表示を視認することが可能となっている。なお、透過領域1100cは、半透明な素材から構成されてもよいし、開口部であってもよい。
また、特に図示しないが、液晶表示装置157の上方には、振り子体1100が退避位置にあることを検知するセンサが設けられている。
図27(a)〜(f)および図28(a)〜(f)は、振り子体1100の動作に合わせて特定画像を表示する特定演出の例を示す概略図である。
第2副制御部500のCPU510は、特定演出を構成する場合、例えば図27(a)〜(f)に示すように、振り子体1100が重複位置から退避位置に向かって移動するようにステッピングモータを制御する。また、CPU510は、液晶表示装置157の画面全面に背景画像を表示するとともに、振り子体1100の透過領域1100cの背後となる背後範囲内に特定画像(ここではチェリーの画像)を表示するようにVDP600に指示する。VDP600は、CPU510の指示に基づいて背景画像とともに特定画像を描画し、液晶表示装置157に表示させる特定画像の表示位置などの画像表示に係る情報は、振り子体1100の動作パターンに予め対応付けてROM512に予め記憶されている。
図27(a)〜(f)に示す演出例の特定画像の詳細を図29に示す。振り子体1100は、重複位置から退避位置に向かって弧状に上昇移動し、特定画像は、フレームごとに表示位置としての座標およびサイズを変更して振り子体1100の移動に追従する。第1〜第4フレームでは、特定画像は液晶表示装置157上の座標(x71,y71)に表示され、また、大きさは標準サイズのままとする。第5フレームの時点で振り子体1100は移動を開始する。その移動に合わせて特定画像の表示位置を(x72,y72)→(x73,y73)→(x74,y74)→(x75,y75)→(x76,y76)→(x77,y77)→(x78,y78)と順次変更し、且つ、この振り子体1100の移動開始直後の所定期間で特定画像の横サイズを「XL3−1」→「XL3−2」→「XL3−3」、縦サイズを「YL3−1」→「YL3−2」→「YL3−3」と徐々に縮小する。この縮小により、振り子体1100の透過領域1100cの背後範囲の縁B″上の任意の点(枠部1100aの背後範囲の縁B″上の任意の点と同じ)と特定画像の縁上の任意の点との間の距離を、振り子体1100の停止時よりも移動時で長くすることができる。
本実施形態では第5〜第7フレームを上記所定期間とし、第5〜第7フレームで特定画像を徐々に縮小表示し、第7フレームで特定画像が目標の縮小率で表示された状態とする。そして、続く第8フレーム以降は、上記目標の縮小率で縮小された特定画像が振り子体1100の移動に連動した位置に表示されるものとする。
図28(a)〜(d)に示す演出例では、振り子体1100は退避位置から重複位置に向かって弧状に下降移動し、特定画像は、フレームごとに表示位置としての座標およびサイズを変更して振り子体1100の移動に追従する。この例では、振り子体1100が停止する直前の所定の停止直前期間以外は、特定画像を所定の大きさに縮小して表示し、停止直前期間では、特定画像の大きさを標準サイズに向かって徐々に拡大し、振り子体1100が停止した時点で特定画像を標準サイズで表示する。
このようにすることで、動作パターンから予測される振り子体1100の仮想位置に基づいて画像制御を行なったとしても、縮小により比較的大きく空けられた特定画像と振り子体1100との距離が移動中の振り子体1100の仮想位置と実際の位置とのずれを許容し、画像の表示に係る処理負荷を増大させることなく、振り子体1100と特定画像とに不本意な重なりが生じず、特定画像の視認性も低下しないようにすることができる。
[その他]
尚、本発明の遊技台は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、特定画像は、上記第1実施形態および第2実施形態のようにキャラクタ画像であってもよいし、第3実施形態のように遊技台の内部情報を報知する画像(入賞役を示す画像)としてもよい。
また例えば、特定画像の表示が、シャッタ163a,163bや木役物1001や振り子体1100などの演出可動体の移動方向と同一方向のみ変化するように制御してもよい。つまり、例えば演出可動体の移動方向がX軸正方向である場合、画像のX座標のみがX軸正方向に移動し、且つ、X軸方向の縮尺率のみが変化して、Y座標やY軸方向の縮尺率は固定して制御するようにしてもよい。これによって過度に大きさや位置を変化させないという利点がある。
また、演出可動体の移動速度が増すほど、液晶表示装置157に表示される特定画像の縁と、液晶表示装置157における演出可動体の背後範囲の縁B,B′,B″との間の距離が長くなるようにしてもよい。移動速度が速いほど移動位置と画像表示位置とを一致させることが難しく、両者のずれが大きくなりやすいが、移動速度が速いほど距離を大きくすれば、ずれを許容し、重なりを確実に防止することができる。
また例えば、上記実施形態では遊技台としてメダル(コイン)を遊技媒体としたスロットマシンを例示して説明したが、本発明の適用はこれに限定されるものではなく、例えば、遊技球(例えば、パチンコ玉)を遊技媒体としたスロットマシンやパチンコ機などにも適用可能である。
具体的には、本発明は「複数種類の図柄が施された複数のリール110〜112と、複数のリールの回転を開始させるスタートスイッチ135と、複数のリールのそれぞれに対応して設けられ、リールの回転を個別に停止させるストップスイッチ137〜139と、予め定められた複数種類の入賞役の内部当選の当否を抽選により判定する抽選手段(入賞役内部抽選)と、停止された複数のリールによって表示される図柄の組合せが、抽選手段により内部当選した入賞役に対応する図柄の組合せであるか否かにより入賞役の入賞の当否を判定する判定手段(入賞判定)と、を備えたスロットマシン」に好適であるが、「所定の遊技領域に遊技球を発射する発射装置と、発射装置から発射された遊技球を入球可能に構成された入賞口と、入賞口に入球した遊技球を検知する検知手段と、検知手段が遊技球を検知した場合に遊技球(賞球)を払出す払出手段と、所定の図柄(識別情報)を変動表示する可変表示装置を備え、入賞口に遊技球が入って入賞することを契機として、可変表示装置が図柄を変動させた後に停止表示させて、遊技状態の推移を告知するようなパチンコ機」にも好適である。
さらに、本発明をアレンジボール遊技機、じゃん球遊技機、スマートボール、およびカ
ジノマシン等に適用しても、同様の効果を得ることができる。
つまり、本発明は少なくとも、画像を表示する画像表示装置(例えば、液晶表示装置157)と、前記画像表示装置の画像表示領域の手前側を移動可能に構成された一または複数の演出可動体(例えば、シャッタ163a,163b、木役物1001、振り子体1100)からなる演出移動装置(例えば、シャッタ部材163)と、所定範囲に位置する前記演出可動体を検知する検知装置(例えば、シャッタセンサ550〜553)と、前記画像表示装置に表示する画像の制御および前記演出移動装置の動作の制御を行う制御手段(例えば、第2副制御部500のCPU510)と、を備えた遊技台に適用可能であり、このような遊技台において、前記制御手段が、前記演出可動体の移動に連動して前記画像表示領域に特定画像を表示する特定演出を構成する際に、前記演出可動体が前記画像表示領域の正面に位置している場合であって且つ前記演出可動体が停止している場合における、前記演出可動体の背後に隠れる前記画像表示領域の背後範囲の縁(例えば、縁B、縁B′、縁B″)と前記画像表示領域に表示される前記特定画像の縁との間の距離である第1距離と、記演出可動体が前記画像表示領域の正面に位置している場合であって且つ前記演出可動体が前記検知装置に検知されない位置で移動している場合における、前記背後範囲の縁と前記特定画像の縁との間の距離である第2距離と、では、前記第2距離が前記第1距離よりも長い距離となるように設定するようにするとよい。
また、上記遊技台において、前記制御手段は、前記可動演出体が減速して停止するときに、完全に停止する前に、前記第2距離の長さを徐々に縮めて前記第1距離の長さに近づけることが好ましい。
また、上記遊技台において、前記制御手段は、停止している前記可動演出体が移動を開始した移動開始直後では、前記第2距離の長さを前記第1距離の長さに近づけ、前記可動演出体が加速するに従い徐々に広げることが好ましい。
また、上記遊技台において、前記制御手段は、前記特定画像の表示を、前記演出可動体の移動方向と同一方向にのみ変化するように制御することが好ましい。
また、上記遊技台において、前記制御手段は、前記演出可動体が移動しているときは、前記演出可動体と前記特定画像との相対的な位置関係を一定に維持しながら、前記特定画像を縮小表示することで、前記第2距離が前記第1距離よりも長い距離にすることが好ましく、さらに、前記制御手段は、前記特定演出中の移動開始直後の所定の第1期間および/または停止直前の所定の第2期間では、前記特定画像の縮小率が徐々に変化するように前記特定画像の表示を制御し、前記第1期間および前記第2期間の間の第3期間では、一定の縮小率を維持するように前記特定画像の表示を制御し、前記特定画像の縮小率が徐々に変化する前記第1期間および/または前記第2期間を前記第3期間よりも短く設定する
ことが好ましい。
また、上記遊技台において、前記制御手段は、前記演出可動体の移動速度が増すほど前記第2距離が長くなるように設定することが好ましい。