Unit Color Variation/Changer (Skin/Scale/Armour)

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Unit Color Variation/Changer (Skin/Scale/Armour)

Post by Refumee »

Hello guys,

this thread is for feedback and suggestions regarding my Unit Color Variation and Unit Color Changer modifications.

Unit Color Variation changes the skin, scale, or armor colors of recruited units. It aims to create natural-looking variations, adding visual diversity without breaking immersion.
Optionally, you can enable rare and unusual color variants for units to make them stand out even more.

Unit Color Changer allows players to change the color of a single unit or an entire side. This mod offers greater freedom to customize your own faction – or others – to your liking.

Ready Races/Units:
  • Saurian Scales
  • Drake Scales
  • Loyalist Blue Armour
  • Troll Skin
  • Merfolk Scales, Hair and Armour
  • Orc Armour/Skin
  • Orcish Assassin Cloth/Skin
  • Goblin Armour
  • Wolf Fur (counts for Wolf Rider too)
  • Orcish Shaman Cloth/Skin (SotBE, TDG)
  • Wose Bark and Leaf
  • Naga Top and Bottom Scales
  • Skeleton Bones
  • Bats
  • Gryphons (counts for Gryphon Rider too)
Features:
  • Code for addon creator
  • UI for color picker
Todo List:
  • new poll
  • more performance updates maybe
Maybe do:
  • Skin Color for Humans (technical reasons) - found solution - sprite rework is needed
Known Issue:
  • Save games uses a lot of space
GitHub:
https://github.com/Refumee/UCC_TBfW
https://github.com/Refumee/UCV_TBfW
https://github.com/Refumee/UCCV_Resource_Pack

###### here is the original post, before Saurian Scale Randomizer changed to Unit Color Variation ######
I'm not realy sure, if this is the right thread for this, but I created a saurian color changer.
It changes the scales colors of the saurians as soon as they are recruited, randomly.

Right now it has following scales:
  • Default saurian green
  • deep saurian (old drake scale color)
  • desert saurian (sand like scales)
  • chillwind saurian (blueish scales)
  • redscale saurian (red scales)
  • salamander saurian (dark scales with yellow)
  • moss saurian (darker greenish scales)
  • rootless saurian (saurians from The Rootless campaign)
  • greygreen saurian (greyish saurians with green dots)
Scalechanger-big.png
Scalechanger-big.png (16.02 KiB) Viewed 34457 times
Later on I could add a mode, where the player can decided which color he/she wants.

Feel free to give me feedback or suggest a new color scheme :)
Last edited by Refumee on March 11th, 2026, 10:15 pm, edited 9 times in total.
User avatar
doofus-01
Art Director
Posts: 4195
Joined: January 6th, 2008, 9:27 pm
Location: USA

Re: Saurian Scale Color Changer

Post by doofus-01 »

I don't know how you implemented this, but this is the very thing I introduced the palette cleanup (restriction) and *_ColorMap.png for. How did you end up doing it?
BfW 1.12 supported, but active development only for BfW 1.13/1.14: Bad Moon Rising | Trinity | Archaic Era |
| Abandoned: Tales of the Setting Sun
GitHub link for these projects
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

To be honest I don't know what palette cleanup (restriciton) and *_ColorMap.png means.

I can explain how I did it.

I create a hex list of pixel colors like this to use as default:

Code: Select all

#### Default Green Saurian (color 2, 4, 5 and 6 from talentless saurians having old saurian pixel color, last two colors swamp alchemist)
#define SCALE_GREEN
cff521,22d22f,85d64f,98d858,3f8b34,4d8d38,26882e,0d4218,3d6715,5a822f#enddef
The comment just tells, if we see it as array that starts at 1, color 2, 4, 5 and 6 are colors that misaligne with the saurian color palette.
The others, also color 1, 3, 7, 8 are the colors from the saurian color palette (only the green ones).
9 and 10 are some colors from a UMC saurian).

Then I created some other sets of palette like this:

Code: Select all

#### Deep Saurian
#define SCALE_DEEP
b3e0a9,b3e0a9,80b4a5,80b4a5,59646d,59646d,59646d,1e3637,80b4a5,80b4a5#enddef
Here is important to keep the order of colors. Here you will recognize some copy pastes of hexcode.
I did this, cause 1 and 2 (still thinking in an array) is actually the same pixel place on the saurian. So is kinda needed, cause the new saurians for 1.18, I guess, using still the old saurian color palette.

Now to the important part, what you are most curious about:

Code: Select all

