jtothebell / fake-08

A Pico-8 player/emulator for console homebrew
Other
577 stars 48 forks source link

REQUEST save feature #105

Closed lordelan closed 7 months ago

lordelan commented 2 years ago

I already saw you mentioning a save feature in the psvita subreddit iirc. In my opinion this should be at the very top of the priority list because ... I love the Pico-8, but the only thing that bothers me is the lack of a save feature. I read somewhere that it's possible for game creators to store some values in a local storage somehow but nobody seems to use it and that feature is also very limited.

Being able to have some kind of save states like in any other emulator would be such a massive feature. As nice as the Pico-8 is, my free time is limited and it's a shame I can't play a game until the end in one run. Thus I always have to replay from the beginning the next day and that sucks.

This would be the one feature that would lift FAKE-08 even above the original PICO-8 emulator so please try to implement it! =)

jtothebell commented 2 years ago

Thank you for the suggestion. I understand that save states would be a really nice feature, but I don't anticipate working on that feature any time soon. Emulating of Pico-8's save data should be working on all platforms as far as I know, and unfortunately my free time is also limited and implementing save states is a non-trivial thing.

In theory it is possible, and I would welcome any pull requests from anyone else that would like to implement it. It would require serializing the Pico-8 memory struct (shouldn't be too hard) as well as the lua state (in theory should be possible with eris, but I have no idea on the details, so that could be much harder) on save, and then deserializing and loading both those states on load. It is still a higher priority to me to fix bugs and add the remaining Pico-8 features before I think about adding features that go beyond what Pico-8 has.

lordelan commented 2 years ago

Understood. I'll wait patiently then. :)

Maybe the retro8 repository is of any help for this feature since the Libretro core inside RetroArch indeed allows for save states. Unfortunately it was abandoned and doesn't have a very good game compatibility. Yours is ages away and plays all games way better.

https://github.com/Jakz/retro8/search?q=save

DPS2004 commented 2 years ago

A savestate feature would be very useful, since it would allow for the creation of Tool Assisted Speedruns for PICO-8 games. There are some modifications for PicoLove that add TAS functionality, but accuracy is subpar.

mrgusth commented 2 years ago

in-game saving is not working for miyoo mini (or any opendigux device I've tested). Is this known?