libretro / libretro-thumbnails

Boxarts, titlescreen, and in-game screenshots for the no-intro DATs used by RetroArch
346 stars 348 forks source link

Snaps and Aspect Ratios #183

Closed HerbFargus closed 7 years ago

HerbFargus commented 7 years ago

I was going through working on building an artwork set for mame 2003 and was looking at this repo for resources, I found that the quality and size of the title snaps from progettoemma were much improved from what are currently in this repository, though I wasn't sure what the priority or preference was in terms of this thumbnails database

For example, a comparison of the title snaps for 10 yard (disregard the potential compression by the github uploader)

Progettoemma: title_progettoemma 256x224 1852 bytes

Progettoemma: Upscaled in gimp (nearest neighbour) title_progettoemma_scaled_up 512x448 3124 bytes

Libretro-Thumbnails repository: 10 yard fight_libretro 512x385 45938 bytes

Screenshots from the libretro-mame-2003 core:

Default: yard-161210-074121 1440x1080 9245 bytes

Scaled Down in Gimp (nearest neighbour): retroarch_scaled_down 512x384 3300 bytes

As far as aspect ratios, according to progettoemma the original screen specs were: Resolution 256 x 224 @ 56.737589 Hz

so that puts it at a 8:7 aspect ratio, it seems that for the most part progettoemma reflects the original screen dimensions (which vary by game) on their site.

So are we looking to retain a "pixel perfect" aspect ratio or are we looking to standardise them to 4:3 like retroarch does with the default screenshot settings?

I was looking into crawling their site to get improved snaps and upscaling them to a 512 px width for mame, or I can take snaps from within retroarch.

The other point of discussion would be if we want video smoothing on or off, as from the current title snap of 10yard in this repo its blurry enough to be equivalent of video smooth on whereas the screenshots I took were with video smooth off (which also help keep the filesize smaller)

As far as file size goes, the filesize is ~50000 bytes in its current state, with my downscaled screenshots from retroarch it will take it down to ~3300 which is ~93% filesize reduction

Anyways before I embark on this endeavour I want to make sure there is a common consensus so I have a standard to work off of. I'm interested in your feedback. @markwkidd as you've been doing lots of the mame stuff perhaps you may have some input?

References:

Progetto Emma Source: http://www.progettoemma.net/index.php?gioco=10yard&lang=en

Libretro 10 yard thumbnail source: https://raw.githubusercontent.com/libretro/libretro-thumbnails/master/MAME/Named_Titles/10%20Yard%20Fight.png

some semi relevant dev discussion on native aspect ratios and screen resolutions https://forums.nesdev.com/viewtopic.php?f=2&t=10141

ehettervik commented 7 years ago

I typically would much rather have sharp pixels than fuzzy ones. I would also rather have the smaller file size. So a pixel-perfect 8-bit PNG not only saves hard drive space, but also looks better. That's in my opinion. You will always have systems like C64, SNES, and NES that actually have stretched wide pixel aspects. So those systems will look a little off. Opposite with Capcom System 2 games, which squish the pixel width.

SNES: Stretches the image to fill a 4:3 television... snes

Capcom System 2: Squishes pixel width to a 4:3 monitor... cps2

I, personally, stick with the smaller, square-pixel, screenshots because of their clarity and file size.

RobLoach commented 7 years ago

I enjoy the 1:1 sizes.

markwkidd commented 7 years ago

I'm glad for more people working on this!

I would like to point out that your example of 10 Yard Fight from the libretro thumbnail repo is actually the MAME 0.37b5 title thumbnail for the MAME 2000 core. The MAME 2003 version of that thumbnail is actually here: http://thumbnails.libretro.com/MAME/Named_Titles/10-Yard%20Fight%20(World,%20set%201).png

You can see that it matches the progettoemma source you linked. It does seem like in this case the later MAME title would be a better substitute for the older title screen that I scraped, but I don't know if there is any way to replace these older title thumbs on a scripted basis.

1) If you are mainly interested in MAME 2003, can you see if there are any MAME 2003 thumbnails which have this issue? 2) If you are interested in this more broadly than just the 2003 thumbnails, can we think of any way to systematically replace inferior MAME 037b5 thumbs with renamed copies of later thumbnails?

HerbFargus commented 7 years ago

I see, I suppose I could have looked at a few more snaps to get a representative view. i guess I didn't realise there was a distinction between romset versions and the thumbnails, I just assumed it was all based on the latest mame set. I presume you used a dat of sorts when generating the thumbnails in the first place? Is there a way to tell which snaps correspond to each romset?

As with most everyone ideally my interest would be in a complete set of title snaps and game snaps at pixel perfect resolutions for all systems, I know that there are many sources for them so they all have different qualities, but if it runs on retroarch it should be easy enough to standardise the snaps for those missing quality snaps.

Simplest way may be to check the filesizes, not sure of a better way to programmatically handle the older ones.

markwkidd commented 7 years ago

I used a combination of the arcadeitalia scraper and the Progetto-SNAPS image packs to curate the existing MAME thumbnail collection into an 'omnibus set' that supports all of the current libretro MAME cores. I used a script to match filenames based on the Progetto SNAPS XMS dats for MAME 0.37b5, 0.78, 0.138, 0.159 and combined all of these files with a set matched to the MAME 0.179 datfile. That is the current content of the repo.

I have been working on some autohotkey scripts which might be relevant to your interest in auditing and improving the existing content: https://github.com/markwkidd/retroarch-arcade-playlist-helpers

In particular, I have a new prototype script that is currently designed to scrape thumbnails for a user-specified MAME core out of the overall libretro repository. With some modifications it might be helpful to your thumbnail auditing purposes: https://github.com/markwkidd/retroarch-arcade-playlist-helpers/blob/master/one-step-mame-processing.ahk

I'm glad to talk about MAME thumbnails all day :)

HerbFargus commented 7 years ago

Yes those could be useful seems to be quite thorough.

Sorry I'm a little behind on the development cycle with thumbnails, as far as metadata is concerned is there a standard set of values for all the games eg name, filename, crc, developer, year, game desc etc or does that vary by system depending on availability? I know this isn't so much thumbnails but I think it applies, It's also something I might be interested in incorporating if there are lacking values

markwkidd commented 7 years ago

@HerbFargus I polished up the arcade playlist and thumbnail generator and I've started a thread in the libretro forums regarding it. If you are still interested in pulling out only a MAME 2003 thumbnail set from the omnibus MAME thumbnail collection, it is straightforward to do so with this tool. I'd be glad to help you with settings or questions (and to hear about your results) if it's useful: https://libretro.com/forums/showthread.php?t=7802

HerbFargus commented 7 years ago

Sounds good. well this issue is more or less resolved as far as aspect ratios are concerned. as I come up with anything that may need fixes I'll submit a PR but it seems you've got it pretty well covered. I'll test the playlist generator with my lakka build when I get a chance and will carry on on the forum as I have input or questions.