ブログ内検索

2019年6月30日日曜日

7-12 7ゲーム同時(高設定)

せっかくなので、そこまで処理の重くないアニマドロップ2面と他6ゲームをやってみようと思う。ちなみに高設定にしてある。

まあアニマドロップはまだ処理を軽減する必要があるが、とりあえず通常ゲーム9個うちだいたい7個完成したことになる。残すはハッピーフラワーとサンダースマッシュ。
ハッピーフラワーはまああれで、サンダースマッシュもそんなに処理が重くならないはずなので、アニマドロップさえなんとかすればこの処理重い問題はたぶんなんとかなる。
リーチとかチャンスとかをドロップに表示したいと思っており、一応そのフラグはすでに立っておりあとはそれに従い配置するだけだが、すでに処理が重めだったのでもうちょっと何かしらの対策を施す必要がありそう。
特に、補充処理に関してはまだまだ無駄が多い気がするので、今後はこの辺りをもう少し簡単にしたい。

2019年6月29日土曜日

7-11 落下処理簡略化

ちょっと考えてみれば分かったが、我の落下グループ分けよりもうちょっといい方法あるやん。最上段にフラグ1をつけてそこから順にくっついているものをフラグ1にして広げていけば、かなり少ない試行回数で落下判定ができることに気づいた。
なぜそんなに落下判定にこだわるかというと、これ、リーチ処理で毎回25回も試行するからである。
これを修正することでちょっとはましになるかと思う。

そしてもう一つ、連鎖処理の内部処理のみだけのやつで簡単な方法を思いついた。
これも画期的で、いちいち25回分の連鎖処理をしていたものを1回のみに簡略する方法である。これにより、前半部分は単純に見積もって1/25、後半も相当の処理軽減が見込め、リーチ処理で500000個問題を解決できるのではないかと踏んだ。

そういうわけで、イメージをもちながらなんとなくプログラミングを進めていく。
ちなみにプログラムを組むときは感覚で組んで後でおかしいところが大量発生するのでそれを修正して完成、という形をとっている。


その結果、時間がかかったが修正完了。とりあえずゲームとして成立するようにはなったが、依然としてやはり思い。


しかしこれでもまだあまりスムーズに動かないので、あとピクチャの一瞬ずれ問題が顕著になってきたので、そろそろイベントを統合する必要性がでてきたかもしれない。

2019年6月27日木曜日

7-10 8ゲームモード壊滅

悲報

重すぎ

ウィンドウの上のEv処理が100を超えてばっかりで、1フレーム500000個エラーが頻発している。一応動作はするが、もはやゲームどころではなく、ほとんどコマ送りと化しており話にならないとかいうレベルを超えている。
画像だけ見ればいい感じになっているが、実際の挙動はもう悲劇そのもの。

ということで、明日からはこの処理をなんとか軽くする方法を考えていくことになる。
ちなみに上の画像、何気に描画されてはならないピクチャがあったりするのでこれもアウトや…。

8ゲーム全部ドロップにしないとまあ許容範囲。とはいえ…。
なんか右側のドロップ、BOMBと番号が少ないような気がするが・・・。これはたぶんなんか間違えてそう。



余談

一応我なら全ゲームのPO率を標準的な条件下で求めてどのゲームが最適かを割り出して攻略(消極的)することはできなくもないが。自作アニマロッタは確率を求めるだけでなく、そのゲームを作る、というところまで再現しているので、確率を求めるくらいなら適当にプログラミングしておけばよい。

一応 ビンゴファーム>アニマツリー>ハニーエイトだったような。
それ以外のゲームは例えばチェーンボンバーなどは爆弾出現や配置でいろいろ変化するので一概に求めることができない。今回のアニマドロップがその最たる例。






7-9 配当獲得演出

ついに配当が表示されるように。
ちなみにこのぺろぺろきゃんでぃーは実際に撮影したものの周囲をペンできりとって透過処理を施して色の補正を変えて、全消しの文字などを分離してつくったものである。
位置もなるべく本物と近くなるようにがんばった…が一人ではこれが限界。

さて…残すところとしては、
リーチ処理、タブに関する表示、外れドロップの処理を中心としてその他いろいろ修正。いやしかしリーチ処理はけっこう重い処理や…。

7-8 オッズ表配置

以下のようにスライドするオッズ表をいつも通りつくった。
これにより、いよいよ左側がすかすかでなくなった。

で次は何をするかというと、配当表示と全消し表示。
ちなみにこれで配当を出すことができるので、いよいよ配当をタブに表示することになる。

7-7 獲得個数表示

