このブログ内を検索可能

2022年5月15日日曜日

自作メテオボンバー⑱ PO調整機構

 演出処理を省き、すぐに最終結果を出すようにして時間短縮を図りつつ、PO率を操作するプログラムを考えようと思っている。その際、番号配置はまた新たに考え直し{0,0,0,…0,0,1,1,…,1,1}と0が38個、1が25個続く列を複数回シャッフルし、そこにその列の値に応じてあらかじめ提示された番号のランダム組を値が1ならば投入していくというものを思いついた。例えば指数100を最高設定とし、その場合は{0,0,…,0,1,…,1}のシャッフルの回数を少なくする、すなわち下段に数字が行きやすくするなどを考えている。またそのシャッフル回数は指数が高いほど設定が良く、また指数100でも全部下に固まるのも不自然なのでその2点を考慮し指数xに対して110-xで定義する。とすると指数100ではおおむね10個くらいが上段4,5段に現れることになる。これを配置指数と定義する。ついで結合指数については以前定義したと思われる宝箱個数6個を50-0.5y(%)、5個を50(%)、4個を0.5y(%)によって定義し、これは指数が高いほど結合しやすいことを意味し、経験的にyが高値を取ればPO率は低値を示す。

この2変数x,yに対して各20000回試行し、おおよそ誤差も数%程度と見積もられる(根拠なし)がその表を以下に示す。

配置指数0102030405060708090100
07568
1062
207668
3065
407665
5067
607175
707672
80857973
908086
1009494878594918984828381

これを見るに、もう少し複雑な関係があるのではないかと思われる。これはまだまだ試行が必要や…。

後フォントを見直してより本物っぽい数字にした。手動で削ったのでやはり荒いところがあるが…。

歴代1位やな()





2022年5月12日木曜日

自作メテオボンバー⑰ 小数点以下謎のずれについて

 先ほど触れたなぜか全数字がリーチになる(意図していないパターン。意図している方は、セカンドロッタでの1球目で新たな配当が獲得した場合、確かに定義上他どの数字でもリーチになるが、それと違うもの)バグに関してこの画面に表示された数値を見ているとあることに気づいた。なぜ宝箱が493WINなのに370WINになっているのか。

とにかく、宝箱の数字493WINは合っているが、内部変数を見ると倍率0.3で処理されている。そして370WINというのは1234*0.3の小数点以下切り捨てである。ここで我は気づいた。配当獲得処理を行う際、1234*0.4=493.6WINとなるのだが、ウディタやアニマの性質上切り捨て。すると493WINとなるが、493WINはもとのBET1234に対して何倍かというと、493/1234を計算するのだが、このときさっき切り捨てた影響で、0.39…となり、これがばっさり切り捨てられて0.3となる(小数点以下2位が切り捨てられるのはアニマツリーなどが1.2倍などの配当があることより、小数点以下第1位までを扱うようにあらかじめプログラムを組んでいたため、オッズの10倍の数値で内部処理をするように慣例的にしている)ので、1234*0.3=370.2で小数点以下切り捨てで370WINとなってしまうのである。

しかし配当計算ではちゃんとした値になっていた。ということは配当表示および内部処理でどこかでまた別の代入が行われているのではないかと疑い調べた。すると…。

何年か前に作っていたプログラムで、切り捨てされたオッズ0.4→0.3をBETに乗じてWINを算出していたのである。一見この操作は可逆なのだが、小数点以下が発生すると先ほどの話のように数値が低く出てしまう。3000BET時では小数点以下0.1nを乗じた時(n=1,2,…,9)に小数点が発生していなかったので気づかなかったが…。とにかくこの14行目付近でWINの取得はすでに別コモンイベントで完了しているので余計な上書きをやめさせる。これで解決である。このゲーム作成にあたり、こういったエラーと過去数千回は向き合ってきたからな…。
これにより先ほどの比較的問題のある問題については解決。全消しは…まあええわ。
このようにちゃんと表示されるようになった。なお0.4倍列と0.6倍列なので1234WINやろ、というのは誤り。知っての通りアニマは例えばチェーンボンバーに5BETして真ん中2列が当たっても5*0.5=2.5で切り捨て2枚。つまり4枚であるから、その仕様を踏襲している。よって1234BETに対して1233WINは実機の性質を反映しているのである。

せっかくなので実機でもあまり見ない「超高額」の文字付画面。
なお左のゲームの中央の宝箱だけ配当を無理やり10倍にした。変数で処理しているのでこういったことが一瞬でできていろいろ遊べるのもまた面白い。ビッグクリアフィギュアも5月28日に出現することやし、その前にまたフィギュア探しをするか…いやしかし1回あたり5~7時間はある実習でなかなかに体力をそがれるし。厳しいか


