【お知らせ】RPGツクールMV バージョン1.5.2ベータ版の公開

Status
新しく返信を追加することはできません。

ツクール開発部

モデレーター
スタッフ
モデレーター
日頃から製品をご愛顧くださりありがとうございます。
1.6.0へのバージョンアップ後に発生している事象、一部機能について、暫定対策を施したバージョン1.5.2β版を配信します。
 
 ・プロジェクトファイルは事前にバックアップしてください
 ・本β版は現段階ではSteamかつWindows版の配信となります
  正式バージョンおよび国内版、他OS版につきましては近日アナウンスいたします
 ・フィードバックは本スレッドに投稿頂けますようお願いいたします

 [1.5.2更新内容]
 ・GENEに対応
 ・1.5.1で発生していた以下内容の修正
  -「RPGツクールMV ツール GENE」へ対応
  -プラグインウィンドウにて、選択しているプラグインを素早く切り替えると強制終了が発生する問題を修正
  -img\characters\People1.pngのFaceグラフィックとの差異を修正
  -\img\tilesets\Inside_B.png、Dungeon_B.png、Outside_C.pngのドットずれ、色を修正
  -ゲームシェア「OPEN GAME CREATORS」の認証および認証解除が適切に行えるように修正
  -Developer Toolsの警告表示が発生する問題を修正
  -Google Chromeで音声が再生されなくなる可能性について対応

 [1.6.0との変更点]
 ・NW.js、Qtは1.5.1と同バージョンになります
  これにより挙動全般が1.5.1準拠となり、1.6.0で発生した事象の解消が期待できます

 [バージョン変更手順]
 1.Steam-ライブラリからRPG Maker MVのプロパティを開く
 2.ベータタブのベータアクセスコードから「openbetaasnecessary」を入力
 20180224_1.jpg
 3.変更するバージョン(v1.5.2)を選択してプロパティを閉じる
  ※この画面で1.5.2以外の指定バージョンへダウングレードも可能です
 20180224_2.jpg
 4.Steam-ライブラリからRPG Maker MVのアンインストールを実行、その後インストールを実行
 20180224_3.jpg
 5.ヘルプ-バージョン情報にて指定したバージョンであることを確認
 20180224_4.jpg

 [プロジェクトのコアスクリプトを1.6.0→以前のバージョンに更新する方法]
 ・事前にコアスクリプトのバックアップをお取りください
 ・以下の対象ファイルを制作中のプロジェクトフォルダ/js/内に手動で上書き保存してください。
  -MVインストールフォルダ/NewData/内のindex.html
  -MVインストールフォルダ/NewData/fonts/内のgamefont.css
  -MVインストールフォルダ/NewData/js/内のファイルのうち、pluginsフォルダ、plugins.js以外のファイル
 20180224_5.jpg
 20180224_6.jpg
 20180224_7.jpg
 規定ではMVインストールフォルダは以下のフォルダになります
 C:\Program Files (x86)\Steam\steamapps\common\RPG Maker MV\NewData

1.6.0アップデート後にご不便をおかけしている皆様には誠に申し訳ございません。
1.5.1のアップデーターの再公開についても、近日中に別途ご案内いたします。
ユーザーの皆様の創作活動が滞ることのないよう、鋭意取り組んで参りますので今しばらく続報をお待ちくださいませ。
 

くらむぼん

モデレーター
スタッフ
モデレーター
バージョン1.5.2ベータ、早速確認させて頂きました!
とりあえず現時点で、ゲーム側のスクリプトについてわかったことを報告させて頂きます。
1.5.2導入の参考にどうぞ~


・1.5.1から追加された点
Google Chromeで音声が再生されなくなる可能性について対応
イベントコマンドの処理について修正(動作は未確認)
戦闘背景を無しに戻せないバグを修正(動作は未確認)
checkabort2削除

