authorblues / bizhawk-shuffler-2

A script to randomly shuffle between games played in Bizhawk, with plugins to enhance the experience
MIT License
58 stars 21 forks source link

Set a "Starting point" savestate / Start shuffling from a savestate instead of boot #53

Closed elreymu closed 1 year ago

elreymu commented 2 years ago

Is your feature request related to a problem? Please describe. For a lot of games there can be a lengthy intro logo, intro scene, intro stage, intro story, unskippable cutscene, etc. before the actual games start which can make the beginning quite annoying to wait through, specially if it's many games or there are many in-game settings or when one game already got to the action while the others are still in the intro or dead time in general, this is more apparent with the damage shuffler plugin

Describe the solution you'd like I would like to suggest a feature where the shuffler loads a savestate for each game as a starting point after starting a new session. For example every game would start at the main menu or the beginning of the first stage (instead of starting from boot)

As for the savestates themselves, the user would have to save them manually (Or download them) beforehand and then drop them in a "start savestates" folder for the shuffler to find.

To further describe how i would use it. Let's say i want to play megaman X1 to X6 in the shuffler, but X4 to X6 take a while to start.

So, before starting the shuffler, i open each game and get to the intro stage then save a savestate Then after getting the 6 savestates (1 per game) i drop them in an special folder that the shuffler will use. Then i open the shuffler and activate and option that says something like: "Start new session from starting point savestates" Then after i click start new session the game starts from the intro stage and when it shuffles the next game also starts at the intro stage (or any savestate i saved). I think it would save a lot of time and help to get straight to the action, specially if it's a game you play often, and i think it would be ideal for races aswell.

Describe alternatives you've considered An alternative would be an option to not start shuffling until you press a custom Hotkey (Start shuffling) So you can "set up" each game until you're ready to play them or manually load previously made savestates But for this you would also need another hotkey to force a shuffle so you can set each game up. Once you get all the games set and ready to the desired points of the game you press the "Start Shuffling" hotkey to begin playing.

Sophilautia commented 2 years ago

+1, would love to see this supported.

At the moment an easy enough workaround is removing the lines of the shuffler.lua script that delete savestates at the beginning of a new session, but would love to see this properly supported by the shuffler.

authorblues commented 1 year ago

This feature has been added by c9698f6a32e7ba0f67a6987478f9985d89154ddb. You will need to make a folder called start-states/ in your shuffler directory, and when you start a new session, it will use any states in that folder. I need to add documentation for this addition.