DextroII先生のロマサガ閃きシステムのアルゴリズム講座

自由編集に設定しております。
132
つしま(あなたの原稿はどこから) @chartreuse37

@DextroII 先生ッ! サガシリーズの閃きシステムの概念ってどうなってるんですか!? って弟が言ってました よかったらちらっと教えてください

2011-11-13 18:26:54
koizumi @DextroII

@chartreuse37 ええと、概念と言われてもちょっと漠然としすぎてリンダ困っちゃうー。強い敵と戦う→強い技閃く→ハッピー! とかそんな感じ?

2011-11-13 18:36:41
つしま(あなたの原稿はどこから) @chartreuse37

@DextroII ほうほう…… 閃きやすくなるコツとかってあるんですかね? アンサがはすごく閃きやすかったのに、サガフロは閃くときと閃かないときの差が……

2011-11-13 18:45:01
koizumi @DextroII

@chartreuse37 そこから先は数学の話になりますが、覚悟はよろしいですか?(普通科高卒レベル)

2011-11-13 18:50:15
つしま(あなたの原稿はどこから) @chartreuse37

@DextroII マジですか……!? きいてみたい!! すごく聞きたい!! お願い致します><!

2011-11-13 18:53:21
koizumi @DextroII

帰宅しました。んでは、夕食の支度をしつつ、閃き判定の話をぼちぼちと。

2011-11-13 19:04:20
koizumi @DextroII

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

2011-11-13 19:07:28
koizumi @DextroII

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

2011-11-13 19:11:09
koizumi @DextroII

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

2011-11-13 19:16:33
koizumi @DextroII

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

2011-11-13 19:19:22
きりんG @qiring

@DextroII そのあたり、ロマサガ 3 に関しては過去にかなり調べさせて頂きましたよ。当時、キャラと敵の強さが開いてる方が閃きやすい、っていう曖昧な話が定説とされていましたが、実は影響するのは敵の閃きランクのみで、キャラの強さは無関係なんですよね。

2011-11-13 19:29:41
koizumi @DextroII

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

2011-11-13 19:31:27
拡大
koizumi @DextroII

@qiring です。ロマ2から一貫して、自キャラの強さは考慮していません。

2011-11-13 19:32:19
koizumi @DextroII

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

2011-11-13 19:34:02
koizumi @DextroII

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

2011-11-13 19:38:06
koizumi @DextroII

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

2011-11-13 19:40:58
koizumi @DextroII

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

2011-11-13 19:44:25
koizumi @DextroII

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

2011-11-13 19:50:22
エメース @mirsymdrm

@DextroII このようなお話が聞けるとは、興味深く、本当にうれしいですし、感謝します。

2011-11-13 19:52:33
koizumi @DextroII

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

2011-11-13 19:55:55
koizumi @DextroII

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

2011-11-13 19:59:05
Akinobu Ocean @aop358

@DextroII うひゃー!帰路何気なくTwitter眺めてたら、キョン先生の閃き講座が!!

2011-11-13 20:04:12
koizumi @DextroII

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

2011-11-13 20:04:24