自作メテオボンバー⑯ 音源抽出と効果音付与、完成へ

 これは画像では説明のしようがないが、いよいよ動作がうまく行ったと思われるので(ウェイト1フレームを入れないと500000エラーが出ることがあるが)これに効果音、音源を付け加えていよいよ音声付きの真のメテオボンバー作成に取り掛かる。なおこの間、同じ条件下でmathematicaにメテオボンバーをシミュレートさせている。理論上は同じ値をとるはずだが…。

いよいよ動画をアップロードすることとなった。やはり音声付きは動画で示すしかない。
なんかたまに全消し時の演出がおかしくなるが…まあええか。
なおこの左の画面の配置と番号は固定化しており、必ずこの面だけ全消しするようにしている。とある動画でのメテオの配置を参考にさせてもらっている。
ここまで来たらようやくメテオボンバーっぽい感じになったか…?いやほんま組織学の試験やあの実習と被ったから1週間ちょっとも作成にかかってしまった…。
今後はPO率調整機構を作っていこうかと考えている。
以下解決すべき些細な問題
①全消しが2回演出を行うときがある
②小数点以下計算のずれによるリーチ文字誤表示


2022年5月11日水曜日

自作メテオボンバー⑮ 一通りの処理完了

 いよいよリーチ処理をそこそこ処理時間軽減し、またその他細かい演出なども加えて一通りゲーム作成が落ち着いた。りんごとかの処理は今のところは面倒なのでもういい。とにかく次やろうとしていることはPO率調整機構である。そのためにまずは宝箱の結合率と配当の関係を見ることにする。ある指数値m=0~100に対し、結合で4個となる確率(%)を0.5m、5個を50、6個を50-0.5mとする。つまりこの指数値が高いほど結合しやすい、すなわち当たりにくいことが予想される。極端な話、全部結合した1個となった場合、全消しかそうでないかの2択になるため、PO率は低くなるであろう。ということでPO率調整の一環としてこの指標を採用することにする。以下のようにすでにリーチ処理付きで機能しており、これをしばらく回して様子を見る。

なおリーチの判定として、現在のWINより大きければリーチの文字を表示する、という条件にしているため、例えば4球目に何かINしたときにそれで配当が新たに確定すれば、5球目はどの番号に入っても配当を獲得できる場合、現時点ではすべての番号がリーチとなるようにしている。ただよく考えたら実機ではそうではないので、これはまあ現在配当ではなく予想配当の最小を見て、それとの差をとればよいだけだろうが…まあええか。

2022年5月10日火曜日

自作メテオボンバー⑭ リーチ処理2

 リーチの数字を見直し、本物に似せた。いやというか、コナステから画像を加工して地道に1個ずつ数字を透過処理してタブ内のリーチ数字を描画させた。これで少しアニマに近づいた。

さて次は「リーチ!」の文字を描画させる処理である。これは確かチェーンボンバーではマス消滅と同期が難しかったような記憶が…。


自作メテオボンバー⑬ リーチ処理1

 一応全消し系のアニメーション及びリーチ表示ができるようにはなったが、処理が重い。

しかしまだまだ処理を簡略化する手立てはいろいろ残っているのでいずれそれを使うが、今日はあの実習があるため予習が必要となるので現時点ではここまで。今日と明日でだいぶんいい感じになるであろうことが予想される。

