Gb-studio: [Request] Palette customization

Created on 21 Apr 2019  路  13Comments  路  Source: chrismaltby/gb-studio

While the default palette is good, it would be great to have an option to use different palettes following the same 2bit standard of 4 shades.

Especially I would welcome a darker green reminiscent of the original gameboy, the taupe-ish look of Gameboy pocket and simple black-white ramp.

This will allow the author's to control the mood of their game more, while still staying within the Gameboy 2bit limitation.

I am happy to provide extra palettes.

Most helpful comment

GBpocket-style output would be amazing as an alternative to green.

All 13 comments

Definitely sounds like a good idea.

Rather than this being something configurable, mainly because I don't want to rush into making anything too configurable around colours until I've figured out GBC support, I could alter the PNG reading function to support multiple preset colour palettes for now if that works for you? If you want to paste me some hex codes of different palettes you'd like to use I can make sure they're all supported.

GBC support would be awesome, but I guess it would not work with the idea of how I thought it would be implemented (make art in true 2bit grayscale, choose "palette" for project). I mean it would work with GBC, but that would be even more confusing to choose a palette per element (sprites, bg, etc.)

Anyway, here are some GB friendly palettes - all of them a little different but still clearly distinguishable as gameboy:

Brown/Sepia - 393829 7C7163 B5A66B E7D79C
Dark Green - 343803 3F4A04 525D11 6B741F
Greenish Gray - 202020 5e6745 aeba89 e3eec0
Grayish - 2B2B26 706B66 A89F94 E0DBCD
True 2bit Grayscale - 000000 676767 b6b6b6 ffffff

GBC Support would be INCREDIBLE!!!!!

Colorizing the whole screen and changing the color set per area is doable on Super Game Boy, if you want to go that route.

@pinobatch I am thinking the palettes would be used mainly for html versions of the games. For roms the hardware/emulator will take care of the displaying of colors. In fact, there are gb emulators out there that support custom palettes. They change each of the four colors to user defined ones. Gambatte does it.

Super Game Boy would be tough to implement, you would need to emulate parts of a SNES do to it. Many emulators just "cheat" and just colorize the screen as described above, instead of truly emulating Super Game Boy hardware.

If you know what handful of SGB commands you're using, your web-based emulator can high-level emulate them. Even if it's "cheating", it's still probably good enough from an engineering standpoint, and it lets each area specify its own set of four colors.

You cannot change the color of a DMG game, because it does not have a notion of color.
What can be controlled is the palette applied by the emulator (on emulators such as BGB), and the color given by the CGB boot ROM.
Further color enhancements go into straight up CGB support.

GBpocket-style output would be amazing as an alternative to green.

That'd be an emulator feature and a thing the player would choose, not a thing that the game would implement. Again, the game has no control over which colors the 4 "shades" it uses map to.

Does the HTML version support that already?

@ISSOtm I think you are misunderstanding this request.

The request is for html version to "colorize" the shades to mimic the hardware eg. the difference between original DMG model green tint and GB Pocket taupe tint.

This is the same as running the game and emulator and choosing a different "palette" or simply running the game on a different hardware.

The GBC colorization that @pinobatch mentions works in a similar manner (e.g super gameboy or running gameboy game on a gameboy color and choosing one of the pre-defined palettes), is beyond the scope of my request, but it is worth investigating in the future.

That would then be an emulator feature provided by GB-Online, so you should open an issue/PR there.

The latest dev builds now let you choose a custom color palette, switching the output to a Game Boy Color ROM.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

uKomodo picture uKomodo  路  5Comments

cubicstyle picture cubicstyle  路  3Comments

Veund picture Veund  路  5Comments

coasterspaul picture coasterspaul  路  3Comments

Veund picture Veund  路  3Comments