RetroArchとQNAP TS-251Dで作るマルチプラットフォームゲーム環境(失敗)

いつでもどこでもゲームが楽しめる環境を構築したい(失敗)

表題のようなことを目指して、環境を作ってみたのですが、結果としてうまくセーブファイルが同期されず、コンセプトのみの内容となってます。
コンセプト見ていただいて、何かアドバイスできる方いらっしゃいましたら是非!

エミュレーターで遊ぶ場合、環境によってセーブデータの形式が異なっていたりするために、前に遊んでいた続きが新しい環境では続きができない!といったことありませんか?
今回は、RetroArchというエミュレータとQNAP TS-251DのQSyncを使って、PC、TV、スマホからゲームができ、さらにデバイスを移行しても続きからゲームができる!という素敵な環境を作っていきます。

すなわち、このような環境で、
・高速、快適にゲームをしたい場合は、PCで
・大画面で多人数でゲームをプレイしたい場合は、TVで
・いいところまでいったゲームを家の外でも楽しみたい場合はスマホで
プレイできる環境を整えていきます。

前準備

前準備として、NAS、PC、スマホにRetroArch Plusをインストールしていきます。
NASにインストールする方法は過去に紹介しています。
PCは、RetroArchのページからプラットフォームにあったものをダウンロード、インストールしてください。
スマートフォンは、Androidの場合は、下記よりインストールしてください。

RetroArchの設定

さて、インストールをしただけだと、セーブファイルがコンテンツと同じフォルダに保存されたり、Savesといったフォルダに保存されたりと管理しにくいので、それぞれのプラットフォームで、RetroSavesというフォルダにセーブデータが保存されるように設定を変更します。

RetroArch@TS-251D

ROMを保存するための「ROM」フォルダなんかを作ったりすると思いますが、ROMの下に「RetroSave」といったフォルダを作ってあげましょう。RetroArchの画面から、「Settings」→「Directory」→「Savefile」と進んでいくと設定してあげることができます。

RetroArch@PC

PCにおいては、デフォルトでRetroArchのフォルダ下の「saves」フォルダにセーブデータが保存されますので、特に設定する必要はありません。

RetroArch Plus@Android

Androidにおいては、デフォルトだと/storage/emulated/0/RetroArch/savesフォルダに保存されるようです。よって、特に設定する必要はありません。

各デバイスへのQsyncのインストール

Qsync Centralのインストール・設定@TS-251D

それぞれのプラットフォームのセーブデータを同期してあげるために、Qsyncというアプリケーションを使用します。
GUI画面の上部検索窓に「Qsync」と入れると「App Center」→「Qsync Central」が検索結果として出てきますので、こちらをクリック。App Centerが開かれますので、Qsync Centralをインストールしてください。
インストールが完了し、Qsync Centralを起動すると次のようなウィンドウが表示されます。
共有フォルダ一覧が表示されるので「RetroArch@TS-251D」のところで設定したSavesフォルダが含まれる共有フォルダを選択、Qsyncで同期ができるようにします。
NAS側の設定は以上で完了です。

QSyncのインストール・設定@PC

Qsyncは、QNAPのサイトからダウンロードできます。こちらのページにアクセスして、Windowsプラットフォーム用のQsyncをダウンロードしてください。ダウンロードが完了したら、インストールしてください。
Qsyncの設定画面を開き、NAS上の共有フォルダ以下にあるSavesフォルダと、PC上のsavesフォルダが同期されるように設定します。

これでPC側の設定は完了です。

Qsyncのインストール@スマートフォン(Android)

Android用には「Qsync Pro」という形でアプリケーションが用意されており、下記よりインストールすることができます。
インストール完了後、Qsyncアプリを起動し、下記のようにNAS側のRetroSavesフォルダと、Android側のSavesフォルダが同期されるように設定します。
以上でスマートフォン側も設定完了です。

このように設定すると、PC、NAS、スマートフォンどのプラットフォーム上でゲームをしても、セーブデータがデバイス間で即座に同期され、他のプラットフォームでも続きからゲームができるようになります。
※RetroArchで同じコアを使用する必要がありますので、その点注意

プレイ動画

といいたいところですが、なんかよくわからないのですが、セーブデータが期待通りに同期されませんでした。同期自体はされてるようなのですが、RetroArchが何らかのキャッシュを持ってるのか?NASで更新した結果が各デバイスに同期されないのか(SMB経由で更新して、それをフックするといった仕組みで更新検知をかけてると、NAS内での更新では同期が走らない??)?
例えばですが、スマートフォンでセーブした後に、PCでゲームを起動すると、セーブデータが更新されてない。というようなことが発生してまして。なんでだろ?
もし誰か詳しい方いらっしゃいましたら、アドバイスください。

まとめ

ということで、コンセプト的には面白いかな?と思ったのですが、失敗に終わりました。
Qsyncでの同期がまずい可能性もあるので、例えばDropboxあたりをハブにして、Dropboxアプリ、HybridMountあたりを組み合わせてみるのもよいかと思ってます。

セーブデータのコンフリクトが起きて、更新できていない。という可能性もありそうなんですよね。そのあたりはちょっとずつ調べてみようかな。

お粗末様でした。





コメント

このブログの人気の投稿

VPNでNASにリモートアクセス!QTS5.0でWireGuardを試す

レトロゲームステーションに!QNAP TS-251D

NASに保存したファイルを便利に検索する方法