Ideas for Playback additional functionality

General discussion on MAME, MARP, or whatever else that doesn't belong in any of the other forums

Moderators: mahlemiut, seymour, QRS

Post Reply

Would you like to see the described functionality in a future MAME?

Poll ended at Fri Nov 29, 2002 7:29 am

No
1
33%
Yes
2
67%
 
Total votes: 3

kranser
MARP Knight
MARP Knight
Posts: 333
Joined: Wed Mar 13, 2002 11:23 am
Location: London, UK

Ideas for Playback additional functionality

Post by kranser »

Hi,

I posted the message below to the MAME board, and haven't received any major replies yet. So I thought I'd post here to see what the view of people here is. What I basically want to know is whether anyone would be interested in the additional functionality proposed.

If there are any MAME Devs on this board who would have a general idea of whether such functionality would be accepted into MAME, then I'd be interested to hear your response.

The message:

I've been considering the following ideas for an additional menu item
for 'Playback', for a while now. Please let me know whether these
could be added to MAME (I would be willing to help program them if
the MAME devs think these would be suitable additions).

The 'Playback' menu option will only appear if a game is being
played back (-playback option) and would have the following sub menu
items:
1) Stop playback
2) Show playback percent
3) Set pause percentage
4) Show playback text

I will now describe each suggested option in more detail.

1) Stop Playback
This option is simple. It is designed to stop MAME taking input from
the playback file and allow the user to begin to provide their own
input (via keyboard, etc...). I.e. playback is stopped, and the user
can continue to play the game from the current point in the game.

This would be useful in helping MAME Devs and bug fixers to be able
to stop playback at a certain time and to experience the bug for
themselves, rather than being stuck with the recorded input for the
whole gameplay (if the user continued to play, rather than stop
recording when the 'bug' occurred that is).
It also enables other users to check the validility of a specific
INPut file, by checking that the recorder did not use an invinicibility
cheat or other bug in the arcade game to their own advantage, etc...


2) Show playback percent
This would show the current position of playback in the INPut file as
a percentage of the total size of that playback file. I.e. so we can
see how far through the playback we are.

This assumes that we can obtain the file size of the INPut file, and the
current position that we have reached in it, irrespective of the
operating system (Mac, Windows, DOS, Linux, etc...). I'm not sure
if we can do this in all operating systems that MAME works on - any ideas?

My idea is that once this option will allow the percentage figure to be
permanantly shown on the screen at the location specified by the user
(in the same way as the cheat Watchpoints are displayed). The user
will be prompted to specify whether the percentage figure is displayed
or not (toggle), and at which X and Y co-ordinate location the values
should be displayed. The percentage will be shown to 2 decimal places.
And ENDED will be displayed when the playback file has ended (or when
option 1) [above] has been specified).

This would be useful in helping MAME Devs and bug fixers to be able to
know where abouts in the playback the 'bug' occurs. I.e. the MAME
Tester could post that the 'bug' occurs at 76.43% of playback,
enabling the MAME dev to locate the bug more easily.
It will also benefit normal users of MAME, as they can find out
aproximately how far they are through the playback, and how much
longer playback should continue for.

Also, if we can calculate elapsed time, then we can estimate the
amount of time left before the playback completes.

3) Set pause percentage
This option will enable the user to type in a percentage figure
(between 0.00 and 100.00%) at which MAME should automatically
pause the playback.

The default percentage figure will be the current playback percent
(as described in option 2) above). This enables a user to pause the
playback at the current position.
This is the same as pressing the
[PAUSE] key, except that if a future TG version of MAME is produced,
without a [PAUSE] key, then playback can still be paused using this
function. This should be acceptable, to allow anyone viewing the
recording to take a break - after all TG versions prevent users
and recorders from being able to do anything that they couldn't do
in an Arcade - but it should still allow playback to be paused - as
it isn't actual real-time gameplay (IMO that is).

The main function, however, is to enable someone playing back the
recording to be able to specify the point (percentage) in gameplay
which that are interested in, and to be able to leave MAME running to
that point, wiithout fear of missing anything that they want to see.

Once paused, the game can be unpaused as normal - this will automatically
clear the set pause value. Except in possible future
TG versions, where functionality may need to be added to this option,
so that when the set pause value is changed, MAME will continue
playback as if the [PAUSE] key has been pressed again.

This would be useful in helping MAME Devs and bug fixers to be able to
stop playback at the point they are interested in seeing the action.
So they they can leave MAME running to the point of the 'bug' without
fear of missing anything (as long as they know the percentage of gameplay
in which the 'bug' occurs, that is).


