Modmakers could you do this?

saltbush

Chieftain
Joined
Apr 29, 2006
Messages
50
I've been playing around with a lot of mods with extra civs lately or adding in extra civs to mods, which is all well and good, nice new units, nice new skins, eve nice new leaderheads (well bits and pieces from other leaders mostly) but the team colour is always the killer, sooner or later you end up with a green border near a slightly darker green border or similar.

A possible solution have only 18 colors and assign each civ a colour based on its player number. Hence you always have a distinctive colour for each civ.

No need to change the flag or anything like that, i think it could be done in python but i'm lost as to how.

I'm sure a lot of modmakers and gamers would love to have such to tool however
 
extended colour tables are fine and all, but if someone could crack this you wouldn't actually need them, well until we are allowed more than 18 civs on a map
 
saltbush said:
well until we are allowed more than 18 civs on a map

That's the main issue, really. If the mod community does eventually want to extend the number of sides in any given game, your idea would become moot. Still, it's a good solution in the meantime.
 
I believe it can be done...

and it would take only XML editing...

you would have to edit these there files...

CIV4PlayerColorInfos.xml

CIV4ColorVals.xml

CIV4CivilizationInfos.xml

where:

CIV4PlayerColorInfos.xml

defines the color setup:

<PlayerColorInfo>
<Type>PLAYERCOLOR_BLUE</Type>
<ColorTypePrimary>COLOR_PLAYER_BLUE</ColorTypePrimary>
<ColorTypeSecondary>COLOR_PLAYER_WHITE</ColorTypeSecondary>
<TextColorType>COLOR_PLAYER_BLUE_TEXT</TextColorType>
</PlayerColorInfo>

where <ColorTypePrimary> is the border color

and


CIV4ColorVals.xml

defines the color "pigments" :

<ColorVal>
<Type>COLOR_PLAYER_BLUE</Type>
<fRed>0.21</fRed>
<fGreen>0.40</fGreen>
<fBlue>1.00</fBlue>
<fAlpha>1.00</fAlpha>
</ColorVal>


(as you can see each tag sets the pigment a certain way)

and

CIV4CivilizationInfos.xml

defines what civilization gets what color scheme:

using the above example of <Type>PLAYERCOLOR_BLUE</Type> :


<CivilizationInfo>
<Type>CIVILIZATION_AMERICA</Type>
<Description>TXT_KEY_CIV_AMERICA_DESC</Description>
<ShortDescription>TXT_KEY_CIV_AMERICA_SHORT_DESC</ShortDescription>
<Adjective>TXT_KEY_CIV_AMERICA_ADJECTIVE</Adjective>
<Civilopedia>TXT_KEY_CIV_AMERICA_PEDIA</Civilopedia>
<DefaultPlayerColor>PLAYERCOLOR_BLUE</DefaultPlayerColor>

=================


Most Civs (not counting modded/unique civs, i.e. vanilla civs) have their own scheme that is unique....

the problem is when you use two leaders from the same civ (then one gets the default color and I guess the game assigns the other another color)


also if the colors are close in pigment it is hard to differentiate between borders (I am having that problem with 2 of my unique civs)


so the trick is to come up with 18 total distinct colors that you can tell the difference between....

the only problem is achieve that .....:mischief:


there are probably other ways to change this but Im not a great modder... I only(well mainly) mess around with XML

I dont have any coding skill in Python or SDK to tell you if scripts can be made to achieve your goal (sorry :sad: )

however those xml files you can define... unique colors... hopefully enough to tell your 18 civs apart...

(there is a long way to make unique colors for EACH leader... but that would take alot of cut and pasting.... and also I doubt you could come up with that many colors that are distinct or dont blend :crazyeye: )

anyway... your idea about 18 diff. colors has peaked my interest and maybe I can fix that 2 civ "similar/blending" in my current play testing.... ;)


I not sure this info helps alot... but I hope it helps a little :D

good luck:)
 
Because of the number of civs in CIV Gold 2.0 - over 45 + vanilla - we had to revisit the colour assignments. As it stands now (theoretically) each civ has a unique colour scheme that will address the "border merge" issue.

I say "theoretically" because we haven't tested all the combos.
 
sevomod uses civ gold for a bit and i find that you still get fairly similar colours next to each other,

bear in mind i'm saying that a civilisation itself would no longer have a colour as such only the player number they are refered to.
 
saltbush said:
sevomod uses civ gold for a bit and i find that you still get fairly similar colours next to each other,

bear in mind i'm saying that a civilisation itself would no longer have a colour as such only the player number they are refered to.

True, but we're playing with this now.

I think the number thing is a great way to resolve the issue, but it makes the flags less "appropriate".

Colours are used to defing unit flags as well. If they rotate, you might get a British St. George cross that may be yellow on blue, or a yellow American star on a red background.
 
Wyz_sub10 said:
...Colours are used to defing unit flags as well. If they rotate, you might get a British St. George cross that may be yellow on blue, or a yellow American star on a red background.


but you can create flags that would fix this issue by covering up the secondary color (which displays on the background of the flag banner) by coloring the Alpha Channel of the Flag's dds file to black

this would "block" the secondary color and show only the image of the flag...


anyway... that's what I gathered from creating custom flags at this tutorial...

http://forums.civfanatics.com/showthread.php?t=148507


Im not sure... though :crazyeye:
 
Officer Reene said:
but you can create flags that would fix this issue by covering up the secondary color (which displays on the background of the flag banner) by coloring the Alpha Channel of the Flag's dds file to black

The flags use the alpha channel for the image. The main image isn't generally used at all.

*If* you want static flags, then you use the main image for your colour graphic (i.e. national flag) and colour the alpha black so that the game displays just the main image.

The problem with this is that if more than one player chooses a country, the unit flags will be indistinguishable. Using the alpha channel as the bas allows a 2nd country to be played using different colours (you still have the rotating colour issue described above, though).
 
true flags would be a slight issue, i think wiping out the alpha channel would be the best way to go, but its still painful
 
Wyz_sub10 said:
...The problem with this is that if more than one player chooses a country, the unit flags will be indistinguishable. Using the alpha channel as the bas allows a 2nd country to be played using different colours (you still have the rotating colour issue described above, though).


well that is true... however you can get around this.... it would be a real pain, but that's if you want two players to use different leaders from the same civ in the same game....

you could just copy the civ info (and corresponding xml files) and rename the civ like germany for example, you could have Hilter's Nazi Germany as opposed to Bismarck's Germany....

having the same stats.... just assign one leader to each copy of the civ

and change the flag for each civ.... :crazyeye:

I know this is an extreme way...but this way you can have distinct unique colors... and different flags for the "same" civ ...:mischief:

...or dont be foolish enough to have players that have different leaders but the same civ :lol:

This is just a quick fix to the problem...

Note: I usually pick different civs so I dont run into this problem...

I just offer this idea... for those that want the same civ but different leaders in their game ;)

just a thought anyway...:goodjob:



EDIT: I just thought of another way... alittle confusing too :D but it could help...

instead of blocking all the alpha channel... you could block half of it... so the flags of different leaders but same civs.... would have "half" way different flags... and different colors :lol:

this way lets say... the bottom half of the flag would show the player colors... while the top would show the real flag :lol:

of course this wouldnt totally correct the problem... but it's easier then my first suggestion:mischief:


just another thought! ;)
 
or better yet you could simply block a small square at the top/bottom of the flag, enough to see a difference but no more than a minor blip on the 'true' flag
 
Back
Top Bottom