Gauging interest: sharing platform with cloud saves

e_ter

Villager
Member
Joined
Jun 9, 2023
Messages
5
Reaction score
2
First Language
Dutch
Primarily Uses
RMMZ
TL;DR: Would y'all be interested in a platform to share your creations on with support for cloud saves?


I've been playing quite a few RPG Maker MV/MZ games, however not a lot of people release for Linux, and I also move between laptop, steamdeck and desktop, so I started hosting the www folder locally on my network (didn't have much experience with rpg maker tbh, I just saw a www folder and threw it on a server). This has been working for me quite well, however saves were always stored inside my browser and hard to transfer between devices, and some games were breaking because it assumed it was running on windows and so some filenames were wrong (e.g. BackgroundMusic.ogg was used while on disk it was backgroundMusic.mp3)

So on a bored evening I wrote a small server application that both handles those filename discrepancies and injected a plugin into the games that replaced the save logic with one that shoves it on a server. This has been working great for me, there's a few plugins that want to use things that are not available in e.g. Firefox/Chrome vs node-webkit (the browser rpg maker bundles it with) but for the few games that use those I tend to patch them by hand, or make work arounds (e.g. for DKTools generating the Stamp.json on the fly)

Now I've been very stoked about this personally, because I can play my collection of games, basically everywhere, laptop, steamdeck (added chromium in kiosk mode pointing to my web app, and it's almost native experience, it's really cool), heck on android even. and on all I can just continue a play through from a save game from a different device (even while the game is still open lol)

And I really want to share it with others, however setting it up for oneself is, quite a chore, and only a select few would be able to use it because of needing the expertise to run a server and setting it up. (I will still release the source code for anyone wanting to set it up for themselves however).

So instead I was wondering if instead I could do it the other way around instead, and host a platform on which creators could upload their projects (free of charge!) and share it with others, which integrates a cloud save system. creators get a platform to host and share their games on, and everyone gets access to cloud saves, everybody wins, hopefully. and for creators I can also later expand to interesting features and or tools: e.g. sending a bug report + save, with a click of a button. or *******/itch login portals, only allowing access to certain release based on purchase/pledge. etc.

But before I spend like a month or 3 developing this platform, I would like to know what y'alls thoughts, criticisms, and/or ideas are, and if y'all would actually be interested in this

To visualize,

Here's screenshots of my locally run project:

Desktop:
https://zt.je/41vYy.png
https://zt.je/q9jx0.png (Good Job!)
https://zt.je/qM3o4.png (Volition)
https://zt.je/qZwE0.png (Flesh, Blood, & Concrete)

Android:
https://zt.je/y5PK4.png
https://zt.je/yK3Ry.png (Flesh, Blood, & Concrete)


And here's some screenshots of what it would look like as a platform instead:

https://zt.je/4ngEy.png

https://zt.je/q7XW0.png
https://zt.je/0O3p0.png


P.S. I didn't really know what category this post had to go in so I choose this, sorry in advance mods lol
 

MelonMintGames

Villager
Member
Joined
Jul 10, 2020
Messages
23
Reaction score
4
First Language
English
Primarily Uses
RMMV
This seems like a very interesting idea! I have very much been looking for a way to do cross saves, and after banging my head into a wall trying to make solutions like firebase work, it sounds like you have found a solution that works. I would probably want to selfhost, and of course would need to test things out to make sure everything worked with my game, etc. But I am very interested in the idea.
 

e_ter

Villager
Member
Joined
Jun 9, 2023
Messages
5
Reaction score
2
First Language
Dutch
Primarily Uses
RMMZ
This seems like a very interesting idea! I have very much been looking for a way to do cross saves, and after banging my head into a wall trying to make solutions like firebase work, it sounds like you have found a solution that works. I would probably want to selfhost, and of course would need to test things out to make sure everything worked with my game, etc. But I am very interested in the idea.
I've been thinking about splitting the cloud save part out to an independent plugin, even with a simplified php portal, so one can even just throw it up on shared hosting for like 2e a month

The nice thing about a central platform however is the UX, to not have your cloud saves spread over several providers. that obviously also has it's own downsides so heh

The part that complicates it however (which I do have some "illegal" ideas for tbh), if you don't serve it via a website, but want to bundle it with your desktop/mac/android app, there needs to be some layer of authentication, and/or fallback to a non-cloudsave solution, the fallback is quite easy. but the authentication introduces quite a few moving parts

like having an auth dialog inside of MV/MZ sounds, difficult and annoying to use, but luckily one could just do crimes™ and overlay some HTML and an iframe with auth dialog, however then you get the multiple states a player could be in, since e.g. a player could have local saves, and cloud saves at the same time, and both could be from a very different session.

for my platform I have opted to resolve this with "slot sets" where a user could have multiple sets of saves at the same time without those interfering with each other. this is also multi functional, because they simplify the method of making a backup of your saves by simply cloning a slot set. (save data and a save slots are also decoupled, so making a backup of them doesn't increase size on disk and functions in a CoW (Copy-on-Write) manner). The introduction for this system was actually needed for upgrade paths of games where one doesn't have save compatibility guarantees with newer versions of a game.

Technically this is all sound, but the UX for it is really hard :') how do you present the concept of multiple save sets to a client in a comprehensible way, with an easy way to managing it.

This also ignores the plugins that save auxiliary data with the saves, e.g. PKD's VN Save System (I can't find info about this plugin quickly but have a game that uses it, it saves a picture next to the save), which I actually didn't take into account yet lol, but shouldn't be too hard to add.

