説明

遊技機

【課題】遊技機において、多彩な演出を実現しつつ、これらの演出の共通部分で、微差が生じることを回避する。
【解決手段】遊技機にスピーカ40、ランプ30、LCD21を設け、各演出装置の演出内容を規定したスケジュールデータ、および音声、ランプ、LCDの演出内容を統合的に用いた演出内容を規定する演出データを用意する。演出制御装置は、演出データに格納されたファンクションを順次、実行し、各演出装置について実行されるべきスケジュールデータを指定することで、演出を制御する。演出データには、本来の処理順序から一旦離れて、他のファンクションBL3を実行し、その後、従前の処理に復帰する旨を指示するコールファンクションA2を設ける。こうすることで演出データBL3の流用が可能となり、多彩な演出データを設定しても、共通部分で微差が生じることを回避できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スロットマシン、パチンコ機などの遊技機における演出出力の制御に関する。
【背景技術】
【0002】
スロットマシン、パチンコ機などの遊技機には、音声出力、ランプの点灯・点滅、画像の表示などによって、遊技中に種々の演出が行われる。遊技の興趣を高めるために、種々の趣向を凝らした演出が試みられている。
【0003】
特許文献1は、シナリオデータを用いて、多様な演出表示を実現する制御技術を開示している。シナリオデータとは、画面に表示する図柄を時系列で順次規定したデータである。このシナリオデータに従って、指定された図柄を順次表示させる汎用的な処理を実現する制御処理を用意しておくことにより、シナリオデータを切り換えるだけで多種多様な演出表示を容易に実現できる利点がある。シナリオデータには、BGMの指定を含めることも可能である。この場合は、音源ICが指定されたBGMを出力することによって、表示画面に対応した音声を出力させることが可能となる。
【0004】
【特許文献1】特開平7−313694号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
遊技機では、趣向を凝らした演出が求められている。例えば、パチンコ機では、遊技中に始動入賞口への入賞によって、種々の抽選が行われることがある。抽選の際には、表示パネルに表示された図柄が種々の変動パターンで変動した後、停止して抽選結果を表示する。図柄変動中には、変動パターンに趣向を凝らした演出表示が行われたり、種々の大当たり予告表示が行われたりする。
しかし、これらの演出表示は、単に多彩にすれば足りるというものでもない。熟練した遊技者の中には、多種多様な演出表示の微妙な違いを見つけ出し、これによって抽選結果を推測することができる者もいる。例えば、同じ変動パターンを表示しつつ、途中で大当たり予告を表示あり/なしという2種類の演出表示を個別に用意した場合、変動パターン表示の開始時点で、両者の微妙な差異を見つけ出し、大当たり予告の有無を推測できてしまうのである。従って、不用意に多彩な演出表示を用意すると、熟練した遊技者に対しては、かえって興趣を損ねることにもなりかねない。
本発明は、かかる課題に鑑み、遊技機における演出表示の共通部分で差異が生じることを回避しつつ、その内容の多様化を図ることを目的とする。
【課題を解決するための手段】
【0006】
本発明の遊技機としては、スロットマシン等の回胴式遊技機やパチンコ機などが含まれる。本発明の遊技機は、遊技中に、遊技者に示される視聴覚的な演出に用いられる複数種類の演出装置と、所定の条件下で、遊技媒体を遊技者に払い出すための払出装置とを有している。複数種類の演出装置としては、例えば、音声出力装置、ランプなどの照明装置、画像を表示するための画像表示装置、セグメント式の表示装置などが挙げられる。音声出力装置を音楽用、アナウンス用などに細分化して設けても良い。遊技媒体とは、遊技球やメダルなど遊技中に投資、特典の対象となる媒体を言う。
遊技機は、また、遊技の進行を統合制御する主制御装置と、主制御装置から出力されるコマンドに基づき、遊技の遊技状態に応じて複数種類の演出装置を制御する演出制御装置とを有している。主制御装置と演出制御装置とは、主制御装置から演出制御装置への単方向で信号伝達を行う単方向信号線で接続されている。
【0007】
主制御装置は、遊技機での遊技全体の進行を制御する装置である。主制御装置は、遊技中に、遊技媒体の払い出しに関わる所定の条件の成否を判定し、この判定結果を含む遊技状態に基づいて、演出装置で実行されるべき演出内容を指示する主基板コマンドを演出制御装置に出力する処理などを行う。ここで言う遊技状態には、遊技者が遊技を行っていない状態、即ち待機状態またはデモ状態も含む。
遊技媒体の払い出しに関わる所定の条件は、遊技機の種類に応じて異なる。スロットマシンとして構成されている場合には、回胴の停止時において図柄が所定の役で揃うか否かが、ここでいう条件に該当する。パチンコ機として構成されている場合には、遊技盤面に設けられた入賞口に遊技球が入賞したか否か、また、始動入賞口に入賞した後に行われる抽選によって、遊技媒体の払い出しが生じやすい特定遊技状態、いわゆる「大当たり」が発生したか否かが、ここでいう条件に該当する。
主制御装置の各機能は、所定のコンピュータプログラムをCPUが実行することによってソフトウェア的に実現してもよいし、ASICなどの回路によってハードウェア的に実現してもよい。
【0008】
演出制御装置は、主制御装置から主基板コマンドを入力する入力部と、演出内容設定データ記憶部、演出制御実行部を備えている。これらの各部も、ソフトウェア的に構成してもよいし、ハードウェア的に構成してもよい。
演出内容設定データ記憶部は、各演出装置の種類に応じた視聴覚的な演出内容を規定する演出内容設定データを複数種類記憶している。音を出力させるための演出内容設定データは、例えば、出力すべき音源データおよびその出力時間を、時系列的に指定したデータとすることができる。表示、ランプなどの出力を制御するための演出内容設定データも同様である。
演出内容設定データは、種々のデータ構造を採り得るが、例えば、演出の制御を行うために要求される複数の処理のうち、実行すべき所定の処理を指示するファンクションを実行すべき順序で複数格納したデータ構造とすることができる。このファンクションには、演出内容設定データ内に格納されたファンクションの順序に拘束されず、所定のアドレスに格納されたファンクションの実行を指示するためのコールファンクションが含まれる。
所定のアドレスは固定値であってもよいし、別途、指定可能としてもよい。例えば、演出内容設定データを、ファンクションおよびファンクションの処理に必要な情報を規定するパラメータとの組み合わせを複数格納したデータ構造とする場合には、コールファンクションの「所定のアドレス」をパラメータで指定することもできる。
【0009】
演出制御実行部は、主基板コマンドに基づいて特定される遊技状態に応じて、演出内容設定データのいずれかを選択する。そして、選択した演出内容設定データに従って、次の手順で、各演出装置の出力を制御する。つまり、演出制御実行部は、演出内容設定データに含まれるファンクションおよび該ファンクションに対して設定されているパラメータを読み込み、その内容を解析して、ファンクションで指示された処理を実行する。そして、演出内容設定データ内で、次に格納されているファンクションを読み込み、同様にして実行する。このように演出内容設定データの先頭からファンクションの読み込みと実行とを、順次実行する。
また、演出内容設定データ中のコールファンクションを実行する時には、一旦、コールファンクションで指定された他のアドレスに格納されたファンクションを実行した後、コールファンクション以降の処理を継続して実行する。この機能は、例えば、次の処理によって実現できる。まず、演出内容設定データの処理の進行を管理するためのポインタを用意する。例えば、次に処理すべきファンクションが格納されているアドレス値をポインタに格納するものとし、ファンクションを実行する度に順次、ポインタを更新することによって、処理の進行を管理することができる。コールファンクションでは、実行すべきファンクションを、その格納アドレス値で指定する。演出制御実行部が、コールファンクションを実行する際には、その直前にポインタに格納されていた値を、一旦、所定のメモリ領域に待避させた上で、コールファンクションで指定されたアドレスをポインタに格納すればよい。
演出制御実行部は、指定されたアドレスのファンクションを実行した後、直ちに待避していたアドレスをポインタに戻せば、コールファンクションでは一つだけファンクションを実行して、従前の処理に復帰することができる。また、演出制御実行部は、コールファンクションで指定されたアドレスから、順次、ファンクションを実行していってもよい。
こうすることによって、コールファンクションを契機として、複数のファンクションにわたる複雑な処理を行わせることも可能となる。この場合には、最後に「リターン」など、コールファンクションの実行時に待避していたアドレスを復帰させるファンクションを設けておけば、任意のタイミングで従前の処理に復帰させることが可能となる。
なお、各演出装置に対応付けられた複数の演出制御実行部は、定期的に実行される定期処理において順に処理が実行される。各演出装置による制御は、相互に独立して稼動可能である。
【0010】
このように、コールファンクションを用いれば、複数の演出出力に共通の内容については、一つの演出内容設定データを流用させることができ、演出内容設定データの容量を低減することができる。
また、この機能は、単に演出内容設定データを作成する負荷を軽減できるというだけでなく、次に示す通り、遊技機に特有の効果も有する。遊技機では、遊技中に種々の抽選等が行われ、その結果に応じて遊技の展開が変わってくる。遊技者の中には、抽選中の演出内容の微妙な違いを見つけて、抽選結果等を推測することができる者もいる。これに対し、本発明では、コールファンクションによって、汎用的な演出内容を種々の場面で活用することができるため、こうした微妙な違いを解消することができ、抽選結果等を予測しづらくすることができ、遊技の興趣が損なわれるのを抑制することができるのである。
【0011】
演出内容設定データは、また別の構成として、所定の条件の成否に応じて実行すべきファンクションを切り替える条件分岐ファンクションを含めるようにしてもよい。演出制御実行部は、演出内容設定データで規定された処理を順次実行するとともに、条件分岐コマンドの実行時には、条件の成否を判断し、その条件が成立する場合には、条件分岐ファンクションで指定されたファンクションを実行する。条件成立時には、コールファンクションと同じく、演出内容設定データの実行を管理するポインタ値を一旦待避した後、指定されたアドレスに書き換えればよい。
このように条件分岐ファンクションを設けることにより、一つの演出内容設定データで、多種多様に分岐する遊技状態に対応することが可能となる。条件分岐に用いられる遊技状態としては、例えば、遊技中に行われる抽選の結果や、遊技者によるボタン等の操作の有無などが挙げられる。回胴式遊技機では、回転リールの停止状態、パチンコ機では始動入賞口への入賞状態などを用いても良い。また、遊技中のエラー発生の有無によって条件分岐するようにしてもよい。
【0012】
条件分岐後の演出内容も種々の構成が可能である。例えば、条件分岐以後は、2つ以上の処理に完全に分離される構成としてもよい。また、条件分岐によって所定の処理を行った後は、分岐前の処理に復帰するように構成してもよい。後者の態様によれば、例えば、遊技中にボタンが押された場合に一時的に効果音を出力する処理を実行した後、従前の演出に違和感なく復帰させることが可能となる。
【0013】
更に、抽選ファンクションを設けても良い。抽選ファンクションとは、所定の条件が成立した時に、予め指定した他の演出内容設定データを実行するよう指示するファンクションである。所定の条件としては、例えば、抽選用に用意された乱数の値が所定範囲内か否かという形で設定することができる。抽選ファンクションは、条件分岐ファンクションとコールファンクションの組み合わせで実現してもよい。つまり、所定の条件が成立した時に、コールファンクションによって他の演出内容設定データを実行するようにすればよい。
抽選ファンクションの実行時には、演出制御実行部が、予め選択対象として用意された演出内容設定データのいずれかを抽選によって選択して演出内容を決定する。
こうすることによって、主基板コマンドに対して多義的な演出を実現することができ、主制御装置の負荷を増大させることなく、多様な演出を実現することができる。
【0014】
本発明において、演出内容設定データは、種々の構造を採ることができる。一例として、次に示す通り、スケジュールデータと演出データという階層構造をとってもよい。スケジュールデータとは、演出内容設定データの一つであって各演出装置における出力内容を規定するデータである。上述の選択を可能とするため、演出内容設定データ記憶部内にスケジュールデータ記憶部を設け、スケジュールデータを、演出装置ごとに複数種類記憶させておけばよい。演出データとは、演出内容設定データの一つであって複数種類の演出装置のそれぞれについてスケジュールデータを特定することによって、演出装置を統合した演出内容を表すデータである。やはり、演出内容設定データ記憶部内に演出データ記憶部を設け、演出データを複数記憶させておけばよい。
同一の演出時間となる複数の演出内容設定データを準備するために、スケジュールデータには、各演出装置による演出時間が同一となる複数種類のデータが含められ、演出データには、同一の演出時間となるスケジュールデータのいずれかを、演出装置ごとに特定した複数種類のデータが含められる。
【0015】
このように各演出装置を制御するための下位データに相当するスケジュールデータと、種類の異なる演出装置にわたる統合制御を実現するための上位データに相当する演出データが用意されている時、演出制御実行部は、スケジュールデータを処理するために各演出装置に対応づけて設けられた出力スケジューラ部と、演出データを処理するための演出スケジューラ部という階層構造で、演出制御を実行する。出力スケジューラ部と演出スケジューラ部とは、演出制御実行部内のモジュールであり、共通のCPUによってソフトウェア的に構成されるか、共通の演算回路でハードウェア的に構成されることが望ましい。
階層構造での制御手順は次の通りである。まず、演出スケジューラ部は、主基板コマンドに基づいて特定される遊技状態に応じて、演出データのいずれかを選択する。演出データには、各演出装置が実行すべきスケジュールデータが特定されている。演出スケジューラ部は、選択した演出データを解析し、各演出装置が実行すべきスケジュールデータを特定する動作情報を生成して、それぞれの演出装置について出力する。動作情報とは、演出装置ごとに実行すべきスケジュールデータを特定することによって、各演出装置の演出内容を表す情報である。例えば、スケジュールデータの格納場所を表すアドレスや、スケジュールデータに直接または間接的に付された識別コードなどを用いることができる。
出力スケジューラ部は、演出装置ごとに個別に設けられている。それぞれの出力スケジューラ部は、動作情報に基づいてスケジュールデータ記憶部に記憶されたスケジュールデータのいずれかを選択する。そして、このスケジュールデータに基づいて各演出装置の出力を制御する。
【0016】
このように、演出データ、スケジュールデータという2種類のデータを階層的に使用して、複数種類の演出装置の制御を行う。演出スケジューラ部、出力スケジューラ部は、これらのデータを解析し、それぞれデータによって規定された処理を実行する汎用的な機能を有するモジュールである。それぞれ演出内容に依存しないモジュールであるから、異機種の遊技機間でも共用できる利点がある。また、演出データ、スケジュールデータを変更することにより、多様な演出を容易に実現することができる利点もある。
【0017】
更に、2種類のデータを階層的に使用することによって、多彩な演出を比較的容易に実現することができる。まず多様なスケジュールデータを用意することによって、それぞれの演出装置で容易に多様な演出を実現することができる。また、演出データでは、それぞれの演出装置について用意された多様な演出を、組み合わせて複数種類の演出装置を併用した演出内容を規定することができる。このように階層的にデータを設けることにより、例えば、多種多様な効果音を容易に出力させることができるとともに、ある効果音に対応した表示画面を多様に切り換えることが容易に可能となる。また、音声出力のスケジュールデータと画像表示のスケジュールデータとが分離されているため、画像表示の途中で音声出力を変更することも可能となる。
【0018】
本発明におけるコールファンクション、条件分岐ファンクション、および抽選ファンクションは、演出データおよびスケジュールデータの一方に設けても良いし、双方に設けても良い。
演出データは、複数の演出装置を統合的に制御するために用意されたデータであるから、演出スケジューラ部で抽選を行う場合には、複数の演出装置の演出内容の統一感を保ちながら多彩な演出を実現できる利点がある。
これに対し、スケジューラ部が抽選を行う場合には、演出装置ごとにスケジュールデータを選択できるため、その組み合わせで実現される演出内容は非常に多彩なものとなる利点がある。
本発明では、主制御基板と演出制御基板とは単方向信号線で接続されており、主制御基板は演出が終了したか否かを検出できない構造を採っている。従って、主制御基板と演出制御基板の同期を保つために、上述の選択対象となる演出データおよびスケジュールデータは、同一の演出時間となるよう設定しておくことが望ましい。
【0019】
また、出力スケジューラ部が選択を行う場合には、同一の演出時間となるスケジュールデータの一部を選択対象から除外して、選択を行ってもよい。出力スケジューラ部に対応づけられた演出装置の動作状態または演出スケジューラ部からの動作情報に基づいて、除外するか否かを判断したり、除外すべきスケジュールデータを決定したりしてもよい。このように一部を選択対象から除外して選択範囲を制限することにより、違和感のある演出となりやすい不適切なスケジュールデータが選択されることを抑制することができる。例えば、現時点での動作状態に対して違和感のある演出を行うスケジュールデータや、他の演出装置との関係で違和感を生じさせやすいスケジュールデータを除外対象とすればよい。
【0020】
上述の特徴は、必ずしも全てが備えられている必要はなく、適宜、一部を省略したり、組み合わせたりしても良い。上述の演出スケジューラ部、出力スケジューラ部等は、ハードウェア的に構成してもよいし、ソフトウェアのモジュールとして構成してもよい。また、本発明は、上述の処理によって演出装置を制御する制御方法として構成してもよいし、かかる制御を実現するためのコンピュータプログラムや、このコンピュータプログラムを記録した記録媒体、即ちROMやフラッシュメモリなどの不揮発性媒体として構成してもよい。
【図面の簡単な説明】
【0021】
【図1】実施例におけるスロットマシン10の外観を示す説明図である。
【図2】制御機構の構成を示す説明図である。
【図3】制御ソフトウェア構成を示す説明図である。
【図4】演出制御の基本概念を示す説明図である。
【図5】システムイベントの生成を示す説明図である。
【図6】演出モジュール240の機能を示す説明図である。
【図7】サウンドモジュール250の機能を示す説明図である。
【図8】ランプモジュール260の機能を示す説明図である。
【図9】メイン処理のフローチャートである。
【図10】イベント処理のフローチャートである。
【図11】演出データ処理のフローチャートである。
【図12】サウンド処理のフローチャートである。
【図13】ランプ処理のフローチャートである。
【図14】第2実施例としてのパチンコ機に用いられる遊技盤70の正面図である。
【図15】パチンコ機の制御ソフトウェア構成を示す説明図である。
【発明を実施するための形態】
【0022】
本発明の実施例について以下の順序で説明する。
A.装置構成:
B.制御機構の構成:
C.制御ソフトウェア構成:
C1.モジュール構成:
C2.演出制御の基本概念:
C3.イベントモジュールの機能:
C4.演出モジュールの機能:
C5.サウンドモジュールの機能:
C6.ランプモジュールの機能:
D.演出制御処理:
D1.メイン処理:
D2.イベント処理:
D3.演出データ処理:
D4.サウンド処理:
D5.ランプ処理:
E.効果:
F.第2実施例:
F1.遊技機の構成:
F2.遊技機の制御:
G.変形例:
【0023】
A.装置構成:
図1は実施例におけるスロットマシン10の外観を示す説明図である。スロットマシン10は、遊技媒体であるメダル(遊技メダル)を用いてゲームを行うことができる。「遊技媒体」とは、遊技場(ホール)において1回ごとのゲームについて投資または掛ける対象、およびゲームの結果に応じた特典として払い出しの対象となる物を意味する。本実施例は、スロットマシンを例にとって説明するが、本実施例は、パチンコ機などの遊技機として構成してもよい。
【0024】
図の左側にはスロットマシン10の正面図を示し、右側にA−A断面図を示した。図の煩雑化を避けるため、A−A断面図では、スロットマシン10のドア部分のみを示してある。スロットマシン10は、上方に大型(本実施例では画面サイズが19インチ程度となっている)の液晶パネル21を備えている。液晶パネル21の下部には3つの円筒形のリール22が配置されている。これらのリール22には、ゲーム用の図柄が描かれており、それぞれ図中の左右方向を回転軸として回転可能となっている。スロットマシン10の正面は、大型の透明カバー11で覆われている。
【0025】
遊技者が、メダルを投入して、始動レバー15を操作すると、リール22が回転し始める。遊技者が、3つの停止ボタン16をそれぞれ操作すると、ボタンの位置に対応したリール22の回転を停止させることができる。投入したメダル数、および回転が停止した時の図柄の配列に応じて、スロットマシン10はメダルを払い出す。
【0026】
スロットマシン10は、遊技中に種々の演出を行うため、スピーカ40やランプ30を備えている。スピーカ40は、上部および下部にそれぞれ左右の4カ所に設けられているが、上部のスピーカについては図示されていない。ランプ30は、スロットマシン10の左右および上部に設けられている。ランプ30は、多数のLEDと、それを覆う透明樹脂製のレンズで構成されている。ランプ30は、遊技状況に応じて点灯し、例えば、大当たりが出た場合などには鮮やかに点灯して、大当たりの発生を周囲にアピールする演出を行う。
【0027】
B.制御機構の構成:
図2は制御機構の構成を示す説明図である。スロットマシン10はメイン制御基板100、サブ制御基板200の分散処理によって制御される。メイン制御基板100は、内部にCPU101、ROM102、RAM103を備えており、スロットマシン10の全体処理を制御する。この制御を実行するため、メイン制御基板100には、種々の情報が入出力される。図中には、その一部を示した。
【0028】
入力される情報としては、例えば、始動レバー15および停止ボタン16の動作状態、メダル満タンセンサ50、エラー解除センサ51、扉開放センサ52などのセンサ出力がある。メダル満タンセンサ50は、遊技機内のメダルの貯留数が所定数量を超えた場合にエラー信号をメイン制御基板100に出力する。エラー解除センサ51は、スロットマシン10の動作にエラーが生じた際に、係員の操作に応じてエラーをリセットするためのスイッチからの出力信号である。扉開放センサ52は、スロットマシン10の前面扉が開放されたことを報知するためのセンサ出力である。
【0029】
リール22からは、各リールの停止位置情報を表す信号が出力される。また、メイン制御基板100からリール22には、各リールを回転させるモータの起動及び停止を制御する駆動パルス信号が出力される。
【0030】
電源ユニット18は、メイン制御基板100を含めた各種基板に電力を供給するための機構である。電力の供給とともに、停電などの異常が発生した際に、バックアップ処理を行わせるため、停電予測信号をメイン制御基板100に出力する。
【0031】
ホッパ装置19は、特典としてメダルを払い出すための機構である。リールの停止状態によって成立した役に応じて、内部に貯留されているメダルをステッピングモータによって払い出し口から払い出すことができる。メイン制御基板100からホッパ装置19には、メダルの払い出し動作を行うための制御信号が出力される。ホッパ装置19には、払い出されたメダルを1枚ずつ検出する払出センサが設けられており、メダル1枚ごとの払出メダル信号がメイン制御基板100に出力される。
【0032】
スロットマシン10は、遊技状態に応じて音声出力、ランプ点灯、画像表示などの演出を行う。これらの演出は、サブ制御基板200によって制御される。メイン制御基板100が遊技状態を表すコマンドを出力すると、サブ制御基板200は、これに応じた演出を実行するのである。この意味で、サブ制御基板200は、メイン制御基板100からのコマンドに応じて作動する下位の制御基板であると言える。本実施例では、不正を回避するため、メイン制御基板100とサブ制御基板200は単方向の信号線で接続されており、サブ制御基板200からメイン制御基板100への信号伝達は行われない。
【0033】
サブ制御基板200は、内部にCPU201、ROM202、RAM203等を備えるマイクロコンピュータとして構成されている。CPU201は、ROM202に記憶されたプログラムおよびデータを用いて、RAM203を活用しながら種々の演出制御処理を実行する。CPU201は、ランプ30に点灯パターンを表すランプデータを出力することによって、その点灯状態を制御することができる。
【0034】
サブ制御基板200には、またLCD21を制御するためのVDP(Video
Display Processor)204が備えられている。VDP204は、CPU201からのコマンドに従って、画像をビットマップ展開し、LCD21に画像を表示するための表示データを生成する。表示データの生成は、種々の方法で行うことが可能であるが、本実施例では、予め用意されたキャラクタデータを活用する方法を採った。
【0035】
キャラクタデータとは、LCD21にまとまった単位として表示されるイメージ(以下、このイメージをスプライトと呼ぶ)を表すための64ピクセルなどの規定サイズの矩形のビットマップデータである。画面上には種々の大きさのスプライトが存在する。小さなスプライトは、一つのキャラクタデータで表現することができるし、人物など比較的大きいスプライトの場合には、例えば、横2×縦3などで配置した合計6個のキャラクタデータで表現することができる。背景画像のように更に大きいスプライトであれば、更に多数のキャラクタデータを用いて表現することができる。キャラクタデータの数および配置は、スプライトごとに任意に指定可能である。スプライトおよびキャラクタデータのサイズ等は任意に設定可能である。本実施例では、定型的な大きさのキャラクタデータを配置してスプライトを構成するものとしたが、キャラクタデータは、各スプライトの大きさに応じた不統一なサイズとしてもよい。
【0036】
CPU201は、画像に表示すべき複数のスプライトおよびその位置をVDP204に指示する。VDP204は、指定されたスプライトに対応するキャラクタデータをROM202から読み出し、指定された位置に展開して、表示データを生成するのである。
【0037】
画面上に複数のスプライトが配置されている場合には、順次、バッファ上にスプライトごとのデータが展開される。後から展開されるスプライトのデータは既に展開済みのデータに上書きされるため、複数のスプライトが配置される時は、後から展開されるスプライトほど優先的に表示されることになる。
【0038】
VDP204は、画像を展開する上で有用な種々の機能を有している。かかる機能の一つとしてレイヤ機能が挙げられる。VDP204は、スプライトを予め用意された複数のレイヤごとに展開することができるのである。この機能を利用すれば、画像の表示の有無および表示の優先度を指定することによって、スプライト間の重なり具合を容易に制御することができる利点がある。
【0039】
VDP204の上述の処理を制御するための表示制御CPU、およびキャラクタデータを格納するためのキャラROMをサブ制御基板200に更に設ける構成をとってもよい。
この場合には、サブ制御基板200のCPU201は、表示制御CPUに、表示すべき画像を表す識別コード等を出力すればすむ。表示制御CPUが、この識別コードを解析して、表示すべきスプライトおよび位置を特定し、VDP204に指示を出すことになる。また、キャラクラタデータ専用のキャラROMを設けることにより、キャラクタデータの読み出し速度を向上させることができ、画像表示を円滑に行うことが可能となる。
【0040】
サブ制御基板200には、音声を出力するための音源IC205が用意されている。CPU201が再生すべき音声を表す音源コマンドを音源IC205に出力すると、音源IC205は、音源コマンドに対応した音源データをROM202から読み出し、アンプ206を介してスピーカ40から音声を出力することができる。音源データを格納しておくための専用のROMを音源IC205に接続しておく構成としてもよい。
【0041】
本実施例では、音声は4チャンネルでスピーカ40に出力可能である。ここに図示した4つのスピーカは、それぞれチャンネルを模式的に表しているものであり、図1で説明した物理的な4個のスピーカに対応している訳ではない。アンプ206内には、チャンネルごとに、増幅回路206aと、ボリューム206vが用意されている。後述する通り、ボリューム206vは、CPU201が個別に調整可能となっている。こうすることにより、例えば、BGMを演奏中に、そのチャンネルのボリュームを落として、他のチャンネルから流れる効果音を一時的に優先させるなどの演出を比較的容易に実現することが可能となる。
【0042】
C.制御ソフトウェア構成:
C1.モジュール構成:
図3は制御ソフトウェア構成を示す説明図である。本実施例では、各モジュールは、サブ制御基板のCPU201が実行するコンピュータプログラムによってソフトウェア的に構成されているが、一部または全部をハードウェア的に構成しても構わない。
【0043】
システムモジュール210内の主基板コマンドバッファ211は、メイン制御基板100から送信される主基板コマンドを受信し、コマンド解析モジュール220に受け渡す。
本実施例では、主基板コマンドは2バイトの情報であり、4ビットずつ4回に分けて出力される。主基板コマンドバッファ211は、この4回の信号を受信して2バイトのコマンドに再構成し、コマンド解析モジュール220に受け渡すのである。
【0044】
主基板コマンドには、遊技状態やスロットマシン10の動作状態のうち演出に関係のある内容を表す情報が含まれる。例えば、扉開放その他のセンサ出力(図2参照)や、始動レバー15や停止ボタン16の操作、リールの回転や停止、停止時の役の成否などが挙げられる。ここに挙げたコマンドは例示であり、遊技機の機種や、演出内容に応じて種々のコマンドを含めることができる。例えば、本実施例をパチンコ機に適用する場合には、始動入賞口等への入賞の有無や、抽選の結果などを主基板コマンドに含めることができる。
【0045】
コマンド解析モジュール220は、主基板コマンドの内容を解析し、有効なコマンドか否かを判断する。有効なコマンドと判断された場合には、イベントモジュール230に受け渡す。
【0046】
イベントモジュール230は、受け取ったコマンドに基づいて、システムイベントおよびユーザイベントを生成する。システムイベントとは、遊技中のユーザの操作と無関係に、スロットマシン10の動作状態に応じて種々の処理を行うための管理状態を言う。本実施例では、システムイベントで管理する状態としては、優先度の高い順に、「設定変更中、各種異常報知、扉開放状態、リール空回し、パワーセーブ、通常遊技、デモ」などが挙げられる。これらは一例に過ぎず、更に多くの管理状態を対象としてもよい。
【0047】
ユーザイベントとは、遊技中の演出表示に関するイベントであり、例えば、始動レバー15の操作、停止ボタン16の操作、リールの停止状態などがあげられる。イベントモジュール230は、これらのイベントに応じて、演出番号を特定し、演出モジュール240に受け渡す。演出番号とは、音声出力、ランプ、LCDなどによって実現される演出内容を表す識別情報である。
【0048】
演出モジュール240は、演出番号に基づいて、液晶コマンド、音声動作番号、ランプ動作番号を決定する。演出番号とこれらの液晶コマンド等との関係は、演出データとして予め規定され、ROM202に格納されている。演出データの内容、および液晶コマンド等の決定方法については後述する。液晶コマンドは、液晶コマンドバッファ212を介して、VDP204に受け渡される。液晶コマンド、音声動作番号、ランプ動作番号のうちシステムイベントに起因するものは、演出モジュール240によらず、イベントモジュール230によって指定されることもある。
【0049】
演出データの選択、および演出データに基づく動作情報(液晶コマンド、音声動作番号、ランプ動作番号)の出力を行う点で、本実施例のイベントモジュール230および演出モジュール240は、本発明における演出スケジューラ部に相当する機能を果たす。本実施例では、2つのモジュールで演出スケジューラ部を構成しているが、両者を統合した単一のモジュールで演出スケジューラ部を構成してもよい。
【0050】
VDP204は、この液晶コマンドバッファ212に基づき表示データを生成して、LCD21に出力する。表示データは、先に図2で説明した通り、液晶コマンドで指定されたキャラクタデータを指定された位置に展開する方法で生成する。
【0051】
サウンドモジュール250は、音声動作番号に基づいて音源コマンドを生成する。音源コマンドの生成方法については後で詳述し、ここでは概要のみを示す。
本実施例では、音声動作番号と、生成すべき音源コマンドとの関係は、予めスケジュールデータとして規定され、ROM202に記憶されている。サウンドモジュール250は、このスケジュールデータを参照して音源コマンドを生成するのである。図示を省略したが、サウンドモジュール250には、スケジュールデータを参照して音源コマンドを生成するためのスケジューラが複数、設けられている。サウンドモジュール250は、これらの複数のスケジューラを統合制御して、4チャンネル分の出力に対応する音源コマンドを生成することができる。音源IC205は、この音源コマンドで指定された音源データをROM202から読み出し、スピーカ40から音声出力する。
【0052】
ランプモジュール260は、ランプ動作番号に基づいて、ランプを点灯・点滅させるためのランプデータを生成する。ランプデータの生成方法については後で詳述し、ここでは概要のみを示す。
本実施例では、ランプ動作番号と、生成すべきランプデータとの関係は、予めスケジュールデータとして規定され、ROM202に記憶されている。ランプモジュール260は、このスケジュールデータを参照してランプデータを生成するのである。図示を省略したが、ランプモジュール260には、スケジュールデータを参照してランプデータを生成するためのスケジューラが複数、設けられている。ランプモジュール260は、これらの複数のスケジューラを統合制御してランプデータを生成することができる。ランプデータは、出力ポートイメージワーク213を介してランプ30に出力され、各ランプを点灯・点滅させる。
【0053】
C2.演出制御の基本概念:
図4は演出制御の基本概念を示す説明図である。サウンドモジュール250の機能を例にとって示した。先に説明した通り、サウンドモジュール250は、音声動作番号に基づいて音源コマンドを生成する。音源コマンドの生成は、スケジューラ252[1]〜252[4]等によって実現される。各スケジューラは、予め用意されたスケジュールデータ255を参照して音源コマンドを生成する。スケジュールデータ255の構造は後述する。サウンドモジュールメイン251は、各スケジューラの起動を制御し、参照すべきスケジュールデータを指定する。
【0054】
図示したスケジューラ252[1]〜[4]は本実施例で設けられているスケジューラの一部である。スケジューラは、音源コマンドの生成を並行して実行する必要のある本数分用意される。本実施例では、各スケジューラによって出力される音声、即ち並列処理するそれぞれの音声を、画像表示のレイヤ構造に対応させ、「レイヤ」と称することもある。スケジューラは、レイヤごとに一つ設けられることになる。
【0055】
本実施例で設けられるレイヤは、優先度の高い順に次の通りである。音声についてのレイヤ構造は、下記に限定されるものではなく、この中の一部を省略してもよいし、この他のレイヤを追加してもよい。
システム効果音(設定変更等) 禁止;
通常異常効果音 禁止;
扉開放効果音(エラー報知、ドア等) 禁止;
機能効果音2(払い出し、BET等) 許可;
機能効果音1(払い出し、BET等) 許可;
企画特殊効果音(ボーナスBGM等) 許可;
企画演出効果音(演出からの音声番号設定) 許可;
【0056】
「禁止」、「許可」とは、各レイヤを使用する際に、他のレイヤの音声出力を禁止するか、許可するかの指定である。例えば、「システム効果音」レイヤを使用して音声を出力する際には、その他のレイヤの音声出力が禁止されるため、システム効果音のみが出力されることになる。「企画演出効果音」レイヤを使用する場合には、このレイヤの音声と、他のレイヤの音声とが合成された音声が出力される。
【0057】
スケジューラ252[1]〜252[4]から出力された音源コマンドは、本実施例で設けられている4つのチャンネルCh1〜Ch4のいずれかから出力される。各チャンネルの音声は、ボリューム260v[1]〜[4]を介してスピーカ40[1]〜[4]から出力される。もっとも、ここに図示したスピーカ40[1]〜[4]は、各チャンネルCh1〜Ch4の出力を模式的に表したものであり、スロットマシン10に設けられた物理的ないずれか一つのスピーカと対応していることを意味している訳ではない。
【0058】
スケジューラ252と出力チャンネルとの対応関係は、チャンネルCh1〜Ch4に対応づけて設けられたチャンネル管理用ワーク253[1]〜253[4]によって管理される。図の右下にチャンネル管理用ワーク253のデータ構造を例示した。このワーク253では、レイヤ番号、フレーズ番号、ステレオ再生フラグ、出力ボリューム、ループ属性が格納されている。
【0059】
レイヤ番号は、各チャンネルを使用するレイヤを規定する。図の例では、チャンネルCh4は、レイヤ#3が使用していることを表している。レイヤ番号を変更することによって、チャンネルとスケジューラとの対応関係を切り換えることができる。例えば、スケジューラ252[4]は、図中の例では、チャンネルCh2と割り当てられているが、チャンネル管理用ワーク253[4]のレイヤ番号を「#4」に変更すれば、チャンネルCh4に割り当てられる。同様に、チャンネル管理用ワーク253[1]、253[2]のレイヤ番号を「#4」に変更すれば、それぞれチャンネルCh1、Ch2に割り当てられることになる。
フレーズ番号は、各レイヤから出力される一連の音声のうち、現在、どのフレーズが再生されているのかを示す情報である。ステレオ再生フラグは、ステレオ出力するか否かを表している。出力ボリュームはチャンネルごとのボリュームである。ループ属性は、繰り返し再生するか否かの指定である。これらの情報は、サウンドモジュールメイン251によって指定される。
【0060】
本実施例の構成は、出力ボリュームに関わらず音源コマンドを生成する機能と、出力先、および出力間の優劣やボリュームを調整する機能とを分離した構成と言える。前者がスケジューラ252の機能であり、後者がサウンドモジュールメイン251の機能である。
こうすることにより、複数のスケジューラ252には、スケジューラ間の優劣等を考慮することなく再生すべきスケジュールデータを指定しさえすればよいため、その動作制御が簡素なものとできる利点がある。また、スケジューラの処理負荷も軽減する。更に、音声出力の過程で、柔軟に出力チャンネルや優先度、ボリュームを調整できる利点もある。
【0061】
例えば、音声出力中に、サウンドモジュールメイン251が、各チャンネルのレイヤ番号を変更することにより、各チャンネルから出力されるレイヤを容易に切り換えることができる。レイヤ1、2をそれぞれチャンネルCh1、Ch2から出力している途中で、出力先のチャンネルを入れ替えることが可能となるのである。この結果、チャンネルCh1がボリューム大、Ch2がボリューム小に設定されている場合には、大小のボリュームバランスを変えることなく、今まで大きく再生されていた音声を小さく出力し、小さく再生されていた音声を大きく出力することを容易に実現することできる。
【0062】
また、別の例として、一部のレイヤの出力ボリュームを0とすることにより、特定のレイヤの音声を容易に消去させることができ、一時的に特定のレイヤの音声のみを出力することができる。この間も、ボリューム0とされたレイヤは、音声の再生だけは継続的に行っているから、ボリュームを復帰させれば、従前の続きの音声が違和感なく出力されるという利点がある。
【0063】
図中では、サウンドモジュール250について、演出制御の基本概念を示した。本実施例では、ランプモジュール260についても同様の構成を採用している。つまり、ランプモジュール内にも、ランプデータを生成するための複数のスケジューラが設けられており、レイヤ構造を採用している。ランプモジュール用のレイヤは、優先度の高い順に次の通りである。
設定変更;
エラー報知;
扉開放報知;
機能表示2(告知等);
機能表示1(払い出し等);
遊技演出;
ランプについてのレイヤ構造は、これに限定されるものではなく、この中の一部を省略してもよいし、この他のレイヤを追加してもよい。
【0064】
ランプについては、全て「禁止」扱いである。つまり、上述のレイヤの中で最も優先度の高いもののみが出力される。従って、サウンドモジュールと異なり、出力間のボリューム調整の機能も設けられていない。もっとも、ランプについても、サウンドと同様、他のレイヤの出力を「許可」するとともに、各レイヤの出力強度を調整するボリューム相当の機能を設けても良い。例えば、演出用のレイヤを複数設けておき、これらを共に出力許可扱いとしておけば、両者の重ね合わせ、およびその出力強度の調整によって、多様な演出を容易に実現することができる利点がある。
【0065】
以上で、スロットマシン10の制御機構のモジュール構成および演出制御の基本概念について説明した。次に、各モジュールの機能について、データ構造を示しながら、より詳細に説明する。
【0066】
C3.イベントモジュールの機能:
図5はシステムイベントの生成を示す説明図である。イベントモジュール230は、先に図3で説明した通り、主基板コマンドに基づいて、システムイベントおよびユーザイベントを生成し、管理する機能;これらのイベントに応じて、演出番号を特定し、演出モジュール240に受け渡す機能;およびシステムイベントに基づいて液晶コマンド、音声動作番号、ランプ動作番号を設定する機能を奏する。
破線枠内に本実施例でシステムイベントとして管理する状態SEを示した。下側に行くほど優先度が高くなる。制御の便宜上、「電源投入」もシステムイベントと同じ扱いとしている。
【0067】
イベントモジュール230がイベントの処理に使用するワーク231を左側に示した。
このワークでは、管理すべきイベントの数に対応したイベント情報[1]〜[n]が格納されている。イベント情報[1]〜[n]は、「電源投入」を除く各システムイベントSEと対応しており、各イベントが「ON」、「OFF」、「ONからOFFへの切り換え」、「OFFかONへの切り換え」のいずれの状態にあるかを管理している。例えば、遊技者による操作がなされないまま所定時間経過したことが主基板コマンドその他の情報によって検出されると、イベントモジュール230は、「デモ」に移行すべきと判断し、これに対応するイベント情報[1]を「OFFかONへの切り換え」に設定する。
【0068】
ワーク231における「効果音停止レイヤ」および「ランプ停止レイヤ」は、上述のイベントの発生/停止等に応じて、出力を停止させるべきサウンドレイヤ番号、ランプレイヤ番号を格納する。図の煩雑化を回避するため、図示を省略したが、「効果音停止レイヤ」、「ランプ停止レイヤ」等のワーク231も、それぞれ並行して指定できるよう必要数だけ設けられている。
ワーク231における「サウンド起動レイヤ」および「サウンド起動パターン」は、イベント発生/停止等に応じて、サウンドを出力させるべきレイヤ、および出力させるべきサウンドのパターンをそれぞれ番号で指定する。サウンドパターンの番号とは、図3中の音声動作番号を意味する。ワーク231における「ランプ起動レイヤ」および「ランプ起動パターン」も同様に、起動させるべきランプレイヤおよびランプの点灯パターンをそれぞれ番号で指定する。ランプの点灯パターンの番号とは、図3中のランプ動作番号を意味する。上述の「デモ」起動の時には、サウンドレイヤ[1]で効果音[1]、ランプレイヤ[1]でランプ[1]を起動させることになる。
【0069】
ワーク231における「パワーセーブ監視タイマ」は無操作期間を監視するために使用されるタイマである。このタイマで指定された時間が経過すると、通常遊技からデモ状態に移行したと判断される。ワーク231における「リール空回し警告タイマ」は、停止ボタン16が操作されることなくリールが回転し続けた時間を監視するためのタイマである。このタイマで指定された時間が経過すると、「リール空回し警告中」イベントに応じて、LCD21にエラー表示がなされる。
【0070】
ワーク231における「効果音停止レイヤ」、「ランプ停止レイヤ」等は、動作番号テーブル232、およびレイヤ情報テーブル233によって与えられる。これらのテーブルは、予め規定され、ROM202に格納されている。動作番号テーブル232は、イベントごとに、起動すべき音声動作番号(図中の効果音[0]〜[n])、およびランプ動作番号(図中のランプ[0]〜[n])を格納している。レイヤ情報テーブル233は、イベントごとに、音声を出力すべきレイヤ(図中のサウンドレイヤ[0]〜[n])、およびランプレイヤ[0]〜[n]を格納している。イベントモジュール230は、イベントの状態に応じて、動作番号テーブル232およびレイヤ情報テーブル233を参照し、その結果をワーク231に反映させるという処理を実行する。
【0071】
この他に、先に図3で説明した通り、システムモジュール210は、例えば、始動レバー15の操作、停止ボタン16の操作、リールの停止状態、およびシステムイベント情報などに応じて演出番号を特定する。本実施例では、予めこれらの各種イベントと演出番号との関係を規定した演出抽選テーブルを参照することによって、遊技状態に応じた演出番号を特定する方法を採った。
【0072】
また、更に、システムモジュール210は、所定のタイミングで、画面設定コマンドをVDP204に出力する。これは、画面設定等に関するコマンドであり、こうすることで、ノイズなどの影響で演出表示に支障が生じた場合でも、速やかに復旧することが可能となる。
【0073】
システムモジュール210は、この他、遊技中に行われる基本的な操作に連動した音声出力やランプ表示を行わせるための音声動作番号、ランプ動作番号の出力を行う。出力される音声としては、例えば、「メダル投入音」、「ウェイト音」、「回胴回転開始音」、「リール停止音」、「払い出し音」などが挙げられる。ランプ表示としては、ベット時、レバーON時、リール停止時の表示などが挙げられる。本実施例では、これらの音声動作番号、ランプ動作番号は、システムイベントの管理で使用するワーク231のサウンド起動レイヤ、サウンド起動パターン、ランプ起動レイヤ、ランプ起動パターンに書き込まれる。これらの音声、ランプ出力は、システムイベントに応じた音声、ランプ出力とは別のレイヤとして管理される。
【0074】
C4.演出モジュールの機能:
図6は演出モジュール240の機能を示す説明図である。演出モジュール240は、イベントモジュール230から演出番号を受け取り、VDP204、サウンドモジュール250およびランプモジュール260に出力するコマンドを設定する。図中には、このコマンドを設定するために参照される演出データ241の構造を示した。
【0075】
本実施例では、演出データ241は、イベントモジュール230から指定される演出番号ごとに用意され、ROM202に格納されている。演出データ241と演出番号との対応関係は、演出管理テーブルに規定されている。図の左側に示す通り、演出管理テーブルは、演出データの格納アドレスを示す、演出管理ポインタを備えている。演出管理ポインタは、演出番号に対応する数だけ用意されているが、ここでは5つのみを例示した。図の例では、例えば、演出管理ポインタ[1]は、最初は、演出データ241の先頭アドレスA1を格納していることになる。演出データの処理が実行されるにつれ、演出管理ポインタ[1]の値は、順次、A1、A2と移行していく。
【0076】
本実施例では、演出番号は、演出管理ポインタのアドレス値を用いるものとした。図の例では、演出番号01H、02H等は、それぞれ演出管理ポインタ[1]、[2]等の格納アドレスを表している。もっとも、演出番号はアドレス値に限らず、任意の識別情報を用いることができる。この場合には、演出管理テーブルを、演出番号と演出管理ポインタとを対応づけた構成とすればよく、演出モジュール240は、演出番号をキーとして演出管理ポインタを検索した上で、演出データの処理を行うようにすればよい。もっとも、演出管理ポインタのアドレス値を演出番号として用いれば、演出管理テーブルのデータ量を軽減できるとともに、上述の検索も不要となるため、演出データの処理に要する負荷を軽減できる利点がある。
【0077】
演出データ241は、図示する通り、一つ一つのコマンドは、原則としてファンクションとパラメータから構成される。ファンクションとは、演出モジュール240が実行すべき機能である。本実施例で用いるファンクションの例を以下に示す。パラメータは、ファンクションの処理内容を具体的に指示する変数である。パラメータを指定する必要がないファンクションを設けても良い。
(1) 主基板コマンド受信チェック…所定の主基板コマンドを受信したか否かをチェックする。チェック対象となる主基板コマンドは、パラメータで指定する。
(2) ジャンプ…パラメータで指定されたアドレスを演出管理ポインタにセットする。
演出モジュール240は、指定されたアドレスにジャンプして演出データの処理を継続することになる。
(3) コール…次のファンクションのポインタ値を待避した上で、パラメータで指定されたアドレスを演出管理ポインタにセットする。演出モジュール240は、一時的にパラメータで指定されたアドレスに移行して演出データの処理を行った後、上述の待避したポインタ値に基づき、従前の処理に復帰することができる。
(4) リターン…コール先から復帰するための指示である。コールで待避したポインタ値を、演出管理テーブルに設定する機能を有する。
(5) タイマセット…待ち時間用のタイマの値を設定する。このタイマ値は、処理中に順次、減算される。タイマ値が0となった時に指定された待ち時間が経過したことを表す。
(6) タイマウェイト…設定されたタイマが0となるまで待って、演出データの処理を継続する。
(7) メモリ参照…所定のイベントの発生有無が設定された条件を満たすか否かを判断し、満たしたか否かによって、次に行う処理を分岐する。イベントの発生有無は、パラメータが示すイベント用メモリの値を参照することによって監視する。
(8) 演出終了…演出番号をクリアし、実行終了する。この際、演出管理ポインタに演出データの先頭アドレスを書き込むことによって、リセットしておく。
(9) 液晶コマンドセット…液晶に送信するコマンドを設定する。
(10) 音声動作番号セット…サウンドモジュール250に出力する音声動作番号を設定する。
(11) ランプ動作番号セット…ランプスケジュール260に出力するランプ動作番号を設定する。
【0078】
図中の例では、アドレスA2において「コール」ファンクションが指定されている。演出モジュール240は、このパラメータで指定されたアドレスA31を次に実行する。図の例では、アドレスA31において液晶コマンドをセットし、A32において音声動作番号、A33においてランプ動作番号をセットして、A3nでリターンする。演出コマンドは、これらの処理を終了すると、「コール」が指定されたアドレスA2に復帰し、次のアドレスA3の処理に移行する。
【0079】
このように、コールファンクションを活用することによって、アドレスA31〜A3nで指定された一連のブロックBL3の内容を演出データの種々の部分に取り込むことが可能となる。こうすることによって、演出データの容量を低減できるとともに、その作成負荷を軽減することができる。また、こうすることで、次に示す通り、スロットマシン10に特有の効果も有する。スロットマシン10では、遊技中に種々の抽選等が行われ、その結果に応じて遊技の展開が変わってくる。遊技者の中には、抽選中の演出内容の微妙な違いを見つけて、抽選結果等を推測することができる者もいる。これに対し、本発明では、コールによって、汎用的な演出内容を種々の場面で活用することができるため、こうした微妙な違いを解消することができ、抽選結果等を予測しづらくすることができ、遊技の興趣が損なわれるのを抑制することができるのである。
【0080】
このように「コール」ファンクションを用いることが可能ではあるが、本実施例の演出データ241は、インタプリタのプログラムとは異なるものである。上述の通り、演出データ241で使用する主たるファンクションは、「液晶コマンドセット」、「音声動作番号セット」、「ランプ動作番号セット」など、他のスケジューラへの指示内容を設定するものであり、演出モジュール240が実現できる非常に限定的な機能を具体的に指示するものに過ぎないからである。
【0081】
図中の例では、次にアドレスA3でタイマウェイトが実行される。ここでは、パラメータPrm[031]で指定された時間が経過するまで、演出データの処理が待たれる。後述する通り、本実施例では、タイマ割り込みによって処理が繰り返し実行される。従って、演出モジュール240は、タイマウェイトファンクションでは、パラメータPrm[031]の値が0でなければ、以降の処理を行うことなく演出データの処理を一旦終了し、この値が0であれば、次のアドレスのファンクションに移行するという処理を行う。
【0082】
図中の例では、アドレスA11でメモリ参照、即ち条件分岐が実行されている。ここでは、所定のボタンが押されたか否かを条件とする場合を例示した。主基板から受け渡されるコマンドに基づいて、ボタンが押されるというイベントの発生が検出されると、演出モジュール240はアドレスA11の次のアドレスの処理に移行する。このイベントが発生するまではパラメータPrm[112]で指定されるアドレスに移行する。
【0083】
本実施例では、パラメータPrm[112]に、自己のアドレスA11を指定することにより、ボタンが押されるまで処理が先に進まないような構成とした。この結果、本実施例の演出データ241は、開始アドレスA1から条件分岐A11までを一連のブロックBL1として捉えることができる。演出データ241では、この処理内では、液晶コマンド、音声動作番号、ランプ動作番号が相互に抵触しないように指定される。
【0084】
本実施例では、先に図5で示したワーク231と同じ形式のワークを利用して、音声動作番号等の指定を行っている。システムイベントが使用するワーク231と演出モジュール240が使用するワークとは別に用意されており、演出モジュール240は、演出データの指定に従って、音声動作番号等をそれぞれワークに格納する。また、演出モジュール240が指定するレイヤも、システムモジュール用のレイヤ(図5参照)とは別に設けられている。演出モジュール用のワークにおいても、これらのレイヤの中から、音声動作番号、ランプ動作番号を並行して複数指定可能となっている。
【0085】
条件分岐のアドレスA11以降も同様に演出データは、ファンクションおよびパラメータによって規定される。図中の例では、条件分岐のアドレスA11以降、演出終了(アドレスAn)に至るまで、条件分岐は設けられていない例を示した。この範囲は、上述のブロックBL1とは別のブロックBL2となるため、ブロックBL1との抵触を考慮することなく、液晶コマンド(アドレスA22)や音声動作番号(アドレスA21)などが指定可能である。これらの設定に代えて、コールファンクションによって、ブロックBL3等を取り込むようにしてもよい。
【0086】
演出データでは、条件分岐とコールファンクションとを組み合わせて用いても良い。例えば、演出内容を切り換えるための乱数を発生させ、その乱数の値に応じて異なるアドレスをコールすればよい。図6の例では、アドレスA2において、「乱数値≦Th1?」という条件を付せば、この条件を満たす時にアドレスA31〜A3nの演出が実行されることになる。また、アドレスA2の次(アドレスA2+1)において、「Th1<乱数値≦Th2?」という条件を付して、アドレスA41(図示しない)をコールすれば、乱数の値に応じて、アドレスA31以降とは異なる演出が実行される。このように、乱数に応じた条件分岐で異なるアドレスをコールすれば、乱数によって演出内容をランダムに切り換えることができ、遊技の興趣を高めることが可能となる。以下、このように演出内容を切り換えることを、本明細書では、「演出抽選」と呼ぶものとする。
【0087】
演出抽選の適用例としては、例えば、次の態様が挙げられる。
(1)子役の告知を行う(音、表示、ランプの演出抽選);
(2)内部あたり時の効果音を切り換える(音の演出抽選);
(3)時間帯によって表示の背景を切り換える(表示の演出抽選);
(4)リーチ態様によってテンパイ時の効果音を切り換える(音の演出抽選);
(5)変動開始音の出力タイミングを遅らせる(音の演出抽選);
(6)アシストタイム抽選を表示する(表示の演出抽選);
(7)メインで表示されるキャラクター以外のサブキャラを表示させる(表示の演出抽選);
(8)予告音の出力(音の演出抽選);
(9)内部当たり告知を数ゲームにわたって行う(表示の演出抽選);
(10)入賞した役によってリール停止時のバックライトを変化させる(ランプの演出抽選)
【0088】
上述の例では、演出抽選によって表示、音、ランプの全てを切り換える場合もあれば、一部のみを切り換える場合もある。全てを切り換える場合には、コールファンクションで呼び出された演出データ内で、表示、音、ランプの内容を全て指定すればよい。一部のみを切り換える場合には、コールファンクションで呼び出された演出データ内で、切り換えの対象となる部分のみを指定し、その他の部分はコールファンクションからリターンしてきた後に統一して指定すればよい。
【0089】
上述の通り、演出抽選は、あくまでもサブ制御基板200の制御処理によって、演出内容を切り換えるものであり、遊技自体に影響を与えるものではない。しかし、このように演出抽選を可能とすることによって、メイン制御基板100から出力されるコマンドの種類よりも多彩な演出を実現することができ、興趣をより高めることができる。
【0090】
C5.サウンドモジュールの機能:
図7はサウンドモジュール250の機能を示す説明図である。サウンドモジュール250は、ROM202に格納されたスケジュールデータ255を参照しながら、音声出力を行う。先に図4で説明した通り、サウンドモジュール250は、複数のスケジューラ252を併用してこれらの処理を行う。各スケジューラ252は、音声用のサウンドレイヤと対応づけて設けられている。また、各スケジューラ252には、動作管理用のワーク252Wがそれぞれ用意されている。ワーク252Wの内容は後述する。
【0091】
演出モジュール240から音声動作番号を受け取ると、サウンドモジュール250は、音声動作番号テーブルを参照して、実行すべきスケジュールデータ255を特定する。音声動作番号テーブルは、音声動作番号に対して、サウンドポインタおよびサウンドレイヤを対応づけたテーブルである。本実施例では、音声動作番号は、音声動作番号テーブルの格納アドレスを用いるものとした。音声動作番号は、任意の識別情報を用いることが可能であるが、先に演出番号(図6参照)で説明したのと同じく、格納アドレスを用いた方が音声動作番号テーブルの容量低減およびテーブル参照時の処理負荷軽減という利点がある。
【0092】
サウンドポインタは、スケジュールデータ255の格納アドレスを指定している。本実施例では、サウンドポインタ[1]には、アドレスSA1が格納されていることになる。
【0093】
スケジュールデータ255は、演出データ(図6参照)と同様、ファンクションとパラメータによって構成されている。スケジュールデータ255で使用されるファンクションは次の通りである。
(1) タイマセット…パラメータで設定された時間をワーク252Wのタイマにセットする。
(2) フレーズ再生…パラメータで設定されたフレーズ番号が示すフレーズデータを再生する。フレーズデータの内容については後述する。
(3) フレーズ消音…パラメータで設定されたフレーズデータを再生しているチャンネルの再生を停止する。
(4) チャンネル消音…パラメータで設定されたチャンネルの再生を停止する。
(5) スケジューラ停止…処理を停止し、使用していたチャンネルを解放する。
(6) コール…次のファンクションのポインタ値を待避した上で、パラメータで指定されたアドレスをサウンドポインタにセットする。
(7) リターン…コール先から復帰する。
(8) ジャンプ…パラメータで指定されたアドレスをサウンドポインタに設定する。
(9) ループ…ループからループエンドまでの間のファンクションを、パラメータで指定された回数だけ繰り返し実行する。
(10) ループエンド…ループの終了を表す。
【0094】
図中の例では、アドレスSA2において、コールファンクションが規定されている。サウンドモジュール250は、演出データ(図6)で示したのと同じように、アドレスSA31(図示せず)以降の一連のブロックを実行した後、アドレスSA2の次のアドレスSA3の処理を行う。
【0095】
アドレスSA3では、フレーズ再生が規定されている。サウンドモジュール250は、パラメータで指定されたフレーズ番号00Hに対応するフレーズデータ255Fを読み込み、これを再生する。
【0096】
図の右側にフレーズデータ255Fの構造例を示した。フレーズ番号は、各フレーズデータに付された識別情報である。本実施例では、任意の識別情報を用い得る形としたが、フレーズデータ255Fの格納アドレスをフレーズ番号として用いてもよい。この場合には、フレーズデータ255Fからフレーズ番号を省略することもできる。
【0097】
チャンネルは、フレーズ再生時の出力チャンネルの指定である。左右パンポット、上下パンポットとは、スロットマシン10に備えられた4つのスピーカの左右/上下の出力バランスである。ボリュームは、出力ボリュームである。曲番号は、再生すべき音声の識別番号である。この番号が音源IC205に受け渡されると、音源IC205は、これに対応する音源データをROM202から読み出し、音声を再生する。ループは、音声を繰り返し再生するか否かの指定である。ステレオは、ステレオ出力するか否かの指定である。
【0098】
スケジュールデータ255は、上述のように「コール」ファンクションを用いることが可能ではあるが、本実施例のスケジュールデータ255は、インタプリタのプログラムとは異なるものである。上述の通り、スケジュールデータ255で使用する主たるファンクションは、「フレーズ再生」など、音声の出力という非常に限定的な機能を具体的に指示するものに過ぎないからである。つまり、予め用意された「フレーズ再生」などの各機能を、実行するタイミング、実行する回数などを規定しているに過ぎないからである。
【0099】
各スケジューラ252には、動作管理用のワーク252Wが対応づけられている。ワーク252Wには、図中に示す種々の情報が格納される。
動作状態は、各レイヤが動作中か否かを示している。
音声番号は、動作中のスケジュールデータ255の番号を表している。本実施例では、スケジュールデータ255の先頭アドレスを用いるものとした。
サウンドポインタは、スケジューラ252が実行しているスケジュールデータ255のアドレスである。図中の例では、処理が進むにつれ、サウンドポインタの値は、順次、SA2、SA3と移行する。
タイマ値は、次のファンクションを実行するまでの待ち時間を表す。スケジュールデータ255で待ち時間が指定された時に設定され、時間の経過とともに、順次、減算される。サウンドモジュール250は、この値が0となった時に次のファンクションを実行する。
【0100】
コールネスト数、ループネスト数は、スケジュールデータ255およびフレーズ番号で多重的に指定されたコール、ループのネスト数を表している。つまり、例えば、アドレスSA2のコールファンクション(第1コール)で呼び出されるアドレスSA31以降の処理において、更にコールファンクション(第2コール)によって別のアドレスのスケジュールデータ255を呼び出すと、コールネスト数は2となる。第2コールを終えて、第1コールに復帰すると、コールネスト数は1に減じられる。ループも同様である。コール戻りアドレスはコール先からの戻りアドレスでありコールネスト数に応じて設けられる。ループ先頭アドレスは、ループ範囲の先頭アドレスであり、ループ回数は、ループの繰り返し回数である。ループ先頭アドレス等は、ループネスト数に応じて設けられる。
【0101】
C6.ランプモジュールの機能:
図8はランプモジュール260の機能を示す説明図である。ランプモジュール260は、ROM202に格納されたスケジュールデータ265を参照しながら、ランプ出力、即ちランプの点灯・点滅制御を行う。ランプモジュール260も、複数のスケジューラ262を併用してこれらの処理を行う。各スケジューラ262は、ランプ用のランプレイヤと対応づけて設けられている。また、各スケジューラ262には、動作管理用のワーク262Wがそれぞれ用意されている。ワーク262Wの内容は後述する。
【0102】
演出モジュール240からランプ動作番号を受け取ると、ランプモジュール260は、ランプ動作番号テーブルを参照して、実行すべきスケジュールデータ265を特定する。
ランプ動作番号テーブルは、ランプ動作番号に対して、ランプポインタおよびランプレイヤを対応づけたテーブルである。本実施例では、ランプ動作番号は、ランプ動作番号テーブルの格納アドレスを用いるものとした。ランプ動作番号は、任意の識別情報を用いることが可能であるが、先に演出番号(図6参照)で説明したのと同じく、格納アドレスを用いた方がランプ動作番号テーブルの容量低減およびテーブル参照時の処理負荷軽減という利点がある。
【0103】
ランプポインタは、スケジュールデータ265の格納アドレスを指定している。本実施例では、ランプポインタ[1]には、アドレスLA1が格納されていることになる。
【0104】
スケジュールデータ265は、演出データ(図6参照)と同様、ファンクションとパラメータによって構成されている。スケジュールデータ265で使用されるファンクションは次の通りである。
(1) タイマセット…パラメータで設定された時間をワーク252Wのタイマにセットする。
(2) 階調パターン設定…パラメータで設定された階調パターンデータアドレスを設定し、ワーク262W内の階調データタイマをクリアすることによって、階調データの実行を指示する。
(3) ジャンプ…パラメータで指定されたアドレスをランプポインタに設定する。
(4) スケジューラ停止…処理を停止する。
(5) ループ…ループからループエンドまでの間のファンクションを、パラメータで指定された回数だけ繰り返し実行する。
(6) ループエンド…ループの終了を表す。
【0105】
図中の例では、アドレスLA2において、コールファンクションが規定されている。ランプモジュール260は、演出データ(図6)で示したのと同じように、アドレスLA31(図示せず)以降の一連のブロックを実行した後、アドレスLA2の次のアドレスLA3の処理を行う。
【0106】
アドレスLA3では、階調パターン設定が規定されている。ランプモジュール260は、パラメータで指定されたアドレスLA11に格納されている階調パターンデータ266を設定する。ランプスケジューラ262には、それぞれ階調スケジューラ263が対応づけて設けられており、指定された階調データ1でランプを点灯させ、タイマ値で指定された時間が経過すると、階調データ2でランプを点灯させる。ここでは、2通りの階調データが指定されている例を示したが、3つ以上指定されている場合も、タイマ値の時間間隔で順次、階調データを切り換えつつ、ランプを点灯させる。階調パターン設定をアドレスLA12以降も複数用意しておくことにより、階調データ間の切り換えタイマ値を変化させつつ、種々の階調パターンでランプを点灯させることが可能となる。階調パターンデータ内に、ループを設けることも可能である。階調スケジューラ263は、アドレスLA11〜LA1nの一連の処理を実行すると、ランプの点灯を終了する。ランプスケジューラ262は、スケジュールデータ265のアドレスLA3の処理に復帰し、次のアドレスの処理を停止(アドレスLAn)に至るまで実行する。
【0107】
各スケジューラ262には、動作管理用のワーク262Wが対応づけられている。ワーク262Wには、図中に示す種々の情報が格納される。
スケジューラステータスは、スケジューラが起動中か否かを示す。
動作パターンナンバーは、動作中のスケジュールデータ265の番号を表している。本実施例では、スケジュールデータ265の先頭アドレスを用いるものとした。
スケジューラタイマは、次のファンクションを実行するまでの待ち時間を表す。スケジュールデータで待ち時間が指定された時に設定され、時間の経過とともに、順次、減算される。ランプ260は、この値が0となった時に次のファンクションを実行する。
階調データタイマは、階調パターンデータ266の実行時に、次の階調データを実行するまでの待ち時間を表す。図の例で、アドレスLA11に規定された階調データを実行する際には、階調データタイマに、設定されたタイマ値が0になると、階調データ1から階調データ2に移行し、再びタイマ値が0になると、アドレスLA11の処理を終了してアドレスLA12の処理に移行する。
【0108】
ランプポインタは、スケジューラ262が実行しているスケジュールデータ265のアドレスである。図中の例では、処理が進むにつれ、ランプポインタの値は、順次、LA1、LA2、LA3と移行する。
階調データポインタは、階調スケジューラ263が実行している階調パターンデータ266のアドレスである。図中の例では、処理が進むにつれ、階調データポインタの値は、順次、LA11、LA12と移行する。
ループ回数は、ループの繰り返し回数であり、ループ先頭アドレスは、ループ範囲の先頭アドレスである。サウンドの場合と同様、ループにネストを許容してもよい。
【0109】
D.演出制御処理:
本実施例では、以上で説明した各モジュールの機能によって、演出制御が実行される。
以下では、演出制御の処理内容を示す。それぞれの処理は、ソフトウェア的には先に説明した各モジュールが連動して実現するものであり、ハードウェア的にはサブ制御基板200のCPU201が実行する処理である。
【0110】
D1.メイン処理:
図9はメイン処理のフローチャートである。左側に定常処理、右側にタイマ更新処理を示した。定常処理は16msecの周期で繰り返し実行され、タイマ更新処理は2msecの周期で繰り返し実行される。それぞれの周期は、任意に設定可能である。
【0111】
定常処理には、電源投入後の一連の処理を示した。電源が投入されると、CPU201は、割り込みを禁止し(ステップS10)、起動処理として種々のレジスタ設定等を行う(ステップS11)。起動処理が終了すると、割り込みを許可して(ステップS12)、メイン処理ルーチンに入る。
【0112】
メイン処理ルーチンでは、イベント処理(ステップS30)、演出データ処理(ステップS40)、サウンド処理(ステップS50)、ランプ処理(ステップS60)、および液晶へのコマンド出力(ステップS70)を16msec周期で繰り返し実行する。これらの処理は、それぞれイベントモジュール230、サウンドモジュール250、演出モジュール240、ランプモジュール260の機能に相当する処理である。
【0113】
メイン処理ルーチンの実行中には、先に説明した通り、種々のタイマが使用される。図の中央に示したタイマテーブルTWは、メイン処理ルーチンで使用される種々のタイマ値を、それぞれタイマ[1]〜タイマ[n]に対応づけて格納するテーブルである。メイン処理ルーチンにおいて、各モジュールは、タイマテーブルTWを参照することによって、処理に必要なタイマ値を更新することができる。
【0114】
タイマテーブルのタイマ[1]〜タイマ[n]の値は、2msec周期で実行されるタイマ更新処理によって更新される。右側にタイマ更新処理のフローチャートを示した。この処理では、CPU201は処理対象のタイマ[i]が0でない場合には(ステップS21)、タイマ値を1だけ減算し(ステップS22)、そうでない場合には、減算処理をスキップする。CPU201は、処理対象のタイマ[i]を、タイマ[1]〜タイマ[n]に順次、切り換えながら全タイマについて終了するまで(ステップS23)、繰り返し実行する。タイマ更新処理を実行することによって、タイマテーブルTWに格納されたタイマ[1]〜タイマ[n]の値は、2msec周期で、値0になるまで順次、減算させることとなる。メイン処理ルーチンの各モジュールは、タイマテーブルTWの値が0になっているか否かを監視することで、指定した時間が経過したか否かを判断することができる。
【0115】
本実施例では、このようにタイマテーブルの値をメイン処理ルーチンの各モジュールが必要に応じてポーリングするという構成を採用した。時間の監視は、かかる方法に限定されるものではなく、タイマ更新処理において、タイマテーブルのタイマ[1]〜タイマ[n]のいずれかの値が0となった時に、そのタイマに対応するモジュールに時間経過を知らせる通知を発する構成を採用してもよい。
【0116】
D2.イベント処理:
図10はイベント処理のフローチャートである。イベントモジュール230が実行する処理であり、メイン処理ルーチンのステップS30に相当する処理である。
【0117】
この処理では、CPU201は、まず主基板コマンドを読み込み(ステップS41)、その内容を解析する(ステップS42)。そして、主基板コマンドに応じてシステムイベントを作成する(ステップS43)。つまり、図5に示したワーク231に対し、各イベント情報を設定することでスロットマシン10がどのような状態にあるかを表すとともに、その結果に応じて、効果音停止レイヤ等を設定して、演出表示以外の種々の動作を設定する。
【0118】
CPU201は、優先度の高いイベントから順に、この処理を実行し、途中で「ON→OFF」、または「OFF←ON」に切り換えられるイベントが生じた場合には、以後のイベントについての処理をスキップする(ステップS44)。切り換えられるイベントがない場合には、全イベントについて上述の処理を実行する(ステップS45)。
【0119】
これらの処理が終了すると、CPU201は、演出番号の設定(ステップS46)、液晶コマンド設定(ステップS47)、サウンドパターン起動(ステップS48)、ランプレイヤ起動(ステップS49)を順次実行する。
演出番号の設定(ステップS46)とは、先に図5で説明した通り、例えば、始動レバー15の操作、停止ボタン16の操作、リールの停止状態、およびシステムイベント情報などに応じて、演出番号を特定する処理である。
液晶コマンド設定(ステップS47)とは、ノイズなどの影響で演出表示に支障が生じた場合の対策として、画面設定等に関する画面設定コマンドをVDP204に出力する処理である。
サウンドパターン起動(ステップS48)およびランプレイヤ起動(ステップS49)とは、遊技中に行われる基本的な操作に連動した音声出力やランプ表示を行わせるための音声動作番号、ランプ動作番号の出力を行う。出力される音声としては、例えば、「メダル投入音」、「ウェイト音」、「回胴回転開始音」、「リール停止音」、「払い出し音」などが挙げられる。ランプ表示としては、ベット時、レバーON時、リール停止時の表示などが挙げられる。
【0120】
D3.演出データ処理:
図11は演出データ処理のフローチャートである。演出モジュール240が実行する処理であり、メイン処理ルーチンのステップS40に相当する処理である。
【0121】
CPU201は、演出番号を読み込み(ステップS41)、演出番号が正常か否かを判断する(ステップS42)。ノイズ等の影響で、正常でない演出番号が指定されている場合には(ステップS42)、CPU201は、演出データ処理を終了する。この際、読み込んだ演出番号は破棄される。
【0122】
演出番号が正常な場合には(ステップS42)、CPU201は、演出管理テーブル(図6参照)を参照し(ステップS43)、演出番号に対応した演出管理ポインタ値を得る。この演出管理ポインタ値が異常の場合には(ステップS44)、CPU201は、スケジューラを停止して(ステップS46)、処理を終了する。
【0123】
演出管理ポインタ値が正常の場合には(ステップS44)、そのポインタで指定された演出データを読み込み、そこに規定されたファンクションを実行する(ステップS45)。演出データの構造およびファンクションの種類は、図6で説明した通りである。この処理によって、遊技状態に応じた演出を実現するための液晶コマンド、音声動作番号、ランプ動作番号が設定され、ワーク231(図5参照)に格納される。CPU201は、条件分岐、タイムウェイトなどの処理によって演出データの処理の中断が指示される場合、または演出終了が指示されるまで、この処理を継続する(ステップS47)。
【0124】
以上の処理を終了すると、図9に示した通り、演出データに従って指定された音声動作番号、ランプ動作番号は、次に示すサウンド処理、ランプ処理に受け渡される。また液晶コマンドはメイン処理ルーチンにおいて、VDP204に出力される(図9のステップS70)。
【0125】
D4.サウンド処理:
図12はサウンド処理のフローチャートである。サウンドモジュール250が実行する処理であり、メイン処理ルーチンのステップS50に相当する処理である。
【0126】
CPU201は、複数のスケジューラ252に対して、処理対象となるスケジューラを順次切り換えながら、ステップS51〜S54の処理を実行する。まず、CPU201は、処理対象となる音声動作番号に応じて、スケジューラの起動中、または新たに起動が必要か否かを判断する(ステップS51)。スケジューラが起動中でなく、新たに起動する必要もない場合には、処理対象を次のスケジューラに切り換えて順次処理を行う。起動の要否は、演出データ処理(図11)で設定されたワーク231を参照することで判断できる。また、スケジューラが既に起動中か否かは、サウンドスケジューラ252が使用するワーク252W(図7参照)の動作状態を参照することによって判断できる。
【0127】
スケジューラ252が起動中または新規起動と判断された場合には(ステップS51)、スケジューラ252に対応づけられたワーク252Wを参照し、タイマ値が0となっているか否かを判断する(ステップS52)。タイマ値が0でない場合には、処理の待ち時間中であることを意味するため、CPU201は、そのスケジューラ252に対しては、何も処理を行うことなく、処理対象を次のスケジューラに切り換える。
【0128】
タイマ値が0の場合には、スケジューラが次のファンクションを実行すべきタイミングにあることを意味する。従って、CPU201は、スケジューラの更新(ステップS53)、即ちスケジューラポインタを一つ進める処理を行う。そして、新たなポインタで指定されたスケジュールデータを読み込み、そのファンクションに従った処理を実行する。この処理において、先に図7で説明した通り、フレーズ再生が指定されていると、音源コマンドとして、フレーズデータ255Fに従った曲番号が出力され、音源IC205が音声を再生する。CPU201は、以上の処理を全スケジューラについて順次、実行する(ステップS54)。
【0129】
次に、CPU201は、起動中のスケジューラのうち、最優先のスケジューラを選択する(ステップS55)。図の右側に本実施例におけるサウンドレイヤ構造254を示した。先に図4で説明した通り、本実施例では#1〜#8までの8つのサウンドレイヤを有している。下に行くほど優先度が高いレイヤとなっている。仮に、図中に○をつけたレイヤ#1,#2、#5が起動中であるものとする。この時、ステップS55の処理では、起動中のレイヤのうち、最も優先度が高いレイヤ#5が選択されることになる。
【0130】
CPU201は、こうして選択したレイヤについて他のスケジューラの発音が禁止されているか否かを判断する(ステップS56)。禁止されている場合には、CPU201は、他のスケジューラのボリュームをオフとし(ステップS57)、許可されている場合には、全スケジューラのボリュームはフレーズデータ255Fで指定されたボリューム値としておく(ステップS58)。
【0131】
図の例では、レイヤ#5は、他のレイヤの発音が禁止されている。従って、レイヤ#1、#2の出力ボリュームは0とされる。このボリューム調整は、フレーズデータ255Fで指定されたチャンネルに対応するチャンネル管理用ワーク253(図4参照)の出力ボリュームを0とすることによって実現できる。レイヤ#1、#2は出力ボリュームが0とされたものの、動作を停止された訳ではないため、そのまま音声出力は継続して行われる。従って、出力ボリュームを復帰させさえすれば、従前の出力の続きを違和感なく出力させることが可能となる。
【0132】
本実施例では、最優先のレイヤの禁止/許可のみを参照して、他のレイヤの音声出力の可否を制御しているが、複数のレイヤの禁止/許可を参照するものとしてもよい。例えば、最優先のレイヤと2番目のレイヤを参照し、いずれか一方が禁止の時は他のレイヤを消音するという制御を行っても良い。こうすることで、優先度の高いレイヤが「許可」、2番目のレイヤが「禁止」となっている場合でも、3番目以降のレイヤを消音することが可能となる。図12中に示したレイヤ構造では、優先度の低いレイヤ#1〜#4は許可、優先度の高いレイヤ#5〜#8は禁止というように、一定以上の優先度のレイヤは一律「禁止」と設定されているが、複数のレイヤの禁止/許可を参照することにより、各レイヤの禁止/許可が柔軟に設定可能となる。例えば、必ず出力させておくことが好ましいが、他のレイヤの発音を禁止するほどの情報ではない音声がある場合には、最優先のレイヤに設定しつつ、「許可」と設定しておけばよい。
【0133】
以上の処理によって、複数のスケジューラを並行して使用しながら音声出力を行うことができる。また、優先度および禁止/許可の設定によって、他のレイヤを再生し続けたまま、一部のレイヤの音声のみを出力することができる。複数のスケジューラを起動することによって、例えば、BGMを再生しながら、始動レバーの操作等の効果音を一時的にBGMにミキシングして流すなど、多様な演出を容易に実現することが可能となる。
【0134】
D5.ランプ処理:
図13はランプ処理のフローチャートである。ランプモジュール260が実行する処理であり、メイン処理ルーチンのステップS60に相当する処理である。
【0135】
CPU201は、サウンド処理(図12)と同様、スケジューラの起動(ステップS61)、タイマ値の判定(ステップS62)を行う。スケジューラが起動中または新規起動の状態にあり、タイマ値が0の場合には、CPU201はスケジューラを更新し(ステップS63)、新たなランプポインタ(図8のワーク262W)で指定されたスケジュールデータのファンクションを実行する。この処理において、階調パターン設定(図8)が設定されている時には、指定された階調パターンデータ266に基づいて階調パターンがランプ30に出力される。CPU201は、以上の処理を、各レイヤに含まれる全スケジューラ、即ちランプスケジューラおよび階調データスケジューラについて実行し(ステップS64)、更に、全レイヤについて実行する(ステップS65)。
【0136】
次にCPU201は、起動中のスケジューラのうち、最優先のスケジューラを選択する(ステップS66)。図の右側に本実施例におけるランプレイヤ構造264を示した。先に図8で説明した通り、本実施例では#1〜#6までの6つのサウンドレイヤを有している。下に行くほど優先度が高いレイヤとなっている。仮に、図中に○をつけたレイヤ#1,#2、#5が起動中であるものとする。この時、ステップS66の処理では、起動中のレイヤのうち、最も優先度が高いレイヤ#5が選択されることになる。
【0137】
CPU201は、こうして選択したレイヤについてのみランプデータを出力する(ステップS67)。他のレイヤについては、スケジューラは階調データを再生しているが、ランプに送信されることなく出力が遮断されることになる。他のレイヤのスケジューラは処理を停止している訳ではないため、最優先のレイヤの処理が停止すれば、次に優先度の高いレイヤの階調データが従前の続きとして違和感なく出力される。
【0138】
最優先のレイヤのみを出力するのは、ランプについては、複数のレイヤを重畳させると、概して規則性のない違和感のある点灯パターンとなりやすいからである。ランプの階調データ次第では、最優先のレイヤ以外のレイヤも併せて出力可能としてもよい。また、優先度に応じて、階調データに強弱をつけて重畳してもよい。このように重畳した出力を許容する場合には、音声出力の場合と同様、レイヤごとに重畳の禁止、許可を設定してもよい。
【0139】
E.効果:
以上で説明した本実施例のスロットマシン10によれば、サブ制御基板200での演出制御において、多様な演出を比較的容易に実現できる利点がある。
まず、音声、ランプのそれぞれについて、複数のスケジューラを並行して用いることによって、音声、ランプのそれぞれで多種多様な演出効果を実現することが可能となる。
また、LCD、音声、ランプを統合制御する演出データと、音声、ランプのそれぞれの出力を制御するためのスケジュールデータとを階層的に用いるため、音声、ランプで実現される種々の演出の組合せによって、さらに多種多様な演出を容易に実現することが可能となる。
【0140】
F.第2実施例:
F1.遊技機の構成:
図14は第2実施例としてのパチンコ機に用いられる遊技盤70の正面図である。遊技盤70は、パチンコ機の外枠(図示せず)に取り付けられており、中央に遊技領域71を備えている。遊技者は、図示しないハンドルを操作して遊技領域71内に遊技球を打ち込み、入賞口に入賞させる遊技を行うことができる。
【0141】
本実施例のパチンコ機はいわゆる第二種と呼ばれるタイプに当たる。遊技盤70の中央には、機械的抽選、即ち遊技球の動きに基づいて大当りか否かを決める抽選方法を実行する可変入賞装置80が備えられている。可変入賞装置80の上部には、図示するように第1可動片81、第2可動片82がそれぞれ左右一対に備えられている。図の状態は、可変入賞装置80内に遊技球が入り込めるように第1可動片81、第2可動片82が開いた状態を示している。普段は、第1可動片81は矢印Bに示すようにスライドして開口部を塞ぐように閉じている。この時、第2可動片82は矢印Cに示すように内部に隠れている。
遊技球が遊技領域71の下部の始動入賞口72に入賞すると、図示するように第1可動片81、第2可動片82が開口状態となる。
【0142】
開口中に可変入賞装置80内に入り込んだ遊技球は、矢印Dに示すように、左右に円弧状に設けられた流路83内を、左右から中央に延びるアーム84上に向かって転がり落ちる。可変入賞装置80は、全体が矢印Aに示すように左右に揺動するため、遊技球はアーム84上で左右に不安定に転がった後、駆動装置85駆動装置85駆動装置85駆動装置85駆動装置85適当なタイミングで落下する。落下タイミングによっては、遊技球は、一般入賞口86に入り、V入賞口87に入る。アーム84および駆動装置85が、大当りか否かを決める振分機構として機能することになる。V入賞口87に入賞すると「大当り」となり、第1可動片81、第2可動片82が、所定のパターンで開閉を繰り返す「大当り遊技」が開始される。
【0143】
可変入賞装置80には、落下する遊技球と干渉しない程度に前面にシフトした位置に、UFOを形取った演出用の駆動装置85として設けられている。駆動装置85は、UFOの動きを模して、矢印Eに示すように前後左右方向に8の字を描くように曲線的に移動するとともに、矢印Fに示すようにロール運動する。遊技者は、駆動装置85が落下する遊技球に干渉するかのように感じて、ハラハラドキドキすると同時に、現実の物が移動することによって、表示やランプでは得られないリアルな演出効果を得ることができる。
【0144】
遊技領域71の中央には、LCD73が備えられており、遊技中に種々の演出画面(装飾図柄と呼ぶこともある)が表示される。始動入賞口への入賞時、大当りの発生時などにも、それぞれ遊技状態に応じた演出画面が表示される。LCD73は、遊技者から見て駆動装置85よりも奥に設置されている。駆動装置85は、LCD73の表示と連動させて駆動してもよい。
【0145】
F2.遊技機の制御:
パチンコ機の制御機構の構成は、スロットマシン10と同様である。先に図2で説明した通り、メイン制御基板100とサブ制御基板200によって遊技およびそのための演出が制御される。スロットマシン10では、表示の制御もサブ制御基板200で行っていたが、パチンコ機では、表示制御用の基板を別途設けてもよい。この場合には、図3で示した演出モジュール240における表示関連の機能、液晶コマンドバッファ212およびVDP204の機能を液晶表示制御用の基板で実現することになる。
【0146】
図15はパチンコ機の制御ソフトウェア構成を示す説明図である。スロットマシン10と同じモジュールには同一の符号を付したため、説明を省略する。本実施例のパチンコ機は、図14に示した駆動装置85の動作を制御するためのモジュールが追加されている点が、実施例(図3)と相違する。
【0147】
駆動装置85はランプ等と同様、出力ポートイメージワーク214を介して駆動装置モジュール270に接続されており、イベントモジュール230Aおよび駆動装置モジュール270によって制御される。駆動装置85を駆動するステッピングモータの動作が制御対象となる。具体的な制御項目は、次の通りである。
(1)移動量…ステッピングモータの回転ステップ角;
(2)移動時間…現在の位置から次の位置まで移動させるための時間;
(3)移動速度…モータの回転速度;
(4)励磁方法…1−1相励磁、1ー2相励磁、2−2相励磁の区別;
(5)台形駆動…回転開始、停止時にステップ関数的に速度を変化させるのではなく、所定の角加速度で回転速度を変化させる;
(6)回転方向…モータの回転方向;
(7)原点位置まで戻すための復帰動作の実行指示;
(8)メカエンド停止の指示;
ここでメカエンド停止とは、駆動装置85の可動範囲が機械的に制限されている時に、可動範囲の限界位置に付勢した状態で停止させることを意味する。
【0148】
駆動装置85の制御方法は、ランプ等と同様である。演出モジュール240Aは、コマンドを解析して駆動装置85の動作態様を決定し、動作態様を表す駆動装置動作番号を駆動装置モジュール270に出力する。駆動装置モジュール270は、駆動装置動作番号に応じたスケジュールデータを参照する。駆動装置85用のスケジュールデータには、上述した制御項目(1)〜(8)等を指定するためのファンクションおよびパラメータが用意されている。また、コール、条件分岐、演出抽選も同様に設けられている。
【0149】
駆動装置85についても、図4に示したように、複数のスケジューラが並行して稼働可能である。各スケジューラからステッピングモータへの信号出力は、図4に示したのと同じく、複数チャンネルの出力強さによって調整される。
【0150】
このようにランプ、サウンドと同様の制御機構を設けることにより、駆動装置85に多彩な動きを行わせることができる。
例えば、機械的に当たり/はずれを決める際に、遊技球に干渉するかのうように見える演出を行うために8の字状に移動させる他、当たり時には派手な飛行をしたり、はずれ時には墜落させたりというように、種々の演出効果を考慮した動きをさせてもよい。8の字状に移動させるスケジューラと、当たり時の演出動作を実現するスケジューラ、はずれ時の演出動作を実現するスケジューラを並行して稼働しつつ、抽選結果に応じてそれぞれの出力を調整すればよい。駆動装置85の演出動作と、表示、ランプ、サウンドを連動させるよう演出データを規定しておいてもよい。こうすることで、統一感のある演出を実現することができる。
【0151】
第2実施例においても、表示、サウンド、ランプ、駆動装置85を対象とした演出抽選を行うことができる。演出抽選は、実施例と同様、乱数に基づいて演出データのコールファンクションを使い分けることによって行うことも可能である(図6参照)。これに対し、本実施例では、演出データではなく、スケジュールデータで演出抽選を行う方法を採った。
【0152】
スケジュールデータでの演出抽選は、演出データと同様の方法によって実現可能である。つまり、スケジュールデータ内で、条件分岐とコールファンクションを用い、演出抽選用の乱数に応じて、異なるスケジュールデータをコールするように規定しておけばよい。
この方法では、表示、サウンド、ランプ、駆動装置85が独立して演出抽選を行う結果、その組み合わせによって実現される演出態様は非常に多彩となり、より興趣を高めることができる利点がある。
ただし、表示、サウンド、ランプ、駆動装置85の演出抽選の結果に関わらず、違和感のない演出を実現するためには、これらの演出が同時に終了することが好ましい。従って、本実施例では、演出抽選の選択対象となるスケジュールデータは、同一時間で演出が終了する内容となっている。もっとも、同一時間で演出が終了することは必須の要件ではなく、これらの演出時間がまちまちとなっていても構わない。
【0153】
スケジュールデータでの演出抽選には、演出内容が多彩になる他、表示、サウンド、ランプ、駆動装置85の出力状況に応じて抽選態様を切り換えることができる利点もある。
例えば、演出抽選が指示された時点で、駆動装置85が8の字状の振り分け動作を実行中であり、他の動作が制限されている時には、駆動装置モジュール270は駆動装置85に関する演出抽選を禁止してもよい。
同様に、表示、サウンド、ランプについても、演出抽選が指示された時の状況に応じて、演出抽選を禁止してもよい。また、演出抽選禁止において、一部のスケジュールデータを選択禁止とすることにより、演出抽選を一部禁止としてもよい。
【0154】
以上で説明した第2実施例の遊技機においても、第1実施例と同様、多彩な演出を実現することができる。また駆動装置85に対しても同様の制御方法を採用することにより、駆動装置85を演出装置の一種として扱うことができ、その動作によって、より興趣に富んだ演出を実現することが可能となる。
【0155】
G.変形例:
以上の実施例では、LCDについては、サブ制御基板200が液晶コマンドを出力する構成をとっているが、液晶コマンドについても、サウンドモジュール等と同じく、スケジューラデータを処理するモジュールを設けても良い。また、演出の制御は3階層以上のデータ構造で実現してもよい。例えば、実施例において、ランプスケジューラ262(図8参照)が起動する際に、階調スケジューラ263を用いて階調データを出力している。階調スケジューラ263は、ランプスケジューラ262が使用しているスケジュールデータ265とは異なる階調パターンデータ266を参照して稼働するモジュールである。この意味で、ランプについては、演出データ、スケジュールデータ、階調パターンデータの3階層で制御されているとも言える。このように、演出の制御は3階層、またはそれ以上の階層構造のデータで制御してもよい。
【0156】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
(1) 本実施例では、ソフトウェアで実現している処理の一部または全部をハードウェアによって実現してもよいし、その逆も可能である。
(2) 本実施例では、スロットマシン10への適用例を示したが、本発明はパチンコ機その他の遊技機への適用も可能である。また、第2実施例でパチンコ機に適用した構成をスロットマシン10に適用することも可能である。
【符号の説明】
【0157】
10…スロットマシン
11…透明カバー
15…始動レバー
16…停止ボタン
18…電源ユニット
19…ホッパ装置
21…液晶パネル(LCD)
22…リール
30…ランプ
40…スピーカ
50…メダル満タンセンサ
51…エラー解除センサ
52…扉開放センサ
70…遊技盤
71…遊技領域
72…始動入賞口
80…可変入賞装置
81…第1可動片
82…第2可動片
83…流路
84…アーム
85…駆動装置
86…一般入賞口
100…メイン制御基板
101…CPU
102…ROM
103…RAM
200…サブ制御基板
201…CPU
202…ROM
203…RAM
204…VDP
205…音源IC
206…アンプ
206a…増幅回路
206v…ボリューム
210…システムモジュール
211…主基板コマンドバッファ
212…液晶コマンドバッファ
213、214…出力ポートイメージワーク
220…コマンド解析モジュール
230、230A…イベントモジュール
231…ワーク
232…動作番号テーブル
233…レイヤ情報テーブル
240、240A…演出モジュール
241…演出データ
250…サウンドモジュール
251…サウンドモジュールメイン
252…スケジューラ
252…サウンドスケジューラ
252W…ワーク
253…チャンネル管理用ワーク
254…サウンドレイヤ構造
255…スケジュールデータ
255F…フレーズデータ
260…ランプモジュール
262W…ワーク
262…ランプスケジューラ
263…階調スケジューラ
264…ランプレイヤ構造
265…スケジュールデータ
266…階調パターンデータ
270…駆動装置モジュール

