nesbox / TIC-80

TIC-80 is a fantasy computer for making, playing and sharing tiny games.
https://tic80.com
MIT License
5.05k stars 491 forks source link

Thoughts on TIC-80 Palette #1300

Open sssilver opened 3 years ago

sssilver commented 3 years ago

Hi,

I am an avid user of TIC-80 as a tool to teach my child basics of programming, and have some thoughts about the TIC-80 palette; feel free to disregard if you find them useless.

So TIC-80 uses the "SWEETIE-16" palette: image

Compare with PICO-8: image

Here are both palettes stacked on top of each other; TIC-80 is top, Pico-8 is bottom: image

And here are their color histograms: TIC-80: image

PICO-8: image

It's obvious that TIC-80's palette is somewhat less vivid and more gloomy. Out of the 16 colors, 11 are in the "gloomy" hue (blue/purple/gray): image

And the "feel" definitely gets through. Out of the 5 kids I have surveyed ranging between 7 and 15 years old, every single one of them preferred the PICO-8 palette. Now of course, TIC-80 is not for children -- it is a serious fantasy computer aimed at adults. However, as adults, we are still psychologically drawn to brighter and warmer visuals; there's enough gloom in the daily lives of most of us.

Moreover, the feel isn't the only issue with the TIC-80 palette. Notably, the color brown is missing, while the palette contains 4 shades of blue. This is extremely inconvenient, because there are many things in life that are, well, brown (namely, anything made of wood).

I appreciate the fact that the palette is customizable, and I am not in any way advocating that TIC-80 should simply adopt PICO-8's palette. I think both palettes could be improved, however currently the TIC-80 palette would benefit a lot more from such an improvement. I think TIC-80 could look a lot more appealing, delightful, and functional out of the box.

potato25 commented 3 years ago

Like you mentioned before , you can change palette in palette editor . You can see list of palettes here : https://lospec.com/palette-list , and change colors according to your needs . I personally prefer Sweetie-16

SuperPupperDoggo commented 3 years ago

Maybe default palette could be an option in the config cart(perhaps using the overline palette area), and new projects will use that palette(for the normal palette area of course). This would allow everyone to have the default palette they prefer.

sssilver commented 3 years ago

Orthogonally, it would also be a lot more convenient if the palette could be customized in cartridge code rather than the UI.

SuperPupperDoggo commented 3 years ago

it can be: https://github.com/nesbox/TIC-80/wiki/code-examples-and-snippets#pal-function

sssilver commented 3 years ago

I guess I meant it in a more declarative/configuration fashion

SuperPupperDoggo commented 3 years ago

so like a metadata thing? what format would it be in?

sssilver commented 3 years ago

I don't know, a Lua dictionary? JSON? YAML?

SuperPupperDoggo commented 3 years ago

I suppose

nesbox commented 3 years ago

Maybe default palette could be an option in the config cart(perhaps using the overline palette area), and new projects will use that palette(for the normal palette area of course). This would allow everyone to have the default palette they prefer.

Try to use config default lua command to edit the default TIC cart.

borbware commented 3 years ago

it would be nice if the default palette of the game was applied to the console as well, at least in the built version!

nesbox commented 3 years ago

It was like that before in the first releases, then we split it into the system palette and game palette.

borbware commented 3 years ago

maybe an option could be added to config file where one could choose if the game palette is applied as a system palette on export?

Skaruts commented 1 year ago

I gave this palette a try many times over time, and I ended up disliking it a lot. It looks good, but it's very hard to use. I'm not a beginner, but when it comes to palettes I'm not much better than any beginner. I don't have any sophisticated knowledge of palettes. I just go by eye and by feeling.

But I still had no issues with the old palette (from 0.70), or with Pico-8's palette. I can easily draw lots of stuff out of the box with that. It had a good enough assortment of colors that made it easy for a noob like me to figure out how to use one shading to complement another. Like using dark red or even pink as shades of wood.

With this palette I always get stuck, being unable to draw certain things. Wood is a great example, because there's indeed no brown, and there are also not enough tones that can look like shades of brown. An experienced artist might find a way to make blue trees or something, and have it look great. But that's not me. I have no idea how to pull off such trickery. So every single time I just ended up giving up and launching 0.70 and copied the old palette into my current project.

I suspect this is also not any good for beginners. I know one can switch the default cart's palette, but most people won't know that for a while (I took years to realize that was a thing), and will just go with what's there, and will find it unnecessarily difficult to work with.

MypkaMax commented 2 months ago

I made a general purpose 16-colour palette and it's still pending on Lospec. It's supposed to evoke the feeling of PC-98 and Amiga games, hence the "PC-16" moniker, but now that I found this conversation, I'm wondering if this palette would fit the bill for a vibrant default palette people want in TIC-80. https://lospec.com/palette-list/myp-pc-16

image

And yes, I know I'm a year late and yes, I know one can change the game palette in the sprite editor in advanced mode and even in runtime and the system palette in "config". Having used this custom palette (I reordered it for the system palette to accomodate the indices used by the TIC-80 UI), it turns out that it's similar enough to Sweetie-16 to not be a jarring change while different enough in that it's more vibrant and offers two more unique colours Sweetie-16 didn't have.