Save Games for Sequels / Episodes


I assume sharing save game or scores data from one game to the other is not possible. As far as I'm aware it's not possible to read anything from the playdate out of the current games scope.
(Which makes sense)

  1. Possibility to access the save / data from from the same domain. If I make a game in the domain inkkit -> inkkit.makimaker, then I would like to access data on the sequel inkkit.makimaker2.

  2. It would allow for users to carry over items, scores, characters, etc. into a next sequel or episode.

  3. Playdate game aren't huge games, but if a game is popular it would make sense for game devs to provide further experiences.
    If on the device is not possible, due to security / other considerations, it could be done via a "cloud save data" on account of the playdate.


This would make sense if all games were installed through Catalog and Panic could vet the domains, but because sideloading is a thing, that doesn't seem super secure. It also wouldn't stop anyone from accidentally shooting themselves (or someone else) in the foot, which is more what I assume the point of Panic's sandboxed save implementation is.

Maybe an interesting middle ground could be some kind of public version of the sandbox? So where we have kFileWrite/kFileReadData, we'd also have kFileWritePublic/kFileReadPublic, where you'd specify the domain as the first folder in the filename. Data read/written to the private and public sandbox would be written to different places on disk. This would be public by default: devs would know not to write anything into there that their players wouldn't want to share with other games, and that the durability of that data is consequently less guaranteed than the private sandbox. This would also allow devs to collaborate on cross game features, secure in the knowledge that that couldn't inadvertently lead to broken saves in their own games.


I wonder how different a sideloaded game actually is (when sideloaded via the playdate account, not uploaded via USB) in terms of the download...

But yes what @Subpixel suggested makes sense.

Also the last part would be actually be a nice innovation, imagine a shared inventory which different games use to share cross-game items or use to show estereggs and such.
I love it, IMHO playdate needs to have that :smiley:

Just to add what is currently possible: you can release your sequel as an update to the previous game, with the same package name. Cross-game data sharing is indeed not possible from the sdk.

You would need to go the route of creating a companion desktop app / website which would copy over the files of an attached playdate to do this currently

1 Like

Surely it would be easiest to provide instructions for the user to copy data from game to game.

1 Like

I like both suggestions and I think both can work, but they probably don't "work" for all players. Remeber Ryan (from Hello, Playdate! Podcast) had to kind of "fear" of sideloading games. Once he did it, it was easy for him, but someone had to show him, it wouldn't work out of the box. And with such a "barrier" you lose some of the users.

Another for solution or an episodic game could be to wrap all the episodes in one game and just keep updating the initial episode. But you lose the flexiblity for users to try the first one and see if they like it, then buy the next ones.
Imagine a game including five episodes for 10$ or five episodes for 2$. The entry barrier is higher and the users doesn't what they get.


Depending on the size of save data, you could generate a code for the user to enter into the sequel. An old school way to sharing save data.


How much can be compressed in a hash?

:thinking: Or would you make it so that every possible state in the save data would have a hash to match it?

As much as you need. But you wouldn't want the user to have to type in a screen full of digits.

What do you need to pass across?

Really depends on the developer. What do you want to achieve?

Just a simple encoded proof that the user played the other game could unlock some levels. I have one DS game that unlocks levels if you put a certain cartridge in the GBA slot of DS or DSlite