いよいよ獲得個数が表示されるようになった。ちゃんと12から25個とかなら1個きざみで増えていくようにした。1個増える間隔は基本的に2フレーム。
これで個数が取得できるので、配当が表示できることになる。
しかしその前にそろそろオッズ表の作成に取り掛かろうとも考えている。

2019年6月26日水曜日

7-6 一連の挙動完成

とりあえず、まだ生成処理は規則が不明なので汚いが、一応HIT→連鎖→落下→補充という一連の流れを作ることができた。
次からはそろそろ配当計算、そしてオッズ表、GET個数など細かいところに入っていくことになる。
あとはずれドロップの処理を無視しているのでこれも最終的には完成させる予定となっている。
というわけで、とりあえずはちょっと画像を付け加えた。はたして違いが分かるか…。
答えは、上の待機ドロップを作成したのと、屋根を補った。
ちなみにこの屋根は我が実地で取ってきたものを加工した。
いつでもよりよい画質のものに変更することができるようにしている。
たぶん意味ないと思うが、マスのピクチャは151から220で指定、番号は221から290で指定、そして上からせりあがるドロップは291~306で、さらに今回追加したドロップ(青色固定)は307~314で描画している。もちろん屋根はこれより上に描画するため400としている。
左上のゲームなので一律このピクチャ番号に10000を足すようにしている。

次にちょっとしたのほうも、とってきた画像などを駆使して地道にペイントで周囲を削ったりしてがんばる。
とりあえず次は配置するだけオッズ表を配置しようかと思う。
オッズ表の動作については、まあビンゴファームやハニーエイトと同様の手法となる。
当時はじめてスライド式オッズ表を作った時はちょっと手間取った気がしたが…。

2019年6月25日火曜日

7-5 アニマドロップ中間発表

特に苦戦することもなく、とりあえずHIT→連鎖→落下の処理まで基礎は久米田じゃなくて組めた。
とはいってもわからないと思うので動画化した。
当然、未完成だが、なんとなくアニマドロップっぽさを感じられるかもしれない。
さて、ここまでくれば後はいよいよ補充処理。
これは難しくないのだが、なにしろこのアニマドロップの最大の難関はなにかというと、
補充の規則がわからない、ということである。
そのため、こちらもどのように本物に近づけてよいのかわからない。

あと、番号の生成規則も同じ番号が出ないようにしなければならない、くっついているように生成されなければならない、など最低限の条件でもけっこう「ごついプログラム」を必要とする。
まあこの辺りはなんとなくでいいか…。

2019年6月24日月曜日

7-4 落下内部処理

とりあえず以下のようにすでに落下すべきマスにはしるしをつけることに成功している。
さきほど記事を書いているときに思いついた方法で処理を軽減している。
緑がとどまるドロップ、青が落下するドロップである。
分かりにくいが、緑が一番上まで「くっついて」いる。
本物はこの上に少しだけ見えるドロップがある。まあこれもいずれ描画予定。
もちろん、落下処理を実際にするときはちゃんと普通にここから落下してその途中に不透明度が下がり、ポリポロリンといいながら下から飴などがバウンドして個数が増加してオッズ表が…といろいろ演出を付け加えたいところだが…。

まあとりあえず落下すべきマスを指定できたので、そろそろ初心に帰ってHIT処理からやっていくとするか…。
ちなみにHIT処理は、爆弾が自身から黄色っぽいわっかエフェクトを出しながら爆発するので、起爆で消えるマスに対してもフラグわけが必要となる。これは単に爆弾の周囲について、そのマスが普通なら1で空白なら0、爆弾なら2を代入して帰納的に繰り返して、爆弾がなくなった、つまりフラグ2が消滅した段階でループを終えるだけ。
…と口では言うものの、意外にプログラムを組むとあまり迷っていなくてもやっぱり時間はかかる。
とはいえ、さすがにアニマドロップは以前にも似たようなものを作っているのでずいぶん簡単。あのときは1ゲームしか対応していないのに苦戦したが…。

はやく全消し5回100倍とかの配当を自分で作って勝手に自分を興奮状態にもっていきたいと思っている。
余談だが、どうも全消し1回で3倍、2回で10倍、3回で30倍、4回で50倍、5回で100倍の配当らしい。まあ我は3回すらしたことないが。もう本物のアニマはいじわるやからなあ(棒)
30回以上ビッグとスーパーやっているのに一度もワンダー突破しないし。
アルティメットに至っては0回で「未実装」(笑)



7-3 グループ分け処理

先に処理の時間がかかりそうなものをすましておいた。
なおこの処理は、グループ付与のループ文の中に、各マスのグループ付与判定のループがあり、さらにそこから周囲6マスに広げるループ文をもち、これらの繰り返しが行われる条件下での無制限ループを行う「ループ4重構造」によって成り立っている。