・1.6.0から削除された点
テストプレイ時の、1.6.0への強制アップデート機能
NW.js、Qtのアップデート
タイルセットB,C,D,Eをマップイベントの画像に選択するとフリーズする不具合
Yanfly_ItemCoreなどのウィンドウ関連のプラグインが動作しなくなる不具合(1.5.1と同様で、動作します)

・直したつもりで直ってないところ
ウィンドウの切替時にまれにフリーズするバグ
 

くらむぼん

モデレーター
スタッフ
モデレーター
>mansatuさん

1.5.2betaはSteam版を使っている場合のみ、
上記[バージョン変更手順]の手順に従ってダウンロードできるみたいですー

直接ダウンロードはできないのが不便ですが、
おそらく正式な1.5.2が公開されればDL可能になるんだと思います!
 

しぐれん

ユーザー
アップデートお疲れ様です。
タイルセットB/Cのフリーズはなかったです。

Scene_Itemのフリーズについては、開発部で今のところどこまで把握しているのでしょうか?
対処案が色々出ていたので、より多く伝わって欲しいと思います。
 

ツクール開発部

モデレーター
スタッフ
モデレーター
>mansatsu様
現時点ではSteam/Windows版を対象に[バージョン変更手順]の手順で適用頂けます。
他OSおよびDL版につきましては近日アナウンスいたします。

>くらむぼん様
適切なご案内、ありがとうございます。

>しぐれん様
いつもプラグインの公開をしてくださり、ありがとうございます。
Scene_Item.prototypeの対処の在り方についてはTwitter上の皆様のご意見を拝読しており、エディタ開発へ伝えております。
影響範囲の少ない方法を検討するため、1.5.2では修正対象外としております。
今後とも何卒よろしくお願いいたします。
 

ツクール開発部

モデレーター
スタッフ
モデレーター
1.5.2βについて1点修正内容を追加いたしました。
・アイテム画面とメニュー画面を切り替えた際に稀にフリーズする問題を修正。

既に1.5.2βに参加頂いている方は、Steamを起動すると自動で更新されます。
修正ファイルはrpg_scenes.jsとなります。
手動で置き換える場合は、MVインストールフォルダ/NewData/js/内からrpg_scenes.jsをコピーして上書きしてください。

規定ではMVインストールフォルダは以下のフォルダになります
C:\Program Files (x86)\Steam\steamapps\common\RPG Maker MV\NewData

rpg_scenes.jsのScene_Item.prototype.updateは次の方法で修正しております。
-----
Scene_Item.prototype.createCategoryWindow = function() {
this._categoryWindow = new Window_ItemCategory();
this._categoryWindow.setHelpWindow(this._helpWindow);
this._categoryWindow.y = this._helpWindow.height;
this._categoryWindow.setHandler('ok', this.onCategoryOk.bind(this));
this._categoryWindow.setHandler('cancel', this.popScene.bind(this));
this.addWindow(this._categoryWindow);
this._categoryWindow.activate();//★この行を追記
};
-----
本修正にあたりご意見をお寄せくださった皆様に御礼申し上げます。
安定性が確認取れ次第、正式版1.5.2として公開を予定しております。
今後ともよろしくお願いいたします。
 

しぐれん

ユーザー
テストしてみましたが、これでも問題が発生しました。
以前これと同じような対処で失敗してます。

それと、テスト用のプラグインを作成しました。
キーボードの入力を無視して、強制的にシーン突入後にキャンセル入力を発生させます。
これで決定と取り消しを連打しなくて済みます。
PHP:
Window_ItemCategory.prototype.isCancelTriggered =function(){
    return true;
}
PHP:
Window_ItemCategory.prototype.setItemWindow = function(itemWindow) {
    this._itemWindow = itemWindow;
//    this.update();
};
別案として有効だったのが、ここのupdateを無効化する案です。
ここのupdate()の意図がわからないと何とも言えませんが、どうなんでしょう。
 

Attachments

ツクール開発部

