トップページ⇒tech
48コメント24KB

パチスロプログラム

■ このスレッドは過去ログ倉庫に格納されています
0001ごNGNG
卒業論文でパチスロをかこうと思うんだけど言語なにがいい?
0002名無しさん@お腹いっぱい。NGNG
Z80アセンブラ
0003名無しさん@お腹いっぱい。NGNG
日本語で書かないとアホ教授が論文読めないかもよ(藁
0004ごNGNG
VBやばい?
0005名無しさん@お腹いっぱい。NGNG
パチスロやパチンコは、技術的なものよりも
お役所に提出する書類を書くのが仕事だぞ。

だめだった書類を、時間を置いて無修正で出しても通ったりするぞ。
0006ごNGNG
どういうこと?>5
0007!5NGNG
>6
保通凶ってゆー警察の外部団体が牛耳ッてんのよ、その世界は。
枠の大きさから絵柄の最大幅とかリール一周するのに掛かる時間とかcpuは8bitとか、
とんでもなく細かい所まで決められてんの、何百ページにもなる仕様書は紙で提出、
100万ぐらいだったかな?一回の検査でかかる公の費用は(裏の世界は深そうだけど)

古い情報だから信用しないでね(ニューパルで稼いでた頃の話)
0008>7NGNG
乱数はどうやって生成してるの?
0009>8NGNG
真の乱数じゃギャンブルになるから 乱数ではダメじゃないの
0010名無しさん@お腹いっぱい。NGNG
「カウンターをインクリメントしといて、玉の入ったタイミングのものを使用する」
かな?
0011名無しさん@お腹いっぱい。NGNG
以前はZ80のRレジスタ使っていた時期もあったらしいね。
0012ごNGNG
つらそうこの卒論テーマ
やべぇ・・・・・
0013名無しさん@お腹いっぱい。NGNG
>10
そうそう、それでカウンターを狙い打つために体感機という物があるの、
当たりの場所が固まってたり周期が短い(200ぐらいでループしてるのも昔はあった)と、
簡単に狙えたもんです。

>12
パチスロならテーブル制御が論文向きなアーキテクチャかも、
一つのリールを止めると成立フラグによって残り2つのリールの止まる位置も決まるの。
0014珍宝太郎NGNG
>8
> 乱数はどうやって生成してるの?

うんと周期が長い乱数をつかえば「昨日は10万円勝ったが、今日は20万円やられた。」
ということが日常起こるような、過激な台を作ることが可能になってしまいます。しか
し、このような機械を許可するとパチンコ中毒患者が大量にでてしまいますから、乱数
の生成方法は、保通凶内部規則によって、きびしく制限されています。

>11
> 以前はZ80のRレジスタ使っていた時期もあったらしいね。

10年ぐらい前は、Rレジはよい乱数であり、予測不能である、と(保通凶が)認識していた
ので、Rレジを乱数としてつかっている機械は問題なく認可されていました。

しかし、命令の数を注意深く数えてプログラミングすることにより、Rレジを乱数として
使用しつつ過激な機械をつくってしまう手法が考案されたため(Rレジって命令フェッチ
のたびにインクリメントされるよね)、このような機械は認可されなくなりました。

その後、しばらくは算術乱数(等差数列)を使用した機械が認可されていましたが、ハー
ドウェア(タイマICやTTLのカウンタIC)で乱数を生成しなさいという指導があったので、
ソフトウエアで乱数を生成する機械は姿を消しました。

しかし、さらに数年たつと、タイマICやTTLのカウンタICを偽造して過激な台をつくる者
があらわれたため、ハードウェアで乱数を生成することが禁止され、再び、ソフトウェ
アで乱数を生成している機械がつくられるようになりました(←業怪から足洗ったもんで
最近の情報はまちがってるかもしれない)。

>9
> 真の乱数じゃギャンブルになるから 乱数ではダメじゃないの

よいわるい以前に、「真の乱数」のような性質がよくわからない乱数は、ギャンブル・
マシ〜ンには向いていません。お店の営業計画がたてられなくなってしまうからです。
また、真の乱数は、算術演算では生成できません。

>10
> 「カウンターをインクリメントしといて、玉の入ったタイミングのものを使用する」
> かな?

正解。でも、それはパチンコです(玉って書いてあるよね^^;)。パチンコの乱数の生成方
法は、パチスロよりすこしきびしく制限されていて、

 Xn = Xn-1 + 1 (mod M) ただしMは素数、seedはゼロ

と決められています。てゆうか、決められてました。最近までは。しかーし・・・

>13
> そうそう、それでカウンターを狙い打つために体感機という物があるの、
> 当たりの場所が固まってたり周期が短い(200ぐらいでループしてるのも昔はあった)と、
> 簡単に狙えたもんです。

たんなるカウンタを乱数にしていると、体感器で攻略される原因になるばかりでなく、
第一種始動口(チャッカーのことね)と基板の間に小さなぁゃι しヽ機械を入れただけで
連荘させることができてしまいます。

そして、実際に、このような遊技機の不正改造によって射幸心を煽る事例があとをたた
ないため、現在ではこのような方法で乱数を生成することは禁止されています。
0015珍宝シャブ郎NGNG
> 枠の大きさから絵柄の最大幅とかリール一周するのに掛かる時間とかcpuは8bitとか、

CPUには、以前は6802、6809、Z80、およびZ80をコアにした東芝のASSPが使用されていま
した。一時、F8(Fairchild)をつかっている変わりダネもありましたが「へんなCPUでは
保通凶で検査できないから」という理由により、へんなCPUをつかっている機械は姿を消
しました(ほんとうは、あるベンダーが、検査できないことをいいことに連荘プログラム
を組んでいたことがばれた)。

しかし、不正改造があとをたたない、という理由で、現在は、レジャー・エレクトロニ
クス・テクノロジーという会社から、LE2068(68HC11互換)とLE2080(Z80互換)という「セ
キュリティつきCPU」が、業界にたいして独占供給されています。ちなみに、これらのチ
ップは東芝のファブで製造されていて、ダイには68HC11やZ80のコアがパッドごとはいっ
てます。TMPZ84C015とかとおなじプロセスですねー。

> とんでもなく細かい所まで決められてんの、何百ページにもなる仕様書は紙で提出、

書類は2000ページぐらいになります。ハーネスの一本一本の仕様や、サウンドの譜面ま
で書きます。当然、ソースリストも全部紙に印刷します(しかし、ファイルは要求され
ないのだが、どうやって検査しているのだろう)。

また、メモリクリアを確実に行っているので乱数のseedにゴミがはいることはありませ
んとか、スタックが溢れて乱数に悪戯書きをするようなことはありませんとか、そうゆ
うことも書きます。

ちなみに、わしが業怪におったころは、以下のようなデザイン・ルールがありました。

- リロケータブル・アセンブラを使用してはならない。
- マクロを使用してはならない。
- RTOSを使用してはならない(パチスロ)。
- 極端にちいさいメインルーチンはだめ(パチスロ)。

※FairchildのF8については以下の記事がある。

Great Microprocessors of the Past and Present
 http://bwrc.eecs.berkeley.edu/CIC/archive/cpu_history.html
0016珍宝シャブ郎NGNG
パチスロ屋やってたころが懐かしいのでいろいろ知識をひけらかしてしまったが、そう
そう、卒論の話でしたね。

知ってると思いますが、パチスロは、入ってるときと入ってないときで、図柄を引き込
んだり蹴飛ばしたりの制御をします。

しかし、パチスロには、ストップボタンを押してからおおむね0.2秒以内に回胴を停止
させなければならない(つまり5ラインまでしか滑れない)、という決まりがあるので、
図柄配列をよくかんがえないと、引き込み・蹴飛ばしの制御がうまくできなくなります。
つまり…

 1.逆押しで斜めに777が目押しされたので1ライン蹴飛ばした
 2.そうすると、横にフルーツが揃ってしまうので更に1ライン蹴飛ばした
 3.そうすると、左リールの上にチェリーが出てきてしまったので蹴飛ばすために滑ら
  せたが
 4.これ以上滑れないので、子役が入ってないのに、チェリーが左リールの下に止まっ
  てしまった

ということが起きてしまい、目押しで子役抜きされる結果になってしまいます(単チェ
リーはくせ者なんです)。

そこで、(たぶん)どのメーカーでも、停止図柄とストップボタンの組み合わせを総当り
で試すようなプログラムを書いて、図柄配列の検証をしています。

# 保通凶に持ち込むわけではないから滑りコマ数のルールなど関係ない、という考え方
# もありますが、際限なく滑るようでは、おもしろくもなんともないパチスロになって
# しまうでしょう。

しかし、滑りコマ数のルールを逆手にとり、リーチ目が出るようなおもしろい機械をつ
くるために、図柄配列は職人が手でつくっているというのが(たぶん)現状です(自動化
できてない)。

そこで、インタラクティブに対話しながら(制約をあたえながら)、図柄配列を「半」自
動で生成するような、回胴設計支援ツールをつくってみてはいかがですか。

(わしは全自動はムリだと思う)

なかなか高値で売れる卒業研究になると思のですが。
0017珍宝シャブ郎NGNG
最後に。

1さんの文面からは、あんまりやる気が伝わってきませんが(笑)、

わしは、パチンコ・パチスロ業界には、まだまだゼニが埋まっとると思ってます。

ですから、ぜひ、がんばって、みんなが驚く論文を書いてください。

それでは。
0018名無しさん@お腹いっぱい。NGNG
あんたすげーよ
0019名無しさん@お腹いっぱい。NGNG
軽い気持ちで始めたんならやめといたほうがいいよ>>1
0020珍宝シャブ郎NGNG
スレたてた人の反応がないが、大楽生だから、今日は彼女とクリスマス・イブかな?
おぢさんは会社で仕様書かきかきだぜぇ・・・
0021パンチコNGNG
>20
おじさーん、すごいすっよ。パチンコ2回しかやったこと
ありませんが・・・
梁山泊が、光の点滅具合でタイミングとったりしてますけど
実際には技術的にその方法を防ぐ方法がいくらでも
あるはずなのになぜしないんだろうと、疑問に感じてましたが
建築法並みの、監査があったんですね〜。
どうなんでしょう?
今の規制では、人間を騙す事の限界があり、攻略法というのが
プログラム、製作レベルでどうしても生じてくるものなんでしょうか?
002220NGNG
K察庁や保通凶は、一応、アンチ攻略法、という立場をとっている、はず、です。理由
は、パチプロだけに儲けさすのは公平ではないからです。パチプロ イコール ダメ人間
というスタンスもあるのでしょう。

ですから、

> 梁山泊が、光の点滅具合でタイミングとったりしてますけど
> 実際には技術的にその方法を防ぐ方法がいくらでも
> あるはずなのになぜしないんだろうと、疑問に感じてましたが
> 建築法並みの、監査があったんですね〜。

とゆうのはチョットちがいます。上の方で「連荘はダメ」ということを書きましたが、
春×番が攻略された原因は、じつはそのへんにあります。

だれがみても連荘するとわかるようなプログラムを書いていては、保通凶に持ち込んで
も絶対に合格させてもらえません。そこで、ひそかに連荘する機械をつくるには、たと
えば以下のようにかんがえます。

 1.実射試験は、まさか人手でやっているわけはないだろう(入賞口に機械で信号を入れ
  ているはずだ)。
 2.なら、大当りになったとき、大入賞口には10回しかパルスを入れていない可能性が
  ある。
 3.しかし、実際に打つときには、大入賞口が閉まる瞬間に11個目の玉が入賞してしま
  うだろう。

もし、この予測が正しければ「大入賞口が閉まる瞬間に11個目の玉が入賞する」という
条件を連荘のトリガにすれば、「検査ではばれないが、お店では連荘しまくる」という
ふしぎな機械をつくることができます。

実際に連荘させる部分は、たとえば、

 テンカウントが10を超えて分岐した先では、ひそかにPUSHとPOPをずらしておく。スタ
 ックをぎりぎりで確保しておき、溢れたときにこっそり乱数に悪戯書きをする。

とかやっておけば、机上デバッグでは、ばれんでも済むでしょう。

そして、春×番のコードをみたことはないけれど、おそらく、乱数に、ランプ点滅用カ
ウンタかサウンドデータのポインタを書き込んでいたのでしょう。だから、ああゆう結
果になったんだとおもいます。

その他にも、いろんなテクニ〜クがあります。

- 乱数のseedとしてS-RAMのゴミを使う。未初期化時に希望の値になりやすいメモリを選
 別し、出荷バージョンと試験バージョンで使いわける。
- インターバル・タイマをアナログで組み、処理が間に合うぎりぎりのレートで割り込
 みを入れるようにする。積分回路の抵抗を選別し、出荷バージョンでは乱数の更新処
 理が間に合わないようにする。

なお、現在は、一度合格した機械でも、あとから認可を取り消すことが出来るようにな
っているので、このようなトリックをつかうことには意味がありません。

> 今の規制では、人間を騙す事の限界があり、攻略法というのが
> プログラム、製作レベルでどうしても生じてくるものなんでしょうか?

規制が攻略法の原因になることはほとんどありません。15年ぐらい前は、ほとんどのパ
チンコ・パチスロに攻略法があり、そうゆうことを知っていれば豪遊の日々だったそう
ですが、それは、現在と比べてプログラムの生産性も現場のスキルも低かったからでは
ないかと思います。DECのミニコンつかってクロス開発してたような時代ですから。

漫画にでてくるパチプロは自由で楽しそうですが、パチプロで儲かる時代が、再びやっ
てくることは、ないでしょう。
0023名無しさん@お腹いっぱい。NGNG
>>22
どうもありがとうございました。
確立変動板の住民に見せてあげたい。
0024名無しさん@お腹いっぱい。NGNG
>22
まじで懐かしい、いい時代だったよね〜
イエローキャンペーンで全てが吹き飛び僕は真人間になりました。
あのころ、お役所がパチンコを衰退させてスロットを流行らせようとしていたのは
誰の目にも明らかだったんですけどここらへんの裏事情知ってます?
ユニバーサルの社長が長者番付に出て来るまでになりましたけど。
0025ごNGNG
とても参考になりました。皆さんありがとうございます。
スレ立てといてたまーにしか覗かなくて無責任ですみなせん。
がんばってパチスロ論文かきます!!
0026ごNGNG
リール配列とリール制御は今まで打ってきて
大体、理解できる既存のパチスロの配列と、制御を真似してみようと思います
開発言語としては何が一番説明しやすく、開発しやすい言語だとおもいますか?
0027名無しさん@お腹いっぱい。NGNG
論文書くだけなら、教授にもあなたにも
わかりやすい言語を使えばいいんじゃないの?
0028名無しさん@お腹いっぱい。NGNG
JavaAppletで作ればWEBで公開するのにいいんじゃないの。
0029デフォルトの名無しさんNGNG
FLUSHは?
0030無党派さんNGNG
>>29

Flash では?
0031ごNGNG
FLASHかJAVAですか。
VBでは?
0032デフォルトの名無しさんNGNG
VBとFlashは環境に金かかるじゃん。
0033デフォルトの名無しさんNGNG
卒論なら締め切りってもんもあるし、今一番理解できてる言語で書けば?
今から習得するなら話は別だが。
0034ごNGNG
VBとFLASHはかじったことがある程度・・・・・・・。
JAVAとなると、もうまるっきり一からの習得になります。
つらいねぇ。でもやりがいが、ありそうなのでがんばってみます。
あと一年あるしね。
0035デフォルトの名無しさんNGNG
珍宝太郎&珍宝シャブ郎,ありがとう。
おもろい話聞けました。

俺ゲーム会社に勤めてたんだけど,パチンコとかパチスロのゲーム作ってる部署があって,
「極秘資料として内部仕様とかアルゴリズムとか無いのかな」
とか思って話聞いたら実機貸し出して貰って自分らで解析(といっても実際に打つ程度)
で作ってた。これじゃ本物には限りなく遠い・・・

スロットの乱数生成アルゴリズムあたりの話を教えて下さい。
0036あげNGNG
もっと知りたい。
0037名無しさんNGNG
大学生はパチスロしていいの ?
0038デフォルトの名無しさんNGNG
>>37
いいよ。マナブくん。
0039デフォルトの名無しさんNGNG
今もパチプロは腐るほどいるぞ。
プロならVBA等でシミュレートする人も結構いたり…
Cとかでやったほうがいいのかの?(速度的に)
0040名無しさんNGNG
>>39
>シミュレート
必要ないでしょ、確率以外に考える事ないし。
期待値を(適当に)算出して高い方を打つ、それだけです。

>>35
>スロットの乱数生成
レバー叩いた瞬間が抽選。普通の無限ループのカウンタ
0041デフォルトの名無しさんNGNG
期待値を求められるほど、簡単な数式にならない場合が多いので
シミュレートする。
持ち玉比率、アウトナンバー付き、CT、AT、RT等。
0042デフォルトの名無しさんNGNG
あるベンダーってうちのこと?
アニマルのことかかれても?
レスお願いします。
0043デフォルトの名無しさんNGNG
アニマルは連荘プログラムではありません。
0044デフォルトの名無しさんNGNG
>>40
>>41
>シュミレート
スロでもハズシ・コイン持ちなんかを調べる時に使ってた。
雑誌にもメジャーな機種なんかは掲載されるけど、
マイナー機種&(出たばかりの)新機種なんかは自分で取ったデータから
シュミレートかけて計算してる。

複雑な計算式作るより簡単だしね。
0045珍宝NGNG
>43
そうですね。きっとなにかの間違いで余計なXDC命令をタイプしてしまったのでしょうから、
あれはスペックではなくてバグですよね。自分の過去の発言訂正いたします :-P
0046デフォルトの名無しさんNGNG
ほーう。ROM解析でもしたんですか?バグ?何を基準に?
あなたの発言自体バグでは?
0047デフォルトの名無しさんNGNG
お互い名前をいったらどうですか?
 傍観者
0048デフォルトの名無しさんNGNG
プロが趣味レートって言ってしまうか?
■ このスレッドは過去ログ倉庫に格納されています