さすがに以前つくった時とは違い、この辺りはスムーズにいく。
上のようにグループ化して、もちろん落下条件は各グループ1~に対してマス番号1~8が存在するかどうかである。そのようなマスが存在しない場合はそれは最上段とつながっていないことになりそのグループ全部は落下の対象。
これによりグループ分けと落下処理の内部がだいたい完成することになる。
もちろん奇数回せりだし時の場合も作っている。
たぶん上のような画像は過去に「自作アニマロッタ風ゲーム」であげていると思う。
このアイデアは我が以前考えたものである。今回はよりコードを少なくかつ分かりやすく、さらに時間をかけずに改良した。

ちなみに上の場合ではグループナンバー4,5,6,7,8が落下の対象。
まあ初めて落下するグループが出れば、グループ番号の付与規則から以降のグループ番号のなかで最も若いマスは必ず全グループ番号の若いマスより大きく、そのマスですでに8を超越しているので問答無用で落下決定、としたほうが幾分か処理は早いと思う。
もう少しいい方法があるかもしれないが、すぐに思いつくのはせいぜいこんなところ。


2019年6月23日日曜日

7-2 基盤を配置

かなり汚いが、とりあえず基盤だけ配置した。まだ何も起こらない。
上は描画されていなかったので欠けている…。どっかの画像をもってきてくっつけて補うか…?
ここからいろいろ貼り付けていくが、とりあえずはまずはマスを配置する必要がある。
このマスの配置規則は以前みたいに全部値で指定しない方法を考えている。

ちなみに現在はハニーエイトのPO率を計算させている中である。
余談:8ゲーム同じモードで100ゲーム、つまり800ゲーム分のPO率は以下。
ビンゴバルーンはFREE1個?であまり適当でないおまかせ配置で55%、チェーンボンバーで70%、アニマツリーで72%、ビンゴファーム(緑のみ)で80%と出ている。

いやしかしPO90%超えのゲームがまだ出ていないか…。
POが80%やと10000枚用意して1000BETずつしたらおよそ50回でなくなる計算。
まあそんなものか…。

7-1 アニマドロップ作成開始

ビンゴファームなどの期待値を求めさせている傍らで、そろそろアニマドロップの制作を開始しようと思っている。アニマドロップの基盤は公式サイトにあるのでそれを地道に削っていくことにする。BOMBはすでに以前類似ゲームを作っていたのである程度そろっている。
結構画像と音源を用意するだけでも大変だということは何度も言っているのでわかると思う。明日は忙しい日なので進まない。

まあとりあえずどう進めていくかというと、
1,画像用意
2,マス配置
3,HIT処理(隣接マス定義)
4,連結判定からの落下処理
5,連鎖処理
6,生成処理
7,オッズ表の遷移
8,リーチ処理(これをいかに処理軽減するかが重要)
9,配当表示、リーチ表示
ということになる。
言っておくがこのゲームはおそらく高額配当が期待でき(低確率だが)さらに見ていても面白い。これはつまり、作成が大変であることを示唆している。

いかに各プログラムでの肝(重要事項)を載せておくと
1,がんばる
2,最上段奇数個、偶数個による配置構造の違いに注意
3,大爆発、超爆発の定義が力勝負あるいはうまくできるか
4,ここで処理速度をいかに軽減できるか
5,特に問題ない
6,生成規則わからんどうすんねん
7,特に問題ない
8,鬼門(長さ+処理速度的な意味で)
9,特に問題ない

長いプログラミングになりそうや…。一応クラッシュドロップも見据えて作っていくことにする。アニマツリーはすでにヘブンツリーを見越して作成している。

5-11 ハニーエイトのラッキーマス

現在の我の自作ハニーエイトではスタートマスは番号マスでないところにランダム、ラッキーマスはある番号に配置されるようにしている。
しかしラッキーマスの配置規則はわかっていないが、少なくともチャンス!やリーチ!と書かれていないところはそこはラッキーマス化するところと見積もられる。

本当は上の規則に従うと、スタートやラッキーの出現後に最低2マス周囲に番号がある、というそれっぽい規則を満たさないのが問題。
ラッキーとスタートの周囲で1マス以下のチャンスあるいはリーチはたぶんないと思う。
まあ我のハニーエイトは条件があまく(ハニーだけに)そうなっているんだが。(寒)

なので最終的な我の見解としては、ラッキーマスは周囲に2マスは番号が配置される(これがつまりラッキーマス含めて3マスが連なっている、という予想を裏付ける。ただしこの条件は必要条件であるが)位置に設置するべきである。
そして、うまいことに固定18マス以外の7マスをどこに配置しても必ず3マス連なった場所が発生する。たぶんこれに気づいている人は皆無だと思うが。
よってランダム配置となる7マス分をどこに配置してもラッキーマスの候補は生まれる。