モデレーター
スタッフ
モデレーター
しぐれん様
検証および、大変有用なご意見をお寄せくださり誠にありがとうございます。
こちらフィードバックとして受け止めさせて頂きます。
 

しぐれん

ユーザー
https://tm.lucky-duet.com/viewtopic.php?f=5&t=5592
ツクマテさんにて張ったパッチおよび、そのフィードバックです。

https://github.com/kenzakis2/RPGMaker1.6.0ScenePatch
こちらのリンク先は剣崎さんの作成した、nextSceneをキューにして複数の遷移が飛んできても受け入れる実装です。

追記
http://www5f.biglobe.ne.jp/~fuku-labo/library/etc/scenemanager_test.txt
こちらはfukuさん作成のシーンマネージャーに状態を持たせて管理する実装です。

追記ここまで

今回はアイテム部分でのみバグが発生していますが、シーンのcreate()中にシーン遷移が発生すると問題が起こるようです。
nextScene= nullのタイミングを上に持ってきて対応するパターンも試したのですが、fukuさんの指摘でシーンの実行上複雑な問題が発生するらしいです。
(詳細はよくわからなかったのですが、描画の開始・終了が壊れるらしいです)
 
最後に編集:

ツクール開発部

モデレーター
スタッフ
モデレーター
1.5.2β Mac版、Linux版を公開いたしました。
適用手順はWindows版と同じです。
1.6.0でGENEをご利用のユーザー様は、こちらの適用もご検討ください。
 

しぐれん

ユーザー
今のところ上がっている案とそれらの利点・欠点のまとめです。
いずれの実装においても、未知のバグがどこに隠れているか不明です。

今回のバグの問題を二つに分けると遷移中に遷移が発生した場合どうするかという問題に行きつきます。
create()中に遷移が発生してはいけないと考えて例外を投げる実装も考えられます。
(現状のnextSceneがあるときにシーン遷移を無視するのは、一種の例外の握り潰しとも言える)

  1. setItemWindow()内部のupdate()を消す方法
    利点:修正が一番少ない
    欠点:シーン遷移のバグを修正しているわけではないので、同様のバグは残ったまま
  2. nextSceneをキューで管理する方法
    利点:複数回のシーン遷移の命令があっても耐えることができる。
    欠点:キューで管理するのは複雑度を上げる可能性もあるのではないか。
剣崎さんおよびfukuさん提案の実装がキュー実装です。
短期的には前者の実装でいいですが、今後のことを考えると後者の方が良いと思います。
形はどうあれ、シーン遷移をどのように管理するかは開発チーム側でどのような使い方にするかという設計次第で決まると思います。
なので、方針とその選択の理由なども確認しておきたいです。
 

ツクール開発部

モデレーター
スタッフ
モデレーター
1.5.2正式版ではScene_Item.prototypeの修正は見送り、今後の課題といたします(1.5.1と同じ状態に戻します)。
理由は次の通りです。

1.(再現手段は確立しているものの)通常利用で発生する可能性は低い問題であること
2.いずれの修正案も競合や別の問題が発生するリスクを担保できないこと

上記1、2の影響度を考え、また多くのユーザー様へGENEが動作する安定バージョンを提供することを優先した結果の方針でございます。
この度ご意見をお寄せくださった皆様には、誠に感謝しております。
この場をお借りして御礼申し上げます。
また全てのコメントにご返信できない点はご容赦くださいませ。

今後もより良い製品作りのために改善を続けてまいりますので、どうぞよろしくお願いいたします。
 

munokura

ユーザー
Windows用MVを1.6.0から1.5.2bに入れ直した状態でテスト戦闘を行えませんでした。
テスト戦闘のボタンを押すと、テストプレイが起動して、メニュー表示がされます。

1.5.1にしたところ、テスト戦闘は正常に起動しました。
 

ツクール開発部

