ブログ内検索

2019年7月25日木曜日

8-4 種まきタイム芽配置

上の画像のように、入った番号に正式に種まきができるようになった。
本家は入った部分の土がピンク色になり、さらに番号は除去されるが、
これも後々実装予定である。これらは瞬間的変化なのでアニメーションや個別の処理を必要としないので楽で助かる。
もちろんこの画像では17,10,22,11に入った状況を示している。初期芽は0。

2019年7月23日火曜日

8-3 ハッピーフラワーの演出作成中

現在、いろいろな演出を作成中である。
花が生成する部分もちょっと演出を付け加えた。

ちなみに、ハッピーフラワーのあまり知られていない設定。
1,花は同時のマスに最大4つ。性質上芽は決して4個にはならない
2,赤色の花はラッキーマスには配置されない
3,花が咲くのはなぜか反時計周りの螺旋状
これらも勘案して作っていくつもり。ただじょうろの演出がしんどいのでここは省略せざるを得ない。
内部のプログラム的には非常に簡単だが、オッズ表などの素材集めが大変や…。

なお本日、なんか調子が悪く38.6度くらい熱があったり。はあ

2019年7月21日日曜日

8-2 番号配置

いつも通り過去のものを流用して番号を配置。
いやしかしマスの配置、自由変形で4スミに16個の情報を入れるのがめんどかった。
さてここからは、いろいろと内部処理や演出を作っていくことになる。
だがなんか、アニマドロップでやりきった感があって飽きている…!?

2019年7月12日金曜日

8-1 ハッピーフラワー製作開始

いよいよ、8ゲーム目の政策に取り掛かることにした。
セミナーの順番はもう10月まで回ってこないが、その分勉強をがんばらなければならないので、一日5時間程度の目途にやっていっている。ちょっと10時間は長いし、長い勉強が学力の上昇に必ずしも直結はしないやん。

今日も朝から自主勉強をして、大学に現在我は存在しており、セミナーまでの空いた時間ちょっと気休めに演出とかの部分でも作ろうかと思っている。
さすがに延々と毎日10時間も勉強してしかも大学とかいっとったら頭お菓子なりそう

9ゲーム分できたら、ナインビンゴモードにしてみるのが理想。

ハッピーフラワーは、処理問題をもはやほとんど無視していいくらいに簡単なゲームなので、問題となる部分は演出だけとなる。
しばらくしたら学食を食べにいく予定。ただ朝からの勉強で頭がすでに疲労状態。
なので最近は勉強後毎日昼寝をしている。なので睡眠時間は10時間とかたぶん普通に超えそう。

で、まずはハッピーフラワーの基盤の切り抜きからはじめるで。

2019年7月7日日曜日

7-19 アニマドロップの設定別PO率

我が悪、普通、良とした3パターンそれぞれ9種類くらいをランダムに生成する実験を行った。それにより、100ゲーム以上(1ゲーム8個なので結局800ゲーム分)のPOデータをとったものである。上から悪、普通、良が100%で出現した場合のものを示している。



