Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync savefiles to cloud server #11

Open
curiousdannii opened this issue May 3, 2013 · 5 comments
Open

Sync savefiles to cloud server #11

curiousdannii opened this issue May 3, 2013 · 5 comments

Comments

@curiousdannii
Copy link
Owner

It would be amazing to one day be able to sync savefiles to a cloud server

@otakup0pe
Copy link

As long as this is optional ! I can imagine some cases where people would want parchment to be completely standalone.

@curiousdannii
Copy link
Owner Author

curiousdannii commented Jun 29, 2022

I've been slowly working towards this for a long time, and there's a long time still to go. To enable any cloud syncing services the whole VM ecosystem needs to become asynchronous. Here's a checklist:

@MarkLodato
Copy link

MarkLodato commented Jan 2, 2024

It sounds like the feature described here would be a seamless "sync" between instances across a cloud server, i.e. a "terp-managed save" as per https://eblong.com/zarf/glk/terp-saving-notes.html.

What about a smaller feature that is simply the ability to save to / restore from Cloud servers or even local storage, i.e. a "player-managed save"? That seems like it would be easier to implement and would provide 95% of the value. Even if the storage APIs are asynchronous, you could just block during the save/restore operations. Does that sounds doable?

*Edit: added links to terp-saving-notes.html"

@curiousdannii
Copy link
Owner Author

curiousdannii commented Jan 2, 2024

Zarf's phrase "terp-managed save" is what we more frequently call autosaves, and that's not as directly in scope here. (I was intending for autosaves to be device specific, but it would still be good to have IndexedDB for autosaves.) This issue is primarily about manual player saves.

Parchment already supports saving to localStorage.

Even if the storage APIs are asynchronous, you could just block during the save/restore operations.

Unfortunately you can't "just block" in Javascript.

@curiousdannii
Copy link
Owner Author

So I've just realised that if we can patch all the interpreters to only access files via the Glk or glkunix APIs (like glkunix_stream_open_pathname_gen), then we won't need to wait for Emscripten's AsyncFS to be finished. Indeed avoiding all true FS code like that will be both simpler and probably more performant and file size efficient!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants