ロードした結果が異なる場合がある

発生条件

この動画のようにセーブしてすぐにロードするとイベントの位置は変わらないですが、一度ゲームを落としてエディタを保存してからロードするとイベントの位置が元に戻ります。VXAceも同様です。

昔のツクール(RPGツクール3とか)だとイベントの位置は保存されないので、ロード時にイベントの位置が元に戻るのに違和感はないかもしれませんが、今回のように場合によって結果が異なるのはどういうことかと。

解説

実は内部でバージョンを管理していて、保存をすると作成中のゲームのバージョンが上がります(System.jsonのversionIdです)。
バージョンといってもランダムな7桁の数字で、例えば77819147だったり2368236だったりします。  
このバージョンが肝で、バージョンが変わったらロード時にマップを初期化し直すということをします(マップ移動し直すと同じ挙動)。

  • バージョンが変わらない例 セーブ→すぐにロード。この場合バージョンは変わらないのでマップは前回保存時のものをそのまま使用します。
  • バージョンが変わる例 セーブ→ゲームを落とす→エディタで保存→ゲーム起動してロード。この場合、バージョンは変わるのでマップは前回保存時をリセットし、読み込み直します。

なぜ、バージョンが変わったらマップを読み込み直すのかというと、新しくイベントを追加した場合やイベントを削除した場合に対応していると考えられます。

エディタで保存したらバージョンは変わるので、デプロイしたあとは意識しなくて良いかと思ったのですが、アップデートしたときにバージョン変わるので注意が必要です。