とりあえずあと2週間くらいはいろいろあって落ち着かないとみられている。
ブログ内検索
2020年2月28日金曜日
2020年2月12日水曜日
18-3 クリスタルチャレンジBETタイム
BETタイムをそこそこ実装した。
ルーレットの円の部分など、あまりに加工が下手なところが見えてしまっているが、こういうのは後で修正できるのでまあ置いておく。
上の画像のように、BETした額に応じて各マス加重値というものを与えており、
BET×加重値の分だけりんごの価値が上昇する。例えばオレンジのマスは加重値を8に設定、すなわち平均で280*8=2240程度の内部値になり、この内部値は金りんごLv1と金りんごLv2の境目付近である。
これを作るのに何が大変だったかというと、とにかくピクチャの配置の拡大率や座標、画像の加工で、肝心のプログラムとしては特に難しいことはしていない。
後はこの処理に、BETよりCREDITが少なかったりMAX3000BETを超えているとBETできないなどの拒否要件をつけて、左右の空白のりんごの枠に適切なりんごを配置するなどを行う。
これらを作成すると、ようやく抽選に移ることができる…が、当然ながら抽選を再現できるはずがないので、一定時間経過後に乱数によって結果が決まる、ということにする。
あとはGET!などの文字を作成して、ワンダーステップにぶちこむ、という作業になる。
ただしここから、クリスタルリンゴが介入してくるため、いったんこれまでのプログラムを見直す必要がある。とりあえず考えていることとしては、ワンダーステップの枠と予備枠計14個の変数を用意して、ここに1が代入されていればその枠はクリスタルである、ということにしようと思う。こうすれば内部値を保持したままクリスタルリンゴのピクチャをステップに表示することができる。
とはいえ、まだ羽りんごの処理も行っていないし、クリスタルJPの処理も未設定。
このクリスタルに関する一連の処理にはかなり時間がかかることは間違いない。
なにしろまず画像の調達とそれの加工で相当な時間を有するので。
ルーレットの円の部分など、あまりに加工が下手なところが見えてしまっているが、こういうのは後で修正できるのでまあ置いておく。
上の画像のように、BETした額に応じて各マス加重値というものを与えており、
BET×加重値の分だけりんごの価値が上昇する。例えばオレンジのマスは加重値を8に設定、すなわち平均で280*8=2240程度の内部値になり、この内部値は金りんごLv1と金りんごLv2の境目付近である。
これを作るのに何が大変だったかというと、とにかくピクチャの配置の拡大率や座標、画像の加工で、肝心のプログラムとしては特に難しいことはしていない。
後はこの処理に、BETよりCREDITが少なかったりMAX3000BETを超えているとBETできないなどの拒否要件をつけて、左右の空白のりんごの枠に適切なりんごを配置するなどを行う。
これらを作成すると、ようやく抽選に移ることができる…が、当然ながら抽選を再現できるはずがないので、一定時間経過後に乱数によって結果が決まる、ということにする。
あとはGET!などの文字を作成して、ワンダーステップにぶちこむ、という作業になる。
ただしここから、クリスタルリンゴが介入してくるため、いったんこれまでのプログラムを見直す必要がある。とりあえず考えていることとしては、ワンダーステップの枠と予備枠計14個の変数を用意して、ここに1が代入されていればその枠はクリスタルである、ということにしようと思う。こうすれば内部値を保持したままクリスタルリンゴのピクチャをステップに表示することができる。
とはいえ、まだ羽りんごの処理も行っていないし、クリスタルJPの処理も未設定。
このクリスタルに関する一連の処理にはかなり時間がかかることは間違いない。
なにしろまず画像の調達とそれの加工で相当な時間を有するので。
2020年2月9日日曜日
18-2 クリスタルチャレンジ作成開始
いよいよクリスタルJP系の処理を作っていくことにする。
そのためにはまず羽りんごの実装だが、とりあえずこれは置いておき、まずはクリスタルチャレンジから作成する。
流れとしては、説明文がしばらく出た後、BETする画面になり、BETによって中央の円の中にある8つのりんごがパワーアップしていく。これがいったいどのくらいの価値上昇になるかは定かではないが、ここもまた推測でどうにかする。
まず参加には30BETが確定で必要で、いきなり500BETなどはできない。
この30BETで、縦横以外の4マスに必ずりんごが4つ出現する。その後はBETの切り替えにより、リンゴが発生したりりんごの価値が上昇したり、ということになる。
また並立処理としては、開始時からレインボーポケットが時計回りに90フレームくらいの間隔で推移していく。
あとは抽選されて、該当部分がGET!という演出を施し、ワンダーステップ枠に追加して終了となる。
というわけでまずは初期画面。
クレジットタブが出ていない問題はまたいつか解決予定。
とりあえず切り抜きなどしてかなり手作り感満載の初期画面を作成。
もうとにかく素材加工などが大変でなかなか前に進まないという。
ここから次はBET画面を作っていくことになる。
そのためにはまず羽りんごの実装だが、とりあえずこれは置いておき、まずはクリスタルチャレンジから作成する。
流れとしては、説明文がしばらく出た後、BETする画面になり、BETによって中央の円の中にある8つのりんごがパワーアップしていく。これがいったいどのくらいの価値上昇になるかは定かではないが、ここもまた推測でどうにかする。
まず参加には30BETが確定で必要で、いきなり500BETなどはできない。
この30BETで、縦横以外の4マスに必ずりんごが4つ出現する。その後はBETの切り替えにより、リンゴが発生したりりんごの価値が上昇したり、ということになる。
また並立処理としては、開始時からレインボーポケットが時計回りに90フレームくらいの間隔で推移していく。
あとは抽選されて、該当部分がGET!という演出を施し、ワンダーステップ枠に追加して終了となる。
というわけでまずは初期画面。
クレジットタブが出ていない問題はまたいつか解決予定。
とりあえず切り抜きなどしてかなり手作り感満載の初期画面を作成。
もうとにかく素材加工などが大変でなかなか前に進まないという。
ここから次はBET画面を作っていくことになる。
2020年2月8日土曜日
18-1 星システム一部実装
ちょっと余裕?があるので、アニマロッタのスターシステムについて導入を考えている。
ゆくゆくはプレイヤーごとに獲得星のランキングなどを作ることができれば…。
まず、アニマロッタのスターが何かということは、おそらくこのブログを見ている人ならばアニマロッタを知っているので言うことはないが、一応言っておくと特定の条件を満たしたときに付与されるオプション解放等に必要な「コイン」のようなものである。
がしかし、完成しているように見えて全然完成していない我のアニマロッタは、まだその星を消費できるような段階には当然至っていない。しかし、その星をある変数に格納して保存することならばできるわけである。
星は基本的にBET数×n倍の配当や、JP関係の獲得、最高役の獲得などで得られる。
これらが自作アニマロッタ内で発生したとき、ゲーム終了時にテロップを用意して星獲得を知らせる、という処理を行いたい。
ただし、やはりこれの作成にもまずは素材が必要。
テロップは透明状態から不透明度を増しつつ左へ座標移動していく。この間はたぶん数十フレーム程度。その後星獲得の理由と星獲得個数が右から流れてきて中央で止まる。2,3秒表示した後先に文字が左へフェードアウトし、ついでテロップもフェードアウト。
この操作が2回以上あれば、1回目が終わった後に2回目が順次発生、という形になる。
流れをスムーズにするため、この処理は並立実行、すなわちゲーム進行と同時に行う形にする。よってリザルト画面が出ているがこのテロップも出ている、ということはありうる。これらの点を踏まえると、なるべく上に表示、すなわちピクチャ番号を大きくする必要がある。
そして以下のように、星を獲得したことがゲーム内で表示されるようになった。
ゆくゆくはプレイヤーごとに獲得星のランキングなどを作ることができれば…。
まず、アニマロッタのスターが何かということは、おそらくこのブログを見ている人ならばアニマロッタを知っているので言うことはないが、一応言っておくと特定の条件を満たしたときに付与されるオプション解放等に必要な「コイン」のようなものである。
がしかし、完成しているように見えて全然完成していない我のアニマロッタは、まだその星を消費できるような段階には当然至っていない。しかし、その星をある変数に格納して保存することならばできるわけである。
星は基本的にBET数×n倍の配当や、JP関係の獲得、最高役の獲得などで得られる。
これらが自作アニマロッタ内で発生したとき、ゲーム終了時にテロップを用意して星獲得を知らせる、という処理を行いたい。
ただし、やはりこれの作成にもまずは素材が必要。
テロップは透明状態から不透明度を増しつつ左へ座標移動していく。この間はたぶん数十フレーム程度。その後星獲得の理由と星獲得個数が右から流れてきて中央で止まる。2,3秒表示した後先に文字が左へフェードアウトし、ついでテロップもフェードアウト。
この操作が2回以上あれば、1回目が終わった後に2回目が順次発生、という形になる。
流れをスムーズにするため、この処理は並立実行、すなわちゲーム進行と同時に行う形にする。よってリザルト画面が出ているがこのテロップも出ている、ということはありうる。これらの点を踏まえると、なるべく上に表示、すなわちピクチャ番号を大きくする必要がある。
そして以下のように、星を獲得したことがゲーム内で表示されるようになった。
2020年1月5日日曜日
17-10 ビンゴバルーンのPO率実戦
さっそく、ビンゴバルーンを掲示板の疑問に適用しようと思う。
さすがに掲示板で発言するのは我の性にあわないので。以下の分をメダルゲーム掲示板より引用。
「ビンゴバルーンでfreeが4回に1回ぐらいしか2個以上出ない(3個は滅多に出ない)店は勝つのが難しいですかね?あと、poはどのくらいの設定でしょうか?」
この文面から判断するに、+FREE1個が70%、+FREE2個が25%、+FREE3個が5%くらいだろうと勝手に考えると、期待値の式に代入すると1.27567 - 0.545465 x - 0.202532 yにx=0.7,y=0.25なので1.27567-0.3818255-0.050633=0.8432115という結果になり、
最適な配置をしたもとでPO率は84.3%となる。
ワンダーチャンス分がPO率に5~10%程度影響すると仮定すると、このPO率は通常のゲーム範囲である。
このようにして、ビンゴバルーンのFREE配置率などを統計することにより、おおまかなPO率が把握できる…かもしれないと考えている。ただ向こう側の確率のシステムが一様なものだと仮定しての話だが…。
もう一つ引用。
「常に2個ずつ点灯していてもPO100%超えにはならないと思う。」
と文章があったのでこれも検証。これは単純にx=0,y=1なので1.07035ということで、予想に反してPO率は100%を超える。ただ、最適に配置した場合でこれなので、普通にやっていたりアニマロッタお得意の謎軌道ボールを考えると必ずしもこうとは断定できない。
さすがに掲示板で発言するのは我の性にあわないので。以下の分をメダルゲーム掲示板より引用。
「ビンゴバルーンでfreeが4回に1回ぐらいしか2個以上出ない(3個は滅多に出ない)店は勝つのが難しいですかね?あと、poはどのくらいの設定でしょうか?」
この文面から判断するに、+FREE1個が70%、+FREE2個が25%、+FREE3個が5%くらいだろうと勝手に考えると、期待値の式に代入すると1.27567 - 0.545465 x - 0.202532 yにx=0.7,y=0.25なので1.27567-0.3818255-0.050633=0.8432115という結果になり、
最適な配置をしたもとでPO率は84.3%となる。
ワンダーチャンス分がPO率に5~10%程度影響すると仮定すると、このPO率は通常のゲーム範囲である。
このようにして、ビンゴバルーンのFREE配置率などを統計することにより、おおまかなPO率が把握できる…かもしれないと考えている。ただ向こう側の確率のシステムが一様なものだと仮定しての話だが…。
もう一つ引用。
「常に2個ずつ点灯していてもPO100%超えにはならないと思う。」
と文章があったのでこれも検証。これは単純にx=0,y=1なので1.07035ということで、予想に反してPO率は100%を超える。ただ、最適に配置した場合でこれなので、普通にやっていたりアニマロッタお得意の謎軌道ボールを考えると必ずしもこうとは断定できない。
2020年1月3日金曜日
17-9 ビンゴバルーンたぶん完全解析
ついにすべてのパターンの最適解探索が終了した。
これにより、FREE配置が1,2,3,4個いかなるときでも最適解を構成する一次元データが即座に得られる。(一次元というのはいわゆるIDのようなもので、ちょっとこれを組に変換する関数をつけば直ちに最適解を示す1~4次元のベクトルを得られる)
まず気になるFREE4個配置可能時のPO率は、1535.8%である。
したがって、平均としては、シンキングタイム時にFREE4個配置可能な場合、15倍の配当が期待できることになる。
これまでの結果をまとめると、
ということになり、このデータから最初に+FREEのマスがどれくらいの確率で存在するかで、ビンゴバルーンで「勝てる」かどうかが分かる。
その前にちょっと20日くらいかけて得られたデータが正しいか確かめる。
シンキングタイム終了前、以下のようにバルーンが配置されていたとする。
このとき、FREE4個を置けるとすればどのように配置するのが最適か。
これにより、FREE配置が1,2,3,4個いかなるときでも最適解を構成する一次元データが即座に得られる。(一次元というのはいわゆるIDのようなもので、ちょっとこれを組に変換する関数をつけば直ちに最適解を示す1~4次元のベクトルを得られる)
まず気になるFREE4個配置可能時のPO率は、1535.8%である。
したがって、平均としては、シンキングタイム時にFREE4個配置可能な場合、15倍の配当が期待できることになる。
これまでの結果をまとめると、
FREE0個配置 7.6%
FREE1個配置 43.8%
FREE2個配置 189.9%
FREE3個配置 488.2%
FREE4個配置 1535.8%ということになり、このデータから最初に+FREEのマスがどれくらいの確率で存在するかで、ビンゴバルーンで「勝てる」かどうかが分かる。
その前にちょっと20日くらいかけて得られたデータが正しいか確かめる。
シンキングタイム終了前、以下のようにバルーンが配置されていたとする。
このとき、FREE4個を置けるとすればどのように配置するのが最適か。
上記の場合、5個ラインにオッズアップ2個をかぶせて確定6倍とするのがよいか、
それとも5個ライン2つを狙いに行くのが良いか、はたまた7個ラインリーチを狙うのがよいか、さらには4個ライン×2の確定と5個ラインリーチなどを狙うか、などいろいろな考えが出てくる。
これを最適解データを使うと、この配置は{6,7,12,14,18}なのでIDは38094である。
このIDの最適解(一次元)を参照するとPO率が753.86%と出て、およそ7.5倍返し。
最適解はID2532であり、これは組にすると{2,5,9,22}。すなわち
これが最適配置となるらしい。5個ライン2つを狙いに行って、さらに4個ラインも成立しやすいような配置となっている。
ではいよいよ本命。ビンゴバルーンで勝てるのか否かを計算する。
ここまでの議論により、以下の結果が判明している。
FREE1個がx*(4/5)+y*(19/30)
FREE2個がx*(1/5)+y*(1/3)+(1-x-y)*(19/46)
FREE3個がy*(1/30)+(1-x-y)*(2/23)
FREE4個が(1-x-y)*(1/230)
xは初期+FREE1個が配置される確率、+yは初期FREE2個が配置される確率である。
1-x-yは当然ながら+FREE3個が出現する確率である。このあたりは確率の定義から自明。
あとはこの各出現率に各FREE個数による期待値を代入すると…。
上のグラフで、1.0という値を超えているような部分が一応「勝てる」場合に相当する。
もう少し具体的に言うならば、上記の期待値は1.27567 - 0.545465 x - 0.202532 yとなるため、これが1より大きい、すなわち
上のグラフで、青い線より下の位置に{x,y}の座標が存在すればよい。
もちろんいうまでもなく、確率は1までなので縦軸の1より大きい部分は意味をなさないので、実際は上のグラフより上かつxとyは0以上1以下、さらにx+yは1以下の制約がついたりする。
分かりやすいように以下にまとめると
開始時FREEマス1個が50%以上→だめ
開始時FREEマス1個が30%程度→FREEマス2個が60%以下(=FREEマス3個が10%以上)で勝てる
開始時FREEマス1個が10%以下→勝てる
というような具合になる。
なのでFREEマスが常に1個だけのようでは勝つのは難しいといえる。
ついにビンゴバルーンの最適解構成が完全に終了したが、今後どうするかは不明。
なお、この解析に当たり、4個ライン×4と3個ライン×7はまだ情報が不明なため、それぞれ30倍と50倍、という風に推測している。
がこの成立確率は極めて少ないため、あまり気にする必要はない。
もうこれでビンゴバルーンのどこにFREEを配置すべきかとかを考える必要はなくなった…が、正直役立つかと言われれば微妙。やはりいつかアプリ化してもよいかもしれない。
ついでに今後の自作アニマロッタの展開を述べるが、春まで非常に忙しいのでこれを作る余裕は皆無。春になれば再開する可能性あり。配布とかをしても面白そうだがこのブログのアクセス数は非常に少ないので需要がないと判断。
作るとすれば以下のシステムなどを実装予定。
ランキング
マイページの一部
羽りんご、クリスタルりんごとクリスタルJPC
ダブルアップチャンス
ワンダフルJPC
このあたりは実装する可能性がある。
ではいよいよ本命。ビンゴバルーンで勝てるのか否かを計算する。
ここまでの議論により、以下の結果が判明している。
FREE1個がx*(4/5)+y*(19/30)
FREE2個がx*(1/5)+y*(1/3)+(1-x-y)*(19/46)
FREE3個がy*(1/30)+(1-x-y)*(2/23)
FREE4個が(1-x-y)*(1/230)
xは初期+FREE1個が配置される確率、+yは初期FREE2個が配置される確率である。
1-x-yは当然ながら+FREE3個が出現する確率である。このあたりは確率の定義から自明。
あとはこの各出現率に各FREE個数による期待値を代入すると…。
上のグラフで、1.0という値を超えているような部分が一応「勝てる」場合に相当する。
もう少し具体的に言うならば、上記の期待値は1.27567 - 0.545465 x - 0.202532 yとなるため、これが1より大きい、すなわち
上のグラフで、青い線より下の位置に{x,y}の座標が存在すればよい。
もちろんいうまでもなく、確率は1までなので縦軸の1より大きい部分は意味をなさないので、実際は上のグラフより上かつxとyは0以上1以下、さらにx+yは1以下の制約がついたりする。
分かりやすいように以下にまとめると
開始時FREEマス1個が50%以上→だめ
開始時FREEマス1個が30%程度→FREEマス2個が60%以下(=FREEマス3個が10%以上)で勝てる
開始時FREEマス1個が10%以下→勝てる
というような具合になる。
なのでFREEマスが常に1個だけのようでは勝つのは難しいといえる。
ついにビンゴバルーンの最適解構成が完全に終了したが、今後どうするかは不明。
なお、この解析に当たり、4個ライン×4と3個ライン×7はまだ情報が不明なため、それぞれ30倍と50倍、という風に推測している。
がこの成立確率は極めて少ないため、あまり気にする必要はない。
もうこれでビンゴバルーンのどこにFREEを配置すべきかとかを考える必要はなくなった…が、正直役立つかと言われれば微妙。やはりいつかアプリ化してもよいかもしれない。
ついでに今後の自作アニマロッタの展開を述べるが、春まで非常に忙しいのでこれを作る余裕は皆無。春になれば再開する可能性あり。配布とかをしても面白そうだがこのブログのアクセス数は非常に少ないので需要がないと判断。
作るとすれば以下のシステムなどを実装予定。
ランキング
マイページの一部
羽りんご、クリスタルりんごとクリスタルJPC
ダブルアップチャンス
ワンダフルJPC
このあたりは実装する可能性がある。
2020年1月1日水曜日
17-8 ビンゴバルーンFREE4個解析途中経過(2)
さらに10001通り目から15000通り目までの解析が終わり、残すは15001通り目から53130通り目となった。一見30%程度しか進んでいないように見えるが、実はここまで解析してきたパターンはおよそ6000通りであり、残りはわずか1000通りである。
したがって、残り3日弱での完成が見込まれる。
これができれば、FREE4個の配置の最適解を与えることができ、晴れてビンゴバルーンの解析は完全に終了することになる。
なお常にPCが稼働しているので、排気の熱を常に放出している。かれこれ16日(400時間程度)も連続で計算させていることになっており、なかなかがんばってくれている。
なお我は、アニマロッタの工学的な構造及びプログラムのコード、あとは画像データからBGMに至るまでとにかく様々な点に興味津々である。
なのでたまにオークションにあるシステムディスクとかがすごく気になるが、何も有益なものが入っていなければ悲しいので購入を躊躇している。
将来いつかアニマロッタの上記秘密を知るつもりで現在いろいろ頑張っている。
なお我は、アニマロッタの工学的な構造及びプログラムのコード、あとは画像データからBGMに至るまでとにかく様々な点に興味津々である。
なのでたまにオークションにあるシステムディスクとかがすごく気になるが、何も有益なものが入っていなければ悲しいので購入を躊躇している。
将来いつかアニマロッタの上記秘密を知るつもりで現在いろいろ頑張っている。
登録:
投稿 (Atom)







