More Palette colors/supercolors/custom colors ?

Status
Not open for further replies.

r543

Member
Srb2 has a lot of player colors, but not all of the colors use all shades that are in the palette.
I've added extra colors:
f7Zr1tR.png
White is split up into 2 palettes, this white uses the complete line, so characters with a lot of colors don't get their colors reduced to only 8 instead of 16 colors.
The second grey that I added could be a dark grey. The color black only uses 8 colors, which reduces the shading of them like white does.

Orange, Yellow,Blue and Red are a bit strange
Orange starts with 82 instead of 80 and uses brown for the 2 last colors.
Blue starts with 226 and uses the dark/metal blue color for the last 2.
And yellow starts with 103 and doesn't use all of the shades. 96-100 look different but 101-104 look almost the same.
Red starts in a different color, hot pink(it was called like that in SRB2CB, if I remember it correctly) and ends without using all of the red color.

This might not look like a problem but what if someone used a shade of yellow or blue that isn't on the skin color ? The character shading would be way different in the game.

Pink and Blue(the dark one) are 2 unused colors.
Pink is used for Super Knuckles and the first shades of red, but this could be used as a color. I think SRB2CB did use it as hot pink and I don't see a reason why this isn't in game.

Dark Blue is a bit different. It has only 7 instead of 8 shades because 247 is used by the first color of teal. The first one uses the last shade from blue so that it has 8 shades, the second one has only the 7 shades.
If this is added, then I'd name it Metal Blue.

Rosewood doesn't use the shades of the color but uses orange. Again, this could be a problem if someone sprited the character with only using the color line from the palette.

Neon Green is probably the most confusing of them all. It starts with 160(which is the first color of green) and ends with 189. It only uses 7 colors, doesn't use 2 of the color and starts with a different color.

The best way to fix this is to add the colors to the game without replacing the original one(or maybe replace neon green only). There is a different way to fix this, but you'll see this at the end of the post.

The 2 Blue and Yellows are custom colors, they aren't here to fix anything. Srb2 doesn't have a light or dark blue and using the yellow palette to create bright or dark yellow doesn't work.