1枚目は、そもそも等倍返しすらされておらず、最近のアニマロッタ5のようだ
2枚目はたまにましな配当があるがそれ以外あまりよくない、まるで最近(ry
3枚目は良配置による全消しとドロップ消しの相乗効果でグラフが荒ぶる。
あらぶっている割にはPOは173%とまあ高い程度。

そしてこれらの配置を等確率で出した場合が以下。
まあこれはかなり悪い部類といっていいらしい。
もしゲームを作るならばもうちょっと良い列の出現率を上げておくべき。

手動でいれると全消し7回も可能である。(全消し6回目からは推定のオッズを暫定的に設定している点に注意。本物はこうではない可能性がある。)
390個分の配当が390000で、全消し7回の配当が600000(仮定)で、計990000WIN。美しい
まあ全消し6,7回目はオッズが判明していないので適当に150倍、200倍としたが…。
祝 全国一位

さて今日も勉強をがんばるか…。

2019年7月3日水曜日

7-18 初期配置設定

まさかのここへきて初期配置をついに設定するという。
まあなんでかというと、これ、手作業なのでめっさめんどい。
しかしなんとかがんばって打ち込んで、途中経過が以下。
ちなみにドロップの色を本物に近づけておいた。
ただ、なんか余計に処理が重くなってしまった。
これはたぶん配置型の類似による処理の一極集中ではないかと思っている。
これまでは爆弾の連鎖数で補充やリーチ処理を行う時間帯がバラバラだったのだが、今回は落下したりしない限り同時にリーチ処理を行うことになるのでそれが問題となっているのは間違いない。しばしば500000エラーが出るので、ここはさらなる改良で処理を軽減するのが理想…だがこれ以上どうすんねん

2019年7月2日火曜日

7-17 リーチ演出表示

ようやく全消しや、常時BOMBがきゅっと動いたりチャンスの文字が出たりと少しパワーアップした。もちろん処理はたぶん重く…。

そして常時演出を施したものが下の動画。処理は重いがまあ許そう…。
なお、100MBにおさめるために縮小しているので画質が悪い。

2019年7月1日月曜日

7-16 8ゲームモードリベンジ

結論から先に言うと、とりあえず重いのは重いがまあまあ普通に動くようになった。
おまけとして以下は悪設定と良設定にしたときのゲームの違い。
なんかPO率なんて存在しないとかいう話があるが…それはありえないと思う。
なぜなら我がすでに以下で配当などの調整に成功しているといえるので。
 上は配置があまりよくないいわゆる回収期っぽくしたもの。
とはいっても本物と違い、極端に番号が少ないので不自然というのが問題。
まあこれは比較用にそこそこ強調したのでしょうがない。
こちらの画像はよい配置が出やすいようにしたもの。40倍配当に達しているものも。

一応上の2つはこれまでのものに比べて、アニマロッタと同じような配置パターンになるようにデータをとって(データを取る意味はこういう理由である)シミュレート、というよりもはや再現したものである。

外れドロップ処理はまあ…あとでもええやろ…。

そしていよいよドロップの常時処理、全消し、チャンスなどの文字を表示する段階へと入っていくが、セミナーの準備及び新たに購入したスーパーマリオメーカー2でもやろうと思っているのでいったん休憩。ここまでできれば見ていても楽しい。

せっかくなので動画を投稿しておく。もともと重いのに加えて動画ソフトでさらに重くなってしまう…。
これ、つくった当初はもう惨憺たる結果で、ここに至るまでいろいろ苦労した。
プログラムを作るないし内部処理で結果を出すのはまだしも、やはり8ゲーム同時に演出込みとなると相応に難易度が上昇する。

ただこれでもチャンスとか全消しとかが書かれておらず、BOMBのキュッやナンバーのキラッもないので不十分。出来としては楽しめはするが、完ぺきにはほど遠い…。
しかしこれくらいで妥協しておくか…。

セミナーまであと3日。あのデータ同化、難しすぎて悲しいわ…。しかしそろそろLATEXでまた資料を作成するときが来たらしい…。

7-15 一括変数移動

我はより補充処理を単純にするため、以下の手法をとることにした。

あらかじめ補充段数を取得して、その分一気に変数を移動させる。
それに従い、マスの状況を更新するが、それは当然一気に移動した後なので、段数補充分だけさかのぼってピクチャを「押し戻す」。
そしてあたかも生成されているかのようにピクチャをまた「補充する」。

ただしこれをするとドロップの外枠からはみ出る可能性があるので、そこは来るべき時が来るまで透明にしておくなどの処理を使えばよい。

で、変数の一括移動だが、これは一見簡単そうに見えるが実はそうではない。

例えば最上段が8個のとき、ID20のマスは3段生成でどこへ移動するか。
これは少し考えるとわかるが、7+8+7マス分移動する。(左上から順に1,2,3…とIDを振っている)
最上段が7個だったら、これは8+7+8分移動する。
そしてそれ以外にも新しく補充するマスについても同様の処理が必要となる。

7+8+7のような和はループにおいて面倒なので一発で式で表したい。
そうすると、ちょっと考えると以下の式を得る。

(75*n)/10

ここで注意したいのは「/」の演算子は普通に割るのではなく、割った値を切り捨てたもの、ということ。いわば通常の意味での「/」の整数部分をとる、ということである。

例えばn=1ならば7.5で、整数部分をとるので7。
n=2ならば15でそのまま15。このようにすると、一つの式で7,8,7,8と続く級数を表現できる。楽で助かる。

ウディタの性質上、先に75/10で7.5にすればいいやん、というやり方は通用しない。
ウディタでは小数を表現できないので。なお、ウディタでの今回の特殊な意味での「/」に相当する記号は「÷」である。

最上段が7個のときも同様にして、(75*n+5)/10を得る。

こうすれば補充1段ごとのかくつきが減り、しかも処理が減るという利点。
先日簡易化したリーチ処理との相乗効果で、よりスムーズなゲームが可能になる…と思う

7-14 番号個数問題について

調べてみても規則がわからなかったので、それっぽい感じでもう組んでいくことにする。
なんか、補充された最初のうちは0個が多い、という規則から、もしかして逆算型か?と勝手に解釈したので、以下の仮定をもとに補充を構成することにする。
(あと、配置可能数マイナス1個までしかし配置されないっぽいこともたぶんわかった。)

現在盤面に存在している個数+抽選終了した球数の和をnとする。
最大配置個数はn-1個と統計から推測される。
最初のうちは以前定めた悪、普通、良配置の規則に従ってパターンを構成する。それを繰り返して補充するが、もし残りの配置可能個数を上回るような生成が選ばれたら、それはだめで、残り配置可能個数におさめる。
以後は配置可能個数0となるので、適当に番号が0個のマスをおぎなっていく。

ただしこれは逆算型なので、先に補充回数を調べておいて、その後後ろから配置規則を読み取っていくスタイルをとろうかと思っている。

このようなやり方を取る理由は、なんかどうも上で番号がでたときは下のほうの番号の密度が疎な感じがするので。

いろいろな動画や画像を見ればわかると思うが、補充開始時のドロップの列は明らかに相対的に番号配置数が少ない。
これはもしかして本物も逆算型の構成でプログラムを組んでいる…?

ちなみに初期配置はいわずもがな一定の決まったパターンがある。


以上により、番号配置個数問題は解決。次は番号配置問題。
これは、現時点での盤面及び抽選されたボールを格納していき、大丈夫なフラグが立っているものを選択して順次配置、という形をとろうと思っている。

何気にこの2つのプログラムは数十分でできるほど容易なものではなく、やっぱり少し時間がかかるだろうと推測される。

次からはそのプログラムの構成などの話をしていくか…。


7-13 補充処理簡易化

やっぱり補充の規則が適当だったので、意を決して動画などから配置パターンを集めてこれらをほとんど定義した。
だいたい8個と7個のパターン併せてたぶん60パターンくらいみつかったと思う。
こちら側の設定でよい配置の出現率を上げたりできるシステムも組み込んでいる。

まあ実際のアニマドロップで、明らかに全消しさせないためかはしらないが上2段分にBOMBが突然数が少なくなることはよくあることで、これの再現もできなくはないがまあいつでもできそうなのでそういうのは無しにしておく。

しかしここで問題となるのが、番号補充の規則である。
番号に何が入るかは、現在の発生可能番号を25個の変数で定義しておいて、番号発生で9列分カウントが行われるまで不許可としておく、などでよいと思う。なので各25個の変数それぞれには過去さかのぼって何列目で出たか、を格納しておき、9になれば0にして出現可能になる、という具合。もちろんせり下がり1回ごとにこのカウントは25個の変数に等しく1ずつ増加が行われる。
これで番号についての問題は解決すると思われる。
しかし…。

番号の配置個数の問題が解決しない。
もちろん処理や見栄えを重視しないならば、解決方法は出てくるが…。
例えば8球目が発生するとき、盤面に出てよい最大個数は18個である。
しかし生成パターンを見ると、1列あたり2個が平均的な番号の出現率である。
ということは…。9列あるとすると、普通に18個をオーバーしてしまう。
となると、以後は0個のものしか列生成ができなくなり、なんかしりすぼみで見栄えがよくない。
かといって9列分で18個となる構成を探知するのにもループが発生して(しかもそこそこの確率なのでループに時間がかかる可能性がある困る。

というわけで、ここは苦肉の策だが、生成後の残り1列ずつの平均可能性を随時算出してそれに近い形の配置個数を設定するか…?

しかしセミナーがあと5日で襲ってくるやん…!おまけに模試も7月18日くらいにあるし。
あれでAやB判定を出すにはたぶん偏差値70超え(東大と同じ偏差値)必要なんや…まだ今では無理やろ…。しかしこの夏は本気でやる予定。