Jump to content
  • 0

Doom palette


Contmotore

Question

Ugh, this Doom palette...

Any pro tips/tricks or a workaround for this?

 

Is there a way to force certain colors from the palette when converting?

I'm currently using Photoshop CC

 

Idea:

Spoiler

image.png.c60d50fc42bae49808cdee92585d12a7.png

Result:

Spoiler

image.png.9f6ccdd50938226c51f8a486330e5b3b.png

 

Share this post


Link to post

8 answers to this question

Recommended Posts

  • 2

I'm gonna suggest using SLADE's color remapping tool. It's quite powerful and you can make very complex translations and save them to text files so as to be able to reuse them later.

 

You have several types of translations:

  • Palette range: from one range to another. Work best when the range progressions are similar.
    Bu5lRpv.png
  • Color gradient. Linear progression across a gradient. Protip: right-click on the "from" and "to" color boxes lets you choose a color from the system's standard color chooser, but a left-click lets you choose one from the PLAYPAL.
    Pi2k6aQ.png
  • Desaturated color gradient: the colors in the range are first desaturated to greyscale, and then their position on the greyscale is used to give them a new place linearly on the gradient. It works better when the source range doesn't have a linear progression.
    1aRscbe.png
  • Colorise range: the source color is desaturated, and then multiplied by the given color.
    mwuf982.png
  • Tint range: each color of the range is brought closer to the given color, by the given amount. 0% gives no change while 100% gives a flat color.
    etgj9Aq.png

You can combine several different translation effects for different ranges. Note also the "truecolor" checkbox which shows you what your translation would give in truecolor mode, you can tick and untick it to get an idea of how close your effect is to the colors available in the palette.

 

The "translation string" is what can be saved and loaded for reuse later, but it can also be used as-is in ZDoom DECORATE or ZSCript code. (It's where the truecolor preview can be useful; instead of actually modifying the sprites you can use it to preview how your translation will look if it's applied by code in GZDoom in truecolor mode.) The palette translation only allows the advanced translation types (gradiants, colorise, tint) to be "converted" into the palette range, this is needed for some ports that do support custom translations, but not the full gamut of what GZDoom supports.

Share this post


Link to post
  • 1

[I'm assuming you're targeting software graphics]

 

There are many color ranges that are not represented well in the stock palette, desaturated purples chief among them. You can include a custom palette in your project which has more purples, but nothing comes for free (i.e. there are a fixed # of colors, so you'll have to trade-out some existing ones). One approach I've taken is to swap the blue and purple ranges:

 

stock palette: 1031138262_ScreenShot2020-01-21at1_16_57PM.png.3312608785650cbdba7fe3074cad494c.png

 

 

purply palette: 1012200774_ScreenShot2020-01-21at1_17_08PM.png.e05d28dfc1438cd5fdb90199777205e7.png

 

You're free to try out this palette (which I've attached to this post). Alternatively, I know there are some tools out there which can process images and give you a list of color values that are best suited to representing it in a reduced form, and you can plug those into the palette before mapping the assets (I haven't done that myself but I bet @esselfortium or @Grain of Salt would know).

 

 

 

x7_pal.wad.zip

Share this post


Link to post
  • 0

GIMP has a super easy built-in thing that converts an rgb image to a new ideal palette with a given number of colors! :D

 

pal1.png.5f2d987fc0cbac0d4a801156e925a0fe.png

 

pal2.png.72de6d9ef28aa90a92aea31cbea3609f.png

 

If you use this on your demon pic, specify 24 colors (or 23 if you want to preserve the redundant 0,0,0 cell) and paste the result into a new palette replacing the blue range (I assume?), you should be able to have your purple demon in doom without much degradation.

 

It's a nice purple. Reminds me of wolf3d.

Share this post


Link to post
  • 0

Hi, thanks for your reply!

 

That's really cool you can use a different palette for Doom, but as expected:

Spoiler

image.png.c0506e9a2c0dc456069cce08cb703537.png

 

Anyways, I think I have to find a way to save a range of hues from the Doom palette and convert the image to those saved hues.

Share this post


Link to post
  • 0
4 minutes ago, Grain of Salt said:

GIMP has a super easy built-in thing that converts an rgb image to a new ideal palette with a given number of colors! :D

 

pal1.png.5f2d987fc0cbac0d4a801156e925a0fe.png

 

pal2.png.72de6d9ef28aa90a92aea31cbea3609f.png

 

If you use this on your demon pic, specify 24 colors (or 23 if you want to preserve the redundant 0,0,0 cell) and paste the result into a new palette replacing the blue range (I assume?), you should be able to have your purple demon in doom without much degradation.

 

It's a nice purple. Reminds me of wolf3d.

Ah yes, I also installed Gimp. Gonna give this a try, thnx!

Share this post


Link to post
  • 0

Decided to make him blue instead, this works better with the vanilla Doom palette.

 

Result (with vanilla Doom palette):

Spoiler

image.png.0cb88d40e7602aa1bca37d33ab837dd1.png

 

Edited by Contmotore

Share this post


Link to post
  • 0

That Purple Doom looks kinda nice.

 

But yeah: the palette is used by everything in the game, so making changes to it will affect everything else using it. So if you want to make graphics for Doom, you'll need to start from the palette rather than ending with it. (I've been drawing new sprites for a project, using truecolor, but drawing colors from the game's palette to minimize conversion problems.) Or use some port that allows for truecolor PNG sprites, but then your audience is limited to that just for the sake of a recolored Demon.

Share this post


Link to post
  • 0
2 hours ago, Gez said:

I'm gonna suggest using SLADE's color remapping tool. It's quite powerful and you can make very complex translations and save them to text files so as to be able to reuse them later.

 

You have several types of translations:

  • Palette range: from one range to another. Work best when the range progressions are similar.
    Bu5lRpv.png
  • Color gradient. Linear progression across a gradient. Protip: right-click on the "from" and "to" color boxes lets you choose a color from the system's standard color chooser, but a left-click lets you choose one from the PLAYPAL.
    Pi2k6aQ.png
  • Desaturated color gradient: the colors in the range are first desaturated to greyscale, and then their position on the greyscale is used to give them a new place linearly on the gradient. It works better when the source range doesn't have a linear progression.
    1aRscbe.png
  • Colorise range: the source color is desaturated, and then multiplied by the given color.
    mwuf982.png
  • Tint range: each color of the range is brought closer to the given color, by the given amount. 0% gives no change while 100% gives a flat color.
    etgj9Aq.png

You can combine several different translation effects for different ranges. Note also the "truecolor" checkbox which shows you what your translation would give in truecolor mode, you can tick and untick it to get an idea of how close your effect is to the colors available in the palette.

 

The "translation string" is what can be saved and loaded for reuse later, but it can also be used as-is in ZDoom DECORATE or ZSCript code. (It's where the truecolor preview can be useful; instead of actually modifying the sprites you can use it to preview how your translation will look if it's applied by code in GZDoom in truecolor mode.) The palette translation only allows the advanced translation types (gradiants, colorise, tint) to be "converted" into the palette range, this is needed for some ports that do support custom translations, but not the full gamut of what GZDoom supports.

I had no idea this was inside Slade3, awesome! Gonna play around with this. Thanks!

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...