【特許請求の範囲】
【請求項1】
所定の遊技媒体を用いて遊技を行う遊技機であって、
遊技中に、遊技者に示される視聴覚的な演出に用いられる複数種類の演出装置と、
所定の条件下で、前記遊技媒体を遊技者に払い出すための払出装置と、
前記遊技の進行を統合制御する主制御装置と、
前記主制御装置から出力されるコマンドに基づき、前記遊技の遊技状態に応じて前記複数種類の演出装置を制御する演出制御装置と、
前記主制御装置と前記演出制御装置とを接続し、該主制御装置から前記演出制御装置への単方向で信号伝達を行う単方向信号線とを有し、

前記主制御装置は、
前記遊技中に、前記遊技媒体の払い出しに関わる所定の条件の成否を判定する判定部と、前記判定結果を含む遊技状態に基づいて、前記演出装置で実行されるべき演出内容を指示する主基板コマンドを前記演出制御装置に出力するコマンド出力部とを有し、

前記演出制御装置は、
前記主制御装置から前記主基板コマンドを入力する入力部と、
各演出装置の種類に応じた視聴覚的な演出内容の制御を行うための複数の処理のうち、前記演出装置への出力を伴わないものも含めて前記演出装置のいずれの処理をどのような態様で実行するべきかを指示するファンクションおよび前記ファンクションの処理に必要な情報を規定するためのパラメータが、実行すべき順序で複数格納された演出内容設定データを、前記各演出装置に対して複数記憶する演出内容設定データ記憶部と、

