マップ画面のゲームの速度を改善するプラグイン(2020/12/12 更新)

フォーラムルール
素材の利用規約を決めたいけど、どんなことを書けばいいのか分からない場合は、
素材のテンプレートをご利用下さい。

トピックの投稿

返信へ
アバター
seea
記事: 84
登録日時: 2016年6月04日(土) 21:48
投稿素材
連絡する:

マップ画面のゲームの速度を改善するプラグイン(2020/12/12 更新)

投稿記事 by seea »

この記事では二つのプラグインを公開しています。
 1. SA_CoreSpeedImprovement
 2. SA_AnotherRouteSearch

お互いにプラグインの依存関係はありませんが(片方導入でも動作可能)、
両方導入することで効果が高くなります。


■ 1. SA_CoreSpeedImprovement  コアスクリプト速度改善

【制作の背景】
MVが重い。
 を何とかしたい。

【プラグインの概要】
本プラグインは、コードの見通しは良いが実ゲームの速度を遅くするコードを
見通しは悪いが機能は同等の、Chromeブラウザが高速に処理するコードに置き換え、
ゲームの速度の改善を目指します。

【使用方法】
・他の全てのプラグインよりも先に定義してください。(「プラグイン管理」の一番上に置く)

【詳しい説明】
・トリアコンタン様の「半歩移動プラグイン」(検証当時のバージョン:1.12.3)を導入しているとき、
 マウスによる移動時に、特に効果が高いです。
 むしろ「半歩移動」を速くするために作ったようなものです。
・イベントの数が多ければ多いほど、Chromeに対してはガチで効果があることは分かっています。
・ブラウザ版だけでなく、エディタからの「テストプレイ」にも効きます。
(うちの環境では、このプラグインを取り外すと、画面がカクカクしまくりプレイ困難なレベル)

・「半歩移動プラグイン」を使っていない場合は、Chromeが素で速いので、速度の差がみられない場合があります。
・キーボードでキャラクターを操作している場合も、速度の差がみられない場合があります。

【動作環境】
・半歩移動プラグイン v1.12.3 との組み合わせての動作を保証しています。
・MVのバージョンは 1.5.1 以降で動作可能。現在はバージョン 1.6.1 を想定しています。
・コミュニティ版コアスクリプト 1.3b (community-1.3b) に対応しています。
・半歩移動プラグイン v1.16.1 との組み合わせを動作確認済みです。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

■ 2. SA_AnotherRouteSearch  別の経路探索システム

Another route search v20.1 リリースしました。(2020/12/06)

【制作の背景】
タッチ移動が重い。カクカクする。主人公キャラのマウス移動がよく引っ掛かる。袋小路にはまる。
 を何とかしたい。

【目的】
半歩移動プラグインを使用し、かつ8方向移動も有効にしているとき、
マウスや画面タップを使った移動がとても重くなる現象を改善します。

【更新履歴】
19.0 2019/01/02 場所移動コマンドにより移動した後、主人公キャラが変な動きをする不具合を修正。
19.1 2019/01/03 正しい道順を見つける可能性が高くなり、動作も軽くなりました。また、半歩移動プラグインとの互換性を向上。
20.0 2020/10/31 同じ経路を行ったり来たりする挙動を防止する設定を追加。(設定によりON/OFF)
20.1 2020/12/06 半歩移動プラグインとの互換性を向上。イベントの8方向移動禁止の指定に従うように修正。

【注意点】
・8方向移動専用です。8方向移動を利用しない場合は、本プラグインは不要です。
・8方向移動への対応は、半歩移動プラグインに含まれる機能(「8方向移動」)を使用してください。
・半歩移動プラグインと組み合わせての利用に限りサポートしています。

【使用方法】
・プラグイン管理では、
  SA_AnotherRouteSearch
  HalfMove
 の順になるよう登録してください。

【半歩移動プラグインのバージョン】
HalfMove.js 1.16.1 2020/07/02 との組み合わせで動作確認しています。

他のバージョンとの組み合わせも動作する可能性が高いと考えられますが
1.16.1 よりも前のバージョンとの組み合わせは、動作保証の対象外とさせてください。

【詳しい説明】
・RPGツクールMV標準の経路探索とは別の経路探索を導入するプラグインです。
 MV標準の経路探索を置き換えるものです。

・コアスクリプト速度改善(SA_CoreSpeedImprovement.js)と組み合わせることで
 マウス利用時や、画面のタップ操作を使って移動するときの応答速度と正確さが改善されます。
添付ファイル
SA_AnotherRouteSearch.js
v20.1 (2020/12/06) 最新 ★両方導入してください (2個目)(差し替え前のダウンロード数:約400回)
(27.48 KiB) ダウンロード数: 420 回
SA_CoreSpeedImprovement.js
v18.1 (2018/01/28) 最新 ★両方導入してください (1個目)
(11.43 KiB) ダウンロード数: 1126 回
最後に編集したユーザー seea [ 2020年12月12日(土) 14:27 ], 累計 5 回
アバター
seea
記事: 84
登録日時: 2016年6月04日(土) 21:48
投稿素材
連絡する:

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by seea »