モデレーター
スタッフ
モデレーター
munokura様
フィードバックありがとうございます。
開発環境では再現に至りませんでした。
プロジェクトファイルをバックアップのうえ以下お試し頂くことで復旧できる可能性がございます。

・1.5.1あるいは1.5.2にしたうえで以下の対象ファイルを制作中のプロジェクトフォルダ/js/内に手動で上書き保存。
  -MVインストールフォルダ/NewData/内のindex.html
  -MVインストールフォルダ/NewData/fonts/内のgamefont.css
  -MVインストールフォルダ/NewData/js/内のファイルのうち、pluginsフォルダ、plugins.js以外のファイル

以上、一助になれば幸いです。
 

ツクール開発部

モデレーター
スタッフ
モデレーター
皆様へ

先ほどバージョン1.5.2正式版を公開いたしました。

【アップデート】RPGツクールMV:バージョン1.5.2配信開始
https://forum.tkool.jp/index.php?threads/【アップデート】rpgツクールmv-バージョン1-5-2配信開始.753/

公開にあたり、βテストにご参加、フィードバックをお寄せくださった皆様に御礼申し上げます。
誠にありがとうございました。今後も引き続き、不具合の修正・機能の追加はアップデートにて対応して参りますので、どうぞよろしくお願いいたします。
 

サンシロ

ユーザー
Scene_Item.create()中のupdate()の削除を提案する者です。
同様の修正提案は合計4箇所あります。
PHP:
// アイテムカテゴリーウィンドウ
Window_ItemCategory.prototype.setItemWindow = function(itemWindow) {
    this._itemWindow = itemWindow;
    // this.update();
};
PHP:
// スキルタイプウィンドウ
Window_SkillType.prototype.setSkillWindow = function(skillWindow) {
    this._skillWindow = skillWindow;
    // this.update();
};
PHP:
// 装備スロットウィンドウ
Window_EquipSlot.prototype.setItemWindow = function(itemWindow) {
    this._itemWindow = itemWindow;
    // this.update();
};
PHP:
// デバッグレンジウィンドウ
Window_DebugRange.prototype.setEditWindow = function(editWindow) {
    this._editWindow = editWindow;
    // this.update();
};

次に補足訂正させてください。
1. setItemWindow()内部のupdate()を消す方法
利点:修正が一番少ない
欠点:シーン遷移のバグを修正しているわけではないので、同様のバグは残ったまま
まずこの変更を提案する理由は
修正が少ないからという消極的な理由ではありません。

このupdate()はsetter中に代入以外の動作をする点で不適切ですし
Scene.create()中、即ち、初期化的、コンストラクタ的な処理の最中に
ゲームのロジック部分が動き出すという点で不適切だからです。
他の部分のコードから読み取れる設計方針に反する実装です。

これはもともと潜在的なバグだったのが
今回はたまたまアイテムシーンのフリーズという形で
顕在化したものだと言えます。
長期的な視点でも削除するのが適当だと考えます。

また現状のシーンの多重遷移を認めないシーン遷移の仕様は
おそらく設計上の仕様であってバグではありません。
もしあり得るとすれば仕様のバグですが
今回のフリーズ問題はSceneとWindowの初期化中の実装バグです。

2. nextSceneをキューで管理する方法
利点:複数回のシーン遷移の命令があっても耐えることができる。
欠点:キューで管理するのは複雑度を上げる可能性もあるのではないか。
シーン遷移命令をキュー化するにあたって
SceneManager単体で見れば複雑化することは
個人的にはそれほど問題にならないと思います。

疑問視したいのは
これまでシーン多重遷移を仕様上異常な処理として弾いていたところを
正常として処理するように仕様変更することであり
最終的に完成させるゲームとしてその仕様で適切なのかという点です。
もしも適切でないなら敢えて不適切な処理を救済する必要はないはずです。

取り入れるのでしたら
慎重に仕様の精査をするのが良いように感じます。
 
Status
新しく返信を追加することはできません。
トップ