### green palette vs new palette
#define SCALECHANGER_SCALE SCALECOLOR
{SCALE_GREEN} > {SCALECOLOR}#enddef
Here I use the default color palette and let it exchange with the new color set. Here I use the Image Path function PAL. It is not seen here, but in the next code:

Code: Select all

#define SCALECHANGER_CODE SCALEGOAL
		[object]
			scale_color_shift=yes
			silent=yes
			
			[filter]
				find_in=unit
				x,y=$x1,$y1
			[/filter]
			
			[effect]
				apply_to=image_mod
				add=PAL({SCALECHANGER_SCALE {SCALEGOAL}})
			[/effect]
		[/object]
#enddef
Here :eng: we need to pay attention to the [effect] part. Here you can find the magic.
Then combine it with the event name=unit placed and it's finished.

To be honest, I would also like to exchange the eye color of the saurians, but sadly that is out of the picture right now.
It is just a pixel color exchange with green to red. Now imagen this, the saurian flankers inner eye circle has the same color as his shield. The Saurian Prophet inner eye circle hast the same color as his stuff. And someone has the same color as parts of the augurs staff :whistle:

Was my explanation clear to you? I hope so.
If you have questions, you can reach me on discord or here.

P.S. I had this modification for a longer time on my mind and now Mirion triggered me to do it.
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

Saurian Scale Color Changer 1.1.1 is updated.

Now with the option to choose the scales of each individual saurian of your choice.

I added also new saurian scale options into the mix (will not appear on recruitment).

I also updated m Saurian Pack to 1.5.0. I fixed a lot of Sprites (round about 2690). Their green scales are now on 1.18 standards, the other pixel colors are still under review.
It actually means a better compatibility with the Saurian Scale Color Changer. 🦎

Enjoy!
image.png
image2.png
User avatar
beetlenaut
Developer
Posts: 2890
Joined: December 8th, 2007, 3:21 am
Location: Washington State
Contact:

Re: Saurian Scale Color Changer

Post by beetlenaut »

I would support different colors being added to the game. I would have each recruited saurian randomly appear with one of the green variants, but one in eight or so would have one of the more unusual colors like brown, yellow, or red. Many reptiles color morphs work like that in real life. (The custom colorizer should probably stay a separate mod.)
Campaigns: Dead Water,
The Founding of Borstep,
Secrets of the Ancients,
and WML Guide
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

Hello beetlenaut,

I like your feedback. I can change it up in 8 random green variations and offer the player the option to use the others if they so chose.
User avatar
beetlenaut
Developer
Posts: 2890
Joined: December 8th, 2007, 3:21 am
Location: Washington State
Contact:

Re: Saurian Scale Color Changer

Post by beetlenaut »

Yes, that would be good. Once a player has chosen options, they can just let it do its thing for the rest of the game. Another option I would suggest is: "Colorize ALL saurians, or just recruited ones." That would select whether it was controlled by a "unit_placed" event or a "recruit" event.
Campaigns: Dead Water,
The Founding of Borstep,
Secrets of the Ancients,
and WML Guide
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

Next update will have as standard randomizer

Old saurian color scheme + old oracle color scheme
saurian scales from the SXRPG Addon
Elvish Fighter and Scout green
Naga, Wose, Merfolk (beard) and Drake green.
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

beetlenaut wrote: October 10th, 2024, 6:56 am Yes, that would be good. Once a player has chosen options, they can just let it do its thing for the rest of the game. Another option I would suggest is: "Colorize ALL saurians, or just recruited ones." That would select whether it was controlled by a "unit_placed" event or a "recruit" event.
Here is my proposal or do you want more variety?
greenscale.GIF
Here two pictures of LoW
greenscale-ingame.png
greenscale-ingame2.png
User avatar
ForestDragon
Posts: 1860
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Saurian Scale Color Changer

Post by ForestDragon »

beetlenaut wrote: October 10th, 2024, 12:09 am I would support different colors being added to the game. I would have each recruited saurian randomly appear with one of the green variants, but one in eight or so would have one of the more unusual colors like brown, yellow, or red. Many reptiles color morphs work like that in real life. (The custom colorizer should probably stay a separate mod.)
I think yellow/red/brown should only available if manually enabled in a specific campaign/scenario/etc. Having some variety of green colors be randomized could be fine though, as long as it is configurable to choose which scale colors are allowed/not allowed for a specific side's recruits, and also ideally a way to make specific saurian unit types fully exempt from the system via WML (could be useful for modders).
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
ForestDragon
Posts: 1860
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Saurian Scale Color Changer