なおこの後やろうと思っていることは、
①リーチ処理の処理軽減
②リーチ数字、マス番号を本物により近づける
③PO率調整機構
④常時演出の強化(爆弾の拍動や各マスに「リーチ!」などを付ける
これによりさらに本物に近づくことが期待できる。これらのうち半分くらいは明日くらいまでにはできるであろう。たぶん


2022年5月7日土曜日

自作メテオボンバー⑫ 配当獲得処理

 さて、いよいよ配当表示に移っていく。まずは配当を入手した枚数を表示するものと、あと他にフォントを修正しアニマロッタの数字っぽくした。ここは前回のプログラムの流用。

この後ちょっとふせんの大きさが大きいので微調整した。
そしていよいよ本日朝、地道に下降した宝箱(開き)の出番である。
配当獲得付箋が出現する前に、「ぱこっ」という気持ち良い音とともに宝箱が開く演出を作成する。あとすでに開いた箱へのメテオオッズアップを防ぐために所定の変数に格納状況を格納する。これができれば残すはリーチと全消し処理のみであろう。
しかしリーチ処理、負担がどこまでかかるかなかなかに心配ではある。
これでいよいよGET文字や列けしを導入した。もはや残すは全消し系処理とリーチだが、リーチ処理はかなり工夫する必要があり、また変数などもいろいろ必要になってくるのでこれはまたじっくり考えることにする。

余談だが、3色でプレイすることもできる。
この色配置だと当たり前だが高額や全消しが出やすいのでこれで実験しよう

自作メテオボンバー⑪ 宝箱配置・結合

 いよいよ下部にある宝箱を結合しだした。ただしこれに伴いメテオのオッズアップ処理や配当条件が変化するため、今度はそのあたりを修正していくことになる。

さらに宝箱にメテオがHITしたときの状況を細かく設定した。
この段階ではまだ宝箱のグレードアップ演出やグラフィックは未実装だがこのあと直ちに実装する。
次いでグレードアップ演出を行うが、これはなんかはじけるようなアニメーションのあと、宝箱がπ/6くらい回転して戻り、配当が新表示されるのも作る。
しかし配当のくるくると、「後光」及び「オッズアップ」の文字が作られていないのでそれも実装する。ただし配当のくるくるは面倒なのであとでいいか…。ということでそれも作った。今日(というか次の日になったが)は配当の取得までを行い終了とするか…。
これでめでたく宝箱のオッズアップ処理ができた。あとは配当の表示と全消し、そして音声を付属するのがメインである。あとリーチ処理。
また、獲得判定で宝箱のグレードアップの是非が変わることもまだ作っていない。これは配当を各ターンごとに把握して描画し、その時にあわせて作りたいと思っている。
これは時間があれば明日中にはほぼ完成か。


2022年5月5日木曜日

自作メテオボンバー⑩ PO率計算開始

 とうとう配当計算を終了し、かつ次ゲームへの橋渡しを完了し、いよいよ放置でPO率が計算できるようになった。よしこれで試験勉強に入れるな!!

上にPO率が表示されている。まだまだ粗削りではあるが、明日以降徐々に仕上げていき満足のいくものとしたい。
全消しもいつか出るやろ(byかつて3000BET10面を数十時間やって1回も全消しを引けなかった人)

自作メテオボンバー⑨ 宝箱グレードアップ

 いよいよ宝箱をグレードアップし、最大連鎖数で全消し配当も上がるようにした。これによりとうとう精密な配当計算が実現。

上の画像では確かにメテオがHITしたところの宝箱の配当がアップしていることが分かる。
さて今日やっておきたいのは、次ゲームへの橋渡しおよび放置によるPO計算である。
次ゲームへの橋渡しは、変数をだいたい全部消しておけばよいのとまあ…ちょこちょこいじくればよい。配当はもうほぼ出せる状態なのでデバッグウィンドウにでも出しておく。
もうここまでくればPO計算の稼働まで残り僅かであろう。


自作メテオボンバー⑧ 全消し実験

 さて、いよいよ1ゲームのボールナンバーにより、最終配置を与えることができるようになったはずなので、それを証明するべく、全消しパターンをやってみる。

配置は以下。このあと24,10,1,3,4と来ると全消しリーチになるらしい。

もとの画像は以下。これはyoutubeのを参考にさせてもらっている。
そして実際に「手入れ」で上記番号を入れたものが以下。
完全に一致している。ということで我のプログラミングはおそらくあっていることが予想できる。
となれば、あとは宝箱の設置とオッズアップ、次ゲームへの橋渡しをすればPO率がとうとう計算できることになる。複数画面を見据えて変数なども可変にしておいたので、
ちゃんと2画面でも動作する。
もちろん8画面でも動作する。
案外8ゲーム同時並行の割にはかなりしっかり動いてくれておりうれしい。
さてここまでくれば後は宝箱処理でWINを作成するが、まあとりあえず平均PO率が知りたいのでこのあたりの演出は後回しにして、とりあえず宝箱などによる配当を真っ先に計算させたいと思う。
それができれば各ゲームの配当を合算し、いよいよ我の求めているPO率を時間をかけてチェックする。そして試験が終われば本格的に配当演出、その他微調整、リーチ処理、ワンダーチャンスとの結合などもやっていこうと思う。ここまでくればもう自宅でメテオボンバーが遊び放題といっても過言ではない…?いやしかしここまで完成させるのに数日かかるとは…。





自作メテオボンバー⑦ 起爆処理(爆弾のみ)

 いよいよ起爆処理を施せるようになった。

爆弾からどんどん隣接する爆弾に誘爆されていく様子…を示したいのだが画像では厳しい。一応下の画像では特に輝いている部分が次起爆準備をしているところ。

24番の数字は起爆の爆風により上に上昇中の爆弾である。


これによりHIT処理、連鎖処理、起爆処理、落下処理がつながったのでメテオなしだとおそらくほぼほぼの型が完成した。メテオは画像を用意するのが面倒だがすぐにできると予想している。これができた時、とうとう全消しが本当に成り立つかのシミュレーションを実例で行おうと思う。それで正しいことが確認出来たら、宝箱へのメテオのHIT処理及び宝箱のGET判定、そして配当表示へと結びつけ、腕の見せ所なリーチ処理、そして8ゲームへの拡張を施しだいたいフィニッシュとなる。
ちなみに自分でいうのもなんだが誘爆して連鎖する様子は美しかった


2022年5月4日水曜日

自作メテオボンバー⑥ 爆弾上昇処理

 とりあえず演出だけそれっぽく爆弾が上に行くようにした。

本当はなんかほかにきらきらみたいなエフェクトがつくが、まあこれはいつでも作れるだろうから置いておく。次はもちろん上部に保留される爆弾の配置である。
ここで気を付けたいのが、例えば上の画像で2列目を見ると7,15が爆弾として上昇しているが、これが落ちてくる時はやはり上に7、下に15と位置関係が保存される。
ただしその次の連鎖が起こり、新たに例えば11番などが爆弾として上昇した場合、この場合落下してくる2+1個の爆弾は上から11,7,15となる。
これをプログラミングで組む際は、というかすでにmathematicaでやっているが、
9個の要素をもつベクトル(配列)を7個準備して、爆弾となったマスの剰余をみてそのあまり(例外的に0ならば7とする)が列数を表すので、その配列に順番にぶち込んで行って、次また連鎖で爆弾が生成したらその爆弾の個数だけシフトして、新たに空いたところにその番号を入れるという作業を行う。
そして爆弾の各列ごとのリストを生成したら、あとは上からつめて配置してそれを先ほど作った落下処理のように落として配置するだけである。
まあこのあたりは何年も前にチェーンボンバーでやっているのでそれと基本一緒(ただしプログラムはより簡潔になるようにしている)の作業をすればよいのである。ただし新たに作ったほうが早い。
それができればあとは爆弾の起爆と誘爆処理。それができればとうとう最終結果を得ることができる。試験勉強がなければあと1,2日でそこまで到達するだろうが、試験にも時間を割かねばならずこれはその息抜きなのでそれから逃げるわけにもいかない…。

以下はそれにさらに爆弾落下個数示唆、落下処理まで加えたものである。
これにより連鎖後の爆弾上昇、加えてそれが落下する処理は完了した。
となればあとやるべきなのは最も大変(面倒)であると思われる「連鎖処理」である。

まず各メテオや爆弾でどのマスが次に消えるのかという定義と、それに対する演出を作る必要がありこれはなかなか簡単にできない。


自作メテオボンバー⑤ 連鎖処理一部完成

 とりあえずHITからの落下処理を作りその後連鎖処理を爆弾の上昇処理を除き完成。

HITした場所に[HIT!]と表示されるようになり、そのマスが消える。
そして落下してますが隣り合った場所が連鎖により消えて
さらに連鎖により隣り合う同じ色のマスが消えていることが分かる。

が先ほども言った通り、連鎖のマスに爆弾が含まれていた場合に、上昇し後で落とす処理ができていない。というわけで次はそれを作るまたは爆弾の起爆処理を行うことになる。
逆にいえばこれらができれば最終配置が分かることになる。

まあとりあえずは演出などがそこまで面倒でもない爆弾の上送り処理か…。


自作メテオボンバー④ 数字配置

 とりあえず数字をシャッフルし、さらにそこにランダムで爆弾などを付与するところまでは行った。まあまあ行ってそうにみえるが、これでも初期配置を指定しただけである…。

なんかメテオなどの存在感が薄いがそのあたりはまあ後々調整するとして、ここからHITによる爆発または消去、そして連鎖処理を行うこととなる。一応連鎖処理は演出付きで準備をしているが、それにつなげるためには先ほどの処理が必要となる。
ここからがいよいよメインの処理となる。


自作メテオボンバー③ ゲーム開始準備

 いつぞやの8ゲームBETシステムを引っ張ってきて、また数字が宝箱に収まるように微調整。

ここまで行けば次はいよいよゲーム開始時として、番号と爆弾の配置を行うことになる。
そのために「指数」として、どれくらい番号が上や下に偏るかの指標を導入したいのだが、その指数をどう実際の配置に反映するかは知らない。まあここは別に後付けにして、とりあえずランダム配置してもよさそうである。





2022年5月1日日曜日

自作メテオボンバー② タブ設置・初期配置

 

とりあえずタブだけ設置した。いやしかしここからやっていくのはなかなか大変や。まあとりあえず初期配置くらいまではまずは行きたいところ。

とりあえず枠を配置した。
ここに宇宙の背景を入れてさらにマスを配置していく。
地道に座標を指定して、ついでに数字フォントもメテオボンバーに近づける。
あとはこれを縦方向に増殖させる。
宝箱は今配置してもあまり意味がないので、とにかく初期配置をうまく構成する。
これはチェーンボンバーと同様で、各マスに対して「隣接」を定義し、それと色が異なるまで色をランダムに選択したものからループを繰り返す…としていたのだが、今回は処理を簡略化する。具体的には隣接マスの色のリストを作成し、それ以外の色をランダムに選ぶ、というのを繰り返す。こうすれば「良い」色が出るまでのループをなくせる。
あと隣接マスの定義は当然ながら今後の爆弾や連鎖処理でも使う。まあこのあたりを実装するのは少々先になるが…。
そして以上のようなやり方でループを使わず設置したものが以下。
まあ本物の画像を切り抜いたので、そこそこの再現度にはなっている。
一応これは8ゲームに拡張しやすいように未来を見据えて組んでいる。次は番号配置と爆弾配置および宝箱配置である。とりあえず暫定的に宝箱だけ置いておくか…。
とりあえずここでおいておくか…。




自作メテオボンバー① メテオボンバー作成開始

 さてGWになったということで、この空き時間(5月6日に試験があるが)を利用して、メテオボンバーを再現しようかと考えている。しかしせっかくなので以前の自作アニマロッタへの転用ができるようにプログラムを組もうと思っている。

メテオボンバーを再現するなどいったいどうすんねん、と思うだろうがまあなんかいじくっているうちにできるだろうと予想している。できればGWが終了するまでには自分で遊べてかつPO率調整までできるようにしたいと考えている。

しかしながらまずは画像と音声から探さなければならない。これだけでかなり時間がかかるが、地道にやっていくしかない。まずは画像の切り取り作業からである。なんちゅう地味な作業…しかしいずれひかえる感動を我は見据えている。

なんやこの地味に削り取ったりしていく作業は…。いやしかしこれは未来への希望や



2022年4月20日水曜日

メテオボンバーを自宅で遊べるか

もしメテオボンバーを本物に近い感じで、自宅に再現出来たら面白いのではないか?

そしてそれでPO管理ができればさらに面白いのではないか?

…ということで、ちょっとメテオボンバー再現を視野に入れてみようかと考えている。こちらは楽しい演出を是非ともつけたいところである。我よ、我を楽しませよ

さて、メテオボンバーの実装にあたりまずは音源や画像の抽出が必要ではあるが、たぶんyoutubeの配信か何かで効果音のみ抽出できる動画があるだろう。さらに画像についてはコナステが奇しくもすばらしい画像を提供してくれる。この2つとあとはプログラミング能力さえあれば、メテオボンバーの作成が可能ではないかと考えている。

かつての自作アニマロッタに組み込めるか…?もはや数年前に作成した自作アニマロッタなので、変数などのつながりをたぶん忘れているからそのリハビリからやるか…。


2022年4月19日火曜日

設定別メテオボンバーシミュレーション

 まずはこれまで定義した「標準設定」で、宝箱の結合をなくした場合のメダルの推移を見ていく。

宝箱の結合がないほうが、1000ゲームでのPO率は60%台(ただし全消しなどにより1000ゲーム程度ではPO率が変動しやすいので正確に60%とはいえない)と若干良いことが分かる。誰や宝箱結合システムを考えついたのは。

次に先ほどの設定を戻し、爆弾出現率:メテオ右下:メテオ左下=8:1:1の場合
一見見ると全壊死(全消し)が発生しやすくなったのかもしれないが1000ゲームなので言い切ることはできない。ただ標準設定よりはおそらく良いと思われる。

さて、いろいろシミュレーションもしたということで、そろそろ本物のより詳細な解析や、もしくはメテオボンバー自身を自ら作ってしまってはどうか、ということになってくる。自宅で自作メテオボンバーが楽しめれば面白いだろう。