確率操作してるんじゃね?という疑惑がでていることへの、個人的な見解です。
- *注意
- 始めに断っておきますと、プログラミングは初心者クラスでしかありませんので、
おかしな見解を披露しているかもしれません。
メダル成長の仕組み(前置き)
まず、カード進化の仕組みについて考える前に、メダルの成長とはどういったことなのかを、考察しておく必要があります。
- ☆1 ゴールド1枚でレベルアップ。 同属性だと、1.5倍程度上がる
- ☆2 ゴールド1枚で20%ほど上昇。 同属性だと、3枚で約9割
- ☆3 同属性5枚でやく5割。
このことからの推測ですが、
- メダルにはレベルアップするための経験値テーブルが存在する。
- ☆が大きいほど、必要値が大きくなる。
- カードを食わせることで、この値が一定数上昇する。
といったことが推測されます。
仮に以下の値とします。
☆1:1000
☆2:5000
☆3:15000
ゴールドカード:経験値 1000 (同属性時1500)
このように、ゲームというのはすべて数字と計算から構成されています。
カード進化
カード進化はベースメダル + サブメダル によって求められます。
- ゴールド(火土水氷風雷) + 付与
- ☆1Lv.1 ベース +20.0% サブ +10.0%
- ☆2Lv.1 ベース +35.0% サブ +25.0%
- ☆3Lv.1 ベース +60.0% サブ +50.0%
- ☆1Lv.3 ベース +38.7% サブ +28.7%
上記はゴールドカードに、各種メダルを付与した場合に表示される成功率を表しています。
注目すべきは、レベルを上げることによって、成功率が上昇する点です。
メダルの経験値分、値が上昇しているのではと推測されます。
(メダルの基本値 + メダルの経験値 = 合成成功値)
このことから、カードには成功率100%にするための値とすべてのメダルの合成成功値の割合が
成功率として表示されているのではと推測できます。
さて、本題の100%なのに失敗するについてです。
内部的には、こんな感じであったと思われます。
メダルの合計12000/成功必要値10000 = 100%
- 10000より上の”桁”は無視されていた
- 桁落ち、桁あふれなどと呼ばれているケースです。
成功率とは別に計算をしているはずなので、何かの過程である値以上が無視されてしまった場合、表示と異なる結果になります。 - 越えてしまった2000が、マイナスに影響していた
- 計算の過程で、超えた分がマイナスに影響してしまったというものです。
何が言いたいかというと、
ソースコードとデータを見てみない事には、真偽はわかりません。
スクエニも、ゲームを作るうえで誇りを持って仕事をされていると思うので、
アップデートがガッカリだったとしても、こういった部分は信用してよいと思います。
プログラムにおいてバグは起きるものなので、ちょっとしたミスだったと私も思っています。