敵ごとに、閃きランクと成長ランクというパラメータが設定されています(これは、その敵の強さの大枠を示すものというか、順番は逆ですが、この2つのパラメータから、その敵の各能力値などが決まります)。

技にも、技ランクというパラメータが設定されています(こちらは、技の関係するパラメータを入力すると、序盤・中盤・終盤の能力値で、硬い・普通・柔らかい敵に対するダメージの期待値と共に、この技はこのくらいのランク、という値が出るようになっています)。

閃きランクがAという敵を攻撃した場合に、技ランクAを閃く確率というのを、最初に設定します。これがすべての基本になります。具体的な数値は作品ごとに異なりますが、クリアまでのプレイ時間、1分間あたりの判定回数などを参考に、30/256~50/256程度としています。

次に、一般化して、閃きランクと技ランクが異なる場合の判定式を作ります。閃きランクの方が高ければそれだけ強い敵と戦っていることになるので、当然閃く確率は上がるわけですが

閃き率=定数+定数×sin(π*定数×(敵ランク-その技の閃きランク)/20) (-10≦敵ランク-その技の閃きランク≦10) http://t.co/LnkF2CTP

範囲の書き方が適当になってしまいましたw ただしくは、敵の閃きランク-その技のランク、が、変数です。

変数の範囲が-10より小さくなる場合は-10、10より大きくなる場合は10とみなします。すごく強い敵と戦うと閃きやすくはなりますが、同じ条件でものすごーく強い敵と戦っても、それはたいして変わりない、ということです。

確率算出式に三角関数が使われているのは、閃きランク=技ランク近傍での確率の上昇が大きく、その先が緩やかになって、ランク差±5を超えると急速に確率の変動が小さくなるようにするためです。

で、ひとつの技に対する判定はこの通りですが、これを、コマンドとして選択した技から、閃く可能性のあるすべての技に対して、難易度の高い方から行っていきます。最大で30回程度になりますので、低い確率に見えても、結構な確率で何がしかの変化が起こることになります。

閃く可能性のある技、という書き方をしましたが、基本的な攻撃、いわゆる「素振り」だと、いろいろな技を閃く可能性があるため、判定回数が多くなります。その分、個々の確率は低めになるようになっています。

それから‥‥これはすべてのゲーム中でやっている訳ではありませんが、特定の敵タイプと技が一致した場合、植物にマキ割りなんちゃらとか、亀に亀ごうら割りとか、そういう派生もしやすくする補正も入れたりとか。

最後に、対象キャラクターの閃き適性と一致しているかどうかで、一致していなければ最終確率を半分にしたり、ゼロにしたり(この処理も作品ごとで異なります)。

それから、最後の最後に、確率判定に用いる乱数の方で、ちょっとズルをしているものもあります。成長判定や閃き判定で「False」という結果が返るごとに、内部のカウンタに値が蓄積、「True」が返った時点でクリアされて、この値を、乱数に常に加算するような仕組み。

閃きに関しては、だいたいこれだけだったと思います。振幅が30だったり50だったり、三角関数の周期が±15だったり、あと、式では語れない派生とそれぞれの補正で手は入れていますが。

全キャラに、一つ以上「不得手」な技を設定しています(*-∀-)ゞ エミリアのみ、コスチュームチェンジで苦手を克服、という設定だったのですが、確率半減程度ではそれほど苦手という感じにはならなかったですね。

作り方はひとそれぞれだと思います。私の場合は、成長要素に作り手の作為が入り過ぎないよう、入れなくて良いように大元の仕組みを用意している訳でして。遊ぶうえでは、そのへん気にしない方が楽しめると思っています。

Reblogged from PETAPETA