ご連絡ありがとうございます。
テストしましたところ、
プラグイン管理で SA_CoreSpeedImprovement をOFFにしても発生しますが、いかがでしょうか。
プラグインを GALV_VisualNovelChoices のみ使用したプロジェクトでも発生しました。

GALV_VisualNovelChoices 固有の問題点ではないかと思われます。
よく見ると、プラグインによって非表示となっていたMVのデフォルトのカーソルが突然復活し
デフォルトのカーソルとプラグインのカーソルの二つとも表示された状態になっていました。

修正方法:

GALV_VisualNovelChoices.js の「(function() {」のすぐ下に修正用コードを追加します。
具体的な場所は、Visual Novel Choices MV v.1.6 の場合、
GALV_VisualNovelChoices.js の91行目と92行目の間に追加します。

コード: 全て選択

// 2019/01/05 Add start by seea
Galv.VNC.Window_ChoiceList__updateCursor = Window_ChoiceList.prototype._updateCursor;
Window_ChoiceList.prototype._updateCursor = function() {
    if ($gameSystem.vnChoices && this.isOpen()) {
        // Do not blink the default cursor.
    } else {
        Galv.VNC.Window_ChoiceList__updateCursor.call(this);
    }
};
// 2019/01/05 Add end by seea
この修正用コードは私の方で勝手に考えたものです。
GALV_VisualNovelChoices は、MVのデフォルトのカーソルを完全に消してしまう動きをするようなので
この直し方でおそらく問題ないはずですが、十分にテストできておりません。
直るかどうかご確認いただき、しばらく様子を見ていただけますでしょうか。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
投稿素材
連絡する:

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by にゃたま »

seea様
seea さんが書きました: テストしましたところ、
プラグイン管理で SA_CoreSpeedImprovement をOFFにしても発生しますが、いかがでしょうか。
プラグインを GALV_VisualNovelChoices のみ使用したプロジェクトでも発生しました。

GALV_VisualNovelChoices 固有の問題点ではないかと思われます。
よく見ると、プラグインによって非表示となっていたMVのデフォルトのカーソルが突然復活し
デフォルトのカーソルとプラグインのカーソルの二つとも表示された状態になっていました。

何とお詫びしてよいかわかりませんが、今までGALV_VisualNovelChoices単体の動作確認が
不十分であった私のミスです。本当に申し訳ございません。

しかもわざわざ全く関係のないプラグインの修正の場所まで教えていただき感謝が絶えません。
まだ確認はしておりませんがおそらくそれで動作すると思われます。

今後の反省点としては競合だと思った場合でも単体での動作確認を優先していきたいと思います。
思い込みとはいえ大変失礼いたしましたm(_ _)m

追記
尚、ゲームが完成した暁にはスペシャルサンクスとしてもクレジットさせていただきます。
アバター
エックリ
記事: 54
登録日時: 2020年8月18日(火) 20:43
お住まい: 犬のしっぽ
投稿素材

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by エックリ »

こんにちは。

SA_CoreSpeedImprovement
SA_AnotherRouteSearch
HalfMove

上記の3つのプラグインのみを上記の順番で入れて、パラメータはデフォルトのままにしてあります。
(その他イベントやプラグインコマンド等は未使用、ツクールのバージョンは1.6.2)

マップで「E」を右に倒した形の壁を作り、真ん中のあたりをクリックすると、キャラクターが壁に沿ってVの字を描いて移動しました。
この移動はループしていて、同じところをずっと行ったり来たりしています。
数分放置したりSA_AnotherRouteSearchの「Max search count」を300や10000にしてみましたが特に変わりませんでした。

これは経路探索システムの仕様かもしれませんが、何回か同じルートを移動したら停止するようにする方法はないでしょうか?

※ちなみにSA_AnotherRouteSearchのヘルプに「無限ループ防止のため、引っ掛かると自動移動を諦めますので~」と書いてありましたので「Max search count」を変えてみましたが、上記の通り変化なしでした…
マップ画面のゲームの速度を改善するプラグイン(2020/12/12 更新) loop.png
loop.png (118.16 KiB) 閲覧された回数 7913 回
最近始めた初心者です。
アバター
seea
記事: 84
登録日時: 2016年6月04日(土) 21:48
投稿素材
連絡する:

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by seea »

エックリ様、ご利用ありがとうございます。
ご指摘の現象は確かに再現しますね。

到達できない場所を指定されると、
迷ってしまって右往左往する現象が起きることを確認いたしました。
対策する方法がないか調べてみます。

一応、辿り着けないことが分かったときに止まってはいるのですが
マップの行き先の座標指定は続いているので、すぐに次の探索と移動が始まって
しまっています。
このプラグインでは、プレイヤー操作による座標指定を取り消すことは行っていないためです。

これをどう直すかですが、

案1
辿り着けないときは、座標指定を取り消してしまいましょうか?
(座標指定=マップ上の移動先指定。タップ/クリックした所がマップ上に表示されると思います)
このメリットは、表示上は移動が止まったことがはっきり分かるのでプレイヤーに伝わりやすいですが
プレイヤーの座標指定を強制的に取り消すことになるので、それをどう考えるかです。

案2
それとも、座標指定はそのままにして移動を止めるだけに留めておきましょうか?
メリットはプレイヤーの座標指定を維持するので移動したい先を表示し続けますが
キャラが移動しなくなると、「なんか知らないけど固まった」と勘違いされるおそれもあります。
別の座標を指定すれば動くので、それに気付けば大丈夫ですが。

ご希望の直し方(?)がありましたら教えていただけると助かります。
アバター
エックリ
記事: 54
登録日時: 2020年8月18日(火) 20:43
お住まい: 犬のしっぽ
投稿素材

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by エックリ »

こんにちは。

seeaさん
ご返信ありがとうございます!

案1の方がユーザービリティ的には良いのかな?と思いましたが、座標指定を強制的に取り消すということになるのですね。
座標指定を強制的に取り消す仕様に変わると、他の部分にどんな影響があるかちょっと気になりますね… :?:

もし可能でしたら、例えばプラグインパラメータで「今までの仕様・案1・案2」を切り替えられたりできればと思いました。

でも基本的な雰囲気は案1だけでも大丈夫そうです!
(座標指定の白っぽい四角形が表示される→キャラが移動→移動が数回ループしたらキャラが停止し座標指定の四角形も消えるなど)
最近始めた初心者です。
アバター
seea
記事: 84
登録日時: 2016年6月04日(土) 21:48
投稿素材
連絡する:

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by seea »

エックリ様、返信ありがとうございます。
了解です!
修正できましたら、あらためてご連絡いたします。
アバター
エックリ
記事: 54
登録日時: 2020年8月18日(火) 20:43
お住まい: 犬のしっぽ
投稿素材

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by エックリ »

ありがとうございます!
了解しました。それではお願いします :D
最近始めた初心者です。
アバター
seea
記事: 84
登録日時: 2016年6月04日(土) 21:48
投稿素材
連絡する:

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by seea »

エックリ さんが書きました:ありがとうございます!
了解しました。それではお願いします :D
お待たせいたしました。
この記事に添付の SA_AnotherRouteSearch.js をお試しいただけますか。
問題ないようでしたら、これをリリースしたいと思います。

案2が難しかったことから、案1のみの実装となってしまいました。
自分で二つ案を出しておきながら一つしか実装できなくてすみません。
MV標準の自動移動も案1の動きをしますので、ご容赦いただければと思います。

【修正内容】
・何回か同じルートを移動したら停止するようにできます。(設定で ON/OFF 切り替え可能)

【導入方法】
プラグインのファイルを置き換えてください。設定項目が増えていますので、
設定内容をご確認下さい。
(設定せずに動かしますと、従来通り動きますが、自動的に止まる機能は OFF のままです)

何か問題点がございましたらご指摘ください。
お手数ではございますが、問題がなかったときもご連絡いただければ幸いです。
添付ファイル
SA_AnotherRouteSearch.js
v20.0 2020/10/31 リリース候補版 ★お試し用
(27.51 KiB) ダウンロード数: 22 回
アバター
エックリ
記事: 54
登録日時: 2020年8月18日(火) 20:43
お住まい: 犬のしっぽ
投稿素材

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by エックリ »

更新ありがとうございます!
新規プロジェクトと、いくつか他のプラグインが入ったプロジェクトで試したところ問題なく動作しました。

以下動作確認したメモです。
  • Stop if unreachable dest ON
    すぐ移動停止
  • Stop if unreachable route ON
    2~3回移動を繰り返して移動停止
  • 両方ON
    すぐ移動停止
  • 両方OFF
    移動を繰り返す(v19.1と同じ動作)
案1のみで全然大丈夫です!
特に問題などもなさそうです。
最近始めた初心者です。
アバター
seea
記事: 84
登録日時: 2016年6月04日(土) 21:48
投稿素材
連絡する:

Re: マップ画面のゲームの速度を改善するプラグイン(01/03 更新)

投稿記事 by seea »

ご連絡ありがとうございます! 動作して良かったです。
お試しいただいたプラグインは、そのままお使い下さい。

プラグインの設定により挙動が変化するのは意図したものです。
自由に設定いただければと思います。

また何かございましたら、お気軽にお問い合わせください。
返信する

“MV:プラグイン素材”に戻る