4) Show playback text
They are many situations when it would be nice to be able to comment
or read information about a particular playback file.

I.e.: Details of 'MAME bugs' during gameplay, details of game specifics,
details of levels completed, details of any tricks or leeching performed,
documentation concerning the game, playback requirements, etc...)

I suggest that all .INP files should have the option of being accomplanied
by an .INT file which will contain playback text concerning one or
many of the possible details that can be reported on about the recording.

This option should display any text found in an .INT file with the same
filename as the .INP file. The text should be shown in a similar mannor
to the Game History/Mame Info text.

As MAME does not have a text editor, the user cannot add any text, only
view existing text.

It will be up to any individuals providing recordings, or any site
which allows recordings to be uploaded/downloaded, to maintain and
distribute any such .INT files.

I.e.: Preferably, sites should allow the .INT files to be downloaded
alongside the .INP files, and to have an 'Add Comment' option, in which
any registered user of the site may add a comment to the end of the
existing .INT file for the specified playback file.
The site should automatically maintain the .INT file, by automatically
allowing any comments to be added to the end of the current file (along
with details of the user which made the comment).

This will help document recordings, and to give more information
about any bugs found in the gameplay - which would help MAME Devs,
MAME Fixers and MAME Testers.

Of course, there would be no requirement to provide an .INT file
for every .INP file, only a option to if user which to comment.

-----
Well, that's it. I think these ideas wouldn't take too much to program.
And that they would benifit .INP files and MAME in general. Please
post any comments or ideas that you may have, and let me know if these
ideas would be suitable for MAME.

Thanks,
Kranser.
User avatar
tmorrow
Button Masher
Button Masher
Posts: 84
Joined: Thu Mar 07, 2002 8:00 am
Location: Melbourne, Australia
Contact:

Post by tmorrow »

This has got to be 'no-brainer' for the MARP community, the answer is yes, when, I want it yesterday. The problem of course is that MARPer's views are not shared by the MAMEDEV's whose focus is preservation, being able to play games is a bonus but not what the MAME project is all about. The only reason inp's and playback are supported is because they can be used to track down emulation bugs and some MAMEDEV's are dubious that even those should be included in MAME.

Don't get to disappointed if the MAME board does not get too excited by your ideas. There is no reason why you can't graft your functionality onto the standard MAME release if Nicola and Co. don't bite.

Cheers,
Tim
kranser
MARP Knight
MARP Knight
Posts: 333
Joined: Wed Mar 13, 2002 11:23 am
Location: London, UK

Post by kranser »

Thanks for your quick response Tim.

Well, I tried to show how this functionality would be applicable to MAME testers as well - still not sure they'll buy it though!

When you say graft my functionality onto existing MAME, do you mean release an unofficial version?

Also, if anyone has any other ideas for similar functionality, please post here. I'm convinced that fast jump back and forward features are impossible though - however, they would be very useful to the MARP community!

Regards,
Kranser.
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

I think #2 and #3 are ideas or similar to other ideas that should be implemented cuz they would be nice for playback of inps.

#1 I fear though as it could result in some haxi version that would pretty much do away with inps being a fairly reliable method of score confirmation.

If you added #1, it seems it wouldn't take much to add where you can be recording a new inp at the same time as playing back the old inp....then using your #1 idea, let the game get to a really high level then stop the playback inp and finish the last parts of the game yourself so you then enter your own initials etc. at the end of your own inp that is mainly just a copy of someone else's game.

That would be very bad and would result in inp files needing to be overhauled...so please dev guys don't implement #1.

Odds are most inps aren't reviewed closely enough to see someone else did the above copy type thing.

However, I think in most cases that #1 isn't even needed for the dev people, if the first few levels of a game play correctly odds are the entire game is fine and any "bugs" within that game at later levels aren't the fault of the emulation but actually are in the game itself.

I'm not voting for this one cuz of #1.

I would really just like to see a movie-capture thing where on playback of an inp you have an option to capture every other frame so the movie is 30fps or every 4th frame so the movie is 15 fps etc. to a movie file.

That would be much better than #2 and #3 above actually cuz you can then use any movie watching utility to go to any spot of the played game and pause and do whatever you wanted. For most games that have a static maze/background, the resulting mpg/mov/divx would be rather small I think since almost all of a following frame is identical to frames several seconds/minutes later.

