以下、本発明をパチンコ機に適用した一実施形態について、各対応図面を参照しながら説明する。
(1.パチンコ機の概要構成例)
図1は、本発明の遊技機の一実施形態であるパチンコ機1の構成例を示す正面図である。このパチンコ機1は、ホール等の遊技場の島設備に複数台が横方向に並べて設置されており、いわゆるCR(Card Reader)機の場合、カードユニット12が設置されている。以下、まずパチンコ機1の概要構成例について説明する。
このパチンコ機1は、基枠が、ヒンジ機構を介して木製の外枠に開閉可能に装着されている。その基枠には、前面枠(ガラス枠5)がヒンジ機構を介して、その基枠に対して開閉可能に装着されている。本実施形態では、これら基枠や前面枠等の枠体を総称して「本体枠17」と呼称する。このうち基枠には、遊技盤2が着脱可能に嵌め込まれている。
またガラス枠5には、多数の枠ランプ(枠装飾ランプ31など)が縦方向に沿って複数配置されるほか、遊技の進行に伴い効果音や音声などの音響出力を行うための上部スピーカ29aや、遊技者が適宜プッシュ操作できる演出ボタン10等が設置されている。またガラス枠5の下部には、遊技球を収容する上皿4が設けられているとともに、基枠の下部には下皿6が設けられている。またその他にも、ガラス枠5の下部に位置する基枠の右下隅には発射ハンドル8が設けられている。この発射ハンドル8は、上皿4に収容された遊技球を順次発射させるために遊技者が操作する操作部である。また上皿4の左側位置の内側には、下部スピーカ29bが配置されている。
遊技盤2は、その前面にほぼ円形の遊技領域が形成されており、その中央部には演出装置14が設けられている。その遊技領域には、多数の誘導釘(図示されていない)が所定のゲージ配列で打設されているほか、図示しない風車や各種入賞口(始動入賞口15b、大入賞口15c、一般入賞口等)、ゲート口13、パネル装飾ランプ(参照符号なし)等が盤面構成要素として配設されている。これらの各種入賞口には、遊技球の入球を検出するための入賞検出器(図1において図示せず)が設けられている。また、ゲート口13には、遊技球の通過を検出するためのゲート通過検出器(図1において図示せず)が設けられている。
また、演出装置14の下縁部には球ステージ14aが形成されており、この球ステージ14a上に遊技球が誘導されると、この遊技球は、一時的に転動しながら動きに変化が与えられる。さらにこの遊技球は、この球ステージ14aに形成された球誘導路14bの入口に落下すると、この球誘導路14bに誘導されてその直下に設けられた始動入賞口15bに入球し、図示しない入賞検出器によって入賞が検出される。
また遊技盤2の右下縁部には、複数の発光ダイオード(LED:Light Emitting Diode)を用いた特別図柄表示装置41が設けられている。この特別図柄表示装置41は、始動入賞があると、その後(例えば始動入賞を契機に)点灯或いは消灯状態を繰り返すとともに、所定時間(後述する「変動時間」に相当)経過後、メイン制御基板において実行した内部的な抽選(大当り抽選及び判定)の結果に応じた点灯状態或いは消灯状態となる。また、この遊技盤2の右下縁部には、発光ダイオードを用いた普通図柄表示装置42が設けられている。この普通図柄表示装置42も、ゲート口13の通過を契機に変動期間にわたり点灯状態を変化させる構成となっている。ここで、この普通図柄表示装置42の点灯状態が所定の点灯状態となると、例えば電動チューリップ型の始動入賞装置(入賞検出手段)を所定時間入賞しやすい開状態にする。さらに、普通図柄表示装置42の近傍には、状態表示ランプ46が設けられている。
また、上記演出装置14内には、装飾図柄表示装置16が配置されている。この装飾図柄表示装置16は、上記大当り抽選及び判定の結果を装飾的に表した装飾図柄を表示する表示装置である。この装飾図柄表示装置16は、始動入賞口15bへの入賞があると、その後に表示内容が変化し、上記特別図柄表示装置41の点灯状態或いは消灯状態に応じて、装飾図柄の変動を表す画像等を表示する。この装飾図柄は、一定時間(変動時間)に渡って変動した後に停止し、上記大当り抽選及び判定の結果当選している場合には、予め定められた停止図柄態様(例えば同種の装飾図柄が3つ揃った表示態様)となり、パチンコ機1において特別な遊技状態(以下「特別遊技状態」と呼称する)に移行する。
この特別遊技状態では、例えばラウンド動作を15ラウンドにわたり繰り返す。各ラウンド動作では、例えば大入賞口ソレノイド18が1回作動することで、大入賞口15cが遊技球を受け入れ可能な状態となる。また装飾図柄表示装置16においては、そのラウンド動作として表示内容が大当り中のラウンド表示に切り替わり、ラウンド演出表示(入賞個数のカウント表示や継続ラウンド回数など)を行う。また、15ラウンドのラウンド動作を実行する特別遊技状態が終了した後に特典遊技(いわゆる「確変」や「時短」など)に移行すると、それぞれ特典遊技中である旨の情報(「確変中」や「時短中」)などが表示される場合もある。
また、遊技盤2における演出装置14の下縁部左右には、特別図柄保留ランプ43が設けられている。この特別図柄保留ランプ43は、始動記憶する条件が揃っていた場合に始動入賞を保留して、その保留状況を表示する構成となっている。具体的には、各特別図柄保留ランプ43には、例えば「1」、「2」、「3」、「4」という数字を模した半透過領域が設けられており、これら半透過領域が各々左から右へ「1」〜「4」を表すとともに順番に配列している。これら4つの半透過領域は、「1」〜「4」の発光(点灯)態様に応じて特別図柄の始動記憶数(1〜4)を表している。
さらに遊技盤2の下縁部には普通図柄保留ランプ44が設けられている。この普通図柄保留ランプ44は、普通図柄表示装置42による点灯状態が変化中にゲート口13の通過を保留して、その保留状況を表示する。この普通図柄保留ランプ44の近傍には、大当り種類表示ランプ45が設けられている。大当り種類表示ランプ45は、大当りとなった場合に少なくとも1つが点灯し、それによって大当りの種類を表示する。また遊技盤2の背面においては、その上部にメイン制御基板及びサブ制御基板などが設けられており、装飾図柄表示装置16の背面には表示制御基板(後述する装飾図柄制御基板)が配置されている。また本体枠17には、図示しない払出制御基板及び発射制御基板が設けられている。
(2.パチンコ機の電気的な構成例)
図2は、パチンコ機1の電気的な構成例を示すブロック図である。
まずメイン制御基板3(遊技制御部)は、サブ制御基板35(演出制御部)及び払出制御基板25などの基板に接続されている。サブ制御基板35は、表示動作を制御する装飾図柄制御基板30に接続されており、払出制御基板25は、発射制御基板47や賞球払出装置21に接続されている。
装飾図柄制御基板30は、上記装飾図柄表示装置16に接続されている。なお本実施形態では、サブ制御基板35(演出制御基板)と装飾図柄制御基板30(表示制御基板)とが別体となっているが、これに限られず、サブ制御基板35と装飾図柄制御基板30とが一体となっており、サブ制御基板35(演出制御部)が装飾図柄制御基板30の機能を備えている形態であっても良い。このような形態を採用した場合においては、サブ制御基板35が直接、装飾図柄表示装置16に接続された構成となっている。
サブ制御基板35は、装飾図柄制御基板30に対して、遊技動作中には遊技の進行に応じた演出表示動作を制御するための演出表示コマンドなどを送信する。装飾図柄制御基板30は、その演出表示コマンドなどを受信し、この演出表示コマンドに基づいて遊技の進行に応じた映像を装飾図柄表示装置16に表示させる。この演出表示コマンドは、サブ制御基板35によって指定された演出表示パターン番号を含んでおり、この演出表示パターン番号は、装飾図柄制御基板30が実行制御すべき演出表示パターンに対応した番号を表している。また、このサブ制御基板35は、ランプ中継基板32及びランプ中継基板34を介して、各々パネル装飾ランプ36及び枠装飾ランプ31を点灯制御する。
メイン制御基板3は、CPU3a(以下「メインCPU」と呼称する)、RAM3b、ROM3c、入出力インタフェース等(全ては図示されていない)の電子部品類を備えている。このメイン制御基板3には、入賞を検出する入賞検出器15a(入賞検出手段)が接続されている。この入賞検出器15aは、遊技領域内にて各種の入賞口(始動入賞口15b、大入賞口15c、一般入賞口等)への入球があったこと(以下、始動入賞口15bへの入球を「始動入賞」と呼称する)を検出し、その検出信号をメイン制御基板3に出力する。ゲート通過検出器(ゲートスイッチ)13aは、ゲート口13を遊技球が通過したことを検出し、その検出信号としてのゲート通過信号をメイン制御基板3に出力する。
メイン制御基板3による遊技動作の制御は、例えばメインCPU3aが制御プログラム(以下「メイン制御プログラム」と呼称する)を実行することで行われる。メイン制御プログラムは、ソフトウェア上の乱数を生成しており、始動入賞を契機として乱数値(大当り判定用乱数値)を取得する(本実施形態では「大当り抽選」と呼称している)。そしてメイン制御プログラムは、後述する大当り判定タイミングにおいて、取得した乱数値が大当り乱数値に一致しているか否かを判断し(本実施形態では「判定」と呼称している)、両乱数値が一致していると判定した場合には「大当り」とする一方、一致していないと判定した場合には「はずれ」とする。ここで、大当り判定タイミングとは、始動入賞後、この始動入賞に基づく特別図柄の変動表示を開始する時をいう。
またメイン制御プログラムは、このように始動入賞があると、その後、特別図柄表示装置41による特別図柄の変動表示を開始し、所定の変動時間が経過すると、上記大当り抽選結果に応じて、特別図柄表示装置41に停止図柄を表示させる。なお、上記「大当り」としては、いわゆる「確変大当り」及びいわゆる「普通大当り」を含んでいる。
メイン制御プログラムは、大当り抽選及び判定の結果が大当りである場合、変動表示を開始させ、この変動表示の停止後に、特別遊技状態へと移行させる。この特別遊技状態では、メイン制御プログラムが、例えば大入賞口ソレノイド18を既定回数にわたり作動させることで(ラウンド動作)、例えば15ラウンドにわたり大入賞口15cが遊技球を受け入れ易い状態となることを繰り返す。このとき遊技者は、大入賞口15cの開放中に遊技球(遊技媒体)を入賞させてより多くの賞球を獲得することができる。上記以外にもメイン制御基板3による遊技動作の制御は各種があるが、いずれも公知であるため、ここでは詳細な説明を省略する。
メイン制御プログラムは、上記大当り抽選及び判定をした後に、サブ制御基板35に対して抽選結果及び演出コマンドを出力する。なお、この演出コマンドは、演出動作を実行すべき時間(前述の「変動時間」に相当)に関する情報を含んでいる。
サブ制御基板35は、メイン制御基板3から受け取った抽選結果及び演出コマンドに応じて演出動作を制御する。このサブ制御基板35は、CPU35a(以下「サブCPU」と呼称する)、RAM35b、ROM35c、入力インタフェース(コマンド受信バッファなど)などの電子部品類を備えている。このサブ制御基板35においては、CPU35aが制御プログラム(以下「サブ制御プログラム」と呼称する)を実行することによって演出動作を制御している。
サブ制御プログラムは、メイン制御基板3からのコマンドなど(抽選結果、演出コマンド、遊技状態コマンドなど)を受け取ると、受け取ったコマンドなどを解析する。
サブ制御プログラムは、コマンドなどの解析結果から得た抽選結果及び変動時間に応じて、いかなる演出パターンで演出動作を制御すべきかに関して抽選(以下「演出抽選」と呼称する)を実行する。具体的には、サブ制御プログラムは演出制御スケジューラを管理しており、この演出制御スケジューラは、この抽選結果ごとに(「大当り」であるか「はずれ」であるかに応じて各々)、実行すべき演出パターンを複数管理している。さらにこの演出制御スケジューラは、同一の抽選結果であっても変動時間の長さが異なる複数の演出パターンを備えている。また、同一の抽選結果であり、かつ変動時間が同じであっても演出内容の異なる複数の演出パターンが存在する。このようにしてサブ制御プログラムは、この演出制御スケジューラを参照しつつ、これら抽選結果及び変動時間に対応した演出パターンを選定すべく演出抽選を実行しているのである。
このような演出抽選を実行した後、サブ制御プログラムは、変動時間にわたり演出パターンに従って、スピーカ29a、29bから音を出力させたり、ランプ中継基板32を介してパネル装飾ランプ36を所定の色で点灯させたり消灯させたり、ランプ中継基板34を介して枠装飾ランプ31を所定の色で点灯させたり消灯させる。
また併せてサブ制御プログラムは、選定した演出パターンに対応して、装飾図柄表示装置16による変動表示に関する演出表示パターンも選定している。この演出表示パターンの選定後、このサブ制御プログラムは、サブ制御基板35から装飾図柄制御基板30に対して、この演出表示パターン及び停止図柄に関する情報を含めた演出表示コマンドを出力するよう制御する。
この装飾図柄制御基板30は、サブ制御基板35が出力した演出表示コマンドを受け取ると、その後、新たな演出表示動作に移行する。具体的には、装飾図柄制御基板30は、まず、サブ制御基板35から受け取った演出表示コマンドを解析し、演出表示パターン及び装飾停止図柄に関する情報を取得する。そして装飾図柄制御基板30は、演出表示パターンに基づく変動時間にわたり装飾図柄表示装置16に装飾図柄を変動表示させた後、その装飾図柄を装飾停止図柄とすべく表示制御する。
払出制御基板25は、CPU25a(以下「払出CPU」と呼称する)、RAM25b、ROM25c、入出力インタフェースなどを有しており、メイン制御基板3との間で双方向通信可能に接続されている。すなわち、メイン制御基板3と払出制御基板25との間はシリアル信号の上下線Su、Sdと、これらに並行して設けられたACK信号の送信線Au、Adとで接続されている。
例えばメイン制御基板3が、賞球の払出を指示する賞球コマンドを下り線Sdを通じてシリアル形式で送信すると、これを受け取った払出制御基板25が送信線Auを通じてメイン制御基板3に対してACK信号を送信する。また払出制御基板25が、払出制御基板25の状態を示す状態コマンド(例えば払出処理中)を上り線Suを通じてメイン制御基板3に対して送信すると、これを受け取ったメイン制御基板3が、送信線Adを通じて払出制御基板25に対してACK信号を送信する。
また賞球払出装置21は、払出制御基板25の制御によって遊技球の払出動作を実行する。すなわち払出制御基板25は、メイン制御基板3から賞球コマンドを受け取ると、賞球払出装置21の払出モータ20を作動させ、この賞球コマンドにより指示された個数分の払出動作を行わせる。払出球検出器22は、実際に払い出された賞球数を1個ずつ検出し、払出制御基板25にフィードバックする。一方、モータ駆動センサ24は、払出モータ20の回転状態(回転角)を検出して同じく払出制御基板25にフィードバックする。
その他、発射制御基板47には、発射モータ49の他に発射ハンドル8からの信号線が接続されている。この発射ハンドル8にはタッチ検出部48が内蔵されており、このタッチ検出部48は、人体(遊技者)の接触を検出して、そのタッチ検出信号を発射制御基板47に出力する。また発射ハンドル8は、図示しない発射スイッチを内蔵しており、発射ハンドル8の操作によりオン信号を発射制御基板47に出力する。この発射制御基板47は、上記台間サンドとしてのカードユニット12によって出力されるカードユニット接続信号が払出制御基板25を介して入力されると、遊技球の発射動作を許可する機能を有している。この発射制御基板47は、これらカードユニット接続信号、タッチ検出信号及びオン信号を受け取った状態ではじめて発射モータ49の駆動を許可し、これにより遊技球の発射動作を行わせることができる。
払出制御基板25の払出CPU25aは、いわゆる球ガミ、球切れ、満タンや、メイン制御基板3と払出制御基板25との接続異常などの障害を検出すると、その障害の種類に応じたエラー情報を払出制御基板25に表示する。具体的には、払出制御基板25には7セグメントLED4aが設けられており、この7セグメントLED4aには、例えばそれら各種の障害の種類ごとにエラー番号が数字で表示されるものとなっている。
また、払出制御基板25にはエラー解除手段としての操作スイッチ4bが設けられており、この操作スイッチ4bは外部から操作可能な位置に配置されている。この操作スイッチ4bは、それら各種の障害が発生したとき、各障害への対処方法を音声ガイダンスする際の契機として用いられるとともに、7セグメントLED4aに表示されるエラー情報(数字表示)をクリアする際に操作される操作手段である。
(3.装飾図柄制御基板30)
次に、装飾図柄制御基板30について図3を参照して説明する。図3は、装飾図柄制御基板30の電気的な構成を簡素化して図示した一例を示すブロック図である。
装飾図柄制御基板30(演出制御部)は、ソースROM(キャラクタROM)340と、グラフィックプロセッサユニット(以下「GPU」という)300を備えている。
装飾図柄制御基板30は、サブ制御基板35からの演出表示コマンドなどに基づいて演出表示動作を制御する機能を有する。また、この装飾図柄制御基板30は前述した装飾図柄表示装置16に接続されており、この演出表示コマンドなどに基づいて表示させるべき映像に対応した映像信号を装飾図柄表示装置16に出力する。
ここで本実施形態では、映像が複数のシーン(ストーリー)の組み合わせによって構成されており、各シーンは多数のフレームの組み合わせによって構成されている。これら各シーンは予め決められた順序で連続的に表示されるものである。各シーンは、多数のフレームが次々と表示されることにより視覚的に構成されるものである。この各シーンは、動画像やスプライト画像の少なくとも一方を含んでおり、例えば動画像として映画のワンシーンを背景とするとともに、背景にスプライト画像として図柄を重ねて表示した映像である。本実施形態では、この映像を1秒間に60枚のフレームによってフレーム割りしたフレームレートで、これらフレーム群の各フレームを次々に連続切り替え表示することで、表示態様が動的に変化する映像を表す。本実施形態では、このフレーム(コマ)を作るときに用いる動画像やスプライト画像を「シーンの素材」と呼称する。なお、本実施形態では、シーンの素材として、特に動画像に関して触れる必要性のある部分以外においては、主としてスプライト画像を例示している。このような複数のシーンにより構成される映像としては、例えば停電状態から復旧中である旨の映像、図柄の変動表示に関する映像、変動している図柄が所定の停止図柄態様(例えば同種の図柄が3つ揃った表示態様)になるかもしれないことを暗示するいわゆるリーチ演出に関する映像を含んでいる。
(3−1.ハードウェアの構成例)
以下、この装飾図柄制御基板30に搭載されている各構成について具体的に説明する。
(3−1−1.ソースROM340)
ソースROM340は、スプライト画像を表示するためのスプライトデータ等の各種素材画像データを不揮発的に記憶する不揮発性映像メモリとして機能しており、バス線によってGPU300に接続されている。ソースROM340のメモリ空間については後述する。
なお、スプライトデータは、予め設定された可逆な圧縮方式によってデータ構造が圧縮された状態で、ソースROM340に格納されている。一方、動画像データは、予め設定された非可逆な圧縮方式によってデータ構造が圧縮された状態で、ソースROM340に格納されている。
(3−1−2.GPU300の構成例)
GPU300は、図3に示されるように、制御ROM301と、SDRAM(Synchronous Dynamic Random Access Memory)302と、コマンドインタフェース(I/F)303と、図柄CPU311と、VDP(Video Display Processor)330とを含んでいる。図柄CPU311、SDRAM302、制御ROM301、VDP330間は、バス307により接続されている。
コマンドインタフェース303は、サブ制御基板35からの演出表示コマンドを受信し、受信した演出表示コマンドを図柄CPU311に転送する。
制御ROM301は、例えばフラッシュROMにより構成され、図柄CPU311の動作を制御するための表示制御プログラムや、表示スケジューラデータ(スケジューラデータ)を格納する。表示スケジューラデータとは、表示すべき映像の構成に関する情報や表示すべき映像を構成する各シーンの描画に必要なスプライトデータ等の素材画像データを特定するための情報を含むデータである。
図柄CPU311は、制御ROM301に格納された表示制御プログラムに基づいて動作を行い、制御ROM301に格納された表示スケジューラデータに基づく映像表示を実現するために、VDP330に対して映像表示処理を指示するための複数のコマンドからなるコマンドリストを生成してVDP330に対してDMA(Direct Memory Access)転送する。
なお、制御ROM301には、様々な映像表示に対応した複数の表示スケジューラデータが格納されている。そのため、図柄CPU311は、コマンドインタフェース303から転送されてきた演出表示コマンドにより、表示すべき映像表示の内容を特定し、特定された映像表示内容に該当する表示スケジューラデータを制御ROM301から読み出し、読み出した表示スケジューラデータに基づく映像表示が実現されるようなコマンドリストを生成する。
SDRAM302は、図柄CPU311により生成されたコマンドリストを一時的に保管する等の用途に使用され、各種データを一時的に保管するための格納領域である。
VDP330は、図柄CPU311から転送されてきたコマンドリストに含まれる複数のコマンドを順次実行することにより、装飾図柄表示装置16に対して映像表示を行うための映像表示プロセッサとして機能する。VDP330は、図柄CPU311から転送されてきたコマンドリストに基づいて、表示すべき映像に応じたスプライトデータ等の素材画像データをソースROM340から読み出して映像を構成する各シーンの描画を行い、生成された描画データを装飾図柄表示装置16に送信することにより各種映像表示を実現する。
(3−1−3.VDP330の構成例)
次に、装飾図柄表示装置16に対する映像表示を行うためのVDP330の構成を図4を参照して説明する。
VDP330は、図4に示されるように、CPU I/F(インタフェース)331、データ転送回路332、バス I/F(インタフェース)333、デコーダ334、描画回路335、データ格納メモリ336、フレームバッファメモリ337、表示回路338を含んでいる。
CPUインタフェース(I/F)331は、図柄CPU311から転送されてきたコマンドリストを受信する。
データ格納メモリ336は、いわゆるVRAM(Video RAM)であり、スプライトデータ、動画像データ等の描画処理に必要となる各種素材画像データ等を展開しておくための揮発性映像メモリとして機能する。
データ転送回路332は、CPUインタフェース331を介して図柄CPU311から受信されたコマンドリストに基づいて、表示すべき映像表示に必要なスプライトデータ、動画像データ等の素材画像データをバスインタフェース333を介してソースROM340から読み出して、データ格納メモリ336に展開する(素材画像データ展開手段)。
なお、スプライトデータは、可逆な圧縮方式によってデータ構造が圧縮された状態でソースROM340に格納されているため、バスインタフェース333を介してソースROM340から読み出されたスプライトデータは、デコーダ334によりデコード処理(伸張処理)された後にデータ格納メモリ336に格納される。
フレームバッファメモリ337は、データ格納メモリ336と同様にVRAMにより実現され、描画回路335により描画された映像データを揮発的に記憶可能な構成となっている。なお、フレームバッファメモリ337は、2フレーム分の映像データを描画して格納することが可能となっており、描画回路335により1フレーム分の映像データが描画されて格納されている間に、既に描画処理が終了したフレームのデータを表示回路338を介して装飾図柄表示装置16に表示させることができる。
描画回路335は、CPUインタフェース331により受信された図柄CPU311からのコマンドリストに基づいて、データ格納メモリ336に格納されている、スプライトデータ、動画像データ等の素材画像データを用いて描画処理を行い、表示すべき映像を構成するフレーム毎に映像データを生成してフレームバッファメモリ337に格納する。
表示回路338は、装飾図柄表示装置16への同期信号(Vブランク信号など)を生成するとともに、この同期信号に同期させつつ、フレームバッファメモリ337のフレームバッファエリアに生成されたイメージデータに基づいた映像信号を装飾図柄表示装置16に出力する。
なお、本実施形態では、ソースROM340から読み出された各種素材画像データを揮発的に格納するためのデータ格納メモリ336がVDP330内に設けられている場合を用いて説明を行なうが、本発明はこのような構成に限定されるものではない。例えば、ソースROM340から読み出された各種素材画像データを揮発的に格納するための揮発性映像メモリがVDP330の外部に設けられているような構成の遊技機に対しても、本発明は同様に適用することが可能である。
(3−2.制御ROM301のメモリ空間)
次に、上述した制御ROM301のメモリ空間に関して説明する。
制御ROM301には、図5に示されるように、図柄CPU311の動作を制御するための表示制御プログラム401と、表示スケジューラデータ402が格納されている。表示スケジューラデータ402は、表示すべき映像を構成する各シーンの描画に必要なスプライトデータ等の素材画像データを特定するための情報及び表示すべき映像の構成に関する情報を含んでいる。
(3−2−1.表示スケジューラデータ402の構成例)
そして、表示スケジューラデータ402は、図6に示されるように、フレーム番号501と、キャラクタ番号502と、X座標503と、Y座標504と、基点位置505と、X方向拡大率506と、Y方向拡大率507と、透明度(ブレンド率)508と、回転角509という情報を含んでいる。
フレーム番号501は、この表示スケジューラデータ402が、どのフレームに対する表示内容なのかを示している。キャラクタ番号502は、複数のスプライトデータの中から使用するスプライトデータを特定するための番号を示している。X座標503、Y座標504は、表示画面上におけるスプライト画像を表示する位置を示している。基点位置505は、スプライト画像の表示位置を指定する際の基点の場所を示している。X方向拡大率506、Y方向拡大率507は、それぞれ、スプライト画像をX方向、Y方向にどれだけ拡大(又は縮小)して表示するかを示していて、例えば、0〜511%の範囲で設定することができるようになっている。透明度508は、背景画像上にスプライト画像を重ねて表示する際に、スプライト画像をどれだけ透過させて表示させるかを指定する値であり、例えば、0〜100%の範囲内で指定可能となっている。回転角509はスプライト画像を表示する際の角度を指定するための値である。
ここで、全てのフレームに対して表示スケジューラデータ402が用意されているわけではなく、特定のフレームに対してのみ表示スケジューラデータ402が用意されていて、途中のフレームに対する映像は、用意された表示スケジューラデータ402を参照して補間し描画されるようになっている。
このような表示スケジューラデータ402の具体例を図7に示す。図7では、表示スケジューラデータ402の全ての設定値は示されておらず、フレーム番号501、キャラクタ番号502、X座標503、Y座標504、X方向拡大率506、Y方向拡大率507のみが示されている。
この図7に示した例では、第1、第30、第60フレームに対する表示スケジューラデータ402のみが設定されていて、途中の第2〜第29、第31〜第59フレームの映像表示は、第1、第30、第60フレームに設定された値を参照して算出するようになっている。例えば、第1フレームに設定された値と第30フレームに設定された値とから算出して、第2フレームの値として、X座標6148ピクセル、Y座標4612ピクセル、X方向拡大率102%、Y方向拡大率100%という値を用いる。
ここで、本実施形態では、1秒間の映像表示が60のフレームにより構成されている場合を用いて説明する。この場合には、フレーム周期は約16.7msとなる。
(3−3.ソースROM340のメモリ空間)
次に、上述したソースROM340のメモリ空間に関して説明する。
ソースROM340は、図8に示すように、特定の映像を表示するために予め生成されたスプライト画像を表示するためのスプライトデータ601、色彩に関する指定を行うパレットデータ602、背景画像を表示するための動画データ603等の各種素材画像データを格納している。
(4.遊技機1の動作例)
次に、遊技機1の動作を図面を参照して説明する。
(4−1.遊技制御処理)
ここでメイン制御基板3においては、遊技の進行を制御するメイン制御プログラムが動作しており、このメイン制御プログラムが始動入賞を契機として大当り判定用乱数値を取得している(大当り抽選)。メイン制御プログラムは、始動入賞があると、この始動入賞に基づく大当り判定タイミングにおいて、取得した大当り判定用乱数値と予め定められた当り値とを比較して、大当り判定を実行する。これとともにメイン制御プログラムは、そのような始動入賞があった場合、その後、別途抽選により決定した変動時間にわたり、特別図柄表示装置41による点滅状態(特別図柄の変動表示状態)を継続した後、大当り抽選及び判定の結果に応じて特別図柄表示装置41を点灯状態或いは消灯状態(停止図柄の表示状態)とする。
このような大当り判定を実行すると、メイン制御基板3は、特別図柄表示装置41の制御と並行して、大当り判定の結果を含む演出コマンドをサブ制御基板35に対して出力する。この演出コマンドは、この判定結果およびこの判定結果に応じて演出動作が制御されるべき変動時間に関する情報を含んでいる。この演出コマンドを受け取ったサブ制御基板35においては演出抽選を実行し、その演出抽選の結果に応じた演出パターンを選定する。この演出パターンは、音や光などを出力するためのパターンである。さらにサブ制御基板35においては、この演出パターンに対応した演出表示パターンを選定する。
この演出表示パターンは、変動時間にわたり、複数用意した演出表示動作のうちどの演出表示動作を実行すべきかに関するパターンを表しており、その演出表示動作として表示する各シーンに対応した情報を含んでいる。
そして、サブ制御基板35は、選定した演出表示パターンに基づいて、装飾図柄表示装置16に対して表示すべき演出表示を示す演出表示コマンドを装飾図柄制御基板30に対して送信する。
(5.装飾図柄表示基板30の動作例)
次に、装飾図柄表示基板30がサブ制御基板35からの演出表示コマンドを受信した場合の動作例について説明する。
(5−1.図柄CPU311の動作例)
サブ制御基板35からの演出表示コマンドは、GPU300のコマンドインタフェース303により受信され、図柄CPU311に転送されて処理される。この図柄CPU311の動作を図9のフローチャートに示す。
図柄CPU311は、サブ制御基板35からの演出表示コマンドを受信すると(ステップS101)、この演出表示コマンドにより特定される演出表示パターンに対応する表示スケジューラデータ402を制御ROM301から読み出す(ステップS102)。
そして、図柄CPU311は、制御ROM301から読み出した表示スケジューラデータ402に基づいて、VDP330に対して送信するためのコマンドリストを生成する(ステップS103)。なお、コマンドリスト生成処理の具体的な動作については後述する。
次に、図柄CPU311は、1つのフレームにおける全てのスプライト画像に対するコマンドリストの生成が終了するまで、各スプライト画像を描画するためのコマンドリストの生成を繰り返し、全てのスプライト画像に対するコマンドリストの生成が終了すると(ステップS104)、生成したコマンドリストをVDP330に送信する(ステップS105)。
そして、図柄CPU311は、全てのフレームに対する処理が終了するまでステップS103〜S105の処理を繰り返す(ステップS106)。
(5−2.コマンドリスト生成処理)
次に、図9のフローチャートのステップS103において示したコマンドリスト生成処理の具体的な動作について説明する。
(5−2−1.使用される主なコマンドの一覧)
先ず、本実施形態のVDP330において使用される主なコマンドの一覧を図10に示す。
この図10に示されるように各コマンドには、コマンド名、コマンドデータ、データサイズ、コマンド内容が設定されている。ここで、コマンドデータとは、コマンドの種類を特定するために各コマンドの先頭に設定される1バイト分の値を示している。
例えば、コマンド内容が描画終了の“EODL”というコマンドは、コマンドデータとして“8F”が設定されており、データサイズが4バイトであるため、“8F○○ ○○○○”というコマンドとなる。
なお、図10に示されたコマンドの一覧は実際に使用されるコマンドのうちの一部を示したものであり、図10に示されていないコマンドも存在する。
(5−2−2.コマンドリストの一例)
次に、図柄CPU311により作成されたコマンドリストの一例を図11に示す。コマンドリストは各フレーム毎に作成されるため、1つのフレームに複数のスプライト画像が含まれる場合には、各スプライト画像に対するコマンドがそれぞれ生成されてコマンドリストに含まれることになる。
図11に示された例では、1番目のスプライト画像に対するコマンドの下に2番目のスプライト画像に対するコマンドが配置されている。このコマンドリストは、1列あたり4バイト毎に区切られており、20バイトのコマンドは5列のデータとして現されている。
図11に示されたコマンドリスト例における1番目のスプライト画像に対するコマンド中には、“44000001 ・・・・・ 00000”というコマンドが含まれている。図10を参照すると、このコマンドの先頭1バイト分の値“44”により、このコマンドのコマンド名は“SETBLNDCNST”でありコマンド内容は、画像間演算における固定値の設定であることがわかる。
(5−2−3.コマンドリスト生成処理の具体な処理の流れ)
次に、本実施形態の遊技機1における図柄CPU311においてコマンドリストが生成される際の具体的な処理について説明する。
本実施形態における図柄CPU311は、VDP330に転送するためのコマンドリストを生成する際に、複数のスプライト画像に共通するコマンドを共通コマンドとしてコマンドリストに設定し、共通コマンド以外のコマンドを各スプライト画像毎に生成してコマンドリストに設定する。
また、図柄CPU311は、あるスプライト画像に対するコマンドを生成しようとする際に、生成しようとするコマンドが既に生成した他のスプライト画像に対するコマンドと同じ内容の場合には、当該コマンドの生成を省略するようにする。ここでは、省略対象のコマンドとして、スプライト画像の透明度の設定を含むコマンドであるコマンドSERFCOLORを用いた場合について説明を行うが、他のコマンドを省略対象のコマンドとした場合でも、本発明は同様に適用可能である。
コマンドリスト生成処理の具体的な処理の流れを図12のフローチャートに示す。
先ず、図柄CPU311があるフレームに対するコマンドリストを生成しようとする場合、複数のスプライト画像に共通するコマンドを共通コマンドとして登録し(ステップS201)、透明度の設定を含むコマンドであるSETFCOLORの初期値を保存する(ステップS202)。
次に、図柄CPU311は、共通コマンド以外のコマンドである、テクスチャロード関連コマンド(TXLOAD2AAC)、テクスチャ属性関連コマンド(SETTXATR等)、描画エフェクト関連コマンド(SETEFFECT)等のコマンドをコマンドリストに登録する(ステップS203)。
そして、図柄CPU311は、透明度の値をコマンドSETFCOLORに合成する(ステップS204)。そして、図柄CPU311は、保存されていた透明度の値とコマンドSETFCOLORに合成した値とが同一か否かを判定する(ステップS205)。ステップS205において、保存されていた透明度の値とコマンドSETFCOLORに合成した値とが同一であると判定された場合、図柄CPU311は、コマンドSETFCOLORのコマンドリストへの登録を行わずに、スプライト描画コマンド(SPRITE)をコマンドリストに登録する(ステップS208)。
ステップS205において、保存されていた透明度の値とコマンドSETFCOLORに合成した値とが同一ではないと判定された場合、図柄CPU311は、コマンドSETFCOLORに合成した透明度の値を保存して(ステップS206)、透明度が合成されたコマンドSETFCOLORをコマンドリストに登録する(ステップS207)。そして、図柄CPU311は、スプライト描画コマンド(SPRITE)をコマンドリストに登録する(ステップS208)。
このようにして1つのスプライト画像におけるコマンドリスト生成が行われると、図柄CPU311は、全てのスプライト画像の処理が終了したか否かを判定して(ステップS209)、全てのスプライト画像に対する処理が終了していればコマンド生成処理を終了する。全てのスプライト画像の処理が終了していない場合には、図柄CPU311は、全てのスプライト画像の処理が終了するまでステップS203からステップS208の処理を繰り返す。
このようにして生成されたコマンドリストの一例を図13に示す。図13に示した例では、共通コマンドとして“44000001・・・・00000”というコマンドが設定されている。そのため、1番目のスプライト画像に対するコマンド、2番目のスプライト画像に対するコマンドでは、共通コマンドである“44000001・・・・00000”というコマンドは設定されずに省略されている。そのため、図13に示したように各スプライト画像に対するコマンドのうち共通なコマンドを共通コマンドとして設定した場合、図11に示した共通コマンドを用いずに生成されたコマンドリストと比較して、コマンドリストのデータ量を削減することが可能となる。
また、透明度が同一のコマンドSETFCOLORを省略した場合と省略しなかった場合のコマンドリストの一例を図14に示す。図14(a)は、透明度が同一のコマンドSETFCOLORを省略しなかった場合のコマンドリストの例であり、図14(b)は、透明度が同一のコマンドSETFCOLORを省略した場合のコマンドリストの例である。
図14(b)では、1番目のスプライト画像に対するコマンドにおいて“43000001 0A040216”というコマンドが設定されているため、2番目のスプライト画像に対するコマンドでは、このコマンドが省略されている。そのため、図14(a)、図14(b)を比較すると、同一の透明度のコマンドを2番目以降のスプライト画像に対するコマンドにおいて設定せずに省略することにより、コマンドリストのデータ量が削減されていることがわかる。
(5−2−4.バイリニア補間オン/オフ判定)
次に、バイリニア補間オン/オフ判定処理について説明する。上述したように、図柄CPU311は、図9のフローチャートを参照して説明したようなコマンドリスト生成処理を行うことによりコマンドリストの設定を行っているが、このコマンドリスト作成処理においてバイリニア補間をオンするのかオフするのかを判定するためのバイリニア補間オン/オフ判定を行っている。
本実施形態の遊技機1では、予め用意されたスプライトデータを用いて映像表示を行っているが、予め用意されているスプライトデータとしては基本的なデータしか用意されていない。そのため、多彩な映像を行うために、図柄CPU311は、装飾図柄表示装置16における表示位置、回転角度、拡大率等をコマンドリストを解してVDP330に対して指示することにより各種の多彩な映像表示を実現している。
しかし、予め用意されているスプライト画像を拡大する場合、元のスプライト画像をそのまま拡大したのでは、輪郭部分がギザギザとなる等の弊害が発生して不自然な画像となってしまう場合がある。
このような弊害の発生を防止するために、画像の拡大を行う際に、バイリニア補間等の画像補間処理を用いて画像データを補間することが行われている。ここで、バイリニア補間とは、求めたい座標の画素値を、周りの4点の画素値の重み付けの平均値を求めることにより算出する補間方法である。
しかし、バイリニア補間を行うためには画像を構成する各画素の画素値を求める演算を大量に行う必要があるため、VDP330に対して負荷をかけることとなる。例えば、あるスプライト画像の拡大率を徐々に大きくするような映像を行おうとした場合、毎フレーム毎にスプライト画像の各画素値をバイリニア補間を用いて算出する必要がある。そのため、1つのフレームに複数のスプライト画像が存在するような場合には、VDP330の処理負担は大きなものとなる。
そこで、本実施形態の遊技機1では、スプライト画像の拡大率が、100%より大きい場合にはバイリニア補間を行うようにするが、拡大率が100%以下でありスプライト画像を原寸または縮小して使用するような場合には、バイリニア補間が行われないようにしてVDP330の処理負担を軽減するようにする。
具体的には、図柄CPU311は、VDP330に対して送信しようとするコマンドリストを生成する際に、表示スケジューラデータ402に示されたスプライト画像の拡大率(図7に示したX方向拡大率506、Y方向拡大率507)が100%よりも大きいか否かを判定する(判定手段)。そして、図柄CPU311は、スプライト画像の拡大率が100%よりも大きい場合には、バイリニア補間をオンするコマンドをコマンドリストに設定し、スプライト画像の拡大率が100%以下の場合には、バイリニア補間をオフするコマンドをコマンドリストに設定するようにする(設定手段)。
そして、図柄CPU311では、図10に示した各種コマンドのうちのSETEFFECTというコマンドのある特定のフラグをオンまたはオフすることにより、バイリニア補間を実行するのか実行しないのかを設定する。そして、VDP330は、図柄CPU311により生成されたコマンドリスト中のSETEFFECTコマンドのフラグを参照することによりバイリニア補間を行って映像表示を実現するのかバイリニア補間を行わずに映像表示を実現するのかを切り替えている。
なお、図柄CPU311は、コマンドリストに設定するコマンドを生成する際に、各種の関数をツールとして使用してコマンドを生成する。例えば、図柄CPU311は、下記に示すようなAttrsetという関数を用いて、スプライト画像を表示する座標位置(X座標503、Y座標504)や拡大率(X方向拡大率506、Y方向拡大率507)を設定するコマンドを自動的に生成している。
Attrset(X座標503、Y座標504、X方向拡大率506、Y方向拡大率507)
そして、このAttrsetという関数に、X方向拡大率506、Y方向拡大率507を設定することにより、Attrsetという関数の中において拡大率の値が判定されて、SETEFFECTというコマンド中のバイリニア補間のオン/オフを指定するパラメータが自動的に設定される。
つまり、図柄CPU311では、Attrsetという関数に、X方向拡大率506、Y方向拡大率507を設定するだけで、自動的にバイリニア補間のオン/オフの設定が行われる。
次に、このバイリニア補間オン/オフ処理の動作を図15のフローチャートを参照して説明する。
図柄CPU311は、あるフレーム中のスプライト画像に対するコマンドリストを生成する際に、表示スケジューラデータ402を参照して、X方向拡大率506、Y方向拡大率507を関数Attrsetに設定する(ステップS251)。
すると、関数Attrsetでは、X方向拡大率506、Y方向拡大率507のいずれかが100%より大きいか否かが判定され(ステップS252)、いずれかの拡大率が100%より大きい場合、コマンドSETEFFECTにはバイリニア補間をオンするフラグが設定され(ステップS253)、いずれの拡大率も100%以下の場合、コマンドSETEFFECTにはバイリニア補間をオフするフラグが設定される(ステップS254)。
なお、本実施形態では、バイリニア補間をオンするかオフするのかを判定するための閾値として100%という値を用いた場合について説明をしているが、本発明はこのような場合に限定されるものではない。その理由としては、拡大率が100%に近く原寸に近い場合、例えば拡大率が101%、102%のような場合には例えバイリニア補間が行われなくても不自然な映像表示とはならない場合もあるからである。このような場合には、100%以外の他の値を閾値とするようにしても良い。例えば、拡大率が120%以下であればバイリニア補間を行わなくても不自然な映像とならないような場合には、拡大率が120%よりも大きい場合にはバイリニア補間が行われるように設定し、拡大率が120%以下の場合にはバイリニア補間が行われないように設定するようにしても良い。
さらに、本実施形態では、スプライト画像の各画素値を補間する画像補間処理としてバイリニア補間を用いた場合について説明しているが、本発明は、バイリニア補間以外の他の画像補間処理を用いた場合でも同様に適用することができるものである。
なお、ソースROM340内に用意するスプライトデータのサイズを、使用するスプライト画像の最大サイズとするようにすれば、常にスプライトデータを縮小して使用することとなる。そのため、このような方法を用いれば、予め用意されているスプライト画像を拡大して使用する場合は発生しないので、バイリニア補間を行わなくても不自然な映像表示となることはない。ただし、使用する最大サイズのスプライト画像を用意しておかなければならないため、画像データ量が大きなものとなってしまい、消費するソースROM340の容量が大きくなる。そのため、スプライト画像の種類が多くなった場合、全てのスプライト画像を最大サイズで用意しようとすると、ソースROM340の容量も大きなものにしなければならなくなり、場合によっては現実的ではなくなってしまう。
(6.表示処理)
次に、VDP330において行われる表示処理について説明する。図16は、この表示処理の手順の一例を示すフローチャートである。
まず、VDP330では、図柄CPU311からのコマンドリストを受信すると、受信したコマンドリストをデータ格納メモリ336に格納する(ステップS301)。すると、データ転送回路332は、受信したコマンドリストに基づいて、映像表示に必要となるスプライトデータ、動画データ等の各種素材画像データをソースROM340から読み出す(ステップS302)。
そして、ソースROM340から転送されてきたスプライトデータ等の素材画像データは、デコーダ334によりデコードされた後にデータ格納メモリ336に格納される(ステップS303)。
描画回路335は、図柄CPU311から受信したコマンドリストに含まれる各コマンドに基づいて、データ格納メモリ336に格納されている素材画像データを用いて描画処理を行い、生成された画像データをフレームバッファメモリ337に順次格納していく(ステップS304)。なお、描画回路335は、スプライト画像の拡大処理を行う際に、バイリニア補間がオンに設定されている場合には、スプライト画像を拡大する場合にバイリニア補間を行うようにし、バイリニア補間がオフに設定されている場合には、バイリニア補間を行わずにスプライト画像の拡大処理を行う。
最後に、表示回路338は、フレームバッファメモリ337に格納された1フレーム分の画像データを映像信号に変換して、装飾図柄表示装置16に出力する(ステップS305)。
この図16に示されるような表示処理が各フレーム毎に行われることにより、VDP330は、図柄CPU311から転送されてきたコマンドリストに基づいて、各シーンの連続表示により構成される映像を装飾図柄表示装置16に対して表示させることができる。
(7.本実施形態による有用性についての言及)
本実施形態の遊技機1では、図柄CPU311は、VDP330に対して送信しようとするコマンドリストを生成する際に、表示スケジューラデータ402に示されたスプライト画像の拡大率(X方向拡大率506、Y方向拡大率507)が100%より大きい場合には、バイリニア補間をオンするようなコマンドを生成してコマンドリストに設定し、100%以下の場合には、バイリニア補間をオフするようなコマンドを生成してコマンドリストに設定するようにしている。
従って、本実施形態の遊技機1では、拡大率が100%以下であり、スプライト画像を原寸または縮小して映像表示が行われるような場合には、VDP330に対する処理負担が大きいバイリニア補間が行われないようにし、拡大率が100%以上でありバイリニア補間が行われないと不自然な映像表示となってしまうような場合にのみバイリニア補間が行われるようにしている。例えば、拡大率が90%、95%、100%のような場合には、バイリニア補間が行われないようにし、拡大率が150%、200%、300%、・・・のようにバイリニア補間が行われないと不自然な映像表示になってしまうような場合にはバイリニア補間が行われるようにする。
従って、本実施形態の遊技機1によれば、拡大率が100%以下の場合にはバイリニア補間が行われないため、常にバイリニア補間をオンにしてスプライト画像の映像表示を行う場合と比較して、VDP330に対する処理負担を軽減することができる。
(8.その他の実施形態についての言及)
上記実施形態では、遊技球の始動入賞口への入賞を契機として実行された内部的な抽選結果に応じて遊技状態が移行するパチンコ機に対して本発明を適用した場合について説明したが、本発明はこのような実施形態に限定されるものでない。本発明は、遊技球の始動口への入賞に伴って開閉動作を行う左右一対の可動片を有するパチンコ機(いわゆる「羽根物」と呼ばれるパチンコ機)等の他のパチンコ機に対しても同様に適用することが可能である。
また、本発明は、演出動作を表示するための表示装置を有する遊技機であれば、遊技媒体としてメダルやコインを用いる回胴式遊技機(スロットマシン)等の遊技機に対しても同様に適用することが可能である。なお、本発明が適用可能な回胴式遊技機の態様としては、遊技媒体は特にメダルやコインに限らず、パチンコ機用の遊技球等を用いる態様であってもよい。
また、上記実施形態では、液晶素子を用いて表示動作を実行する表示手段(装飾図柄表示装置など)を例示しているがこれに限られず、EL(エレクトロルミネッセンス:Electro Luminescence)素子を用いた表示手段或いはプラズマを用いた表示手段に適用しても良い。
なお、上記実施形態においては、装飾図柄制御基板30が表示に係る演出動作を制御しているが、これに限られず、例えばサブ制御基板35が、表示に係る演出動作以外の他の演出動作のみならず、この装飾図柄制御基板30の機能を備えている形態であってもよい。