Feature Request: Input Recording and Playback

Discussion of developmental aspects of the MiSTer Project.
deepthaw
Posts: 65
Joined: Wed May 27, 2020 3:45 am
Has thanked: 1 time
Been thanked: 13 times

Feature Request: Input Recording and Playback

Unread post by deepthaw »

I’d like to see the ability to record and playback inputs. I don’t know at what level of the project this would need implemented so I’m starting here.

My use case would be to be able to send core devs an input session that will get them into an exact state that I encountered for the purpose of reporting bugs without knowing exactly how to recreate it.

I feel bad saying “I did this and this happened and it might be a bug but I can’t recreate it.”
gamesfan
Posts: 72
Joined: Mon Jun 07, 2021 7:15 pm
Has thanked: 3 times
Been thanked: 12 times

Re: Feature Request: Input Recording and Playback

Unread post by gamesfan »

That would be useful for RPG grinding.
Go into an area, kill a bad guy level up, leave comeback and do it over and over again.
AtomicShroom
Posts: 172
Joined: Sun Mar 07, 2021 12:28 pm
Has thanked: 31 times
Been thanked: 48 times

Re: Feature Request: Input Recording and Playback

Unread post by AtomicShroom »

gamesfan wrote: Sun Aug 08, 2021 4:12 am That would be useful for RPG grinding.
Go into an area, kill a bad guy level up, leave comeback and do it over and over again.
Wouldn’t that only work if the battle encounters aren’t randomized, which they usually are? Plus if you get a back or pincer attack for example, this would throw your recording right out the window.
gamesfan
Posts: 72
Joined: Mon Jun 07, 2021 7:15 pm
Has thanked: 3 times
Been thanked: 12 times

Re: Feature Request: Input Recording and Playback

Unread post by gamesfan »

I suppose it would depend on the game.
Crono trigger Snes aren’t random,
Auto record your Mario speed run.

Depending on implementation you could record special moves. Then maybe play them with a sing button.. like instant “haduken” in Street fighter…

Lots of ideas come to mind.
deepthaw
Posts: 65
Joined: Wed May 27, 2020 3:45 am
Has thanked: 1 time
Been thanked: 13 times

Re: Feature Request: Input Recording and Playback

Unread post by deepthaw »

I was thinking of this less for macros and more for stuff like TAS playback. I imagine you’d have a new “Reset with input recording” option that’d put the system into a known reproducible state and then record all inputs as they came in.

The resulting file could be shared for a perfect recreation of the original session. Most people use it to record TAS but I could see value in being able to share stuff with developers by letting them get back into the exact same state you were in when a bug occurred.
dshadoff
Core Developer
Posts: 547
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 20 times
Been thanked: 145 times

Re: Feature Request: Input Recording and Playback

Unread post by dshadoff »

Realistically, this would need to be implemented in the core, to snapshot what value was passed from the input to the core, as the core made the request. This would be based on each scan of the port so it could take place in each core in the same way. There is the potential for minor variances in timing across different versions of Main-MiSTer or different SDCards, but mostly this would be at screen transitions rather than in-game play.

Capturing the actual values would not be so difficult, but the means of storing/retrieving/playing them might need some deeper thought.
FoxbatStargazer
Top Contributor
Posts: 1019
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 315 times
Been thanked: 238 times

Re: Feature Request: Input Recording and Playback

Unread post by FoxbatStargazer »

This is ver uneducated but I thought USB polling was handled at a higher level? Like the core has to check whatever port, but an input being found by core request on a USB "port" is because the linux OS already polled the physical USB connection. How else could the 1 ms script work?
dshadoff
Core Developer
Posts: 547
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 20 times
Been thanked: 145 times

Re: Feature Request: Input Recording and Playback

Unread post by dshadoff »

Polling at a higher level would not be synced to the core's actions, and would not adequately serve the requirement.
wmd
Posts: 61
Joined: Sun May 21, 2023 9:55 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Feature Request: Input Recording and Playback

Unread post by wmd »

To me, this feature would be most useful as proof of game completions. E.g. you can upload and share your input recording online as proof that you had completed a game. MAME has had this for many years, although I imagine it's more challenging to implement on the MiSTer.

Missus
Posts: 183
Joined: Fri Jan 27, 2023 12:45 am
Has thanked: 48 times
Been thanked: 43 times

Re: Feature Request: Input Recording and Playback

Unread post by Missus »

reminds me of doom demo lmp files

https://doomwiki.org/wiki/Demo

this would be amazing to have for mister but i imagine there would be a tom of overhead for the core to do this, unlike a funtion built in to a specific games engine.

Post Reply