前記主基板コマンドに基づいて特定される前記遊技状態に応じて、前記演出内容設定データ記憶部に記憶された演出内容設定データのいずれかを選択し、選択した演出内容設定データのファンクションおよび該ファンクションに対して設定されているパラメータに基づいて前記各演出装置を制御するために、前記各演出装置に対して複数用意された演出制御実行部とを備え、

前記各演出装置に対応付けられた前記複数の演出制御実行部は、相互に独立して稼動可能であり、

前記ファンクションには、
前記演出内容設定データ内に格納されたファンクションの順序に拘束されず、前記実行すべき順序で格納された一連のファンクションとは異なるアドレスに格納されたファンクションの実行を指示するためのコールファンクションを含むことができ、

前記演出制御実行部は、
前記演出内容設定データに含まれる前記ファンクションを順次読み込み、読み込んだファンクションおよび該ファンクションに対して設定されているパラメータによって指定された処理を実行するとともに、前記コールファンクションの実行時には、一旦、該コールファンクションのパラメータにより指定されたアドレスに格納されたファンクションを順次実行した後に、前記コールファンクション以降の処理を継続して実行する、
ことを特徴とする遊技機。
【請求項2】
所定の遊技媒体を用いて遊技を行う遊技機であって、
遊技中に、遊技者に示される視聴覚的な演出に用いられる複数種類の演出装置と、
所定の条件下で、前記遊技媒体を遊技者に払い出すための払出装置と、
前記遊技の進行を統合制御する主制御装置と、
前記主制御装置から出力されるコマンドに基づき、前記遊技の遊技状態に応じて前記複数種類の演出装置を制御する演出制御装置と、
前記主制御装置と前記演出制御装置とを接続し、該主制御装置から前記演出制御装置への単方向で信号伝達を行う単方向信号線とを有し、

