[スロットマシン1の構成]
本実施形態のスロットマシン1について説明する。先ず、図1〜図4を参照して、スロットマシン1の構造や機能構成例について説明する。図1は、本実施形態に係る遊技機を適用したスロットマシン1の正面図である。図2は、スロットマシン1の内部構造を示す図である。図3は、リール2L、2C、2Rの図柄配列を示す図である。スロットマシン1は、図1及び図2に示すように、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
スロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール2L、中リール2C、右リール2R)が水平方向に並設されており、図1に示すように、これら左リール2L、中リール2C、右リール2Rに配列された図柄のうち、連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
左リール2L、中リール2C、右リール2Rの外周部には、図3に示すように、それぞれ「黒7」、「網7(網掛け7)」、「白7」、「BAR」、「リプレイ」、「スイカ」、「チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、リール2L、2C、2R毎に、それぞれ21個ずつ描かれている。左リール2L、中リール2C、右リール2Rの外周部に描かれた図柄は、透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられたリールモータ32L、32C、32R(図2、図4参照)によって回転させられる。これにより、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示される。また、リールモータ32L、32C、32Rによって、各リール2L、2C、2Rの回転が停止させられることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
各リール2L、2C、2Rの内側には、それぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、各リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。リールLED55は、左リール2L、中リール2C、右リール2Rの連続する3つの図柄に対応する12個のLEDからなり、各図柄をそれぞれ独立して照射可能となるように構成されている。
前面扉1bにおける各リール2L、2C、2Rに対応する位置には、リール2L、2C、2Rを前面側から透視可能とする横長長方形状の透視窓3が設けられており、該透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。
前面扉1bには、メダル(遊技用価値)を投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数(本実施形態では、何れの遊技状態においても3枚)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、各リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、演出に用いるための演出用スイッチ56(CHANCEボタン)が遊技者により操作可能にそれぞれ設けられている。
また、前面扉1bには、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、賭数が1に設定されている旨を点灯により報知する1BETLED14、賭数が2に設定されている旨を点灯により報知する2BETLED15、賭数が3に設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図4参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、対応するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図4参照)がそれぞれ設けられている。
前面扉1bの内側には、所定のキー操作により後述するエラー及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、後述のBB終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、後述のBB終了時に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1a内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側の何れか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31を有するメダルセレクタ(図示せず)、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図4参照)が設けられている。
筐体1a内部には、上述した左リール2L、中リール2C、右リール2R、リールモータ32L、32C、32R、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図4参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34cからなるホッパーユニット34、電源ボックス100が設けられている。
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ35aが設けられており、導電部材がオーバーフロータンク35内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわち、オーバーフロータンクが満タン状態となったことを検出できるようになっている。
電源ボックス100の前面には、設定変更状態又は設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をON/OFFする際に操作される電源スイッチ39が設けられている。
このような構成のスロットマシン1においてゲームを行う場合には、遊技者は、先ず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するには、MAXBETスイッチ6を操作すればよい。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインL1〜L5(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施形態では、規定数の賭数として、遊技状態に関わらず3枚が定められており、規定数の賭数が設定されると入賞ラインL1〜L5が有効となる。なお、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施形態では、図4に示すように、各リール2L、2C、2Rの中段に並んだ図柄に跨って設定された入賞ラインL1、各リール2L、2C、2Rの上段に並んだ図柄に跨って設定された入賞ラインL2、各リール2L、2C、2Rの下段に並んだ図柄に跨って設定された入賞ラインL3、左リール2Lの上段、中リール2Cの中段、右リール2Rの下段、すなわち、右下がりに並んだ図柄に跨って設定された入賞ラインL4、左リール2Lの下段、中リール2Cの中段、右リール2Rの上段、すなわち、右上がりに並んだ図柄に跨って設定された入賞ラインL5の5種類が入賞ラインとして定められている。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態で何れかのストップスイッチ8L、8C、8Rを操作すると、対応する左リール2L、中リール2C、右リール2Rの回転が停止し、透視窓3に表示結果が導出表示される。
そして全てのリール(左リール2L、中リール2C及び右リール2R)が停止されることで1ゲームが終了し、有効となっている入賞ライン(有効入賞ライン)上に予め定められた図柄の組合せ(以下、役とも呼ぶ)が各リール2L、2C、2Rの表示結果として停止した場合には、入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施形態では50)に達した場合には、メダルが直接、メダル払出口9(図4参照)から払い出されるようになっている。なお、複数の有効入賞ライン上にメダルの払出を伴う図柄の組合せが揃った場合には、有効入賞ラインに揃った図柄の組合せそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与されることとなる。ただし、1ゲームで付与されるメダルの払出枚数には、上限(本実施形態では15枚)が定められており、合計した払出枚数が上限を超える場合には、上限枚数のメダルが付与されることとなる。また、有効入賞ライン上に、遊技状態の移行を伴う図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
図4は、スロットマシン1の機能構成例を示すブロック図である。スロットマシン1には、図4に示すように、遊技制御基板40と、演出制御基板90と、電源基板101と、が設けられている。遊技制御基板40によって、遊技状態が制御され、演出制御基板90によって、遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各電気部品に供給される。
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40および遊技制御基板40を介して接続された演出制御基板90に供給されるようになっている。また、メイン制御部41からサブ制御部91へのコマンド伝送ラインと、遊技制御基板40から演出制御基板90に対して電源を供給する電源供給ラインとが一系統のケーブルおよびコネクタを介して接続されており、これらケーブルと各基板とを接続するコネクタ同士が全て接続されることで演出制御基板90側の各部が動作可能となり、かつメイン制御部41からのコマンドを受信可能な状態となる。このため、メイン制御部41からコマンドを伝送するコマンド伝送ラインが演出制御基板90に接続されている状態でなければ、演出制御基板90側に電源が供給されず、演出制御基板90側のみが動作してしまうことがない。
また、電源基板101には、上述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、上述したMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L,8C,8R、精算スイッチ10、リセットスイッチ23、打止スイッチ36a、自動精算スイッチ36b、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L,33C,33Rが接続されていると共に、電源基板101を介して上述した払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
また、遊技制御基板40には、上述したクレジット表示器11、遊技補助表示器12、遊技用表示部13、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左,中,右停止有効LED22L,22C,22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L,32C,32Rが接続されていると共に、電源基板101を介して上述したホッパーモータ34bが接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
遊技制御基板40は、メイン制御部41と、乱数発生回路42と、サンプリング回路43と、スイッチ検出回路44と、モータ駆動回路45と、ソレノイド駆動回路46と、LED駆動回路47と、電断検出回路48と、リセット回路49と、RTC(リアルタイムクロック)50を備える。
メイン制御部41は、メインCPU41a、RAM41b、ROM41c、I/O41dを備えたマイクロコンピュータからなり、遊技の制御を行う。乱数発生回路42は、パルスを発生するたびにカウントアップして値を更新するカウンタによって構成されている。サンプリング回路43は、乱数発生回路42がカウントしている数値を取得し、取得した数値をメイン制御部41に出力する。乱数発生回路42では、遊技の進行に使用される乱数の種類毎に設定され、乱数の種類毎にカウントする数値の範囲が定められている。サンプリング回路43は、メインCPU41aの命令に従って、乱数発生回路42が示している数値を乱数として取得する。
乱数を取得する構成は上述の構成に限られず任意である。例えば、メインCPU41aは、サンプリング回路43から取得した数値を基に異なるランダムカウンタを用いて、ソフトウェア処理によって各種数値を加工または更新してもよい。なお、本実施形態においては、上述の乱数値の範囲は、16ビットの範囲、すなわち、0〜65535の範囲の値とする。
スイッチ検出回路44は、遊技制御基板40に直接又は電源基板101を介して接続されたスイッチ類から入力された検出信号を検出する。モータ駆動回路45は、リールモータ32L、32C、32Rの駆動制御を行う。ソレノイド駆動回路46は、流路切替ソレノイド30の駆動制御を行う。LED駆動回路47は、遊技制御基板40に接続された各種表示器やLEDの駆動制御を行う。電断検出回路48は、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する。リセット回路49は、電源投入時又はメインCPU41aからの初期化命令が入力されないときにメインCPU41aにリセット信号を送出する。
RTC50は、現在の「年(西暦)」、「月」、「日」、「曜日」、「時」、「分」、「秒」を示すために計時を行う装置である。例えば、水晶発振子を内蔵したシリアルインタフェース方式のリアルタイムクロックモジュールとして実現されるが、これに限るものではない。RTC50は、通常、スロットマシン1に電源が供給されているときには当該電源によって動作し、電源が切られているときには、停電時においても供給されるバックアップ電源によって動作する。従って、RTC50は、スロットマシンの電源が切られている場合であっても現在の日時を計時することができる。なお、RTC50は、スロットマシンに電源が供給されているときであってもバックアップ電源によって動作するようにしてもよい。
メインCPU41aは、計時機能、タイマ割込等の割込機能(割込禁止機能を含む)を備え、ROM41cに記憶されたプログラム(後述)を実行して、遊技の進行に関する処理を行うと共に、遊技制御基板40に搭載された制御回路の各部を直接的又は間接的に制御する。RAM41bは、メインCPU41aがプログラムを実行する際のワーク領域等として使用される。ROM41cは、メインCPU41aが実行するプログラムや各種テーブル等の固定的なデータを記憶する。I/O41dは、メイン制御部41が備える信号入出力端子を介して接続された各回路との間で制御信号を入出力する。
また、メイン制御部41には、停電時においてもバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM41bに記憶されているデータが保持されるようになっている。
メインCPU41aは、基本処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メインCPU41aは、上述のように割込機能を備えており、割込の発生により基本処理に割り込んで割込処理を実行できるようになっており、電断検出回路48から出力された電圧低下信号の入力に応じて電断割込処理(メイン)を実行し、一定時間間隔(本実施形態では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。なお、タイマ割込処理(メイン)の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
メインCPU41aは、I/O41dを介して演出制御基板90に、各種のコマンドを送信する。遊技制御基板40から演出制御基板90へ送信されるコマンドは一方向のみで送られ、演出制御基板90から遊技制御基板40へ向けてコマンドが送られることはない。
演出制御基板90には、演出用スイッチ56(本実施形態では、その外面に“CHANCEボタン”と表記される。)が接続されており、この演出用スイッチ56の検出信号が入力されるようになっている。
また、演出制御基板90には、スロットマシン1の前面扉1bに配置された液晶表示器51(図1参照)、演出効果LED52、スピーカ53,54、上述したリールLED55等の演出装置が接続されており、これら演出装置は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。
なお、本実施形態では、演出制御基板90に搭載されたサブ制御部91により、液晶表示器51、演出効果LED52、スピーカ53,54、リールLED55等の演出装置の出力制御が行われる構成であるが、サブ制御部91とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板90又は他の基板に搭載し、サブ制御部91がメイン制御部41からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部91が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としてもよく、このような構成では、サブ制御部91及び出力制御部の双方によって演出装置の出力制御が行われることとなる。
また、本実施形態では、演出装置として液晶表示器51、演出効果LED52、スピーカ53,54、リールLED55を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用してもよい。
演出制御基板90は、サブ制御部91と、表示制御回路92と、LED駆動回路93と、音声出力回路94と、リセット回路95と、スイッチ検出回路96と、RTC97と、電断検出回路98と、を備える。
サブ制御部91は、メイン制御部41と同様に、サブCPU91a、RAM91b、ROM91c、I/O91dを備えたマイクロコンピュータにて構成され、演出の制御を行う。表示制御回路92は、演出制御基板90に接続された液晶表示器51の表示制御を行う。LED駆動回路93は、演出効果LED52、リールLED55の駆動制御を行う。音声出力回路94は、スピーカ53、54からの音声出力制御を行う。リセット回路95は、電源投入時又はサブCPU91aからの初期化命令が一定時間入力されないときに、サブCPU91aにリセット信号を送出する。スイッチ検出回路96は、演出制御基板90に接続された演出用スイッチ56から入力された検出信号を検出する。RTC97は、RTC50と同様の機能を有する装置である。電断検出回路98は、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する。
サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うと共に、演出制御基板90に搭載された制御回路の各部を直接的又は間接的に制御する。サブCPU91aは、メインCPU41aと同様に、割込機能(割込禁止機能を含む)を備える。サブ制御部91の割込端子の1つは、コマンド伝送ラインのうち、メイン制御部41がコマンドを送信する際に出力するストローブ(INT)信号線に接続されており、サブCPU91aは、ストローブ信号の入力に基づいて割込を発生させて、メイン制御部41からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブCPU91aは、クロック入力数が一定数に到達する毎、すなわち、一定間隔毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、サブ制御部91の割込端子の1つは、電断検出回路98と接続されており、サブCPU91aは、電断検出回路98から出力された電圧低下信号の入力に応じて電断割込処理(サブ)を実行する。また、サブCPU91aにおいても未使用の割込が発生した場合には、元の処理に即時復帰させる未使用割込処理を実行するようになっている。
また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91bに記憶されているデータが保持されるようになっている。
[記憶手段の判断処理]
さらに、サブCPU91aでは、電源投入時にROM91cに正規の情報(例えば、プログラム、設定値、データなど)が記憶されており、ROM91cに対して不正行為(例えば、不正なプログラムが書き込まれたROMに差替える行為など)が行われていないことを判定するための判定処理が行われている。この判定処理では、特にROM91cのプログラム領域に適用されるが、もちろんROM91cに記憶されている画像データ、音声データや設定データなどの領域に対しても適用できるため、以下の説明ではROM91c内の記憶領域を限定せずに説明する。
この判定処理では、ROM91cに記憶された情報から演算されたチェックサムの値が、正規の情報(例えば、遊技機メーカで記憶させたROMの情報)から演算されたチェックサムの値と一致しているか否かにより判定される。ここで、チェックサムとは、演算対象の記憶領域にある情報(例えば、16進数の数値など)を合計した値である。しかし、ROM91cの記憶領域すべてを対象にしてチェックサムの値を演算したのでは演算結果が毎回同じ値となるため、ROM91cに不正な情報を記憶させたうえでチェックサムの値が同じ値となるように調整することは容易である。そのため、ROM91cに記憶された情報から演算されたチェックサムの値が、正規の情報から演算されたチェックサムの値(つまり、正規のROMにおけるチェックサムの値)と一致しているか否かの判定だけでは、ROM91cに対して不正行為が行われていないことを判定することができない。
そこで、サブCPU91aは、RTC97の計時情報に基づいてチェックサムの値を演算する対象の記憶領域を変更している。具体的に、図5は、RTC97の計時情報に基づいてチェックサムの値を判定値として演算し、判定値を出力する処理を説明するための概略図である。なお、図5に示すRTC97の計時情報および判定値の値はすべて16進数で表示してある。まず、RTC97は、計時動作により「月」および「日」の情報をサブCPU91aに対し出力する。図5に示す左側の例では、サブCPU91aは、「4月1日」の日付情報に基づき、ROM91cの演算対象の記憶領域(ROM91cの左から4列目、上から4行目の領域)を特定している。一方、図5に示す右側の例では、サブCPU91aは、「4月2日」の日付情報に基づき、ROM91cの演算対象の記憶領域(ROM91cの右から1列目、上から3行目の領域)を特定している。
サブCPU91aは、ROM91cの演算対象の記憶領域(図5のROM91cにおいて四角で囲んだ領域)についてチェックサムの値を演算し、演算結果を判定値として出力する。図5に示す左側の例では、「4月1日」の判定値として「A012」を出力する。一方、図5に示す右側の例では、「4月2日」の判定値として「86C5」を出力する。ここで、サブCPU91aは、日付情報に基づいて特定されるROM91cの演算対象の記憶領域は予め設計書等で定められており、日付情報に対応して正規の情報から演算されたチェックサムの値については、予め遊技機メーカで把握してある。そのため、日付情報に基づく判定値を、予め遊技機メーカで把握している値と比較することでROM91cに対して不正行為が行われていないことを判定することができる。また、日付情報に基づいてROM91cの演算対象の記憶領域が変更されるので、チェックサムの演算結果が毎回異なる値となり、ROM91cに対して不正行為を行うことが困難となる。なお、予め遊技機メーカで把握してある、日付情報に対応して正規の情報から演算されたチェックサムの値は、スロットマシン1の納入時に遊技機メーカからホールに提供(例えば、電子データとして提供、またはデータブックとして紙媒体で提供するなど)しておくことでチェックサムの値の比較が可能となる。
日付情報に基づく判定値を、予め遊技機メーカで把握している値と比較する方法として、サブCPU91aは、判定値をスロットマシン1の表示装置(例えば、液晶表示器51など)で表示し、店員がその値を遊技機メーカから提供された表などと比較する方法がある。この場合、判定値をそのままスロットマシン1の表示装置で表示すると、チェックサムの演算結果が直接表示されることになり、ROM91cの演算対象の記憶領域が特定される虞がある。そこで、サブCPU91aは、ハッシュ関数などの不可逆関数を用いて判定値を演算し、その演算後の判定値をスロットマシン1の表示装置で表示する。これにより、演算後の判定値から、チェックサムの演算結果が直接分からないようにすることができる。
また、日付情報に基づく判定値を、予め遊技機メーカで把握している値と比較する別の方法として、サブCPU91aは、判定値を管理サーバに送信し、管理サーバで判定値が予め遊技機メーカで把握している値と一致するか否かを確認する方法がある。なお、管理サーバは、予め遊技機メーカで把握している値を記憶装置に記憶してある。管理サーバは、後述するように遊技機メーカ(スロットマシン1の提供者)が保持している管理サーバ1200であっても、スロットマシン1を設置したホールに設けられたホールサーバなどであってもよい。
さらに、日付情報に基づく判定値を、予め遊技機メーカで把握している値と比較する別の方法として、サブCPU91aは、判定値を二次元コードとして出力する方法がある。二次元コードに判定値を含めて出力した場合、二次元コード読み取り機能及びインターネット網への接続機能を備える携帯端末を介して判定値を読取り、遊技機メーカが保持している管理サーバ1200などで読取った判定値を確認することができる。特に、遊技者が、スロットマシン1に対して不正行為が行われていないか否かを確認する場合、液晶表示器51に表示するデモ画面(非遊技中の画面)からメニュー画面を表示して判定値を二次元コードとして出力し、携帯端末で二次元コードを読取り遊技機メーカが保持している管理サーバ1200で確認するだけの操作となり、容易に行うことができる。
(変形例)
前述のサブCPU91aでは、チェックサムの演算結果が毎回同じ値とならないために、RTC97の計時情報に基づいてチェックサムの値を演算する対象の記憶領域を変更している。しかし、チェックサムの演算結果が毎回同じ値とならないようにする構成は、チェックサムの値を演算する対象の記憶領域を変更する構成に限定されない。例えば、サブCPU91aは、チェックサムではなく、RTC97の計時情報に基づいて判定値の演算方法を変更してもよい。具体的に、図6は、RTC97の計時情報に基づいて判定値を演算し、判定値を出力する処理の変形例を説明するための概略図である。なお、図6に示すRTC97の計時情報および判定値の値はすべて16進数で表示してある。まず、RTC97は、計時動作により「月」および「日」の情報をサブCPU91aに対し出力する。図6に示す左側の例では、サブCPU91aは、「4月1日」の日付情報に基づき演算関数aを特定している。ここで、演算関数aとしては、例えばROM91cの記憶領域の奇数列に記憶された値を合計する関数とする。一方、図6に示す右側の例では、サブCPU91aは、「4月2日」の日付情報に基づき演算関数bを特定している。ここで、演算関数bとしては、例えばROM91cの記憶領域の偶数行に記憶された値を合計する関数とする。
サブCPU91aは、ROM91cの記憶領域(図6のROM91cのすべての領域)に対して日付情報で特定される演算関数を用いて判定値を演算し、出力する。図6に示す左側の例では、演算関数aを用いて判定値を演算し、「4月1日」の判定値として「B123」を出力する。一方、図6に示す右側の例では、演算関数bを用いて判定値を演算し、「4月2日」の判定値として「F586」を出力する。日付情報に基づく判定値を、予め遊技機メーカで把握している値と比較することでROM91cに対して不正行為が行われていないことを判定することは、前述した構成と同じであるため以降の処理については説明を省略する。このように、日付情報に基づいてROM91cの演算方法を変更することで、判定値の演算結果を毎回異なる値とすることができる。
さらに別の変形例として、サブCPU91aは、RTC97の計時情報に基づいて判定値の演算に用いる情報を変更してもよい。例えば、サブCPU91aは、「4月1日」の日付情報に基づき演算対象としてROM91cの記憶領域から読出した情報のうち上位4ビットと特定し、特定した演算対象の情報を合計して「4月1日」の判定値を出力する。また、サブCPU91aは、「4月2日」の日付情報に基づき演算対象としてROM91cの記憶領域から読出した情報のうち下位4ビットと特定し、特定した演算対象の情報を合計して「4月2日」の判定値を出力する。このように、日付情報に基づいて判定値の演算に用いる情報を変更することで、判定値の演算結果を毎回異なる値とすることができる。
なお、判定値の演算は、前述した日付情報に基づいて演算対象の記憶領域を変更する構成、日付情報に基づいて演算方法を変更する構成、および日付情報に基づいて判定値の演算に用いる情報を変更する構成のうちいずれか1つの構成を用いて実行しても、複数の構成を組合わせて実行してもよい。ここで、判定値は、ROM91cの記憶領域から読出した情報を演算した値でも、読出した情報自体であってもよい。つまり、日付情報に基づいて演算対象の記憶領域を変更する構成の場合、例えば「4月1日」の判定値はROM91cの1行1列目の情報自体とし、「4月2日」の判定値はROM91cの5行1列目の情報自体としてもよい。
また、RTC97の計時情報として、日付情報を用いる例を説明したが、これに限定されるものではなく、RTC97で計時している「年(西暦)」、「月」、「日」、「曜日」、「時」、「分」、「秒」のうちいずれか1つの情報を用いても、複数の情報を組合わせて用いてもよい。例えば、RTC97の計時情報として、「年(西暦)」、「月」、「日」の情報を用いることで、「4月1日」の判定値であっても、「年(西暦)」毎に異なる値とすることが可能となり、ROM91cに対してより不正行為を行うことが困難となる。
さらに、前述の説明では、ROM91cに対して不正行為が行われていないことを判定するための判定処理について説明したが、サブCPU91aのRAM91b、メインCPU41aのRAM41bおよびROM41cに対しても同様の構成を適用することができる。ここで、メインCPU41aのRAM41bおよびROM41cに対しても同様の構成を適用する場合、RTC97に代えてRTC50の計時情報を用いる。なお、サブCPU91aのRAM91bやメインCPU41aのRAM41bに対して同様の構成を適用する場合、特にROM91cやROM41cから読込まれたプログラムや設定値を記憶するRAM91bやRAM41b領域に対して適用することで、遊技中の処理に不正なプログラムが実行されているか否かの判定を行うことが可能となる。また、サブCPU91aのRAM91bおよびROM91c、メインCPU41aのRAM41bおよびROM41cのうちのいずれかの記憶手段に対して判定処理を適用しても、複数の記憶手段の全てまたは一部に対して判定処理を適用してもよい。
具体的に、メインCPU41aがROM41cの判定値を生成する場合を例に説明する。まず、RTC50の計時情報に基づいてチェックサムの値を演算する対象の記憶領域を変更する。次に、メインCPU41aは、ROM41cの演算対象の記憶領域についてチェックサムの値を演算し、演算結果を判定値として特定可能なコマンドをサブCPU91aに出力する。サブCPU91aは、受信したコマンドから判定値を特定し、特定した判定値をハッシュ関数などの不可逆関数を用いて演算し、その演算後の判定値をスロットマシン1の液晶表示器51で表示する。もちろん、ROM41cの判定値であっても、メインCPU41aで生成するのではなく、サブCPU91aで生成してもよい。つまり、RTC50の計時情報に基づいて特定したROM41cの演算対象の記憶領域の値を特定可能なコマンドとしてサブCPU91aに出力し、当該値を用いてサブCPU91aがROM41cの判定値を生成してもよい。また、電源投入時にROM41cに記憶された値をサブCPU91aのRAM91bに出力しておき、当該RAM91bのうちROM41cの値を記憶してある記憶領域に対して、RTC97の計時情報に基づいて判定値を生成してもよい。
さらに、本実施の形態では、メインCPU41a側にRTC50、サブCPU91a側にRTC97がそれぞれ設けられているが、サブCPU91a側にRTCが設けられていない場合でも、RTC50の計時情報を特定可能なコマンドとしてサブCPU91aに出力し、サブCPU91aは、当該計時情報を基づいてROM91cの判定値を生成してもよい。
[遊技システム]
図7は、本実施形態に係る遊技システム1001の全体構成を示す図である。遊技システム1001は、図7に示すように、本実施形態に係る遊技機を適用したスロットマシン1と、本実施形態に係る管理装置を適用した管理サーバ1200と、から構成される。
スロットマシン1は、遊技場(ホール)に設置されており、管理サーバ1200は、インターネット網900に接続されている。また、管理サーバ1200は、スロットマシン1のメーカ(スロットマシン1の提供者)が保持している。スロットマシン1と、管理サーバ1200と、の間のデータのやり取りは、二次元コード読み取り機能及びインターネット網900への接続機能を備える携帯端末1100を介して行われる。
図8は、本実施形態の携帯端末1100の構成を示すブロック図である。この携帯端末1100は、制御部110と、記憶部120と、操作部130と、表示部140と、無線通信部150と、アンテナ151と、カメラ部160と、を含む。
記憶部120は、ROM(Read Only Memory)、フラッシュメモリ等の不揮発性メモリ、RAM(Random Access Memory)等の揮発性メモリ等の半導体メモリで構成される。記憶部120は、携帯端末1100の各種機能を制御部110に実行させるためのアプリケーションプログラム等のプログラムやデータを記憶する。
操作部130は、電話番号や各種データ等の数字やアルファベットやその他の文字等を入力するためのダイヤルキーや十字操作キーやその他のファンクションキーで構成される。あるいは、操作部130は、タッチパネルを含んで構成されてもよい。操作部130は、管理者からの操作入力を受付けて、受け付けた操作に係る信号を制御部110に送出する。
表示部140は、液晶表示装置(Liquid Crystal Display、以下「LCD」という)で構成される。なお、表示部140は、EL(Electro Luminescence)ディスプレイ等の表示装置で構成されてもよい。表示部140は、制御部110から供給される文字データや画像データを表示する。
無線通信部150は、他の携帯端末やサーバからアンテナ151を介して受信した信号を制御部110に送出し、制御部110から他の携帯端末やサーバへ送信する信号をアンテナ151から出力させる。
カメラ部160は、遊技者の操作に応じて、撮影対象を撮像し、撮像した画像を画像データに変換して、制御部110に供給する。本実施形態においては、カメラ部160は、二次元コードを撮像する。
制御部110は、マイクロプロセッサ(Micro Processing Unit、以下「MPU」という)で構成される。制御部110は、記憶部120に記憶されたアプリケーションプログラム等のプログラムに従って、記憶部120、操作部130、表示部140、無線通信部150部、カメラ部160からのデータ等に対して処理を施し、処理後のデータを記憶部120、表示部140、無線通信部150に供給する。
なお、携帯端末1100は、上記の構成のほか、一般の携帯電話が備える、音声入出力機能や赤外線通信機能を備えていてもよい。
図9は、管理サーバ1200の構成を示すブロック図である。管理サーバ1200は、一般的なWebサーバとしての機能を有する。管理サーバ1200は、一般的なサーバコンピュータと同等のハードウェアを備える構成であり、インターネット網900を介して、携帯端末1100とのデータ通信が可能となっている。管理サーバ1200は、携帯端末1100からのアクセスの要求内容に応じて、当該遊技者に対応する遊技履歴情報などの登録や更新を行う。なお、本実施形態では、管理サーバ1200には、端末識別情報(SIMデータ)が付与された携帯端末のみからアクセスが可能とされており、端末識別情報が付与されていない携帯端末や端末識別情報は付与されているものの、端末識別情報の送信を拒否した携帯端末からのアクセスは拒否される。また、管理サーバ1200は、遊技情報を更新する場合に受信した各更新要求のURLを登録済情報として管理する登録URL用データベース(登録URL用DB)と、遊技情報を更新しない場合に受信した各更新要求のURLを不正情報として管理する不正URL用データベース(不正URL用DB)と、を備えている。また、管理サーバ1200は、図9に示すように、制御部210と、記憶部220と、操作部230と、表示部240と、通信部250と、を含む。
記憶部220は、ROMやRAM、フラッシュメモリやハードディスクドライブ等の外部記憶装置等から構成される。記憶部220には、管理サーバ1200の各種機能を制御部210に実行させるためのプログラムやデータが記憶される。
操作部230は、キーボード、マウス、キーパッド、タッチパッドやタッチパネル等の入力装置で構成される。操作部230は、管理サーバ1200の管理者等(以下、「管理者」という。)からの操作入力を受け付けて、受け付けた操作に係る信号を制御部210に送出する。
表示部240は、例えば、LCDで構成される。なお、表示部240は、CRT(Cathode Ray Tube)ディスプレイやELディスプレイなど他の表示装置で構成されてもよい。表示部240は、制御部210から供給される文字データや画像データを表示する。
通信部250は、携帯端末1100や他のサーバ等から、インターネット網900を介して受信したデータを制御部210に供給し、制御部210から供給されたデータを、インターネット網900を介して携帯端末1100や他のサーバ等に送信する。
制御部210は、例えば、MPUで構成される。制御部210は、記憶部220に記憶されたプログラムに従って、記憶部220、操作部230、表示部240、通信部250部からのデータ等に対して処理を施し、処理後のデータを記憶部220、操作部230、表示部240、通信部250に供給する。
[RAM91b内のデータベースについて]
次に、スロットマシン1のRAM91内に構築されるデータベースについて説明する。以下では、データベースを「DB」という場合もある。本実施形態では、RAM91内のデータベースとして、遊技履歴データベースと、発生情報データベースとがある。図10を用いて、RAM91b内のデータベースについて説明する。図10は、RAMのデータベースを示す図である。図10(a)、(b)はそれぞれ、遊技履歴データベース、発生情報データベースの一例を示したものである。本実施形態では、遊技を開始したときから、1以上のゲーム数を消化して遊技を終了するときまでの期間を「遊技履歴更新期間」という。遊技履歴更新期間は、RAM91b内の遊技履歴データベースを更新できる期間である。「遊技を開始する」とは、ゲームを開始するためのパスワードが、遊技者により入力されることである。パスワードとは、ゲームの進行に応じて遊技履歴の記録を開始させるためのものや、前回の遊技の遊技履歴を引き継ぐためのものである。なお、パスワードを入力せずに、遊技を開始することもできるが、遊技履歴は、スロットマシン1には記憶されない。また、「遊技を終了する」とは、液晶表示器51に表示するメニュー画面において、遊技者により「終了」が選択されるか、「二次元コード作成」が選択されることである。「終了」とは、二次元コードを生成せずに、遊技を終了させることである。
まず、遊技履歴データベースについて説明する。本実施形態では、図10(a)に示すように、遊技履歴データベースは、遊技者の所有する携帯端末1100を識別可能な端末識別情報(SIMデータ)、遊技履歴更新期間での、総ゲーム数、BB回数、RB回数、遊技者がゲーム内で仮想的に保有するキャラクタの現在のレベル、遊技者が獲得した(端数の)経験値等からなる。また、本実施形態では、サブCPU91aは、遊技開始時に、遊技者により、パスワードが入力された場合に、予め定められた達成条件が成立したことを条件に経験値を付与し、10経験値獲得する毎にキャラクタのレベルを加算するようになっている。キャラクタのレベルの値が一定値を超える毎に、実行される可能性のある演出の種類数は増加される。
また、遊技履歴更新期間内で、1ゲーム消化するごとに、遊技履歴データベースのゲーム数は1ずつ増加更新される。遊技履歴更新期間内で、BB、RBに入賞する毎に、遊技履歴データベースのBB回数、RB回数は増加更新される。遊技履歴更新期間内で、キャラクタのレベルが加算される毎に、遊技履歴データベースのレベルは増加更新される。遊技履歴更新期間内で、経験値を獲得する毎に、遊技履歴データベースの経験値は増加更新される。また、これらの増加更新は、遊技履歴更新期間が終了するときに、まとめて更新するようにしてもよい。
次に、発生情報データベースについて説明する。本実施形態では、発生情報とは、スロットマシン1に発生した事象を特定できる情報である。本実施形態では、発生情報は、エラー情報と、ドア開放情報と、コネクタ外れ情報とを含む。
[エラー情報について]
エラー情報とは、スロットマシン1において発生したエラーを特定できる情報である。本実施形態のスロットマシン1のエラーは、RAM異常エラー、通信エラー、設定値エラー、リール回転エラー、投入エラー、ホッパー払出エラー、払出メダル詰りエラー、投入メダル詰りエラー、投入メダル切れエラー、満タンエラー、ドア開放エラーを含む。
まず、RAM異常エラーについて説明する。本実施形態のスロットマシン1においては、メイン制御部41のCPU41aが電圧低下信号を検出した際に、電断割込処理を実行する。電断割込処理では、レジスタをRAM41bのスタックに退避し、メイン制御部41のRAM41bにいずれかのビットが1となる破壊診断用データ、すなわち0以外の特定のデータを格納するとともに、RAM41bの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM41bに格納する処理を行うようになっている。なお、RAMパリティとはRAM41bの該当する領域(本実施形態では、全ての領域)の各ビットに格納されている値の排他的論理和として算出される値である。このため、RAM41bの全ての領域に格納されたデータに基づくRAMパリティが0であれば、RAMパリティ調整用データは0となり、RAM41bの全ての領域に格納されたデータに基づくRAMパリティが1であれば、RAMパリティ調整用データは1となる。
そして、CPU41aは、その起動時においてRAM41bの全ての領域に格納されたデータに基づいてRAMパリティを計算するとともに、破壊診断用データの値を確認し、RAMパリティが0であり、かつ破壊診断用データの値も正しいことを条件に、RAM41bに記憶されているデータに基づいてCPU41aの処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)や破壊診断用データの値が正しくない場合には、RAM異常と判定し、遊技の進行を不能化させるようになっている。なお、RAM異常エラー状態は、他のエラー状態と異なり、リセットスイッチ23やリセット/設定スイッチ38を操作しても解除されないようになっており、前述した設定変更状態において新たな設定値が設定されたときに解除される。また、RA異常エラー以外のエラーについては、リセットスイッチ23やリセット/設定スイッチ38が操作されることにより解除される。また、RAM異常エラーは、RAM41bに何ら情報が格納されていない状態で、電源スイッチ39がONされたときにも生じるエラーである。つまり、最初の電源投入がされたときにもRAM異常エラーは発生する。
次に、通信エラーについて説明する。サブ制御部91は、遊技カウンタ1コマンドを取得したときに、遊技カウンタ1コマンドから特定される第1遊技カウンタ値をRAM91bに割り当てられた遊技カウンタ値格納領域1に格納する。また、サブ制御部91は、遊技カウンタ2コマンドを取得したときに、遊技カウンタ2コマンドから特定される第2遊技カウンタ値をRAM91bに割り当てられた遊技カウンタ値格納領域2に格納する。サブ制御部91は、第2遊技カウンタ値を格納すると、該第2遊技カウント値と、遊技カウンタ値格納領域1に格納されている第1遊技カウント値とが一致するか否かを判定する。
この判定において、遊技カウンタ値格納領域1には、今回のゲームの開始時に送信された遊技カウンタ1コマンドから特定される第1遊技カウンタ値が格納されている筈である。そして、遊技カウンタの値はゲームの開始前に1インクリメントされた後ゲーム中に重ねて更新されることはないのであるから、今回のゲームの開始時に送信された遊技カウンタ1コマンドから特定される第1遊技カウンタ値と、今回新たに受信した遊技カウンタ2コマンドから特定される第2遊技カウンタ値も同じ筈である。もし、サブ制御部91は、第1遊技カウンタ値と第2遊技カウンタ値とが異なる値であると判断したときには、メイン制御部41とサブ制御部91とが適切に通信できていないことを特定する通信エラーが発生したと判断する。
また、設定値エラーは、設定値が適正な値でない場合(例えば、設定値が1〜6以外の値である場合)に判定されるエラーである。リール回転エラーは、一定期間以上、リールセンサ33によりリール基準位置が検出されない場合に判定されるエラーである。投入エラーは、メダルの投入が許可されている期間以外で、メダルの投入が検出された場合に判定されるエラーである。ホッパー払出エラーは、払出センサ34cにより、ホッパータンク34aへの不正行為による払出異常が検出された場合に判定されるエラーである。払出メダル詰りエラーは、ホッパータンク34a内において払出されたメダルが詰まったことが検出された場合に判定されるエラーである。投入メダル詰りエラーは、メダル投入部4から投入されたメダルが詰まったことが検出された場合に判定されるエラーである。払出メダル切れエラーは、ホッパータンク34aにメダルが貯留されていないことが検出された場合に判定されるエラーである。満タンエラーは、オーバーフロータンク35が満タン状態であることが満タンセンサ35aにより検出された場合に判定されるエラーである。ドア開放エラーは、前面扉1bが開放された場合に判定されるエラーである。
また、メイン制御部41が発生したことを特定できるエラー(例えば、RAM異常エラー)が発生したことを、該メイン制御部41が検知すると、発生したエラーについてのエラーコマンドをサブ制御部91に対して送信する。サブ制御部91は該エラーコマンドを解析して、該エラーが発生した日時が特定可能となるように、RAM91b内の発生情報データベースのエラー情報を更新する。また、サブ制御部91が発生したことを特定できるエラー(例えば、通信エラー)が発生したことを、該サブ制御部91が検知すると、サブ制御部91は、該エラーが発生した日時が特定可能となるように、RAM91b内の発生情報データベースのエラー情報を更新する。
[記憶部220のデータベースについて]
次に、管理サーバ1200の記憶部220に構築されるデータベースについて説明する。本実施形態では、記憶部220のデータベースは、遊技者データベース、遊技履歴データベース、発生情報データベースを含む。図11を用いて、本実施形態のデータベースを説明する。図11は、記憶部のデータベースを示す図である。図11(a)〜(c)はそれぞれ、遊技者データベース、遊技履歴データベース、発生情報データベースの一例を示したものである。
図11(a)に示すように、遊技者データベースには、遊技者の所有する携帯端末1100を識別可能な端末識別情報(SIMデータ)、現在のステータス(待機中/遊技中)、パスワード(最後に発行されたもの)、現在までの総ゲーム数、総BB回数、総RB回数、遊技者がゲーム内で仮想的に保有するキャラクタの現在のレベル、遊技者が獲得した(端数の)経験値等からなる遊技者情報が、遊技者別(端末識別情報別)に登録されている。なお、遊技者情報には、このほかにも、図示はしないが、遊技者名(登録ネーム)、性別、生年月日、都道府県等の遊技者の個人情報(会員情報)も含まれている。本実施形態では、サブCPU91aは、遊技開始時に、遊技者により、パスワードが入力された場合に、予め定められた達成条件が成立したことを条件に経験値を付与し、10経験値獲得する毎にキャラクタのレベルを加算するようになっている。キャラクタのレベルの値が一定値を超える毎に、実行される可能性のある演出の種類数を増加させる。
図11(b)に示すように、遊技履歴データベースには、遊技を行った遊技者の所有する携帯端末1100を識別可能な端末識別情報(SIMデータ)、遊技日時、当該遊技開始時にスロットマシン1に入力されたパスワード、当該遊技の遊技終了時にスロットマシン1にてランダムに取得された遊技乱数、当該遊技でのゲーム数、当該遊技でのBB回数、当該遊技でのRB回数、当該遊技の終了時のレベル値、当該遊技の終了時の(端数の)経験値等からなる遊技履歴情報が登録されている。
図11(c)に示すように、発生情報データベースには、スロットマシン識別情報(ID)ごとに、発生情報(エラー情報、ドア開放情報、コネクタ外れ情報)が登録されている。スロットマシン識別情報(ID)とは、1台のスロットマシンに付加される情報であって、該1台のスロットマシンを識別するための情報である。また、それぞれの発生情報は、所定個数(図11の例では、3個)まで記憶可能とする。記憶部220のデータベース(遊技データベース、遊技履歴データベース、発生情報データベース)は、更新処理により、更新される。また、更新されることにより、消去対象の発生情報は、他の記憶領域に記憶させるようにしてもよい。他の記憶領域とは、例えば、記憶部220とは異なる記憶領域、または管理サーバ1200に接続される外付け装置の記憶領域である。
また、管理者により、操作部230に対して所定の操作が行われることにより、該管理者が視認可能な態様で、発生情報データベースに基づく画像(以下、「発生情報画像」という。)を表示部240に表示させることができる。管理者は発生情報画像を視認することにより、各スロットマシンのエラー状況、ドア開放状況、コネクタ外れ状況それぞれの履歴を把握できる。さらに、例えば、図11(c)の例では、「ドア開放情報」の欄にも示されるように、2014年2月16日〜21日という短期間であり、かつ電断時(夜中)に、前面扉1bの開放およびコネクタ外れがそれぞれ3回検出されている。したがって、管理者は、夜中に不正者が遊技店に侵入して不正を行っているのではないか、と推測できる。管理者は、「2014年2月16日〜21日という短期間であり、かつ電断時(夜中)に、前面扉1bの開放およびコネクタ外れがそれぞれ3回検出されており、夜中に不正者が遊技店に侵入して不正を行っているのではないか」などを、所定の伝達手段(電話やメールなど)で、遊技店の責任者などに伝えることができる。
また、スロットマシン1の搬入日時が、例えば、2012年2月1日AM10時である場合に、この搬入日時よりも前の日時(例えば、2012年1月15日AM11時)に発生されたコネクタ外れが生じたことを示すコネクタ外れ情報が記憶部220に記憶されている場合について説明する。このような場合には、管理者は、搬入期間内にコネクタ外れが生じたということを特定できる。したがって、管理者は、コネクタ外れが、搬入期間内に生じたことを遊技店の責任者などに伝えることができる。
[遊技システム1001の処理の流れ]
次に、遊技システム1001の処理の流れについて説明する。
まず、スロットマシン1のサブ制御部91は、日付変更されたか否かを確認する。ここで、日付変更されたか否かの確認手法について説明する。通電されているときには、RTC97の計時結果に基づいて、サブ制御部91が日付変更されたか否かを検出すればよい。日付変更されたと判断した場合、サブ制御部91は、RAM91bに記憶されている発生情報を残存させる一方、遊技履歴情報と、他の情報とを消去する。また、RAM91bの記憶領域において、発生情報と、遊技履歴情報および他の情報とは異なる領域に記憶されていることから、発生情報を残存させる一方、遊技履歴情報を消去することができる。日付変更されていないと判断した場合、メイン制御部41により、設定変更状態であるか否かが判定される。
設定変更状態であると判断される場合、スロットマシン1のサブ制御部91は、第1の二次元コードを生成する。第1の二次元コードでは、管理サーバ1200上の更新ページの所在を示すURL(更新用URL)と、URLエンコード処理が施された「設定変更状態を特定する設定変更操作フラグと、第1の二次元コードを生成するスロットマシン1のスロットマシン識別情報と、ゲーム開始時に入力されたパスワードと、第1の二次元コード作成毎に取得されるランダムな値である遊技乱数(本実施形態では、32ビットの乱数)と、遊技者の端末識別情報に対応する遊技履歴情報と、発生情報」とから生成される。なお、サブ制御部91は、第1の二次元コードに、遊技履歴情報や発生情報など以外に、前述の判定値の情報を含めて、第1の二次元コードを生成してもよい。遊技履歴情報は、RAM91bの遊技履歴データベース(図10(a)参照)を構成する各情報(総ゲーム数、BB回数、RB回数、レベル値、経験値)である。以下では、URLエンコード処理が施された情報を「暗号化情報」という。
また、サブ制御部91は、終了条件成立時に、第1の二次元コードの表示を終了して、かつ遊技履歴情報を消去する。ここで、終了条件とは、所定時間(例えば、20秒)が経過することにより成立する第1条件、二次元コード終了操作がされることにより成立する第2条件、遊技者によりゲーム進行操作(例えば、メダルの投入)がされることにより成立する第3条件などを含む。遊技履歴情報を消去する理由は、二次元コードとして、遊技履歴情報を出力したことからRAM91bに残存させる必要性が低く、RAM91bの記憶効率を向上させるからである。
設定変更状態ではないと判断される場合であっても、サブ制御部91により、遊技者が二次元コードを生成・表示させる二次元コード生成操作が実行されたことを検知すると、サブ制御部91は、第2の二次元コードを生成して表示する。生成する第2の二次元コードは、管理サーバ1200上の更新ページの所在を示すURL(更新用URL)と、URLエンコード処理が施された「第2の二次元コードを生成するスロットマシン1のスロットマシン識別情報と、ゲーム開始時に入力されたパスワードと、第2の二次元コード作成毎に取得されるランダムな値である遊技乱数(本実施形態では、32ビットの乱数)と、遊技者の端末識別情報に対応する遊技履歴情報と、発生情報」とから生成される。しかし、生成する第2の二次元コードは、設定変更操作フラグを有していない。なお、サブ制御部91は、第2の二次元コードに、遊技履歴情報や発生情報など以外に、前述の判定値の情報を含めて、第2の二次元コードを生成してもよい。サブ制御部91は、終了条件成立時に、第2の二次元コードの表示を終了して、かつ遊技履歴情報と発生情報とを消去する。
また、設定変更状態に制御させるためには、スロットマシン1が製造されたときの状態であるか遊技可能状態であるかにかかわらず、前面扉1bを開放して、設定キースイッチ37(図2参照)をON状態とする必要がある。したがって、設定変更状態への制御は、基本的に、遊技店の店員が行うことができるが、遊技者が行うことはできない。つまり、設定変更状態へ移行させるための操作を店員が行うことにより、第1の二次元コードは生成される。
なお、「電源ON」+「設定キースイッチON」+「前面扉開放検出」を条件として、設定変更状態に移行させるようにしてもよい。これにより、前面扉が開放されていない状態での不正な設定変更を防ぐことができる。また、一旦設定変更状態に移行された後は、設定変更状態を終了させる終了条件(設定値確定後に設定キースイッチがOFF操作)が成立するまで前面扉の開閉状態に関わらず設定変更状態を維持するようにしてもよい。これにより、設定変更状態中に前面扉が閉まっても設定変更状態を終了させないため、再度設定変更状態へ移行させる手間を生じさせてしまうことを防ぐことができる。
また、設定確認状態へは、「設定キースイッチON」とすることで移行させるものであるが、これに限らず、「設定キースイッチON」+「前面扉開放検出」を条件として、設定確認状態に移行させるようにしてもよい。これにより、前面扉が開放されていない状態での不正な設定確認を防ぐことができる。また、一旦設定確認状態に移行された後は、設定確認状態を終了させる終了条件(設定キースイッチがOFF操作)が成立するまで前面扉の開閉状態に関わらず設定確認状態を維持するようにしてもよい。これにより、設定確認状態中に前面扉が閉まっても設定確認状態を終了させないため、再度設定確認状態へ移行させる手間を生じさせてしまうことを防ぐことができる。
一方、二次元コード生成操作は、遊技者により行われるものである一方、通常、店員により行われない。つまり、二次元コード生成操作を遊技者が行うことにより、第2の二次元コードは生成される。
なお、遊技者がゲームをしたものの、二次元コード生成操作をせずに、終了させた場合には、第2の二次元コード生成処理が行われないことから、該遊技者が保有する携帯端末1100に対応する遊技履歴情報は残存する。このような残存された遊技履歴情報は、消去される。
次に、管理サーバ1200は携帯端末1100で二次元コードを読み取った暗号化情報を受信すると、更新処理を実行する。制御部210は、更新要求の送信元の携帯端末1100の端末識別情報(SIMデータ)が、遊技者データベースに既に登録されているか否かを判定し、当該端末識別情報が遊技者データベースに登録済みである場合、不正URL用DBに登録されているURLでないことを判定したうえで、更新要求のURLにURLデコード処理を実行する。URLデコード処理により、暗号化情報である各パラメータ(パスワード、遊技乱数、遊技履歴情報、発生情報)を取得することができる。
次に、制御部210は、当該更新要求から特定されるパスワード又は遊技乱数と同じものが、遊技履歴データベースの当該端末識別情報に対応する遊技履歴情報に格納されているか否かを判定する。その結果、同一のパスワード及び遊技乱数の何れも遊技結果情報に格納されていない場合、制御部210は、当該携帯端末1100から受信した、遊技履歴情報などに基づいて、遊技者データベースの当該遊技者に対応する遊技者情報の内容を更新すると共に、遊技履歴データベースに遊技履歴情報を追加登録する。また、遊技者情報のステータスを待機中に更新する。さらに、制御部210は、当該携帯端末1100から受信した発生情報に基づいて、発生情報データベース(図11(c)参照)のスロットマシン識別情報に対応する発生情報を更新する。次に、制御部210は、登録URL用DBに当該更新要求のURLを登録する。
管理サーバ1200の更新処理が終了すると、制御部210は、携帯端末1100において撮像された二次元コードは第1の二次元コードであるとか否かを判断する。この判断は、設定変更操作フラグの有無を検出することにより行われる。URLデコード処理を実行した結果、設定変更操作フラグが含まれていると判断した場合には、該解析された二次元コードは、第1の二次元コードであると判断される。一方、URLデコード処理を実行した結果、設定変更操作フラグが含まれていないと判断した場合には、該解析された二次元コードは、第2の二次元コードであると判断される。
撮像された二次元コードは第1の二次元コードであると判断された場合、通信部250は、発生情報のうち不正可能性情報(ドア開放情報とコネクタ外れ情報)を、更新処理で取得した携帯端末識別情報から特定される携帯端末1100に対して送信する。つまり、設定変更状態に制御させた店員の携帯端末に不正可能性情報を送信することができる。携帯端末1100の制御部110は、管理サーバ1200から送信された情報に基づいた画像を表示部140に表示させる。表示部140には、例えば、「ドア開放発生:2014年5月17日AM1:13(電断時) コネクタ外れ発生:なし」などが表示される。表示部140を閲覧した閲覧者(つまり、設定変更状態に移行させた店員)は、ドア開放発生の発生日時と、コネクタ外れは発生していないことを認識できる。
撮像された二次元コードは第1の二次元コードではない(第2の二次元コードである)と判断された場合、通信部250は、管理サーバ1200の更新処理で取得した端末識別情報に対応する遊技履歴情報を、該端末識別情報から特定される携帯端末1100に対して送信する。つまり、二次元コード生成操作を行った遊技者の携帯端末に該遊技履歴情報を送信することができる。携帯端末1100の制御部110は、遊技履歴情報に基づいた画像を表示部140に表示させる。表示部140を閲覧した閲覧者(遊技者)は、自身の遊技履歴情報を認識できる。
次に、前述した実施の形態により得られる主な効果を説明する。
(1) 本実施形態では、RTC97の日付情報に基づいてROM91cの演算対象の記憶領域が特定され、特定された演算対象の記憶領域に記憶されている情報を用いて、チェックサムの値(判定情報)を演算する。そのため、演算結果が毎回異なる値となる。したがって、本実施形態では、RTC97に基づくことで異なるチェックサムの値を生成し得ることで、ROM91cに対する不正行為を容易に発見することができる。
(2) 本実施形態では、判定値(例えば、チェックサムの値など)を液晶表示器51などで表示することで、店員により表示した判定値が正規の情報から演算された演算結果か否かを確認することができ、ROM91cに対する不正行為を判定することができる。
(3) 本実施形態では、液晶表示器51に表示するメニュー画面から、非遊技中に判定値を表示できるので、遊技者自身がROM91cに対する不正行為の有無を確認することができる。
(4) 本実施形態では、メインCPU41aで判定値と正規の情報から演算された演算結果と一致しているか否かにより判定し、判定結果を液晶表示器51やスピーカ53,54などから報知することで、ROM91cに対する不正行為の有無を確認することができる。
(5) 本実施形態では、演算対象の記憶領域を日付情報に基づいて特定することで、演算結果が毎回異なる値となるように構成を複雑にすることで、正規の情報から演算された演算結果となるようにするROM91cに対する不正行為を防止することができる。
(6) 本実施形態では、演算関数を日付情報に基づいて特定することで、演算結果が毎回異なる値となるように構成を複雑にすることで、正規の情報から演算された演算結果となるようにするROM91cに対する不正行為を防止することができる。
(7) 本実施形態では、遊技履歴更新期間終了時などに、遊技者が二次元コード生成操作(遊技者が二次元コードを生成・表示させる操作)を行ったときに、該遊技履歴更新期間についての遊技履歴情報が含まれた第2の二次元コードが表示される。該遊技者の携帯端末により該第2の二次元コードが撮像されることで、管理サーバ1200に遊技履歴情報を送信して、管理サーバ1200内の遊技履歴情報を更新させることができる(管理サーバ1200の更新処理)。ここで、本実施形態の第2の二次元コードには、遊技履歴情報のみならず発生情報も含まれる。したがって、該遊技者の携帯端末により該二次元コードが撮像されることで、管理サーバ1200内の遊技履歴情報のみならず発生情報も更新させることができる。つまり、遊技者による「遊技履歴情報の更新のために行われる二次元コードの撮像行為」を利用して、管理サーバ1200に発生情報を送信して、管理サーバ1200内の発生情報を更新させることができる。
[変形例について]
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではない。本発明は、上記の実施例に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な変形例などについて説明する。また、前述した本実施形態で説明した技術事項、および、以下の変形例で説明する技術事項のうち少なくとも2つを組み合わせて実施するようにしてもよく、前述した本実施形態で説明した技術事項を以下の変形例で説明する技術事項に置換して実施するようにしてもよく、当該置換したものに対して、以下の変形例で説明する技術事項をさらに組み合わせて実施するようにしてもよい。
(1) 本実施形態では、日付情報に基づき、ROM91cの演算対象の記憶領域を特定していると説明したが、特定される演算対象の記憶領域は日付順に規則的に決められている場合に限らず、規則的でなくランダムに演算対象の記憶領域が決められていてもよい。さらに、演算対象の記憶領域を特定する情報として日付情報を直接用いるのではなく、日付情報に対して何らかの関数(例えば、月の数と日の数との積を取る関数など)で演算した結果を用いてもよい。
(2) 本実施形態では、ROM91cの演算対象の記憶領域に記憶してある情報の演算結果(例えば、チェックサムの値)である判定値を二次元コードとして出力することを説明したが、前述したスロットマシン識別情報や遊技履歴情報などを含む第1の二次元コードや第2の二次元コードに当該判定値を含めて生成してもよい。これにより、第1の二次元コードや第2の二次元コードを管理サーバ1200に送信した際に、管理サーバ1200は、判定値を予め遊技機メーカで決めてある正規の情報から演算された値と比較して、ROM91cに対して不正行為が行われていないことを判定することができる。
(3) 本実施形態では、スロットマシン1について説明したが、パチンコ遊技機に置き換えて前述の判定処理の構成を適用することができる。具体的に、パチンコ遊技機では、主基板に搭載された遊技制御用のプログラムや固定データ等を記憶するROMや、遊技制御用のワークエリアを提供するRAMに対して当該判定処理の構成を適用しても、演出制御用のプログラムや固定データ等を記憶するROMと、演出制御用CPUのワークエリアを提供するRAMに対して当該判定処理の構成を適用してもよい。
(4) 本実施形態では、RTC97で計時した日付情報に基づき、ROM91cの演算対象の記憶領域を特定していると説明したが、演算対象の記憶領域を特定する情報としてRTCで計時した情報以外の情報であってもよい。具体的に、RAM91bの遊技履歴データベース(図10(a)参照)に記憶されているゲーム数などの情報に基づき演算対象の記憶領域を特定してもよい。この場合、正規の情報から演算された値もゲーム数などの情報(例えば、ゲーム数10回など)に対応して予め生成されているものとする。さらに、記憶部220の遊技者データベース(図11(a))に記憶されているパスワードなどの情報に基づき演算対象の記憶領域を特定してもよい。この場合、正規の情報から演算された値もパスワードで特定される遊技者の情報(例えば、登録番号15番など)に対応して予め生成されているものとする。
(5) 本実施形態では、判定値と予め遊技機メーカで決めてある正規の情報から演算された値とを比較して、ROM91cに対して不正行為が行われていないことを判定することができると説明したが、ROM91cに対して不具合(例えば、記憶セルの一部が破損、記憶セルからの読出し不良など)が生じていないことも判定することができる。
(6) 本実施形態では、電源投入時にサブCPU91aがROM91cに正規の情報が記憶されているか否かの判定値を生成する構成について説明したが、これに限定されることはなく、他のタイミングで判定値を生成してもよい。例えば、サブCPU91aは、一定の間隔(1時間に1回など)で判定値を生成しても、メニュー画面から非遊技中に店員または遊技者が判定値の表示を要求したタイミングにあわせて当該判定値を生成してもよい。
(7) また、本実施形態では、発生情報に、「不正行為の可能性」があることを特定できる不正可能性情報を含ませるとして説明した。しかしながら、「不正行為」を特定できる「不正特定情報」を、発生情報に含ませるようにしてもよい。例えば、スロットマシン1は、店員が保持している特定の鍵を鍵穴に挿入させてから前面扉1bを開放可能とし、かつ特定の鍵が挿入されたことを検出可能な検出手段を備えるようにしてもよい。該検出手段の検出結果を示す検出信号はメイン制御部41に送信される。このような構成の場合には、「不正行為」を以下のように特定できる。例えば、特定の鍵と異なる鍵(例えば、不正者が偽造した鍵)を鍵穴に挿入させて前面扉1bを開放させた場合には、検出手段の結果が、「特定の鍵が挿入された」結果とは異なる結果となる。メイン制御部41は、「特定の鍵が挿入された」結果とは異なる結果を示す検出信号を受信することにより、不正行為が行われたことを特定する。メイン制御部41は、不正行為が行われたことを特定すると、該不正行為が行われたこと示すコマンドをサブ制御部91に対して、送信する。サブ制御部91は、該不正行為が行われたこと、および該不正行為が行われた日時を特定できる態様で、不正特定情報をRAM91bに格納させる。
(8) 本実施形態では、判定値と、遊技履歴情報と、発生情報とを携帯端末1100に取得させる取得手法として、スロットマシン1が二次元コードを表示するとして説明した。しかしながら、該取得手法は、他の手法であってもよい。例えば、表示する情報として二次元コードではなく、他の態様で表示するようにしてもよい。例えば、スロットマシン1が、スピーカ53、54から、判定値と遊技履歴情報と発生情報とが含まれた音(音波)を出力するようにしてもよい。この場合には、携帯端末1100は、出力された音(音波)を収音して解析することにより、判定値と、遊技履歴情報と、発生情報とを取得するようにしてもよい。
また、他の取得手法として、携帯端末1100と通信可能な通信部をスロットマシン1が備えて、スロットマシン1は、携帯端末1100に対して判定値と遊技履歴情報と発生情報とを送信するようにしてもよい。また、スロットマシン1と携帯端末1100とを、遊技者や店員が有線で接続することにより、スロットマシン1は、携帯端末1100に対して判定値と遊技履歴情報と発生情報とを送信するようにしてもよい。
(9) 本実施形態の遊技システム1001では、スロットマシン1が判定値、発生情報や遊技履歴情報などに、暗号化処理としてURLエンコード処理を施すことで、二次元コードを生成し、復号処理として管理サーバ1200が該二次元コードに対して、URLデコード処理を施すとして説明した。しかしながら、暗号化処理、復号処理については、URLエンコード処理、URLデコード処理に限られず、他の手法を用いてもよい。また、復号処理を管理サーバ1200が行うのではなく、携帯端末1100が行うようにしてもよい。この場合には、携帯端末1100が暗号化情報(判定値、発生情報や遊技履歴情報)に対して復号処理を施す。携帯端末1100は、復号処理が施された判定値、発生情報や遊技履歴情報を、管理サーバ1200に送信する。このような構成であっても、本実施形態の遊技システム1001と同様の効果を奏する。
(10) 本実施形態として、入賞の発生に応じて遊技媒体を遊技者の手元に払い出すスロットマシンを説明したが、遊技媒体が封入され、入賞の発生に応じて遊技媒体を遊技者の手元に払い出すことなく遊技点(得点)を加算する封入式のスロットマシンを採用してもよい。基盤とドラムとが流通可能で、筺体が共通なもので基盤のみあるいは基盤とドラムとを遊技機と称する。
(11) また、パチンコ遊技機においては、入賞の発生に応じて遊技媒体を遊技者の手元に払い出すパチンコ遊技機を採用してもよく、遊技媒体が封入され、入賞の発生に応じて遊技媒体を遊技者の手元に払い出すことなく遊技点(得点)を加算する封入式のパチンコ遊技機を採用してもよい。封入式のパチンコ遊技機には、遊技媒体の一例となる複数の玉をパチンコ遊技機内で循環させる循環経路が形成されているとともに、遊技点を記憶する記憶部が設けられており、玉貸操作に応じて遊技点が記憶部に加算され、玉の発射操作に応じて遊技点が記憶部から減算され、入賞の発生に応じて遊技点が記憶部に加算される。また、パチンコ遊技機は、発射装置および玉払出装置を備えた遊技枠に遊技球が打ち込まれる遊技領域を形成する遊技盤を取り付けた構成であるが、これに限らず、発射装置は玉払出装置などの基本的な機能を共通化し、遊技の特長的構成である遊技盤のみを流通させるようにしてもよい。この場合、遊技の特長的構成であるところの遊技盤を遊技機と称する。
なお、今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。