ということでその規則に従えばハニーエイトの規則はほぼ完全に満たされると思う。
ただ、まあ面倒なのでそのあたりは気が向いたらでいいだろう。
プログラムとしては普通に各マス周囲を判定して番号2個以上ならば候補としてマスを記録していってそこからランダムに選んでラッキーマスとする、ただそれだけの話なので。

6-11 アニマツリーほぼ完成

継続の要件などを満たし、ようやくそれっぽいものができた。

動画にしてもたぶんそこまで圧巻?でないので省略。
次からはアニマドロップの制作を開始する予定となっている。いよいよ7ゲーム目突入。

あっ今度はCREDITタブがきえとる

参考までにアニマツリーのPO率推移を張り付ける。
なお、2FUPを70%、3FUPを30%、オッズ2倍を20%、3倍5%、4倍3%、5倍2%と適当に定めている。たしかにこれではふえるはずがないやん…。
分かっているとは思うが、100%のところでBET分のWINが返ってくるので、100%を下回ればそれはマイナスを意味する。

6-10 リーチ処理

今回のアニマツリーのリーチ処理は、オッズアップ部門とフロア部門に分かれる。(なにいうとんねん)
とりあえずまずは現時点での相対上昇階数を読みに行って、各番号に入った後の上昇階数とを足し合わせてその相対上昇で配当を読みに行ってあとはオッズアップを考えるだけ。
なのでアニマツリーのリーチは非常に軽い。
ということで作った。まあ動画は、あまり…。
しげみで番号履歴が隠れてしまってるやん…。

2019年6月22日土曜日

6-9 アニマツリー8ゲーム仮

実はピクチャが手前に出て非常に見苦しい問題が発生したので、急遽タブのピクチャ番号を上げてツリーのピクチャを隠すことにした。
そうしてなんとかごまかせたのが以下。
なお、まだリーチ処理は作っていない。といってもこのアニマツリーのリーチ処理は非常に簡単。だが今日はアルバイトがあるため晩までできない。

いまちょっと気づいたが、9ゲームモードにすると悲しいことにタブを90000台にしている以上まずいことが起こる。そのときはピクチャ85000からを9ゲーム目(ハッピーフラワーのみ9ゲーム目としてたぶん存在する。ナインビンゴモードでは)とするか…。
ちなみにタブの部分はピクチャ番号が上がって多くのものの上にくるようになったため、
まんなかのツリーが表示される部分は透過されるように全部手作業で変えた。

あとは30F到達とかの音もとってきたし、そこらへんの演出もついでなので作ってみるか…。ちなみにあの演出は全画面らしい。
じゃあ30Fと40F両方同時達成だとどうすんねん、という問題が。
まあそういうのはたぶんレアケースだがこの場合だとたぶんピクチャがかぶる…がまあそこらへんはええか。
次の記事ではアニマツリーのほぼ完成形がアップされるだろう。
ただし今日は夜までアルバイトで何もできないのでアップは夜になると思うが…。

2019年6月21日金曜日

6-8 リーチ処理について

残すは、音源をとってきて、リーチ処理と配当表示に結び付けて終了、というところまで来た。一応継続要件も定義しておいた。たぶんうまくいっているだろう。
なお30,40,50F到達アニメーションは無視した。まあこれは…りんごを定義したときにでもやればいいか…。
ちなみにりんごの定義はまだまだやらない。とにかく9ゲーム作らないと話にならないので。
というわけで、明日には6ゲーム目がだいたい完成する予定である。
これで作ったゲームはビンゴバルーン、チェーンボンバー、ビンゴガーデン、ビンゴファーム、ハニーエイト、アニマツリーということになる。
残すはアニマドロップ、サンダースマッシュ、ハッピーフラワー。
なぜこの3つが残ったかというと、
すでにこの3つ、実は過去に作ったことがあり、半ば飽き気味だからである。
ハッピーフラワーは大昔、5000行とかかけてがんばった大作(笑)である。
(5000という多い行に対してその中には行を集約できるものがたくさんあるという、つまりは見た目はぎっしりだが本質はスカスカという意味での皮肉まじりの表現)
サンダースマッシュは自作アニマロッタ風ゲームですでに実装した。
アニマドロップは赤ボム、紫ボムなどまで付け加えたものを上記と同様のゲームのJPCとして設定した。
ワンダーチャンスもJPCも実は過去に作っている。
つまり、すでに我はアニマロッタのほぼすべてのゲームを再現していることになる…が、
やはりクオリティを上げたいので、過去に作ったもののコピペではなく普通にまた一から作ろうかと思っているかもしれない。
なにしろ昔作った奴はピクチャが固定なので、これをいじくるのが多いとめんどい。
そしてなにより、複数のゲーム対応がだめな可能性が高い。

