発明の実施の形態1.
図1は前扉を閉めた状態を示すスロットマシンの正面図、図2は前扉を180度開いた状態を示すスロットマシンの正面図を示す。
図1及び図2中、100はスロットマシンを示すもので、このスロットマシン100は、図1に示すように、スロットマシン本体120と、このスロットマシン本体120の前面片側にヒンジ等により開閉可能に取り付けられた前扉130とを備えている。前記前扉130の前面には、図1に示すように、ほぼ中央にゲーム表示部131を設け、ゲーム表示部131の右下隅部に、遊技者がメダルを投入するためのメダル投入口132を設け、メダル投入口132の下側には、メダル投入口132から投入され、詰まってしまったメダルをスロットマシン100外に強制的に排出するためのリジェクトボタン133が設けられている。
また、前記ゲーム表示部131の左下方には、ゲームを開始するためのスタートスイッチ134を設けてあり、3つの回胴のそれぞれに対応して3つのストップスイッチ140を設けてある。前扉の下端部中央には、メダルの払出し口135を設けてある。前記ゲーム表示部131の上側には、液晶表示装置LCDが設けてある。
スロットマシン本体120の内部には、図2に示すように、その内底面に固定され、内部に複数のメダルを貯留して、貯留したメダルを前扉130の前面に設けた払出し口135に1枚ずつ払い出すためのホッパ装置121が設置されている。このホッパ装置121の上部には、上方に向けて開口し、内部に複数のメダルを貯留するホッパタンク122を備えている。スロットマシン本体120の内部には、前扉130を閉めたときにゲーム表示部131が来る位置に三個の回胴からなるリール(回胴)ユニット203が設置されている。リールユニット203は、外周面に複数種類の図柄が配列されている3つの回胴(第1回胴〜第3回胴)を備えている。ゲーム表示部131には開口部が設けられていて、それを通して遊技者が前記リールユニット203の各回転回胴の図柄を見ることができるようになっている。ホッパ装置121の左側には電源部205が設けられている。
前記前扉130の裏面には、図2に示すように、メダル(コイン)セレクタ1が、前扉130の前面に設けられたメダル投入口132の裏側に取り付けられている。このメダルセレクタ1は、メダル投入口132から投入されたメダルの通過を検出しながら、当該メダルをホッパ装置121に向かって転動させ、外径が所定寸法と違う異径メダルや、鉄又は鉄合金で作製された不正メダルを選別して排除するとともに、1ゲームあたりに投入可能な所定枚数以上のメダルを選別して排除するための装置である。
また、メダルセレクタ1の下側には、図2に示すように、その下部側を覆って前扉130の払出し口135に連通する導出路136が設けられている。メダルセレクタ1により振り分けられたメダルは、この導出路136を介して払出し口135から遊技者に返却される。
図3は発明の実施の形態に係るスロットマシン100の機能ブロック図を示す。
この図において電源系統についての表示は省略されている。図示しないが、スロットマシンは商用電源(AC100V)から直流電源(+5Vなど)を発生するための電源部を備える。
スロットマシン100は、その主要な処理装置としてメイン基板(処理部)10とこれからコマンドを受けて動作するサブ基板20とを備える。なお、少なくともメイン基板10は、外部から接触不能となるようにケース内部に収容され、これら基板を取り外す際に痕跡が残るように封印処理が施されている。
メイン基板10は、遊技者の操作を受けて内部抽選を行ったり、リールの回転・停止やメダルの払い出しなどの処理(遊技処理)を行うためのものである。メイン基板10は、予め設定されたプログラムに従って制御動作を行うCPUと、前記プログラムを記憶する記憶手段であるROMおよび処理結果などを一時的に記憶するRAMを含む。
サブ基板20は、メイン基板10からコマンド信号を受けて内部抽選の結果を報知したり各種演出を行うためのものである。サブ基板20は、前記コマンド信号に応じた予め設定されたプログラムに従って制御動作を行うCPUと、前記プログラムを記憶する記憶手段であるROMおよび処理結果などを一時的に記憶するRAMを含む。コマンドの流れはメイン基板10からサブ基板20への一方のみであり、逆にサブ基板20からメイン基板10へコマンド等が出されることはない。
メイン基板10には、ベットスイッチBET、スタートスイッチ134,ストップボタン140,リールユニット(リール駆動装置を含む)203,リール位置検出回路71、ホッパ駆動部80、ホッパ81及びホッパ81から払い出されたメダルの枚数を数えるためのメダル検出部82(これらは前述のホッパ装置121を構成する)が接続されている。サブ基板20には液晶表示装置の制御用の液晶制御基板200、スピーカ基板201、LED基板202などの周辺基板(ローカル基板)が接続されている。周辺基板とは、サブ基板20により制御されるものであり、主に映像、光、音響により演出を行うものである。なお、以下の説明では、便宜上、液晶制御基板200とその他の周辺基板を区別して説明を行う。
メイン基板10には、さらに、メダルセレクタ1のメダルセンサS1及びS2が接続されている。
メダルセレクタ1には、メダルを計数するためのメダルセンサS1及びS2が設けられている。メダルセンサS1及びS2は、メダルセレクタ1に設けられた図示しないメダル通路の下流側(出口近傍)に設けられている(メダル通路の上流側はメダル投入口132に連通している)。2つのメダルセンサS1とS2は、メダルの進行方向に沿って所定間隔を空けて並べて設けられている。メダルセンサS1、S2は、例えば、互いに対向した発光部と受光部とを有して断面コ字状に形成され、その検出光軸をメダル通路内に上方から臨ませて位置するフォトインタラプタである。各フォトインタラプタにより、途中で阻止されずに送られてきたメダルの通過が検出される。なお、フォトインタラプタを2つ隣接させたのは、メダル枚数を検出するだけでなく、メダルの通過が正常か否かを監視するためである。すなわち、フォトインタラプタを2つ隣接させて設けることにより、メダルの通過速度や通過方向を検出することができ、これによりメダル枚数だけでなく、逆方向に移動する不正行為を感知することができる。
ホッパ駆動部80は、ホッパ81を回転駆動して、メイン基板10によって指示された払出数のメダルを払い出す動作を行う。遊技機は、メダルを1枚払い出す毎に作動するメダル検出部82を備えており、メイン基板10は、メダル検出部82からの入力信号に基づいてホッパ81から実際に払い出されたメダルの数を管理することができる。
投入受付部1050は、メダルセレクタ1のメダルセンサS1とS2の出力を受け、遊技毎にメダルの投入を受け付けて、規定投入数に相当するメダルが投入されたことに基づいて、スタートスイッチ134に対する第1リール〜第3リールの回転開始操作を許可する処理を行う。なお、スタートスイッチ134の押下操作が、第1リール〜第3リールの回転を開始させる契機となっているとともに、内部抽選を実行する契機となっている。また、遊技状態に応じて規定投入数を設定し、通常状態およびボーナス成立状態では規定投入数を3枚に設定し、ボーナス状態では規定投入数を1枚に設定する。
メダルが投入されると、遊技状態に応じた規定投入数を限度として、投入されたメダルを投入状態に設定する。あるいは、遊技機にメダルがクレジットされた状態で、ベットスイッチBETが押下されると、遊技状態に応じた規定投入数を限度して、クレジットされたメダルを投入状態に設定する。メダルの投入を受け付けるかどうかは、メイン基板10が制御する。メダルの投入を受け付ける状態になっていないときは(許可されていないときは)、メダルを投入してもメダルセンサS1、S2でカウントされず、そのまま返却される。同様に、メイン基板10はベットスイッチBETの有効/無効を制御する。ベットスイッチBETが有効になっていないときは(許可されていないときは)、ベットスイッチBETを押下しても、それは無視される。
メイン基板10は、乱数発生手段1100を内蔵する。乱数発生手段1100は、抽選用の乱数値を発生させる手段である。乱数値は、例えば、インクリメントカウンタ(所定のカウント範囲を循環するように数値をカウントするカウンタ)のカウント値に基づいて発生させることができる。なお本実施形態において「乱数値」には、数学的な意味でランダムに発生する値のみならず、その発生自体は規則的であっても、その取得タイミング等が不規則であるために実質的に乱数として機能しうる値も含まれる。
内部抽選手段1200は、遊技者がスタートスイッチ134からのスタート信号に基づいて、役の当否を決定する内部抽選を行う。すなわち、メイン基板10のメモリ(図示せず)に記憶されている抽選テーブル(図示せず)を選択する抽選テーブル選択処理、乱数発生手段1050から得た乱数の当選を判定する乱数判定処理、当選の判定結果で大当たりなどに当選したときにその旨のフラグを設定する抽選フラグ設定処理などを行う。
抽選テーブル選択処理では、図示しない記憶手段(ROM)に格納されている複数の抽選テーブル(図示せず)のうち、いずれの抽選テーブルを用いて内部抽選を行うかを決定する。抽選テーブルでは、複数の乱数値(例えば、0〜65535の65536個の乱数値)のそれぞれに対して、リプレイ、小役(ベル、チェリー)、レギュラーボーナス(RB:ボーナス)、およびビッグボーナス(BB:ボーナス)などの各種の役が対応づけられている。また、遊技状態として、通常状態、ボーナス成立状態、およびボーナス状態が設定可能とされ、さらにリプレイの抽選状態として、リプレイ無抽選状態、リプレイ低確率状態、リプレイ高確率状態が設定可能とされる。
乱数判定処理では、スタートスイッチ134からのスタート信号に基づいて、遊技毎に前記乱数発生手段(図示せず)から乱数値(抽選用乱数)を取得し、取得した乱数値について前記抽選テーブルを参照して役に当選したか否かを判定する。
抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役の抽選フラグを非当選状態(第1のフラグ状態、オフ状態)から当選状態(第2のフラグ状態、オン状態)に設定する。2種類以上の役が重複して当選した場合には、重複して当選した2種類以上の役のそれぞれに対応する抽選フラグが当選状態に設定される。抽選フラグの設定情報は、記憶手段(RAM)に格納される。
入賞するまで次回以降の遊技に当選状態を持ち越し可能な抽選フラグ(持越可能フラグ)と、入賞の如何に関わらず次回以降の遊技に当選状態を持ち越さずに非当選状態にリセットされる抽選フラグ(持越不可フラグ)とが用意されていることがある。この場合、前者の持越可能フラグが対応づけられる役としては、レギュラーボーナス(RB)およびビッグボーナス(BB)があり、それ以外の役(例えば、小役、リプレイ)は後者の持越不可フラグに対応づけられている。すなわち抽選フラグ設定処理では、内部抽選でレギュラーボーナスに当選すると、レギュラーボーナスの抽選フラグの当選状態を、レギュラーボーナスが入賞するまで持ち越す処理を行い、内部抽選でビッグボーナスに当選すると、ビッグボーナスの抽選フラグの当選状態を、ビッグボーナスが入賞するまで持ち越す処理を行う。このときメイン基板10は、内部抽選機能により、レギュラーボーナスやビッグボーナスの抽選フラグの当選状態が持ち越されている遊技でも、レギュラーボーナスおよびビッグボーナス以外の役(小役およびリプレイ)についての当否を決定する内部抽選を行っている。すなわち抽選フラグ設定処理では、レギュラーボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているレギュラーボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる2種類以上の役に対応する抽選フラグを当選状態に設定し、ビッグボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているビッグボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる2種類以上の役に対応する抽選フラグを当選状態に設定する。
リプレイ処理手段1600は、所定条件下で内部抽選におけるリプレイの当選確率を変動させる制御を行うことがある。リプレイ処理手段1600については、後に再度説明を加える。リプレイの抽選状態として、リプレイが内部抽選の対象から除外されるリプレイ無抽選状態、リプレイの当選確率が約1/7.3に設定されるリプレイ低確率状態、およびリプレイの当選確率が約1/6に設定されるリプレイ高確率状態という複数種類の抽選状態を設定可能とされている。リプレイの抽選状態を変化させることにより、内部抽選におけるリプレイの当選確率を変動させる。
リール制御手段1300は、遊技者がスタートスイッチ134の押下操作(回転開始操作)によるスタート信号に基づいて、第1リール〜第3リールをステッピングモータにより回転駆動して、第1リール〜第3リールの回転速度が所定速度(約80rpm:1分間あたり約80回転となる回転速度)に達した状態において回転中のリールにそれぞれ対応する3つのストップボタン140の押下操作(停止操作)を許可する制御を行うとともに、ステッピングモータにより回転駆動されている第1リール〜第3リールを抽選フラグの設定状態(内部抽選の結果)に応じて停止させる制御を行う。
また、リール制御手段1300は、3つのストップボタン140に対する押下操作(停止操作)が許可(有効化)された状態において、遊技者が3つのストップボタン140を押下することにより、そのリール停止信号に基づいて、リールユニット203のステッピングモータへの駆動パルス(モータ駆動信号)の供給を停止することにより、第1リール〜第3リールの各リールを停止させる制御を行う。
すなわち、リール制御手段1300は、3つのストップボタン140の各ボタンが押下される毎に、第1リール〜第3リールのうち押下されたボタンに対応するリールの停止位置を決定して、決定された停止位置でリールを停止させる制御を行っている。具体的には、記憶手段(ROM)に記憶されている停止制御テーブル(図示せず)を参照して3つのストップボタンの押下タイミングや押下順序等(停止操作の態様)に応じた第1リール〜第3リールの停止位置を決定し、決定された停止位置で第1リール〜第3リールを停止させる制御を行う。
ここで停止制御テーブルでは、ストップボタン140の作動時点における第1リール〜第3リールの位置(押下検出位置)と、第1リール〜第3リールの実際の停止位置(または押下検出位置からの滑りコマ数)との対応関係が設定されている。抽選フラグの設定状態に応じて、第1リール〜第3リールの停止位置を定めるための停止制御テーブルが用意されることもある。
遊技機では、リールユニット203がフォトセンサからなるリールインデックス(図示せず)を備えており、リール制御手段1300は、リールが1回転する毎にリールインデックスで検出される基準位置信号に基づいて、リールの基準位置(リールインデックスによって検出されるコマ)からの回転角度(ステップモータの回転軸の回転ステップ数)を求めることによって、現在のリールの回転状態を監視することができるようになっている。すなわち、メイン基板10は、ストップスイッチ140の作動時におけるリールの位置を、リールの基準位置からの回転角度を求めることにより得ることができる。
リール制御手段1300は、いわゆる引き込み処理と蹴飛ばし処理とをリールを停止させる制御として行っている。引き込み処理とは、抽選フラグが当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止するように(当選した役を入賞させることができるように)リールを停止させる制御処理である。一方蹴飛ばし処理とは、抽選フラグが非当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止しないように(当選していない役を入賞させることができないように)リールを停止させる制御処理である。すなわち本実施形態の遊技機では、上記引き込み処理及び蹴飛ばし処理を実現させるべく、抽選フラグの設定状態、ストップボタン140の押下タイミング、押下順序、既に停止しているリールの停止位置(表示図柄の種類)などに応じて各リールの停止位置が変化するように停止制御テーブルが設定されている。このように、メイン基板10は、抽選フラグが当選状態に設定された役の図柄を入賞の形態で停止可能にし、一方で抽選フラグが非当選状態に設定された役の図柄が入賞の形態で停止しないように第1リール〜第3リールを停止させる制御を行っている。
本実施形態の遊技機では、第1リール〜第3リールが、ストップボタン140が押下された時点から190ms以内に、押下されたストップボタンに対応する回転中のリールを停止させる制御状態に設定されている。すなわち回転している各リールの停止位置を決めるための停止制御テーブルでは、ストップボタン140の押下時点から各リールが停止するまでに要するコマ数が0コマ〜4コマの範囲(所定の引き込み範囲)で設定されている。
入賞判定手段1400は、第1リール〜第3リールの停止態様に基づいて、役が入賞したか否かを判定する処理を行う。具体的には、記憶手段(ROM)に記憶されている入賞判定テーブルを参照しながら、第1リール〜第3リールの全てが停止した時点で入賞判定ライン上に表示されている図柄組合せが、予め定められた役の入賞の形態であるか否かを判定する。
入賞判定手段1400は、その判定結果に基づいて、入賞時処理を実行する。入賞時処理としては、例えば、小役が入賞した場合にはホッパ81を駆動してメダルの払出制御処理が行われるか、あるいはクレジットの増加され(規定の最大枚数例えば50枚まで増加され、それを超えた分だけ実際にメダル払い出される)、リプレイが入賞した場合にはリプレイ処理が行われ、ビッグボーナスやレギュラーボーナスが入賞した場合には遊技状態を移行させる遊技状態移行制御処理が行われる。
払出制御手段1500は、遊技結果に応じたメダルの払い出しに関する払出制御処理を行う。具体的には、小役が入賞した場合に、役毎に予め定められている配当に基づいて遊技におけるメダルの払出数を決定し、決定された払出数に相当するメダルを、ホッパ駆動部80でホッパ81を駆動して払い出させる。この際に、ホッパ81に内蔵される図示しないモータに電流が流れることになる。
メダルのクレジット(内部貯留)が許可されている場合には、ホッパ81によって実際にメダルの払い出しを行う代わりに、記憶手段(RAM)のクレジット記憶領域(図示省略)に記憶されているクレジット数(クレジットされたメダルの数)に対して払出数を加算するクレジット加算処理を行って仮想的にメダルを払い出す処理を行う。
リプレイ処理手段1600は、リプレイが入賞した場合に、次回の遊技に関して遊技者の所有するメダルの投入を要さずに前回の遊技と同じ準備状態に設定するリプレイ処理(再遊技処理)を行う。リプレイが入賞した場合には、遊技者の手持ちのメダル(クレジットメダルを含む)を使わずに前回の遊技と同じ規定投入数のメダルが自動的に投入状態に設定される自動投入処理が行われ、遊技機が前回の遊技と同じ入賞判定ラインを有効化した状態で次回の遊技における回転開始操作(遊技者によるスタートスイッチ134の押下操作)を待機する状態に設定される。
また、メイン基板10は、通常状態、ボーナス成立状態、およびボーナス状態の間で遊技状態を移行させる制御を行うことがある(遊技状態移行制御機能)。遊技状態の移行条件は、1の条件が定められていてもよいし、複数の条件が定められていてもよい。複数の条件が定められている場合には、複数の条件のうち1の条件が成立したこと、あるいは複数の条件の全てが成立したことに基づいて、遊技状態を他の遊技状態へ移行させることができる。
通常状態は、複数種類の遊技状態の中で初期状態に相当する遊技状態で、通常状態からはボーナス成立状態への移行が可能となっている。ボーナス成立状態は、内部抽選でビッグボーナスあるいはレギュラーボーナスに当選したことを契機として移行する遊技状態である。ボーナス成立状態では、通常状態における内部抽選でビッグボーナスが当選した場合、ビッグボーナスが入賞するまでビッグボーナスに対応する抽選フラグが当選状態に維持され、通常状態における内部抽選でレギュラーボーナスが当選した場合、レギュラーボーナスが入賞するまでレギュラーボーナスに対応する抽選フラグが当選状態に維持される。ボーナス状態では、ボーナス遊技によって払い出されたメダルの合計数により終了条件が成立したか否かを判断し、入賞したボーナスの種類に応じて予め定められた払出上限数を超えるメダルが払い出されると、ボーナス状態を終了させて、遊技状態を通常状態へ復帰させる。
リールユニット203は、図示しない3つのリールを備えるが、3つのリールそれぞれにひとつづつステッピングモータが取り付けられている。ステッピングモータは、回転子(ロータ)として歯車状の鉄心あるいは永久磁石を備え、固定子(ステータ)として複数の巻線(コイル)を備え、電流を流す巻線を切り替えることによって回転動作させるものである。すなわち、固定子の巻線に電流を流して磁力を発生させ、回転子を引きつけることで回転するものである。回転軸を指定された角度で停止させることが可能なことから、スロットマシンのリールの回転駆動に使用されている。複数の巻線がひとつの相を構成する。相の数として、例えば、2つ(二相)、4つ(4相)、5つ(5相)のものもある。
次に、遊技機における遊技処理について図4を参照して説明を加える。
一般的に、遊技機において、メダルの投入(クレジットの投入)に始まり、払い出しが終了するまで(又はクレジット数の増加が終了するまで)が一遊技である。一遊技が終了するまでは次回の遊技に進めないという決まりがある。
先ず、規定枚数のメダルが投入されることでスタートスイッチ134が有効になり、図4の処理が開始される。
ステップS1において、スタートスイッチ134が操作されることにより、スタートスイッチ134がONとなる。そして、次のステップS2に進む。
ステップS2において、メイン基板10により抽選処理が行われる。そして、次のステップS3に進む。
ステップS3において、第1リール〜第3リールの回転が開始する。そして、次のステップS4に進む。
ステップS4において、ストップボタン140が操作されることにより、ストップボタン140がONとなる。そして、次のステップS5に進む。
ステップS5において、第1リール〜第3リールのうち押下されたストップボタン140に対応するリールについて回転停止処理が行われる。そして、次のステップS6に進む。
ステップS6において、三個のリールに対応するストップボタン140の操作が行われたか否かが判定される。そして、三個のリールに対応する3つのストップボタン140すべての操作が行われたと判定された場合、次のステップS7に進む。
ステップS7において、抽選フラグ成立中に当該抽選フラグに対応する入賞図柄が有効入賞ライン上に揃ったか否か、すなわち、入賞が確定したか否かが判定される。そして、入賞が確定したと判定された場合、次のステップS8に進む。なお、入賞が確定しなかったときは、抽選フラグが成立していてもメダルの払い出しは行われない。
ステップS8において、入賞図柄に相当するメダルが払い出される。
メダルの投入からステップS8の実行完了までが、一遊技である。ステップS8の待機処理が終了すると、処理はフローチャートの最初に戻る。言い換えれば、次の遊技が可能な状態になる(次遊技へ移行する)。
図5は、サブ基板20とその周辺基板の接続の説明図である。図3に示すように、サブ基板20には、液晶制御基板200、スピーカ基板201、LED基板202が接続されている。これらは、サブ基板20の周辺基板と言うべきものである。
これら複数の周辺基板は、図5のように接続されている(スピーカ基板201の表示は省略している)。すなわち、複数の周辺基板が共通のバスに接続され、当該バスを通じてサブ基板20と通信を行う。当該バスを流れる信号は、パラレル信号(例えば8ビットの線で信号を伝送するもの)あるいはシリアル信号(例えば、I2C(Inter-Integrated Circuit)のようにデータ線とクロック線の2本の線で信号を伝送するもの)である。なお、図5の例ではサブ基板20から出た信号がサブ基板20に戻っているが、これは一例であり、一般的なバス構造のように接続端の反対側の端が開放されていてもよい。
サブ基板20から周辺基板へは、アドレスを指定してデータを送る。例えば、周辺基板としての液晶制御基板200へデータを送る場合は、液晶制御基板200に予め対応づけられているアドレスを指定してデータをバスに流す。液晶制御基板200は、アドレスにより自分宛のデータであることを認識すると、アドレスに引き続くデータをラッチに取り込む。取り込んだデータに従って所定の動作を行う。取り込んだデータが、液晶制御基板200で取得したあるいは取得可能なデータをサブ基板20へ送信するコマンドであれば、当該データをサブ基板20へ送信する(所定のデータ受信後は、予め定められたデータを常にサブ基板20へ送信するようにすることもできる)。
図6は、VDPの構造の概略図である。VDPは、液晶制御基板に設けられたLSIであり、CPUとのインタフェースI/F、CPUからのコマンドに従い画像を描画する描画エンジンE1、描画した画像を記憶するビデオメモリVRAM、及び、ビデオメモリVRAMに記憶された画像を読み出して液晶表示装置LCDへ送る表示エンジンE2を備える。これらの各要素は、内部のバスBUSに接続され、相互にデータを読み書きできるようになっている。インタフェースI/Fは、CPUからコマンドなどのデータを受けるとともに、表示エンジンE2などからの割り込み信号をCPUへ出力することもできる。このVDPは、例えば、XGAサイズの解像度(1024×768ピクセルの解像度)で毎秒60フレームの描画及び表示が可能である。
毎秒60フレーム(=60fps)で描画及び表示する場合、1フレームの時間は16.67msである。これをフレーム時間と記すことにする。また、2つの連続するフレームをVフレームと呼ぶことにする。フレーム×2=Vフレーム×1である。Vフレームの時間は33.33msであり、その画像更新レート(更新周波数)は30fpsである。フレーム、Vフレームは、表示の単位及び処理の単位であるが、以下の説明においては、当該フレーム、Vフレームにおけるデータ、処理結果(描画された画像)、液晶表示装置LCDに表示された画像を意味することがある。例えば、Vフレーム1などのように数字(符号)が付されている場合は、特定のVフレームを示すと共にこれに対応する描画データ、画像データ、表示データを意味することがある。
液晶表示装置LCDの制御は、描画データ(液晶表示装置に対するコマンド、動画デコード情報などを含む)の保存、描画データに基づく描画実行、描画された画像の表示実行の3段階で行われる。すなわち、CPUがVDPへ描画データを送り、VDPの描画エンジンE1が描画を実行し、表示エンジンE2が液晶表示装置LDCでの画像表示を行う。この3段階の処理はそれぞれ並列(独立)に実行される。画像表示までに3段階を要するため、ある画像が表示されているタイミング(Vフレーム)において、描画実行は次のVフレームで表示されるべき画像を描画し、描画データの保存は次の次のVフレームで表示されるべき画像を保存していることになる。その様子を図7に示す。
描画データの保存、描画実行、及び、表示実行は、ひとつのVフレームについて1回の周期で実行判定がなされる。言い換えれば、描画データの保存(第1処理)、描画実行(第2処理)、表示実行(第3処理)は、それぞれVフレームを単位として実行される(正確には、Vフレームに含まれるフレーム単位で処理が行われる、例えば、Vフレーム更新中にデータ入力があった場合、Vフレームの2つのフレームの一方において入力されたデータに係る描画データの保存、描画実行、表示実行が行われる)。したがって、本遊技機の液晶表示装置LCDの更新周波数は30fpsである。なお、これは原則であって、fpsは処理状況に応じて変化し得る。
描画データを保存してからその表示を実行するまでには、2つのVフレームに相当する時間を要する。例えば、図7では、符号T1で書き込んだ描画データは、それよりもVフレーム2つ分遅れた符号T3において表示される。ただし、描画データの保存、描画実行、表示実行はそれぞれ並列に実行されるため、液晶表示装置LCDの画像はVフレーム単位で更新される。図7の例では、表示に関して、符号T3,T4、・・・においてVフレーム1、Vフレーム2、・・・のように更新されている。
描画データの保存又は描画実行に要する処理時間が、Vフレーム以上の時間、すなわち上記例では33.33ms以上要したとき、「処理落ち」が発生したと呼ぶ。処理落ちとは、予め定められた時間内で処理を完了できなかったため当該処理に係る画像を表示できなかったことを意味する。従来の遊技機では処理落ちが発生した場合、当該処理に係るVフレームをスキップした。「スキップ」とは、処理落ちに係るVフレームについて、描画を行わないこと、あるいは、表示を行わないことを意味する。なお、ひとつのVフレームについて表示を全く行わないと、液晶表示装置LCDが真っ白あるいは真っ黒となり不自然であるので、スキップにおいて、その直前のVフレームの画像をスキップに係るVフレームにおいても続けて表示していた。
次に、本発明の実施の形態を理解するための前提となる、処理落ち(スキップ)について説明を加える。なお、以下の説明において、Vフレームを「フレーム」と示すことがある。
まず、処理落ちが無いケースについて説明を加える。
例えば、図8に示す一連の画像を描画するものとする。同図(a)乃至(f)はそれぞれひとつのフレームで描画される画像を示す。例えばキャラクタのシーンαとシーンγを描画する。シーンαの描画位置はフレーム1から6にかけて少しずつ右側へ動き、シーンγの描画位置はフレーム2乃至4において右端を出たり入ったりする(言うまでもなく図8は理解を容易にするための例示であり、本発明の実施の形態において描画されるシーンが何であるか、その位置がどこであるかは限定されない)。
図8の例では、Vフレーム1、5,6で描画されるのはシーンαのみであり、Vフレーム2乃至4ではシーンαとγが描画されている。
図8の例に対応するタイミングチャートを図9に示す。図9は処理落ちが生じないケースを示す。
図9において、1行目は当該Vフレームにおいて描画されるシーンを示し、2行目は描画実行されているフレームを示している。1行目は、2行目で実行されている描画の内容を示したものである。3行目は表示されているフレームを示している。図9の2行目と3行目は図4の2行目と3行目に相当するが、そこで描画/表示されているシーンを把握できるように、シーンの符号αとγを表示している。
図9によれば、フレームT1でシーンαが描画され、次のフレームT2でそれが表示される。フレームT5乃至T7でも同様である。
フレームT2でシーンαとγが描画され、次のフレームT3でそれが表示される。フレームT3及びT4でも同様である。T2乃至T4では2つのシーンαとγが描画されているものの、それらの描画の処理時間の合計がフレームの繰り返し時間よりも短いので、描画はフレーム内で完了している。1行目のシーンαの幅とシーンβの合計の長さが、フレームの長さよりも短いことがそのことを示している。したがって、処理落ち(スキップ)は発生していない。
次に、処理落ちが有るケースについて説明を加える。
例えば、図10に示す一連の画像を描画するものとする。同図(a)乃至(f)はそれぞれひとつのフレームで描画される画像を示す。図10は、例えばキャラクタのシーンαにカットイン等のエフェクトの激しいシーンβを差し込むものである。カットインとは、キャラクタが大技を使用したとき等の特別な状況に表示されるイラストであり、キャラクタの表情が鮮明に判るように目や顔のアップの表示が多用される。このようなエフェクトは描画処理の負荷が大きく、処理落ちが発生しやすい。
図10では、図8と同様に、シーンαの描画位置はフレーム1から6にかけて少しずつ右側へ動き、シーンβはフレーム2乃至4において差し込まれる(言うまでもなく図10は理解を容易にするための例示であり、本発明の実施の形態において描画されるシーンが何であるか、その位置がどこであるかは限定されない)。
図10の例では、Vフレーム1、5,6で描画されるのはシーンαのみであるが、Vフレーム2乃至4ではシーンαとβが描画されている。
図10の例に対応するタイミングチャートを図11に示す。図11の各行の意味は、図8の場合と同様である。
図11によれば、フレームT2でシーンαとβが描画されるが、処理負荷が大きいためフレーム内に処理が終わらず、次のフレームT3に処理がはみ出している(符号ア)。このためフレームT3には間に合わず、そこではフレーム1(α)が表示される。フレームT3でもシーンαとβが描画されるはずであったが、前のフレームの処理が長引いたために描画処理を開始できず、このためフレームT4でもフレーム1(α)が表示される。次のフレームT4においても、フレームT2と同様にフレーム内に処理が終わらず、次のフレームT5に処理がはみ出している(符号ア)。
このように、フレーム内においてシーンαとβを同時に描画することができないので、図11の例では処理落ちがフレームT2乃至T5で発生し、これにより同じフレーム1が5回繰り返し表示されている。
フレームT6ではシーンαのみが描画されるので処理は正常に完了し、フレームT7においてシーンαが表示される。
図11では描画処理を、フレームを超えても続けていたが、図12のようにフレームを超えた時点で描画処理を打ち切ったとしても処理落ちが発生する。
すなわち、フレームT2でシーンαとβが描画されるが、処理負荷が大きいためフレーム内に処理が終わらないから、フレームT2の最後t23で処理を打ち切る(符号イ)。このためフレームT2での描画処理は完了せず、フレームT3でフレーム1が表示される。フレームT3、T4でも同様である。フレームT5においてはシーンαのみが描画され、フレーム内で処理が収まるのでフレームT6ではシーンαが正しく表示される。
図12では、図11よりも、正しく表示されるフレームがひとつ増えるが、処理落ちが連続して発生している点で相違しない。図12でも、フレーム内においてシーンαとβの描画を完了することができないので、処理落ちがフレームT2乃至T4で発生し、これにより同じフレーム1が4回繰り返し表示されている。
要するに、シーンαと描画処理負荷の大きなシーンβを同時に描画することに無理があるのであり、上述のように処理落ちが発生する。しかし、どのシーンが描画されるかは遊技の進行に伴う演出に依存し、一定ではない。すなわち、シーンαとβの同時描画が発生する可能性があるものの、それがいつどのような状況で発生するかは固定的なものではない。また、演出の内容は機種ごとに異なるため、処理落ちが発生しないようにシーンの内容やシーンの組み合わせを予め定めておくことも困難である。これらを予め定めておくようにするとその組み合わせは膨大でありテーブルの容量が大きくなってしまう。また、演出の内容を制限することにつながり、興趣を引くようなさまざまな演出を行うことが困難になるという問題もある。
そこで、処理落ちが発生すかどうかを実際に描画処理を行う段階で判定し、処理落ちが発生しそうな場合には特定の救済措置をとるようにすることが好ましい。図13は、そのような処理を可能にする、発明の実施の形態に係る遊技機のブロック図を示す。
図13は、同図は、液晶制御基板の描画系統の機能ブロック図を示している。これらの機能は、例えば,VDPの描画エンジンE1が所定のプログラムに従って動作することにより実現される。
2001は、液晶表示装置LCDに表示される複数のシーンの描画情報を記憶するシーン描画情報記憶部である。図13の例では、シーンはα、β、γの3つであるとする(あくまで例示である)。描画情報とは、例えばキャラクタを構成する複数のポリゴンやこれに貼り付けるテクスチャなどであり、あるいはカットインを行うための画像などである。描画とは、これらの情報を基に指定された画像を生成することである。
2002は、予め定められたシーン描画命令群に基づきシーン描画情報記憶部2001から描画情報を読み出してビデオメモリ2003に描画する描画部である。予め定められたシーン描画命令群とは、図8や図10に例示したような画像を表示するための複数のシーン描画命令(例えば、シーンα、β、γをそれぞれ描画するための命令及びこれに必要な情報)を含むものである。どのようなシーンを描画すべきかは、サブ基板20が決定するので、図13の装置は、シーン描画命令群を専ら受け、これに基づき処理を行うものである(シーン描画命令群は所与の前提とする)。以下の説明では、シーン描画命令群は複数の描画命令を含むものとするが、これに限定されず、シーン描画命令群は唯一の描画命令を含むものであってもよい。この場合、単一の描画命令による処理は1フレーム内で完了するようになっているから(処理負荷が過大であればその命令を予め複数に分割するなどしてフレーム内で処理が完了するようにしてある。そのように命令が設定されている)、以下で説明する処理は行われない。
2003は、液晶表示装置LCDに表示する画像を記憶するビデオメモリである。
2004は、複数のシーンの描画に要する時間をシーンごとに記憶するシーン処理時間テーブルである。例えば、シーンα、β、γをそれぞれ描画するための命令が定義されているときは、シーン処理時間テーブル2004には、それぞれの処理時間tα、tβ、tγが予め記憶されている(図15参照)。シーン処理時間テーブル2004は、シーンの数に対応する大きさをもち、全てのシーンとその処理時間の関係を予め記憶している。シーンの内容が具体的に決まれば、それに要する描画時間を見積もることができるから、シーンごとの処理時間を求めることは可能である。
2005は、シーン処理時間テーブル2004を参照して、受けたシーン描画命令群による描画が予め定められた処理単位であるフレーム内において完了するかどうか判定する処理落ち判定部である。処理落ち判定は、フレーム開始の最初で行われる(図14の例では、期間T2において時刻t12のタイミング)。処理落ち判定部2005の動作については、後に詳しく説明する。
2006は、処理落ち判定部2005の判定結果に基づき(処理落ちが発生すると判定されたとき)、ビデオメモリ2003から現在表示されている画像を取得する画像保存処理部である。ビデオメモリ2003は、現在表示している画像を記憶する領域と画像を描画中の領域の2つの領域をもつが、画像保存処理部2006は、前者の領域の画像データを取得する。図14の例では、期間T2の始めにおいて、Vフレーム1(α)の画像が取得される。
2007は、画像保存処理部2006で取得した画像を記憶する画像記憶部である。画像記憶部2007は、ビデオメモリ2003と同様のメモリであるが、描画と読み出しを同時に実行する必要はないので、ビデオメモリ2003の半分のメモリ容量で足りる。
2008は、処理落ち判定部2005の判定結果に基づき、シーン描画命令群に含まれる所定のシーン描画コマンドを選択してシーン描画部2002に与える描画命令選択部である。シーン描画命令群に含まれる複数の描画命令のうち、画像記憶部2007に記憶された画像に対応するもの(記憶された画像を描画するための描画命令)を削除する(図19参照)。画像記憶部2007に記憶された画像で代替されているので、重複して描画する必要がないから削除する。描画命令選択部2008の動作については、後に詳しく説明する。
2009は、ビデオメモリ2003の画像と画像記憶部2007の画像を合成する合成部である。合成部2009は、2つの画像を重ね合わせるものである。重ねあわせのやり方は種々あるが、例えば、画像記憶部2007の画像は背景又はこれに準ずるものであるから、当該画像にビデオメモリ2003の画像を重ねるようにする。
なお、処理落ち判定部2005が、予め定められた処理単位であるフレーム内においてシーン描画部2002の描画が完了すると判定したときは、画像保存処理部2006、描画命令選択部2008及び合成部2009は動作する必要はない。シーン描画部2002は、受けたシーン描画命令群の通りにビデオメモリ2003に対する描画を行う。
図14は図13の装置の動作説明図(タイミングチャート)であり、図16は図13の動作フローチャートである。図14の1行目、4行目及び5行目は、ぞれぞれ図11,図12の1行目、2行目、3行目に相当する。図14の2行目は、画像保存処理部2006の保存処理を示し、3行目は画像記憶部2007からの画像読出処理を示す。なお、保存され表示されるシーンはαであるが、保存されたことを示すために’を付加し、α’と表示している。
以下、これらの図を参照して、図13の装置の動作について説明を加える。
S10:シーン描画命令群を受ける。
例えば、サブ基板から命令を受ける。
S11:受けたシーン描画命令群に複数のシーン描画命令が含まれているかどうか判定する。
単一の命令のみ存在するときは(NO)、S19:描画命令を実行する。これは従来の処理と同じである。
複数の命令が存在するときは(YES)、S12に進む。例えば、図19に示すように、シーンαとβの2つの描画命令が存在したものとする。
S12:処理落ち判定を行う。
処理落ちがあるときはS14に進み、処理落ちがないときはS19に進む。処理落ち判定の詳細については後述する(図17参照)が、その概要について述べる。
前記シーン描画命令群に含まれる複数の命令による処理時間(実行時間)の合計を求める。
シーンαとβの2つの描画命令であれば、図15のテーブルから対応する時間tαとtβを読み出し、その合計(tα+tβ)を計算する。シーンαとγであれば、(tα+tγ)を計算する。
そして、処理落ちが発生するかどうか判定(予想)する。
上述のように求めた処理時間を、処理時間の上限であるフレーム時間と比較する。フレーム時間をTFとしたとき、(tα+tβ)>TFであれば処理落ち発生(YES)と判定し、(tα+tβ)≦TFであれば処理落ち発生しない(NO)と判定する。(tα+tγ)についても同様である。
図11,図12の期間T2乃至T4では処理落ちが発生する。つまり、(tα+tβ)>TFである。図14の期間T2乃至T4でも同様であるが、以下に述べる処理を行うので、図11、図12の場合と異なり、処理落ちによる同じフレームの繰り返し表示は生じない。
なお、図9に示すように、(tα+tγ)≦TFであるので、処理落ちは発生しない。
S14:処理落ちが連続したかどうか判定する。
図14の期間T2乃至T4(これは図11,図12の期間T2乃至T4に対応)において連続して処理落ちが発生するので、期間T3,T4で処理落ちが連続した(YES)と判定される。連続したときは、2回目以降のS15:現在表示されている画像の保存をスキップする。
この処理は、処理落ちとならなかった直前の画像を保存し、これにシーンを追加するためのものである。いわば、処理落ちとならなかった直前の画像を基本として、これにシーンを上書きするものである(図14参照)。もし、直前の画像との差分のみを描画する場合は毎フレームで画像を保存するから、S14の処理は不要である。例えば、フレーム1のシーンがα、フレーム2のシーンが(α+β1)、フレーム3のシーンが(α+β2)であるとき、時刻t12でαを保存し、期間T2でαにβ1を上書きし、時刻t23で(α+β1)を保存し、期間T3で(α+β1)にΔβ(ただし、Δβ=β2−β1)を上書きするような場合である。
S15:現在表示されている画像を保存する。
画像保存処理部2006が現在の画像を保存する。図14の例では、S13で最初にYESとなった期間T2の始めにおいて、そのとき表示されているフレーム1の画像を保存する(符号ウ)。
保存処理には、例えばBitBltを使用する。BitBltはbit block transferの略であり、
メモリとメモリの間で画面表示に使うビットマップイメージをコピーする処理である。BitBltは処理を高速で行うことができ、したがって、処理負荷の高い描画のための時間をかせぐことができる。
つまり、tα≫(BitBltによるコピー時間)であるから、処理負荷の大きな描画処理を行っても処理落ちになることはない。図14の例では、期間T2において保存処理(符号ウ)を行うとともに、次のS16で選択されたシーンβの描画を行ってもフレーム内に収まる。
S16:描画命令選択処理を行う。
S15で保存した画像については、描画処理を行わなくても(単に表示処理を行うだけで)画像を表示することができる。したがって、保存した画像に対応する描画命令を削除することができ、これにより処理負荷を小さくすることができる。図14の例では、保存した画像はシーンαに対応するから、図19に示すように、シーン描画命令群に含まれるシーンα描画命令を削除する。すると、シーンβ描画命令だけになる。
S18:選択された描画命令を実行する。
S16で選択した描画処理を行う。そして、この描画画像を後述のように保存した画像と併せて表示する(図20参照)ことで、シーン描画命令群に含まれる複数のシーンの画像を表示することができる。上述のように、BitBltによるコピー時間は描画処理に要する時間よりも短いから、処理落ちが発生しない。
ところで、図14において、期間T3乃至T5で表示される背景としてのシーンα’は期間T2で取得された画像であり、例えば図10(a)の画像である。そして、シーンβの描画の無い期間T6においてはT5で描画された画像が表示される。これは図10(e)に相当する。図10(a)と(e)を比較すると、シーンαのキャラクタそのものは変わらないが、その表示位置が違う。このため、表示画面が期間T5からT6へ移るときに図10(a)から(e)へシーンαのキャラクタが瞬間的に移動するように見える。言い換えれば、中割画像である図10(b)乃至(d)の位置のシーンαのキャラクタは表示されないことになる。このため、本発明の実施の形態によれば、画面上でキャラクタ等がジャンプかのように見えるが、シーンβのほうが注目されるので、違和感はあまり感じない。
次に、図17を参照して、上記S12の処理について説明を加える。
S20:シーン描画命令群を受ける。
例えば、サブ基板20からシーン描画命令群を受ける。前述のように、これには複数のシーン描画命令が含まれている。
S21:処理合計を求めるための変数をTtotalとし、Ttotal=0とする。
これは便宜上の変数である。
S22:描画命令を取り出す。
シーン描画命令群から任意のひとつの描画命令を取り出す。
S23:描画命令に対応する処理時間tを読み出す。
シーン処理時間テーブル2004を参照して処理時間tを読み出す。例えば、シーンα描画命令であればt=tα、シーンβ描画命令であればt=tβとなる。
S24:処理時間を加算する。
Ttotal=Ttotal+tとする。
S25:S22乃至S24の処理を、シーン描画命令群に含まれる全ての描画命令について繰り返す。これにより、当該シーン描画命令群による描画時間の合計を得ることができる。
S26:処理合計Ttotalとフレーム時間を比較する。
S27:処理合計Ttotal>フレーム時間であれば、S28に進み「処理落ち」と判定する。そうでなければ、S29に進み「処理落ち無し」と判定する。
次に、図18を参照して、上記S16の処理について説明を加える。
S30:描画命令を読み出す。
シーン描画命令群から任意のひとつの描画命令を取り出す。
S31:それが保存画面の描画命令かどうか判定する。
図16のS15で保存した画像に対応する描画命令かどうか判定する。図14の例では、シーンα描画命令が該当する。
保存した画像に対応する描画命令であれば(YES)、当該描画命令を削除する(S33)。そうでなければ、当該描画命令を選択する(シーン描画命令群の中に残す)(S32)。
図16のS15で保存した画像に対応する描画命令であれば、単に表示処理を行うだけで画像を表示することができる。したがって、保存した画像に対応する描画命令を削除することができる。これに対し、保存した画像とは関係の無い描画命令(例えば、シーンβ描画命令)であれば、それに基づき描画処理を行う必要がある。
S34:S30乃至S33の処理を、シーン描画命令群に含まれる全ての描画命令について繰り返す。これにより、必要な描画命令のみを選択して残すことができる。
次に、図20を参照して、表示処理について説明を加える。表示処理は、ビデオメモリ2003に描画された画像を読み出して液晶表示装置LCDへ送り、その画面に表示させる処理であるが、図20ではそれに加えて、S15で保存された画像も併せて表示する。
図20は、図16のS18:選択された描画命令を実行、のうちで処理落ちと判定された場合に行われる処理を示す。
S40:ビデオメモリ2003の内容を読み出す。
S40b:画像記憶部2007の内容を読み出す。
S40c:合成処理を行う。
ビデオメモリ2003の画像と画像記憶部2007の画像を合成する(重ね合わせる)。画像記憶部2007の画像はいわば背景であるから、これにビデオメモリ2003の画像を重ねるようにする。図14の例では、期間T3において、期間T2において保存したシーンα’を表示し(符号エ)、これに期間T2において描画したシーンβを重ねるようにする。こうすることで、期間T3において、(α’+β)の画像が表示されるようになる。期間T4及びT5においても同じである。
S41:表示処理を行う。
S40cで合成された画像を液晶表示装置LCDへ送り、その画面に表示させる。
発明の実施の形態2.
図21乃至図24に基づき他の実施の形態について説明を加える。これは、ビデオメモリ200へ上書き保存することで、図13の合成部を不要としたものである。
図21は、他の実施の形態に係るブロック図である。図13と同一又は相当部分については同一符号を付し、その説明は省略する。
2010は、画像記憶部2007に記憶した画像をビデオメモリ2003に書き込む(転送する)保存画像書込部である。画像の転送は、画像の保存と同等の速度あるいはより高速に行えるから、特定のシーンを描画することに比べてごく短時間で実行できる。したがって、上述の実施の形態と同様に処理落ちは発生しない。
なお、処理の順番は、保存画像の転送(書込)を先に行い、シーンの描画を後に行う。これにより、画像記憶部2007のいわば背景画像に特定のシーンの画像を重ねることになり、図13の合成部2009と同じ画像を液晶表示装置LCDに表示することができる。
図22は、図21の装置の動作説明図(タイミングチャート)である。図23は、処理フローチャートである。図16、図20と同一又は相当部分については同一符号を付し、その説明は省略する。
同図の例では、まず画像を保存し(符号ウ)、すぐに保存した画像をビデオメモリ2003へ転送(コピー)する(図23のS17)。そして、その後にシーンβの描画を行う(同、S18)。こうすることで、画像記憶部2007の画像を背景のように扱って、これに選択された描画命令による画像の描画を実行することができる。
この他の実施の形態では、ビデオメモリ2003への書き込み処理において保存画像にシーンを合成しているので、合成部2009は不要である。したがって、図20のS40b,S40cの処理は不要であり、図24に示すような、S20:ビデオメモリの内容を読み出し、S21:その表示処理を行う、という簡単なものですむ。
発明の実施の形態によれば、現在描画されている背景やキャラクタの上にカットイン等のエフェクトの激しいシーンが差し込まれ、これにより処理落ちが発生すると予想されるときに、現在表示されている画像を保存し、この保存した画像を素材として、描画されたシーンと併せて表示するので、処理落ちを回避しつつ各シーンの画像をフレームごとに表示することができる。これにより、処理落ちのない高品位の画像を遊技者に提示でき、好ましい演出を提供することができる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。