libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.22k stars 1.82k forks source link

game saves don't sync across devices #614

Closed l3iggs closed 9 years ago

l3iggs commented 10 years ago

Retro Arch is so great because it supports many different platforms. It's a bummer that it's so hard to migrate my saved games between platforms and devices.

I think it would be cool to see save game/state synchronization implemented using the dropbox api built into RetroArch.

Themaister commented 10 years ago

IIRC, this has been discussed before. The big problem with Dropbox is that the API is closed source and requires some developer key (?), and that's a pretty ugly minefield when RetroArch is GPLv3.

l3iggs commented 10 years ago

Then let the user generate her own API key via this and enter it into the RetroArch interface to enable the sync feature.

If that's also a problem, a different backend could always be used: the user could input credentials to access a ssh directory which she has write access to and the game saved could be synced to/from there.

Themaister commented 10 years ago

SSH sounds better to me (but I don't work on the iOS port so dunno). :p @meancoot or @twinaphex should decide what to do here.

Then again, this really sounds like something you'd want to do outside an application (mount something as sshfs, and it'd "just work").

joaodriessen commented 9 years ago

I have 3 devices running retroarch, being able to continue a game from one device to another, i'e on my iphone while commuting, and then on my ipad or laptop at home (or work, hehe). Is a killer feature. Retroarch would absolutely rock if this were implemented.

leoperbo commented 9 years ago

I'm using Syncthing and successfully have synced states between Android and Ubuntu (had to configure a custom "Savestate Directory" in path options). The problem is that states generated on Android failed to be loaded in Ubuntu and viceversa.

andres-asm commented 9 years ago

Of course! savestates are not always portable between platforms. Savefiles usually are

On Sat, Jun 27, 2015 at 10:06 AM, leoperbo notifications@github.com wrote:

I'm using Syncthing and successfully have synced states between Android and Ubuntu (had to configure a custom "Savestate Directory" in path options). The problem is that states generated on Android failed to be loaded in Ubuntu and viceversa.

— Reply to this email directly or view it on GitHub https://github.com/libretro/RetroArch/issues/614#issuecomment-116083831.

leoperbo commented 9 years ago

I got it! I had to ensure that the cores used on Ubuntu (official stable version from libretro's PPA) were the same cores used on Android:

0) Using Syncthing I'm syncing my customized savestates directories between Android and Ubuntu (Syncthing must be running on both devices).

1) Uninstall the RetroArch Android stable version (1.0.0.2).

2) Download and install this nightly RetroArch Android version.

3) Open RetroArch in Android and use the "Manage cores" menu entry.

4) Slide right to the "Downloadable Cores" tab, wait a few seconds and touch the cores to install them.

5) Go back to the initial menu and touch "Settings" (configure Input tab selecting an input overlay configuration, configure Paths tab selecting my custom directories).

6) Go back to the initial menu and touch "Load RetroArch". Note that direct touching on "Load content" from Android's GUI won't detect the core and games won't be loaded. Must use "Load RetroArch" and then load content from the native RetroArch menu.

7) Use the overlay buttons to navigate the menu and load content.

8) Play a game, use the overlay buttons to load RetroArch's menu and save a state, close RetroArch on Android device (wait some seconds for let Syncthing make his magic).

9) Load the same game in Ubuntu (using RetroArch) and load the same state that were saved in Android and synced to Ubuntu... Enjoy!