前記主制御装置は、
前記遊技中に、前記遊技媒体の払い出しに関わる所定の条件の成否を判定する判定部と、前記判定結果を含む遊技状態に基づいて、前記演出装置で実行されるべき演出内容を指示する主基板コマンドを前記演出制御装置に出力するコマンド出力部とを有し、

前記演出制御装置は、
前記主制御装置から前記主基板コマンドを入力する入力部と、
前記各演出装置の種類に応じた視聴覚的な演出内容の制御を行うための複数の処理のうち、前記演出装置への出力を伴わないものも含めて前記演出装置のいずれの処理をどのような態様で実行するべきかを指示するファンクションおよび前記ファンクションの処理に必要な情報を規定するためのパラメータが、実行すべき順序で複数格納された演出内容設定データを、前記各演出装置に対して複数記憶する演出内容設定データ記憶部と、

前記主基板コマンドに基づいて特定される前記遊技状態に応じて、前記演出内容設定データ記憶部に記憶された演出内容設定データのいずれかを選択し、選択した演出内容設定データのファンクションおよび該ファンクションに対して設定されているパラメータに基づいて前記各演出装置を制御するために、前記各演出装置に対して複数用意された演出制御実行部と、を備え、

前記各演出装置に対応付けられた前記複数の演出制御実行部は、
定期的に実行される定期処理において順に処理が実行され、前記各演出装置による制御は、相互に独立して稼動可能であり、

前記ファンクションには、
前記演出内容設定データ内に格納されたファンクションの順序に拘束されず、前記実行すべき順序で格納された一連のファンクションとは異なるアドレスに格納されたファンクションの実行を指示するためのコールファンクションを含むことができ、

前記演出制御実行部は、
前記演出内容設定データに含まれる前記ファンクションを順次読み込み、読み込んだファンクションおよび該ファンクションに対して設定されているパラメータによって指定された処理を実行するとともに、前記コールファンクションの実行時には、一旦、該コールファンクションのパラメータにより指定されたアドレスに格納されたファンクションを順次実行した後に、前記コールファンクション以降の処理を継続して実行する、
ことを特徴とする遊技機。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−107010(P2013−107010A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2013−50823(P2013−50823)
【出願日】平成25年3月13日(2013.3.13)
【分割の表示】特願2008−173941(P2008−173941)の分割
【原出願日】平成19年9月7日(2007.9.7)
【出願人】(000148922)株式会社大一商会 (3,262)
【Fターム(参考)】