KAMESOFT様の「パラメータ振り分け」スクリプトを改変して、自作ゲームに使わせていただいています。
http://ytomy.sakura.ne.jp/tkool/rpgtech ... _parameter
パラメータがインフレするゲームで使用しており、
ゲーム内変数に沿った10~倍振り分け。
RPの表示桁を多くする。
振り分け時にパーティーキャラを回復。
閉じる確認ウィンドウの省略。
などの改変を行っています。
とても良いスクリプトなのですが、振り分けるパラメータが増えてくると、計算に時間がかかるのか、一つの処理にかかる時間が、どんどん重くなってきてしまいます。
この画像くらいまで強化すると、大体ウィンドウを開くのに5分、パラメータ振り分けに10分、カーソル移動にも10分かかります。
さすがにここまでパラメータがインフレするという状況は、作者様も想定されていないでしょうが、
このスクリーンショット、実際にここまでプレイしてくださった方のもので、不便をかけてしまっているので、なんとか処理を軽量化したいと思っています。
どうかお知恵をお貸しください。
KAMESOFTスクリプト利用規約
http://ytomy.sakura.ne.jp/tkool/rpgtech/rules.html
KAMESOFT様の「パラメータ振り分け」スクリプトの軽量化
Re: KAMESOFT様の「パラメータ振り分け」スクリプトの軽量化
念のため、原因について書いておきますと
単にパラメータが凄い数値になっているからではなく(この程度の桁で重くはならないので)
パラメータ上昇量の算出を積算で行っているため、回数を増やしただけループしているからですね。
※calc_distribution_valuesメソッド
なので解決方法は、このメソッドのループ処理をループしない形で計算すればOKですね。
そして積算で処理しているのは補正値を正確に適用するためですが
回数をiとすると、コスト・パラメータ共に
「上昇値 * i + 上昇値補正 * (i + i ** 2) / 2」
で非ループで求めることができるはずです。(三角数の公式より)
単にパラメータが凄い数値になっているからではなく(この程度の桁で重くはならないので)
パラメータ上昇量の算出を積算で行っているため、回数を増やしただけループしているからですね。
※calc_distribution_valuesメソッド
なので解決方法は、このメソッドのループ処理をループしない形で計算すればOKですね。
そして積算で処理しているのは補正値を正確に適用するためですが
回数をiとすると、コスト・パラメータ共に
「上昇値 * i + 上昇値補正 * (i + i ** 2) / 2」
で非ループで求めることができるはずです。(三角数の公式より)
------------------------------------------------------------------------------------
へぷたなすくろーる
http://heptanas.mamagoto.com/
VXAceのスクリプト素材及びイベント講座などをやっています。
------------------------------------------------------------------------------------
へぷたなすくろーる
http://heptanas.mamagoto.com/
VXAceのスクリプト素材及びイベント講座などをやっています。
------------------------------------------------------------------------------------
Re: KAMESOFT様の「パラメータ振り分け」スクリプトの軽量化
解答くださりありがとうございます!返信が遅れてしまってすみません。
RGSSはまだあまり読めないのですが、
問題箇所を教えていただけたので、がんばって直してみます。
三角数の公式も、他にも応用できそうで便利ですね。
RGSSはまだあまり読めないのですが、
問題箇所を教えていただけたので、がんばって直してみます。
三角数の公式も、他にも応用できそうで便利ですね。
--------------------------------------------------------------------------
ゲーム作りました
https://freegame-mugen.jp/roleplaying/game_7109.html
MVプラグインも作りました
https://github.com/asakayu/Mihil_RPGMakerMV_plugins
コードレビュー歓迎します
Please feel free to throw me Masakari!
ゲーム作りました
https://freegame-mugen.jp/roleplaying/game_7109.html
MVプラグインも作りました
https://github.com/asakayu/Mihil_RPGMakerMV_plugins
コードレビュー歓迎します
Please feel free to throw me Masakari!