以前はそれをしらんかったんや…。
おまけ:ゲーム終了後上の画像が表すグロさを想像できる人挙手

6-7 オッズアップ処理

今日はオッズアップ処理とリーチ処理をやろうと思っている。
ただ、例によって朝から予備校で昼から大学で明日は昼から晩までアルバイトなので、我にあまり時間はない。

で、オッズアップ処理はどうするかというと、普通に中心が白っぽく、左右が赤っぽいピクチャを用意して、オッズアップ!の歪曲文字を用意し、あとは星がある点を中心として時計回りに円運動。
これはもう普通にcosとsinと座標移動で直ちにわかる話なのでよい。
具体的には、中心(a,b)で回転半径がrで初期偏角が0とするならば、今回は時計回りで、ウディタはたしか時計回りを正ととることに注意すると、Δtの時間ごとに座標(a+rcosΔt,b-rsinΔt)を取ればよい。
まあΔtを十分小さくとればほぼほぼ円っぽくなるのでいいと思う。
たぶんほかにもやり方はあるが、ひとまずすぐ思いつくのはたぶんこれ。

ほかのオッズについても同様。
そしてオッズ表の上に光が生じて配当が置き換わる。あとバルーンが生成。

リーチ処理と配当処理をその後まとめてやって、アニマツリーはだいたい完成に。
30F到達!とかは…まありんご取得まで意味ないし…。後でもええやろ…。

ということで以下の画像を見ればそれっぽのがわかるだろう。
cosやsinをすぐに求めてくれるのがうれしい。
まあ無理ならテイラー展開の途中項でうちきるあるいは平方根プログラムを作れば終わりだが。
星は複数出てそれが時間差で同じ軌跡を描くのでわかりやすい…?


2019年6月20日木曜日

6-6 配当GET演出

配当は星が透明から半透明へ拡大率を軽減させながら一定の角速度で回転しつつ中心一定座標で星が出現した後ホラリチャンである。
…となるとまずは星の画像から自分で作る。
とりあえずこれで配当表示が終わったので、あとは継続要件、リーチ処理などになる。
リーチ処理は、単純に現在の相対上昇階数と、HIT状況を鑑みるというただそれだけの話で、処理速度、処理共に簡単。

6-5 フロアアップ処理

まだ最上段補充が不十分だが、こんな感じ。
こうしてみると、やっぱり木が汚い…。

これができれば次にやることは配当とオッズ表の演出。

6-4 オッズ表配置

あかんこれはあまり出来の良くない作品や…。
その理由↓
木の隠れ部分が多くて木の幹が汚い
その他細かいところ(配当の文字はもうちょっと縦長、など)はあるが、これくらいが限界か…。もちろん直すことができるが意味合いが薄いし面倒。

さて、ここからはフロアが上昇するときのピシューイの処理と、あとはnF(n∈10ℤ∧n∈[30,50])でのテンジンジャーンの処理が必要。
この後にりんごやDIRECT処理が続くがまだこの概念は作っていないので後回し。
どうでもいいけど、システムデータベース27までになってしまう不具合があるような気がするが気のせいか…?

それに加えて、配当GETのホラリチャンと配当表の演出。
これらができれば、おおむねアニマツリーは完成だろうとみられる。

これが終われば、いよいよあのアニマドロップの制作に移ろうと考えている。

2019年6月18日火曜日

6-3 HIT処理

まあとにかくHIT処理をやっていかないと話にならないのでそれをした。
現時点ではただHITして演出が発生するだけ。
階数が0とかなっているのは現時点では気にしてはいけない。
あとはここから何階上昇するかだが、これは非常に簡単で、
下4マスから順にみていく(右下は例外)作戦で普通にいける。
もちろんのこと我にアニマを表現する技術はないのでアニマが実際に登ることはない。
もしアニマがいたら登る経路の定義もする必要がある。
まあ本物のアニマもたまに変な経路をとってはしごを登らないことがある細かい不具合があるが(それをいえば、ハニーエイトの番号が常にフラッシュ繰り返し、タブ切り替えでチャンスカード回転しっぱなしなどあるが)

6-2 マス配置

