libretro / gambatte-libretro

Hard fork of Gambatte to the libretro API.
http://sourceforge.net/projects/gambatte/
GNU General Public License v2.0
104 stars 78 forks source link

Internal Palette: GB - DMG seems a little bit off #130

Closed ghost closed 5 years ago

ghost commented 5 years ago

Hello everyone!

When playing with the Internal Palette: GB - DMG core option I wondered how this came to be and what it's based on?

It looks like this: gb_dmg_gambatte

While watching an episode of AVGN yesterday (Episode 42 - Virtual Boy) there was a brief moment of where a Game Boy screen was shown. gb_dmg_hardware

By comparing these two and upon further examination it feels like the Internal Palette: GB - DMG core option is a little bit off.

By using Paint and derivative the values of each color, lightest to darkest I was able to come up with this. gb_dmg_bgb

This pretty much resembles of how I remember the Game Boy games to look like.

These are the color values (used in bgb): Color 1 - 120, 169, 59 (lightest) Color 2 - 93, 150, 78 Color 3 - 70, 131, 89 Color 4 - 56, 110, 86 (darkest)

I don't think I have ever played a Game Boy that looks like the Internal Palette: GB - DMG Granted, each individual Game Boy was unique however and it could just be my interpretation.

What do you guys think of this?

ghost commented 5 years ago

I came up with a Default.pal real quick using the standalone Gambatte so I could test it out in RetroArch:

[General] Background0=7907643 Background1=6133326 Background2=4621145 Background3=3698262 Sprite%2010=7907643 Sprite%2011=6133326 Sprite%2012=4621145 Sprite%2013=3698262 Sprite%2020=7907643 Sprite%2021=6133326 Sprite%2022=4621145 Sprite%2023=3698262 slectedScheme=DEFAULT

Internal Palette: GB - DMG dmg_2

Derivation from Game Boy screen image dmg_1

The screens are quite blurry due to the fact that I am using the Response time shader but otherwise it looks good.

I have been on a quest for the perfect Game Boy palette for over 4 years now and I can't say either one is the definitive 100% and I have tried out a dozen ones through the course of time.

But the derivation one feels most right to me compared to Internal Palette: GB - DMG

The debate is open so feel free to chime in with your thoughts and opinions.

ghost commented 5 years ago

Since I own two Game Boys myself this was the best I could come up with.

dmg_hardware1

dmg_hardware2

Clearly these images doesn't do the quest for the perfect palette any justice and the Game Boys I have haven't aged very well.

The AVGN screen capture of a Game Boy screen is the best I have, no matter which angle or view every shot I took looked as bad as these two captures I posted.

And to add more frustration to this the brightness adjustment sliders on my two Game Boys seemed to work poorly. Either the screen got to bright or to dark and I made sure that the batteries were new and full.

ghost commented 5 years ago

By enhancing the resolution from the Yellow Game Boy image and examine it further I was enable to make a rough and quick translation into bgb.

dmg_rough

I was quite satisfied with the result but the Egg doesn't quite look the same, the dots in the original Yellow Game Boy image looks darker than the final result in the emulator but again this is just a rough approximation and interpretation.

At this point I don't know what do base a "true" palette on frankly, it could be literally thousands of combinations.

In the end it's what the end user remembers it to be but making a palette based on the AVGN Game Boy screen seems to be "the" choice at the moment, it's not to bright and it's not to dark either.

ghost commented 5 years ago

The quest for perfection continues!

I scoured the net and stumbled upon something similar to the AVGN Game Boy screen.

dmg_hardware_screen

It's not that bad actually and the first T in Tetris contains everything you need for a complete palette.

palette

This means we could use this to make a quite accurate palette with good balance of brightness and darkness.

My own Game Boy screens were quite dark and I wasn't even close getting the same quality or brightness like these.

One step closer to achieve victory!

I will try this out tomorrow, I have high hopes this is what I have been looking for.

hizzlekizzle commented 5 years ago

That looks too lime-green and blue to me. image This looks more like I remember ^^

It's surprisingly hard to find good photos for game boys online. Most of the ones I clicked on ended up being RetroArch with harlequin's gameboy shader...

ghost commented 5 years ago

It is indeed hard to find good photos of a "healthy" Game Boy screen and I can't say there is nothing wrong with the one you posted, maybe just a little to bright.

By translating the palette from the Tetris image I created a quick mockup

dmg_moccup

This is probably as good as it gonna get, and while it's not perfect it's the closest I have come replicating the Game Boy.

I need to test it with other games just to make sure but the boot animation looks really good too though.

EDIT:

Here is a Default.pal for the Custom palette core option in Gambatte, copy the code and paste it to Notepad and save it under RetroArch\system\palettes\ as Default.pal

[General] Background0=8699983 Background1=6989416 Background2=4949608 Background3=3565144 Sprite%2010=8699983 Sprite%2011=6989416 Sprite%2012=4949608 Sprite%2013=3565144 Sprite%2020=8699983 Sprite%2021=6989416 Sprite%2022=4949608 Sprite%2023=3565144 slectedScheme=DEFAULT

In motion how does it feel for you?

ghost commented 5 years ago

After much consideration I have now reached the conclusion to close the issue.

Game Boy palettes/screens is what you remember it to be, I'm not the one saying which one is more right than the other.

There are literally thousands of different combinations and types of Game Boy screens which each have different and unique abilities.

If you find a palette that suits you it's better to just make one in standalone Gambatte and create a Default.pal for use in RetroArch.

Thank you so much for everything!

hizzlekizzle commented 5 years ago

I think that's probably an accurate statement. As I was looking over images and remembering, etc., I was considering how much the image changed based on the contrast slider. I always kept mine very low because I was a battery miser. I can imagine people who kept theirs at a higher contrast level probably have a very different image in mind.

ghost commented 5 years ago

Exactly, there isn't a definite Game Boy palette, I realize that now. It's up to each and everyone to decide what to use and a Custom palette is the best way to go.