I've also fixed Tails' super palette so that it doesn't use some of the gold/dark yellow shades anymore. There is an other problem with custom super characters, you can't set the color for them, only the original tails and knuckles do have a super palette but everyone else gets sonics.
One way to "fix" this, is to add a flag for supercolor where you could set that.(SF_SUPER also needs a fix so that it doesn't give float to everyone and a superability flag would be nice but this is offtopic here). Superflash would be nice so that you can set if your character uses the super palettes of if he uses the normal palettes(this is for coop/singleplayer only)
UzQE5fq.png

Here is a example of a super palette, this one is yellow/bright yellow. I could create the super palettes, no credit or anything needed, but I'd like to help with it.

An other way of fixing this is this:
Supercolor1: 120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,112
Supercolor2: 96,97,98,99,100,112,101,101,102,102,103,103,104,104,113,114
Supercolor3: 98,99,100,112,101,101,102,102,103,103,104,104,113,114,115,116
Supercolor4: 112,101,101,102,102,103,103,104,104,113,114,115,116,117,118,119
Supercolor5: 101,101,102,102,103,103,104,104,113,114,115,116,117,118,119,115

This is the current supersonic palette with flags. There are 16 colors per line and you set them all. If this was added into the game, then adding superpalettes or Superflash wouldn't be needed and this allows every player to create it's own super color, so this is probably the better idea(but would need more coding).
If this was added for normal colors too, so you could set any color with flags for your character, then there would be no need to fix or add the fixed palette line, so only light/dark blue/yellow could maybe be added as a skincolor.

I think that this is the better idea of the 2, it allows a lot more in character customization.

Now for a other thing, Endcolor. Startcolor and Endcolor were used to set the range of the color which is changed. Endcolor got removed in 2.0.x and now It uses Startcolor and the next 16 colors. This can be a problem, here is a example of that:
v74lRvN.png

This is a edited version of .Luke's amy. I changed the pink outline so that it uses the color pink and not superknuckles pink/red. Set startcolor to 144 and prefcolor to Pink, so this should work, right ?
nEpCMEG.png

It somewhat works, but the shading is gone !

Let's change the pink to green and try that out.
RxYRtjQ.png

I changed the color to green now and set startcolor to 160.
TSEvHTu.png

And now the shading appears again. What happened ? How does this work ? Magic ? No. let me show you how this works:
NITzAE9.png
This is the srb2 palette. Pink starts at 144 and ends at 151. That's 8 colors. Startcolor selects a range of 16 colors so that's 144-159.

This is what srb2 did:
e4zzYdz.png

It remapped the 16 colors to 8, so every color of pink is 2 colors of the original range, that's why the shading got removed.
For some reason the images don't like to get resized. I resized all of amy's images to have the same size but it resets after saving.

It would be nice to see endcolor added again and light/dark blue/yelow and hot pink/metal blue added again after more important stuff like the netcode or other bugs have been fixed.
 
Last edited:
I am the one who made all of the new skin colors in 2.1. I am also the one who adjusted all of the skin colors in 2.1's player.dta to make Sonic, Tails, and Knuckles all consistent. When you use Orange on Sonic it now looks the same as it does on Tails, instead of being three shades brighter because Tails' character was shaded differently specifically for the Orange skincolor palette. That is the purpose of these changes, to enhance consistency.

The super colors are weird (Super K. using pink and Super T. using gold) to make it easy to distinguish them from regular palettes even in screenshots. It's more important to make Super players look different from regular skin colors than it is to have a full selection of vanity colors, as that was the entire reason "Yellow" was previously banned from use in some game modes in the first place.

The colors are reduced in many palettes because the 16 color range is actually too large and tends to encourage character authors to be irresponsible and only use one side of the range or the other in order to achieve the colors they want. I want to discourage this and allow players who select "white" to not end up with a silvery grey Metal Sonic just because the character wad author decided to only use the latter half of the skincolor palette so that blue becomes dark blue.

Characters should not expect to only use the eight colors of the prefcolor they intend for the wad and expect the limited shading (which then becomes even more limited) to work with every skincolor. That's just not how this system works. endcolor was removed because it actually never worked correctly in the first place, and all of the skincolor calculations were designed for exactly 16 color slots.

With the system we have now it would also be very difficult to provide for every possible usage scenario. That's not to say there's no hope for future color selection systems, but bear in mind we still have a limited number of player-selectable skincolor slots (boosted up to 32 from the previous 16, plus up to 224 possible 'special' ones like the Super flash skincolors, all of which waste far too much RAM storing entire copies of the palette) and non-hardcoded skincolor customization (through SOC or Lua) is not yet available... There is a lot of work to be done here.
 
I guess this would be a good topic to put this in:
SRB2PlayerPaletteFull_zpsab7e0d89.png~original
I made this last month, it's a compilation of 40 possible player palettes that could be put into SRB2, including tweaks to the default palettes and several new palettes.

Some notes:
*Light Red, Light Blue, Dark Blue, and Light Yellow are palettes from SRB2Riders/Kart.
*An entirely new Purple color is added which resembles more of a true Purple than RGB Purple. SRB2's current Purple is re-branded as Magenta.
Cyan is re-named Sky Blue (as IMO it's too bright to be a Cyan). Cyan is moved to a new color that is built with darker shades.
*New Colors:
-Dark Gray (Identical to r543's "Grey")
-Cyan (Darker version of the current Cyan, as documented above)
-Navy Blue (Similar to the second and third Blues in r543's chart)
-Lemon (Identical to r543's second "Yellow", but with different choices for the final three colors.
-Mango (Similar to Super Tails Color 3 but with small differences)
-Maroon (Dark Pink with some dark reds at the end)
-Jungle (Dark Zim/Army)
-Grape (Dark Lavender)
-Persian Blue (Dark Steel Blue)
-Amber (Dark Gold)

I personally don't mind characters only using 16 colors max for their definable skin colors, It's quite fun seeing how so much can be done from a limited color selection.

Hopefully in the future there's a way to add extra player palettes via SOC's or Lua's, but I'm certain it'd result in players abusing this feature to make eye-bleeding colors.
 
Last edited:
I am the one who made all of the new skin colors in 2.1. I am also the one who adjusted all of the skin colors in 2.1's player.dta to make Sonic, Tails, and Knuckles all consistent. When you use Orange on Sonic it now looks the same as it does on Tails, instead of being three shades brighter because Tails' character was shaded differently specifically for the Orange skincolor palette. That is the purpose of these changes, to enhance consistency.
I like the change so that one color looks the same like on the other characters but fullcolor/full range colors would be very nice so that the character color looks like it is on the sprite.
The super colors are weird (Super K. using pink and Super T. using gold) to make it easy to distinguish them from regular palettes even in screenshots. It's more important to make Super players look different from regular skin colors than it is to have a full selection of vanity colors, as that was the entire reason "Yellow" was previously banned from use in some game modes in the first place.
Super Tails uses Orange for the most part, exept for some of the last colors, which look strange with the gold palette. Even if they would be changed to Orange, it would look different one a screenshot because the orange is way lighter than the one that normal tails uses. I know that yellow wasn't allowed but some of the super palettes could be changed, so that sonic's super palette has more visible shades of yellow and super tails' palette not going brown/gold.

The colors are reduced in many palettes because the 16 color range is actually too large and tends to encourage character authors to be irresponsible and only use one side of the range or the other in order to achieve the colors they want. I want to discourage this and allow players who select "white" to not end up with a silvery grey Metal Sonic just because the character wad author decided to only use the latter half of the skincolor palette so that blue becomes dark blue.
The reduced colors aren't a big probem, but why does Neon Green only use 7 out of 8 shades and a color from green ?
Srb2 has a lot of colors on the 16 shades lined colors. I'm using a color from almost everywhere because most of the colors that are next to a color have almost the same shade and don't look that different. The idea of the fullcolor/full line palettes is to make character creation a bit more user friendly, so that it looks like the sprite in game. I don't want to replace the default colors with that, so it's more of a extra new color.

Characters should not expect to only use the eight colors of the prefcolor they intend for the wad and expect the limited shading (which then becomes even more limited) to work with every skincolor. That's just not how this system works. endcolor was removed because it actually never worked correctly in the first place, and all of the skincolor calculations were designed for exactly 16 color slots.
If you use a color that only has 8 shades, then set it with prefcolor to a color that only has 8 shades, most of the shading gets removed. If I'd change the color to blue on that amy wad, most of the shades would look the same because only the first part of the blue palette gets used(the next 16 colors on brown get changed too but they aren't visible). It works on characters that have sprites that use a lot more shades(for example if I created a sprite with green color, then I'd probably use more shades than if I created one with the pink color range), so endcolor could help here to create "real" shading. A way to fix this "metal sonic is now grey because the creator used only the darkest of blue shades" would be to add a dark blue color(which is missing from the current palette).
With the system we have now it would also be very difficult to provide for every possible usage scenario. That's not to say there's no hope for future color selection systems, but bear in mind we still have a limited number of player-selectable skincolor slots (boosted up to 32 from the previous 16, plus up to 224 possible 'special' ones like the Super flash skincolors, all of which waste far too much RAM storing entire copies of the palette) and non-hardcoded skincolor customization (through SOC or Lua) is not yet available... There is a lot of work to be done here.
Ok, so my second idea would probably not work. I donj't know if adding that much super palettes would be a good idea, but I'd like to work on them while the team works on more important stuff.
Colors like more light/dark, missing colors and more 8 color palettes would be nice to have in game.

I'm happy that srb2 might get more palette customization in the future, thanks for telling me that(I know that it might take a while for this to be added, but it's nice to see that the developers thought about that).

https://wiki.srb2.org/wiki/User:Monster_Iestyn/Sandbox#Custom_Skin_Color_Ideas

*cough*

Do note these were made before I was even on the dev team, back in the early 2.0 days.
And I thought that I was the only one who missed the full range palettes.
I see a lot of good colors there, now if we could only create our own colors via lua....
 
Monster, if you don't mind I put in 10 new colors based on your custom skin color ideas.
SRB2PlayerPaletteFull_zpsab7e0d89.png~original

(I know Jet Black wan't one of your ideas, I included it as an opposite of Ivory)
The colors added:
-Dark Orange (uses exclusively Orange, with no Color #152 and beyond)
-Dark Green
-Ivory
-Light Green
-Diamond (retitled from Light Steel Blue)
-Pistachio (retitled from Light Army, since the original Pistachio color's eighth (#179) and ninth (#166) colors didn't contrast well with each other IMO)
-Turquoise (name for the Teal color from Monster's chart since a different Teal is already in the game)
-Cerulean
-Salmon
-Jet Black
 
Last edited:
I made this last month, it's a compilation of 40 possible player palettes that could be put into SRB2
The current technical limitation is 32. We can't fit 40 palettes in there. We can't HAVE just every possible color readily selectable at the moment. And before that limitation is raised I would like to optimize the memory usage a bit more to use ~18 bytes per translation, rather than 256 bytes per translation per skin. Maybe in 2.2.

If you use a color that only has 8 shades, then set it with prefcolor to a color that only has 8 shades, most of the shading gets removed.
And you know exactly why that happens and how to prevent it already. Don't use an 8 color range for translations. In fact, don't even treat the translation colors as colors because they will never be seen by players in normal gameplay. Every translation color is JUST a number between 1 and 16 and nothing more, ever.

If I'd change the color to blue on that amy wad, most of the shades would look the same because only the first part of the blue palette gets used(the next 16 colors on brown get changed too but they aren't visible).
That is your fault as well, because you specifically told it to do that by setting startcolor.

Don't treat the translation colors as colors, they are only for translation colors. You need to design your character's color use based on the predictable in-game end result, not what you can see in SLADE. That simple.
 
Hmm... Would it be possible for us to change more than one color on a sprite at a time? Perhaps if custom palettes were made, a White Mario skin could also have his pants recolored to Red as part of the palette?
 
And you know exactly why that happens and how to prevent it already. Don't use an 8 color range for translations. In fact, don't even treat the translation colors as colors because they will never be seen by players in normal gameplay. Every translation color is JUST a number between 1 and 16 and nothing more, ever.

That is your fault as well, because you specifically told it to do that by setting startcolor.

Don't treat the translation colors as colors, they are only for translation colors. You need to design your character's color use based on the predictable in-game end result, not what you can see in SLADE. That simple.
What if something was sprited with the color range of the palette instead of the character colors ? That would look different in game and spriting with the character colors doesn't work that well because not all shades of one color are on it.(what if a character had 2 different wad files, one changes the hair color and the other one changes something different, if the player sprites used any of the palette instead of skin color shades, they wouldn't look the same.)
I got a new idea on how to fix the "metal sonic looks grey" problem. What if the range of the changed color could be set ? If white used the full first palette line, and metal had dark blue colors, then the color could be set like this: White 0-7, so that it uses only the first 7 shades of white and looks white, but I can see that this takes way too long to add and only a few users could use that well. It's probably easier to do with Lua if it could change skincolors.

I have one question about Neon Green, why doesn't it use all of the colors ? I know that you changed the colors but I don't know why you didn't use the last 2 colors, the palette would be a bit darker with them but it still looks like neon green. I don't like the first shade of the current neon green skin color, it uses 160, the first shade of green, and green is used everywhere that's not in SPR_PLAY as translation color. That's an other thing that I'd like to see in SRB2, a way to include different sheets to SPR_PLAY, there aren't many spaces left for custom sprites and srb2 goes up to m.

More Super Palettes are possible but they use a lot of ram, so custom/more palettes are probably not going to happen ?


Hmm... Would it be possible for us to change more than one color on a sprite at a time? Perhaps if custom palettes were made, a White Mario skin could also have his pants recolored to Red as part of the palette?
Lua can't do much with colors, if it could set a second startcolor, then it's probably possible.
 
To be quite frank, making skincolors isn't just about making a range of colors which looks nice on a sheet made in MSPaint; it's also about seeing how they appear in-game on the characters themselves.

Like, for instance, some various experimental custom skincolors palettes of my own from a while back (from not long after I first joined the dev team):

ColorTestSheet08-06-12.PNG


One other thing I notice about everyone else's ideas is that you all can't help but stick with colors right next to each other! That's a little bit rigid for skincolor creativity, honestly.


Also, to answer all your questions about "why doesn't color x use shades y to z in there!?!?!?", it's because they don't work very well when you use them in SRB2 itself!

I was once like you lot, complaining that the skincolor "white" doesn't actually use "true white" (color 120 in the palette, not 0 as you would think).

I ended up with this result when I modified the color range in the source code to try using this particular shade:

srb20007.png


Yuck, now do you see what I mean? Even aside from the hideous grey spots you all know about, you can barely see Sonic's shading at all here! Not good at all.


Aaand I'm done with my ranting post here.
 
To be quite frank, making skincolors isn't just about making a range of colors which looks nice on a sheet made in MSPaint; it's also about seeing how they appear in-game on the characters themselves.

Like, for instance, some various experimental custom skincolors palettes of my own from a while back (from not long after I first joined the dev team):

ColorTestSheet08-06-12.PNG


One other thing I notice about everyone else's ideas is that you all can't help but stick with colors right next to each other! That's a little bit rigid for skincolor creativity, honestly.
I like the idea of having multiple colors for skincolor, but what would happen to characters that were made to only have one skin color(and use the full line of that instead of splitting it up to 2) ?
This is something for custom lua colors, I see a lot of possible ways to make characters look a lot different, custom startcolor ranges(set the colors that get changed instead of the next 16 colors) and skincolor replacements would be nice with this.

Also, to answer all your questions about "why doesn't color x use shades y to z in there!?!?!?", it's because they don't work very well when you use them in SRB2 itself!
My idea is to add the "fullcolor" lines as extra skin colors so that the normal ones don't get replaced but that's something for lua and I don't want to use the 8 last free skincolors for that.

I understand why most of the colors don't use the full lines(some colors have very bright first shades so a character that didn't have bright shading would have very bright shading with that). But Neon Green was different, so I created a custom palette(over red, not the best idea):
MtxV9Y2.png

Left is Neon Green and right is the custom/full line Neon Green.
It uses all 8 shades and looks good on most characters, but it isn't as bright as it used to be and looks more like a normal green instead of neon green. Again, this is something for lua.
I was once like you lot, complaining that the skincolor "white" doesn't actually use "true white" (color 120 in the palette, not 0 as you would think).
I ended up with this result when I modified the color range in the source code to try using this particular shade:

srb20007.png


Yuck, now do you see what I mean? Even aside from the hideous grey spots you all know about, you can barely see Sonic's shading at all here! Not good at all.
Aaand I'm done with my ranting post here.
I'm sorry if it sounded like I was complaining, I wanted to make this a suggestion and ask why the colors got changed like that.
 
You make some good points, but it falls flat when you use this example. The problem in this picture isn't that the brightest color is too bright, it's that the darker colors are too bright. Something like skipping every other shade of gray (at least for the darker shades) would work fine.
 
...you got me, I was just being lazy and posting an ancient screenshot I just happened to have around. x_x

I also once tried making the new ugly yellow a shade brighter, but that just meant a lot of Sonic was too bright. Too bad I don't have a screen of THAT one I think...
 
*An entirely new Purple color is added which resembles more of a true Purple than RGB Purple. SRB2's current Purple is re-branded as Magenta.
For the record, I actually did rename "Purple" officially for a few revisions of 2.1 (because that isn't purple, it's clearly a fuchsia/magenta shade), but enough hell was raised my direction for doing so that I had to undo it. Given that, it's unlikely it'll ever get fixed.
 
If the number of color slots is ever increased, the colors that would be top priority for me, whenever they're improved or new colors, are Magenta, Purple, Dark Blue, Light Blue, Sky Blue, and Cyan.

you all can't help but stick with colors right next to each other!
I stick to using colors consistent because that's what all of vanilla SRB2's palettes do (minus Super Tails) and they look more professional IMO.
 
I stick to using colors consistent because that's what all of vanilla SRB2's palettes do (minus Super Tails) and they look more professional IMO.

Teal uses pure cyan as the lightest shade, Neon Green uses the lightest regular green as the lightest shade, Super Sonic's yellow is a mix of the lighter yellows and gold. Are you sure SRB2's palettes don't do this?
 
Teal uses pure cyan as the lightest shade, Neon Green uses the lightest regular green as the lightest shade, Super Sonic's yellow is a mix of the lighter yellows and gold. Are you sure SRB2's palettes don't do this?

Seems like I didn't explain it enough. I meant when two colors in a palette don't match, like the first half of a palette being yellow then jumping to a green immediately with no colors in-between to allow it to fade into green, or if you have a palette with very high intensity.
ColorTestSheet08-06-12.PNG

The final two palettes here are probably the best examples.
 
The funny thing most of the others in the same sheet are also mixes of several palettes. Aside from the Peach-Brown thing (already known as Tan in 2.1), I have also got there the following:

* Dark Cyans followed by Dark Steel Blues
* Rosewood followed by Dark Reds
* Orange-Rosewood followed by Dark Reds
* Dark Beiges followed by Dark Browns
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top