なんていうか…素材が少ないため我にはこの非常にぎこちないツリーが限界なんや…。
ううんこれはかなりいまいちなできばえや…。
これ、オッズ表の配置場所をどうすんねん…。
ツリーを右にずらすという方法が考えられるが、実をいうとピクチャなどの競合の関係上それができん…。
とりあえずなんとなく配置してみた。一応マスから光が漏れたり2FUPが回転するくらいにはなっているがまだ全然完成していない。
とりあえず次はある規則に従った番号設置。
さて、いよいよ次からは各演出の作成に移っていく。
一刻も早くほしいのは、やはりはしご出現とマスHITの演出。
そして配当のホラリチャンの音である。

2019年6月17日月曜日

6-1 アニマツリー製作開始

ハニーエイトの連荘処理をしていないが、まあとりあえずおいておいてアニマツリーの制作に入ろうと思っている。まずはいつも通りタブだけ貼り付け。
いやしかしまた白紙か…。とりあえず画像と音源をとってくる必要がある。
しばらくの間はこの作業に徹することになるか…。

なおアニマツリーはリーチやピクチャの処理の関係上、かなり処理が軽くなるとみている。なので作るのに時間はかからないかもしれないが、そうはいっても我も忙しいので1週間はかかるか…?

2019年6月16日日曜日

5-10 ハニーエイト動画化

ハチ問題は一応解決したので動画にあげることにする。
ちなみに連荘数は現時点ではランダムに開始時1~10になるように設定されている。
もちろん今だけの話である。
これでほぼ5つのゲームが出来上がったことになり、ついにアニマロッタの例の9ゲームの半分に達したことになる。(シークレットとかは除く)


ちょっとハニーエイトに関するもろもろの小さい修正(表の該当箇所を光らせる、開始時に連荘ボーナス付与、LUCKYマスの挙動が少しおかしい、一つ番号がない(おそらくスタートとかぶっている?)など)を加えれば、まあ許容範囲の出来。やっぱり本家そっくりにするのはかなり作業的にきつい。

ちなみに、もし次ゲームを作るなら、アニマツリーを作ろうかと考えている。
ただそうとなるとまた画像と効果音からとってくる必要がある…。

ところで、並立処理を増やす過ぎているせいかピクチャの残党がでてきてしまう問題が。
いまならもう少しうまい方法を考えるかも。(モードによる座標変換をあらかじめ行うなど)
まあそれはおいておいて、先に進んでいくことにする。

5-9 ハニーエイト仮完成

ハチがどんどんずれる問題をどうにかしなければいけないが、それを除くとまあほぼ完成といってよい。以下はその画像。
やっぱりハニーエイトは配当獲得率が悪いらしい…。
たしか以前確率を計算したら60%ちょっとだったような。

5-8 エイトボーナス実装

ついに我のゲームにもエイトボーナスが実装された。7連以上の時、12個以上GETであの例の演出が出るようになっている。
残すは配当獲得時の大きなはちみつがでてくるアニメーションだけ。
これを作ればいよいよ8ゲームへと拡張する。

5-7 オッズ表作成中

リーチ処理がいよいよ終わり、これと配当などを結び付けた。
そしていよいよオッズ表の作成にとりかかっていく。

5-6 リーチ処理開始

オッズ表などの作成もする必要があるが、とりあえずまずはリーチやチャンスの文字を表示させるため、リーチの処理へと移っていく。
ただし、いちいちHIT処理と同じことをするとちょっと無駄があるので、ここはリーチ処理専用のプログラムを作成する。
このハニーエイトは順序に関係しないという性質を利用する。
例えば3球まで終わったのなら、その3球の番号の周囲のマスに1でもなんでもよいのでフラグをつけて、発火点となる拠点周囲に1が存在していればその1は真にはちみつとして実体化する。

2019年6月15日土曜日

5-5 途中経過

とりあえず現在の状況を動画化する。まだ全然オッズ表や配当などが完成していないが…。


5-4 基礎の動き完成

すでにHITではちみつが広がったり、拠点が追加されたり、演出付きのハニーエイト(オッズ表など除く)はだいぶん完成に近づいてきている。
ちゃんとリーチ文字に演出があって、しかもHITした文字は半透明になるところまで再現しておいた。
ちなみに、上の画像を見ると14番だけリーチなのに赤色になっていないが、これはいわゆるラッキーマスである。ここにHITすると空白マス(中央除く)のいずれかに拠点が追加されるようになっている。

5-3 演出を作成

まずは演出作成。以下のようにハチが来たりLUCKY演出などを地道に作っている。
このあたりはとにかくトライアルアンドエラーなのでひたすらテストプレイの連続。
たぶんある程度の演出が終わったので、そろそろゲーム内部のHIT処理に移っていこうと思う。ここからようやく真の意味でのプログラミングが始まる…?