also lol sorry for the rant, I've been planning this out for the last 2 weeks without pause, or talking about it with anyone xD
 

MelonMintGames

Villager
Member
Joined
Jul 10, 2020
Messages
23
Reaction score
4
First Language
English
Primarily Uses
RMMV
Yes, it seems we have run into some of the same issues. I am probably not nearly as good at programming/networking as you, but authentication is certainly the trickiest part of the equation. Would it be possible to integrate it with another login system such as Google, etc. so that you don't need to worry about the headaches of storing passwords, resetting forgotten passwords, etc?

The only solution I have seen for logging in and saving that has worked cross platform was the MMOrpg maker project. And as you said, they have a login html that pops up as soon as you enter the game. https://github.com/samuelcardillo/MMORPGMaker-MV for reference.

The idea of slot sets is very intriguing. As long as the player could keep straight the different save slots, it definitely seems like it would make sense.

I always imagined something a bit different. To keep things simple, I also imagined a main menu option where you could select "sync to server" or "sync from server" and simply download or upload the www/save folder from the server. This way, local saving would work in the game as normal, and the player would only really need to connect to the internet and sync when they wanted to manually sync their save files. Of course, this puts the onus on the player to manually update their cloud save folders, which could be a bit annoying, but I also think it would be easy enough to understand and doesn't force players to create an account or go online.

And please, rant away! This is also something I have been thinking about for a very long time, so it is interesting to hear someone much more qualified than me talk about it lol!
 

e_ter

Villager
Member
Joined
Jun 9, 2023
Messages
5
Reaction score
2
First Language
Dutch
Primarily Uses
RMMZ
Oh yeah definitely! you could even use Discord, ******* or even itch.io! which on it's own also allows new and interesting ways to integrate into your game and/or add benefits, like e.g. Patreons with N pledge get a golden sword at the start of the game

Ooh, well I guess it's not that bad of an idea then lol, the "easiest" way to make it integration friendly for everyone is basically just portaying a frame from the creators backend, and then communicate via Window.postMessage, for transfer of authentication tokens and data

Yeah, my solution is currently "generalized" without any specialized features for RPG Maker, since I want to add support later for Ren'Py Web and Twine/SugarCube. but, as far as my understanding is so far with some RPG Maker specific code, one could even transfer saves between sets', making it less of "parallel universes" of your save files. However this can fall flat with some plugins, like e.g. UTA_CommonSave, which allows a creator to store data from in-between playthroughs

Do you mean by "doesn't force players to create an account", as in forced to create an account at boot? Because that's something that doesn't have to be forced, like one could introduce a login button the same way you're describing the upload/download saves buttons. it does however require the system to have some awareness about online/offline save states

While "download saves" and "upload saves" solves a lot of technical problems, and can be a simple and effective means to an end. I find it in my personal experience very opaque? Somehow by making things more explicit it makes it also more confusing, I think this mostly stems from the fact that one doesn't know what saves are online, and if there are new saves online? or did you accidentally do this unique event on old saves because you forgot to download your cloud saves, and now you're in this weird state where you don't want to upload these saves, because it would replace the others, but also don't want to download the cloud saves because you'll delete the save with this unique event.

what I implemented atm is one that directly saves online, it literally replaces all the internal save functions with http requests, (which I admit is annoying on MV because it's expecting it to be sync, so you're blocking the whole game and app for a HTTP request lol), but this means that always what you see is what you're going to get. This has it's own problems however, because no internet means, no gaming. and ofc. for me in a privileged position of living in NL which is flat af and has internet everywhere, is no problem, but move even to germany, and one could lose internet because you're behind a mountain. which does mean a hybrid solution should be made for at least apps, meanwhile one can make the assumption that one is online, while one is visiting the game on the web page, since dropping the internet connection means that e.g. maps aren't even available anymore as they're fetched on the fly. but even then a hybrid solution would be nice because "oh i lost internet and my game started falling apart, let's save and continue once i have internet again"
 

Latest Threads

Latest Profile Posts

Me: "Who the heck would play a game with no stakes, no enemies, and all you do is raise and breed bees?"
Later after playing it. - "Holy crap, I didn't know it was 1:30. Where'd my time go?"
The site is being slow and funky again. IS SOMEONE CRAFTING POEMS?!
So yeah, @TRIDIUM @TESTOSTERONE, I wuz like, "What do they mean by borderline and boundaries?"

And then, y'all know this girl?

actress1.png

alice_bikini.png

The clothes? They're just a, um, quick edit. :kaoswt:
I've uploaded the opening cutscene from my game to my channel. It basically introduces us to the first three characters, and what their relationships are:
Cosmic Inferno: Opening dialogue
I don't want to start a panic...but everyone, check the color of your milk!
IMG_20231002_082329.jpg

Forum statistics

Threads
135,021
Messages
1,253,018
Members
177,952
Latest member
gomeisan
Top