このブログ内を検索可能

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回演出を行うときがある
②小数点以下計算のずれによるリーチ文字誤表示