でHIT処理はどうするかというと、普通に61マスの番号を確認して入った番号と合致すれば今しがた作ったハチが出てくるアニメーションをやる。そして広がる条件(これも作る必要がある)に合致すればはちみつが広がる演出。
あとはLUCKYなどの例外を処理すれば事実上はこれで一応動く。

だがこのハニーエイト、やっぱりビンゴファームと同様に、動くオッズ表を作成する必要があるのでちょっと面倒。

5-2 マス配置

ちょっともとの画像があまりなく、削るのが大変だったので外枠もゲーム側で指定してピクチャとして描画することに。
昔はキャンディドロップとかいうゲームで座標を一個ずつ地道に指定していた気がするが、あれは大変やった。
しかし現在はものの10分程度?で簡単に以下のように配置することに成功。
一つ初期座標と隣との間隔が分かればあとはsinとcosを使うとほかの座標などはすぐさま判明する。


次はマス配置となる。マス配置の規則も一応決まっているのでそれに従う。
今思いついた案としては、やっぱり1~25と0が39個の数列をコモン変数に格納させてから無作為にあたかもランダムになるまで最初1~25にシャッフル操作を繰り返して、初め19個?(固定されるマスの個数)取り出して、残り6個と39個の0を入れてまたシャッフルし、順番に配置されていない(=まだマスの番号が0であり、かつ中央マスでない)ところに準備ぶちこんでいく。即座に思いつくのはたぶんこれくらい。せいぜい100~200回シャッフルなので処理も特に重くならないのでよしとする。

5-1 ハニーエイト作成開始

さていつも通り、かなり大変な画像作成、加工から始めていく。
とりあえずタブなどを作っていく。
いつものことだが、再びゲームは白紙に戻った…。

せっかくなので、ハニーエイトのルールを書いておく。
まあ基本的なルールは知っていると思うので省くが、注意すべき点を挙げておく。
数字の配置はどこかに書いていたと思うが、ある程度規則があるので、それに従って配置していく。
STARTマスは数字の番号に配置されない。
ボーナス蜂は番号の書かれていないマスに配置される。
そしてLUCKYマスの扱いについて。これはまだ確定事項ではないが、調べたところによると初めにラッキーマスが抽選されているらしく、そのマスにHITすると蜂が配置されずに拠点が追加される。なお、そのLUCKY予定マスがすでにはちみつがそこの手前まで広がっているときは、マスはひかりはするがリーチとは書かれない、という処理で扱うことにする。

2019年6月14日金曜日

4-10 4ゲーム別ゲーム

おまけだが、以下のようにカスタムも可能。

2019年6月12日水曜日

4-9 ビンゴファーム完成

あともう少しだけリーチの取得速度を上げたいという願望があるが、おおむねこんなものだろうということで再び完成形を動画にあげる。

以下の動画では、上3ゲームを赤カード、次の3ゲームを青カード、残りの2ゲームを普通の緑カード、というふうに設定している。もちろん、各ゲームそれぞれ出現率を変化させることも可変データベースで簡単にできるようにしている。

普通にやったものなどを動画にしたかったが、たぶんこれ、リーチ処理での画面の動きが激しいからか、たぶんエンコードかなんかの問題で容量が重くなっており、100MBを超えることができない。ということですぐさまゲームを終わらせることにした。

画面を小さくしてようやく100MB以下あたりにおさまった。
実際のプレイ画面はもっときれいなんだが残念。
実は本家と違うところがあるが、まあそこは気にしないでもいいやろ…。
例えばスーパーやハイパーが2個以上のときに吹き出しで×2とかが出たり、ある番号でスーパービンゴ成立でもその番号が2つに散らばっているときはスーパーリーチの演出にならなかったり、など。このビンゴファームはチェーンボンバーほどの演算量?を必要としていないらしくそこまで重くなくてよかった。

これでビンゴガーデン、ビンゴファーム、ビンゴバルーン、チェーンボンバーを作成したことになる。残すはアニマツリー、サンダースマッシュ、ハニーエイト、ハッピーフラワー、アニマドロップである。
この中で処理落ちを危惧するものはたぶんない。処理落ちはそのままピクチャの移動に直結するらしく、それがダイレクト(虹りんごのことではない)にダメージを与えるチェーンボンバーがなかなか痛手だった。(動画をみればわかると思うがたまに爆弾のエフェクトが消えていたりする。ただし内部処理はちゃんと起動している)
しかしハニーエイトはその場でのエフェクトなので大丈夫そうで、アニマドロップは大変そうだがこれもその場での爆発なので、ドロップが下降する場面を除けばたぶんOK。ただアニマドロップの落下判定は我の考案したグループ分け操作が必要で、これがちょっとプログラム的に重い。これを8ゲームでどうさせるかがカギとなる。
サンダースマッシュは前の「アニマロッタ風ゲーム」ですでに作っている。
ハッピーフラワーは単純すぎて作る気がおきん…。なにしろこれは今から5年くらい前でも作っていた記憶がある。あのときはかなり面倒なやり方でやっていたが。
ワンダーチャンスもすでに前のブログなどで紹介している。ただあれらのこちらにそのまますぐに流用できるわけではないので…。
JPCはなんか画面が悲しくてつらい。あれの本領は本体なので。

