fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
807 stars 132 forks source link

wanted: a seamlessly tiling 64x64 icon depicting Crisps to use as a background texture for the Crispness menu #290

Closed fabiangreffrath closed 6 years ago

fabiangreffrath commented 6 years ago

I am looking for a unique way to decorate the Crispness menu background and my idea was to use a tiling texture like the flats that are currently used. Of course, this texture would have to show seamlessly overlapping crisps, similar to the background of the Crispy Doom icon.

I have searched the web a bit, but the nice looking ones that I could find were either non-tiling or copyrighted and watermarked. If anyone knows where to find such a picture or how to create one from existing resources, e.g. the icon background, this would be highly appreciated. ;)

JNechaevsky commented 6 years ago

I can work with current Crispy background and with some obstinacy make it as 64x64 repetitive tiled image. But why don't use a 320x200 background? It could be more nice looking in my opinion.

In any way, both cases will require a pixel perfection (yellow/orange palette in PLAYPAL is not so rich) and brightness/contrast correction, but you can trust me here.

P.S. And by the way, background will be packed into executable, right?

fabiangreffrath commented 6 years ago

But why don't use a 320x200 background

Because, yes, it will have to get embedded into the executable. But, I think I can effort the 4kb for a 64x64 paletted tile. ;) Also, I want to keep the "style" of the menu/intermission screen background.

but you can trust me here

Thank you so much!

JNechaevsky commented 6 years ago

Not at all at the moment! The word "paletted" scared me - what if loaded PWAD will contain heavily modified PLAYPAL? Hmph. I can do this gfx in planar RAW format (just like TITLEPIC in Heretic or loading screen in Hexen. FYI: 320x200 plannar screen is about 50 kb.), but looks likes even this planar format is depending to the game palette. What should we do?

fabiangreffrath commented 6 years ago

what if loaded PWAD will contain heavily modified PLAYPAL

Then the menu background will look weird.

What should we do

Let's try it and then see what could possibly break. Full steam ahead!

JNechaevsky commented 6 years ago

Yes, sir!

JNechaevsky commented 6 years ago

Fabian, it's not good, not good at all, my hands are bound tightly. Yellow palette have only 10 too bright colors, it will not fit well with darken Doom graphics. Orange color is using 16 too bright colors. To compensate it, I can use a tan tone, which is having 32 colors.

Now about approach. At the moment, I haven't achieved anything adequate: 1, 2.

Looks likes using a detailed background for 64x64 will not be looking good. However, an idea comes! What if we will use not a crisps for background, but something like... Ribbed surface of the crisp? An example of using patch RW20_1: http://priscree.ru/img/13c86a7961a1cc.png, just for show.

Should I follow this idea?

fabiangreffrath commented 6 years ago

I haven't achieved anything adequate:

The first pic already look pretty promising! Though, it's fullscreen and I'd like to preserve the tiled background. The second pic is more like a yellowish/beige mish-mash, I am afraid. :/

Ribbed surface of the crisp? An example of using patch RW20_1

Is this an IWAD patch? I am not sure, however, if people get the idea that they are looking at the tiled surface of a crisp.

Should I follow this idea?

Honestly, I'd prefer the idea of one crisp per tile overlapping with the adjacent tiles. But it's really just a wish, please don't exhaust your energy on this!

JNechaevsky commented 6 years ago

Is this an IWAD patch?

It was a modified ZIMMER texture, just as a quick template.

I'd prefer the idea of one crisp per tile

It's a good starting point, so be it. It could be something like... One crisp in the center of tile, not very small, not very big, not very notable. Tile's background also should be present, maybe as a little more darker to make crisp be slightly more notable and not mixed with background. Something like this, need to experiment. The only thing that makes me sad is a palette, which is bound my hands extremely tightly.

Dark blue colors probably could save a day but no, despite of it's good potential it will not look correct for Crispy colors.

fabiangreffrath commented 6 years ago

Tile's background also should be present

Maybe one foreground crisp on top of an indistinguishable pile of crisps in the background?

JNechaevsky commented 6 years ago

Oh yes, that's a plan. I wonder if it will be possible to make a crisp as char "C"-alike.

JNechaevsky commented 6 years ago

crispy

Generic Just a piece of crisp. Will be most easy to make tiled, but it's not looking interesting to be honest.

Crispier More detailed background. Looking much more promising, but it's a bit too bright for Doom realities.

Crispier (darken) Same as above, but darken. Not awfully contrasted and probably will be more acceptable.

Crispier (darken-contrasted) High contrasted version. Probably even more acceptable?


Please note, none of them tile-friendly at the moment, so I'm asking you to choose something that you would like to get. As about crisp in dark background - I not lucky with getting any good looking gfx, it feels a little cartoonish. :(

