Post subject: Use emulator save states instead of libtas
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
As in, use the emulators save states to go back in a movie. Works the same as bizhawk. The idea is for deterministism. And would remove the need for hacks to get deterministism. For instance, running ppsspp requires hacks to make it single threaded. Which lowers capability and possibly new desync problems. So maybe an option to use libtas save states or emulator save states. Given that the emulator has save states. Sound like a good idea?
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
This wouldn't provide determinism; it'd only hide the lack of determinism. It means that when a movie desynced, you wouldn't notice it immediately, only when starting again from the start. It's better to at least be notified that there's a problem when it happens, rather than much later when you've finished the TAS.
Joined: 1/21/2006
Posts: 117
Is there a real question in here? If an emulator has native TASing capability, yeah it'd be preferable to running the emulator under libTAS. Otherwise.. what do you expect? And what about native PC games?
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
Arent libtas save states different from emulator save states? For instance, if you run ppsspp in libtas, the rng is non-determinsic. So a hack was created to make it single threaded. If using the emulator save states instead of libtases save states, it might make a difference. Pretty much libtas would act as a wrapper like how bizhawk does. You would need an option to turn it on or off. And still place markers in so it knows where to go back.
Joined: 1/21/2006
Posts: 117
InfamousKnight wrote:
Arent libtas save states different from emulator save states?
Conceptually? No, not really. Both of them are just running processes in a controlled environment and save states try to capture as much of the memory and registers as they can to force the program to resume at a specific state. Running an emulator under libTAS isn't anything special compared to a native game. There aren't any hooks you can use to cheat it and force libTAS to save only the emulated system rather than the emulator itself. Using emulator save states in libTAS is perfectly possible, but the save/load of emulator states itself would be recorded with libTAS, making a very annoying movie.
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
MikeRS wrote:
Using emulator save states in libTAS is perfectly possible, but the save/load of emulator states itself would be recorded with libTAS, making a very annoying movie.
I understand that. But what Im trying to say is if libtas treats the emulator save state like its own. Where its a wrapper like bizhawk. Bizhawk doesnt have its own save states, so it has to rely on the core. So libtas would pretend it must rely on the emulator too. You would have to make it an option to turn on off to make tasing possible with anything that either doesnt have save states or libtas does it better.
Joined: 1/21/2006
Posts: 117
None of that is remotely how libTAS works nor is meant to.
keylie
He/Him
Editor, Emulator Coder, Expert player (2844)
Joined: 3/17/2013
Posts: 392
The whole goal of libTAS is to be game/program agnostic, i.e. rely as little as possible on how each game/program behave. What you are suggesting is the opposite, basically implementing a program-specific hack. At that point, you would better implement TAS tools inside PPSSPP (or connect its core to BizHawk), it would be better in every way.