「nwjsが予期しない理由で終了しました」の対処法

nwjsが予期しない理由で終了しました、と表示されたダイアログ
Macで作業ゲームを遊ぶ方(プレイヤー)ご自身の操作で解決できます。

ゲームが壊れているわけではありません。Macに残っている、別のツクールMZ製ゲームのキャッシュと衝突しています。

ツクールMZ製ゲームは内部の名前がどれも共通のため、すべてのゲームがひとつのフォルダを共有しています。ゲームによって使われているNW.jsのバージョンが違うので、新しいゲームを遊んだあとに古いゲームを起動すると、データの形式が合わずに落ちてしまいます。

修復手順

1. フォルダを開く

Finderのメニューから「移動」>「フォルダへ移動...」を選び、以下を貼り付けてEnterキーを押します。

~/Library/Application Support/rmmz-game/Default/

2. Sync Data フォルダを削除する

開いたフォルダの中にあるSync Dataというフォルダをゴミ箱に入れます。次回起動時に自動で作り直されます。

ターミナルを使う場合は、以下を貼り付けてEnterキーを押しても同じです。

rm -rf ~/Library/Application\ Support/rmmz-game/Default/Sync\ Data

3. ゲームを起動する

改めてGame.appをダブルクリックしてください。起動するようになっているはずです。

これでも直らない場合は、rmmz-gameフォルダごとゴミ箱に入れてください。こちらも次回起動時に作り直されます。

セーブデータについて

なぜ起きるのか

ターミナルからゲームを起動すると、原因がはっきり表示されます。

FATAL:chrome/browser/web_applications/web_app_database.cc:173] Check failed: state.metadata.version() == GetCurrentDatabaseVersion() (5 vs. 3)

「保存されているデータはバージョン5だが、このゲームが読めるのはバージョン3」という意味です。あとから遊んだ新しいゲームが書き込んだデータを、古いゲームが読もうとして停止しています。

そのため、ゲームを配布している作者の方には非がなく、修正版を待っても解決しません。お手元での削除が確実です。