Odds are the movie could be captured just as series of jpg at a certain #frames/sec which you later use some movie util to conver those to a movie. I guess the tricky part would be the sound during a game. I think even having those movies without sound would be cool. At least then you aren't possibly comprising the integrity of inp files.
kranser
MARP Knight
MARP Knight
Posts: 333
Joined: Wed Mar 13, 2002 11:23 am
Location: London, UK

Post by kranser »

I agree that #1 could be dangerous, and would enable people to fake an INP file - like they can currently do, except quicker.

Of course, if an INP file is attempted to be faked in any future TG version of MAME, this additional functionality would not benifit the user, as their result in a blank recorded file, as currently in MAME 35 TG.

I think that, if this was implemented, #1 should not be allowed is recording is in progress.

Also, regarding #4, does anyone know whether the MARP website maintainers would mind adding a download of a text file alongside each zipped INP file? And whether they would mind having a new 'Add Comment' button alongside each score listing?

Regards,
Kranser.
kranser
MARP Knight
MARP Knight
Posts: 333
Joined: Wed Mar 13, 2002 11:23 am
Location: London, UK

Post by kranser »

The movie idea sounds good. I'd have no idea how to implement this though :(

However, wouldn't a movie file be rather large, and you wouldn't save time, as you'd need to playback the entire recording to capture it first?

Just a few thoughts,
Kranser.
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

kranser wrote:Also, regarding #4, does anyone know whether the MARP website maintainers would mind adding a download of a text file alongside each zipped INP file?
I always include a readme.txt file with all of my MARP submissions as well as a screenshot of the final score or high score within the game.

I have never gotten a complaint asking me to stop that and the web site seems to accept it just fine so it isn't an issue.
However, wouldn't a movie file be rather large, and you wouldn't save time, as you'd need to playback the entire recording to capture it first?
Yes you would need to playback the entire inp to capture the frames to a movie but you can have that running unattended. You can start one before you go out for a couple hours or sleep etc.

The size would vary greatly and also depend on whether a codec was included in the process or if just a movie of the png/jpg frame shots would be put together with no additional compression initially.

Most games would compress very nicely though for a movie codec like divx or any mpg4 codec cuz most frames are extremely similar as most of the display isn't changing at all or evne in scrolling games the background itself is static, just scrolling some...still allows the frames in between keyframes to be really small.

Plus even if just the raw screen captures were saved my screenshots for many games are only 2-3k each. If you were capturing at 15 per second, that let's say max of 50k/sec, or about 2.5-3 meg/minute. For an hour long game that's 150-200 meg.

Now in encoding that to divx/mpg4 I suspect that size would be reduced a factor of 10 making a 1 hour game divx movie only 15-20 meg in size!

Some inp files for an hour long game are that size! Now for other games the screenshot is like 16k so those would be substantially larger.

It might not be a feature people with slower systems or limited HD space would use very often, but it would be a cool feature. There are some open source projects, especially for linux for doing movie capture or conversion of a series of jpg files to a movie. It wouldn't take much for mame to have a special folder where all the screenshots are just saved as separate jpgs or pngs etc. and then you just use that utility to convert those pictures to a movie. I doubt anyone would forge 10000s of pictures to make a fake movie. That would be too tedious for anyone. Anyway that function could be within mame itself to just directly make the uncompressed movie at least. Then you can use some other movie utility to convert it to divx/mpg4.

Plus perhaps you could have a key to toggle if movie capture is on/off so if you are watching an inp file you could just capture a certain level or few minute area of the game to movie....the rest you wouldn't care about. this would have great uses where you could have a web page with a "trick" on it or for your own use to carefully review patterns you are developing etc. versus having to watch your own inps over and over and over just to study stage 25 or whatever.

It also would allow cross-platform confirmation having the entire game saved as a movie. This appeals to me a bit more given I play on a Mac, and MARP has no one to confirm inps that only playback on macs. For really nice scores it gives a possible other option for confirmation.
User avatar
mahlemiut
Editor
Posts: 4186
Joined: Mon Feb 04, 2002 10:05 pm
Location: New Zealand
Contact:

Post by mahlemiut »

15-20MB movie that won't compress much further versus an INP of similar size that compresses to around 100th of its size. Someone buy me broadband first, please.
- Barry Rodewald
MARP Assistant Web Maintainer
Image
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

hehe....well I didn't mean to upload those movies to MARP...but it's nice for your personal use and potentially sharing with others if it's important enough.

For example a world record score for Twin Galaxies having a movie of it likely would be accepted. You just mail them a CD with the movie.

That's easier than having to videotape it and mail the videotape.
Although TG has a couple referees that have Macintoshes so they can verify macmame scores. :P
Post Reply