Post by ForestDragon »

Overall, I think the cleanest way to add such a feature into mainline (as beetlenaut wants) would be a mainline [modification] (except it should be hybrid instead of mp-only if added) like how it's done with plan unit advancements, avoid most of the headache/controversy that would become with an always-enabled feature
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
beetlenaut
Developer
Posts: 2890
Joined: December 8th, 2007, 3:21 am
Location: Washington State
Contact:

Re: Saurian Scale Color Changer

Post by beetlenaut »

Yeah, this is what I was talking about. I think it looks great! I hope it gets some traction and a lot of people use it.

I've thought for a long time that we should do things like this, but didn't want to ask anyone to do all that work. I didn't realize it was possible for just one person to do a whole race. I hope that other people will take inspiration from this to work on other races. There is no reason they should not have a wider variety of skin/scale colors too. This would make Wesnoth more interesting to play, and also help you keep track of specific units.
ForestDragon wrote: October 10th, 2024, 12:45 pm avoid most of the headache/controversy that would become with an always-enabled feature
This has already been attempted with no pushback I'm aware of: drake burners are tan instead of green, mermaid enchantresses are greener than other merfolk, and dunefolk riders are quite dark. It would be nice to make those variations apply to all the units of a race instead of being restricted to specific unit types.
Campaigns: Dead Water,
The Founding of Borstep,
Secrets of the Ancients,
and WML Guide
User avatar
ForestDragon
Posts: 1860
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Saurian Scale Color Changer

Post by ForestDragon »

beetlenaut wrote: October 10th, 2024, 5:13 pm This has already been attempted with no pushback I'm aware of: drake burners are tan instead of green, mermaid enchantresses are greener than other merfolk, and dunefolk riders are quite dark. It would be nice to make those variations apply to all the units of a race instead of being restricted to specific unit types.
Well, there's a huge difference between "a specific unit has a color different from the rest of the faction, but consistently has that exact different color" and "the same unit randomly getting a very different color". The latter is fun as an optional feature, but making it always active raises a lot of problems, especially with portrait colors heavily mismatching sprite colors, and it would especially impact UMC campaigns. It's better if it's something that has to be opted in (like by enabling a [modification]) rather than something that specific campaigns/eras have to opt out of.

So I would support mainlining it as an optional modification, but strongly oppose the idea of making it something always enabled unless manually opted out.
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

Saurian Scale Color Changer 1.2.0 is updated.

Many new scale colors added.
Randomizer is only green colors now.
The option to change whole sides to one specific colors.
User avatar
Refumee
Posts: 408
Joined: February 12th, 2023, 10:17 am
Location: Vendraxis' Lair

Re: Saurian Scale Color Changer

Post by Refumee »

I would say, I finished this modification for now.
I could now work on a separate modification, how it is descripted here.

To summarize, random recruits getting different green scales (I'm not even sure if scale is the right word for it).
Those scales stay for that unit, the whole campaign.

A special morph, brown, yellow, or red, can be done. Shouldn't be that difficult. It can also be turned on or off.
I would suggest, giving those saurian special traits maybe? Could be too much.
And of course it should be decided how those saurians look like. I don't believe that any of my creations fit for this criteria.

Code: Select all

"Colorize ALL saurians, or just recruited ones."
I don't understand this one. Could you elaborate?
Right now it works with unit placed and it will colorize the saurians once and no more. I think it would be weird, if we have recruited saurians who look distinct and then 4 new saurians arrive via event and they look all the same.

Code: Select all

"...choose which scale colors are allowed/not allowed for a specific side's recruits, and also ideally a way to make specific saurian unit types fully exempt from the system via WML (could be useful for modders)."
That would need an event at the start of a campaign right? Could be done. Don't know if that will annoy players. Exempt saurians from the system is quite easy. I allready did that with trying to make eye colors work.
(It did not work cause the saurian flankers eyes are used for the shield and the spear tip... therefore I consider to add the old saurian sprites to my mod, overwrite with that the new ones and give every saurian a unique eye and armour color)


If we want that mainline named saurians, stay as they are, I can offer a modification that they stay untouched from this modification later on.


And again in short:
  • Random Green Recruits
  • Morph with unusual colors
  • Specify at the beginning the used colors
  • Choose saurians that are exempt from the rule (loyal)

Did I miss something?
Last edited by Refumee on October 11th, 2024, 6:54 am, edited 1 time in total.
Post Reply