そろそろ5ゲーム目の作成に移ろうかと思っている。アニマツリーにするか…いや、ハニーエイトにするか…。



4-8 FREE配置完了

いよいよ、本物のアニマロッタと同じように、緑18パターン、青12パターン、赤5パターンから重複なくランダムに4つ並べられる(たぶん)システムが完成した。
これは普通に手打ちだったので面倒だった。コモンイベントは670行ほど。
以下は全部それぞれ緑、青、赤カードで統一したときの8球終了時の最終結果を表している。
青カードになると配当が良くなってくる。
赤カードの爆発力は健在。
いやしかし大学と予備校が両方あったとはいえこれを作るのに3日か…。
まあこのペースなら今月末にはあと何ゲームかできている…?飽きなければの話だが…。

4-7 レアカード判定

以下のように、一定確率で青チャンスカードや赤チャンスカードかチュピーンの音とともに出るようになった。
さて、ここまでやれば後は…。
適当に配置していたFREEを、アニマロッタの実際の配置に基づくものにすればたぶん完成。このビンゴファームの完成には3日を要した。

…で、その固定配置はすでに調べたものがあるのだが、そのノートがどこかにいったので前mathematicaでビンゴファームの確率を求めるプログラミングのやつに残っているものがあるのでそれを使うか…。

4-6 おおまかな流れ完成

まあいかにあげる画像で、なんとなくできている。
FREE出現率はランダムに60%としている。

今後改善すべき点としてはGET枠のずれ、消すべきオッズ表などを消したりすること。
あとはラインの虹色演出など。
そして何より、なんとなく処理が重め。
そこまで問題ではないが、やっぱりもう少し速くしたいと思っている。

2019年6月11日火曜日

4-5 オッズ表作成

めっさ面倒だったが、シフトしていくオッズ表の作成を行った。
ちゃんと10ラインの枠がしゅっとシフト途中に差し込まれるようにまでした。
20ラインのしゅっの挙動が不明だったので、想像で付け加えておいた。
上野は象ではちゃんと10ラインのものがシフト中のオッズ表の下部分で一緒に動いているのがなんとなく静画だが雰囲気で分かるだろう。
これで非常に大変なオッズ表の作成が終わったので、次はリーチ表である。
なおこれはそんなにめんどくさくない。

そしてそれが終われば細かい演出(ビンゴのラインなど)を経て、いよいよ8ゲームモードへと突入する。
そうすればいよいよ4つ目のゲームが完成し、折り返し地点に近づく。
たぶん次はアニマツリーあたりを作るか…?

2019年6月10日月曜日

4-4 ビンゴ処理進行中

以下のように、がんばってビンゴラインを定義して、いろいろピクチャを加えてリーチを演出している。
問題点はまだまだたくさんあって、まずリーチ文字の消し忘れなどで、
ここからリーチの番号などをタブに表示したり配当の表示演出、
あとはビンゴラインの明滅、ハイパー、スーパーのラインの虹色演出、
そしてまったくできていないオッズ表。

というわけでまだ完成には時間がかかりそうである。

4-3 リーチ判定開始

今回のビンゴファームは、ビンゴの定義が58個存在しており、それらをいちいち定義すると非常に面倒なのでここは工夫をした。
それでも、やはり25個の番号に対してリーチを考えると相当大変で、処理速度問題が発生する。
とりあえずリーチの位置を表示するようにしておいた。ただこれは暫定的なもので、後で消す。リーチで注意すべきは、これまで我の作ってきたゲームとは違い、例えば上の画像では1番がリーチだが、1番とかかれているすべてのマスにリーチ処理を施してはならないという点である。まあこれは仕様なのでしょうがない。
すでにnマス目のリーチ情報がわかる(SUPERなどは未定義)ので、リーチの演出はほどこすことができ、ちょっと手を加えればi番目のリーチの予想オッズなどもラインなどの定義からえることができ、そうなればもうほぼビンゴファームは完成となる。
もし明日が休みならばたぶん明日で終わるだろうが、明日はいつも通り予備校からの大学という例の忙しいモードなので猶予は夜しかもはやない。とはいえ朝8時から出発して帰宅がたぶん19時程度と見積もられるので…。はあ