Making tile-friendly is not very hard, just need some accurate patience. But converting to Doom pallette is really painful thing, I'm afraid I can't guarantee really good looking result.

Another idea: how do you think, is possible to use two embedded lumps:

  1. Raw unpaletted 64x64 image.
  2. Independent from PLAYPAL palette lump with one (instead of sixteen) palette? This lump will be exactly 768 bytes.

So, which one or few you would like to choose?

fabiangreffrath commented 6 years ago

So, which one or few you would like to choose?

I think I like samples 1, 4 and 5 the most (the others either have too much detail in the middle or too less of it) - either in the "crispier" or the "crispier darken-contrasted" style. The simple "darken" stype is a little bland, though this probably even makes an advantage if used as a menu background? I am really not sure, I want the menu background to resemble the icon background so poeple get the "aha!" effect and smile once they open up the Crispness menu. ;)

Another idea: how do you think, is possible to use two embedded lumps:

I really like the idea of using a dedicated palette for the menu background. BUT it will have to wait until the truecolor renderer is there. Currently, we cannot change the palette for only one part of the screen, the font would be affected as well.

On the other hand, if you provide the background tile as a paletted image, I am sure you won't need a full 256 color palette. Some ~16 colors tailored to fit the image might even be enough.

JNechaevsky commented 6 years ago

Allright then! My next steps are:

Some ~16 colors tailored to fit the image might even be enough.

BTW, PNG also can be a paletted image. 64x64 tile will be about 128 colors, but even so it will be much better than in 16 colors. Okay, let's leave this question for true color days. I wonder if libpng can be useful here?

fabiangreffrath commented 6 years ago

Please no PNG embedding into the executable! A lump in flat format with its own dedicated palette is perfect for the truecolor renderer (because I will have to pipe the flat background's pixels through the colormaps[] array anyway) and optimized for Doom's PLAYPAL for the current paletted renderer.

BTW, embedding this background flat would be the perfect opportunity to finally move the Crispness menu into its own source file.

BTW2, we could also have one dedicated background per Crispness menu page (there will be 4 in the near future) or maybe randomized backgrounds, but this may be a bit too much...

SoDOOManiac commented 6 years ago

@fabiangreffrath

we could also have one dedicated background per Crispness menu page (there will be 4 in the near future) or maybe randomized backgrounds, but this may be a bit too much...

I'd suggest one background per Crispness menu page but no randomness, so that changing the background corresponds to switching the menu page unambiguously.

fabiangreffrath commented 6 years ago

Let's not put too much stress on @JNechaevsky . I guess it is already tricky enough to get one properly tiling background flat done, not to speak of four. ;)

JNechaevsky commented 6 years ago

I'm afraid I can do anything until weekend, sorry. As about background changing - yeah, I'm agreed that it will be looking not good. It may look good if backgrounds themselves will be non tiled, big images with some specific GFX, for example: volume speaker in audible section and so on.

JNechaevsky commented 6 years ago

Made some progress with tiling 1, 4 and 5 pictures. Note, they are just tiled, palette/constrast hasn't been changed yet. I think we should proceed with tile №1?

JNechaevsky commented 6 years ago

Some experiments with №1. Sorry, I can't get proper crispy's colors because of limited palette. :( Perhaps, tan color will be more or less good until this picture will have own palette?

fabiangreffrath commented 6 years ago

Absolutely impressive!

I think we should proceed with tile №1?

Yes, definitely!

Perhaps, tan color will be more or less good until this picture will have own palette?

I like all four variants. Tan is very discreet, which is probably a good characteristic for a tiled background, but on the other hand it doesn't look very crisps-like. Orange is a bit too intrusive. Pinky is probably the variant I like the most. Although it is more intrusive than tan, but less than orange, it resembles actual crisps the best and still doesn't affect the font in a too negative way. B/W is also nice, very clear, but one has to guess that the background shows crisps, I am afraid.

JNechaevsky commented 6 years ago

Pinky, sadly, looks a little bit "meaty", so I would like to don't recommend to use it. Orange is a little bit too agressive and hellish, making fonts hard to read. At the moment, I still would like to vote for tan. I can't offer anything better with colors, because there are no suitable colors in PLAYPAL... Duh.

Okay, time to share my results! In this archive you will find all four background in both varians:

  1. As wad file with flat lump (FLOOR4_6),
  2. As raw lump (note, it's in Doom flat format, not in Doom patch).

Anything else I can do?

fabiangreffrath commented 6 years ago

This is perfect for the moment, thank you soo much!

I think I'll stick with tan, it looks pretty similar to the current background flat.

JNechaevsky commented 6 years ago

Thanks for accept! In case you are having even minimal pixel-perfection wishes, please feel free to explain. My eye-vision is still slightly dizzy after working week, so I may have missed something...