Adding another water terrain

j_mie6

Deity
Joined
Dec 20, 2009
Messages
2,963
Location
Bristol (uni)/Swindon (home)
I wanted to add in a new tropics terrain into my mod which goes around the caribbean but when I put in into the game it blends horribly with the coast. How can I fix this properly?

heres a screenshot of the problem (where all the tropics were put on coast tiles):
Spoiler :
attachment.php


I am using the water textures of rhyes so the tropics terrain is standard coast. the art defines is the same as coast but with the changed texture (I'm guessing the problem is there :p)

Thanks to anybody that can help!

Jamie
 

Attachments

  • Civ4ScreenShot0007.JPG
    Civ4ScreenShot0007.JPG
    233.1 KB · Views: 274
hmmm, The mod says that the standard art for oceans was used? so it's no real help :lol: thanks for the suggestion though!
 
what difference would that make? what does the layoutorder actually do?

edit: I changed the layoutorder to between ocean and coast and it makes it slightly better, now the border between the two looks a tiny bit like a beach (with sand)

edit:edit: would the solution be to change the blendtextures in the definition in artdefines? At the moment it is identical to the coast:

Code:
		<TerrainArtInfo>
			<Type>ART_DEF_TERRAIN_COAST</Type>
			<Path>Art/Terrain/Textures/CoastBLEND.dds</Path>
			<Grid>Art/Terrain/Textures/CoastGrids.dds</Grid>
			<Detail>Art/Terrain/Textures/CoastDetail.dds</Detail>
			<Button>,Art/Interface/Buttons/BaseTerrain/Coast.dds,Art/Interface/Buttons/BaseTerrain_TerrainFeatures_Atlas.dds,1,1</Button>
			<LayerOrder>50</LayerOrder>
			<AlphaShader>0</AlphaShader>
			<TextureBlend01>1,180 5,270 9,180  13,270 17,180 21,270 26,270</TextureBlend01>
			<TextureBlend02>1,270 5,0   9,270  13,0   17,270 21,0   26,0</TextureBlend02>
			<TextureBlend04>1,0   5,90  9,0    13,90  17,0   21,90  26,90</TextureBlend04>
			<TextureBlend08>1,90  5,180 9,90   13,180 17,90  21,180 26,180</TextureBlend08>
			<TextureBlend03>3,0   7,180 11,0   15,180 19,0   23,180 27,0   31,180</TextureBlend03>
			<TextureBlend06>3,90  7,270 11,90  15,270 19,90  23,270 27,90  31,270</TextureBlend06>
			<TextureBlend12>3,180 7,0   11,180 15,0   19,180 23,0   27,180 31,0</TextureBlend12>
			<TextureBlend09>3,270 7,90  11,270 15,90  19,270 23,90  27,270 31,90</TextureBlend09>
			<TextureBlend07>4,0   8,270 12,0   16,270 20,0   24,270 28,0   32,270</TextureBlend07>
			<TextureBlend14>4,90  8,0   12,90  16,0   20,90  24,0   28,90  32,0</TextureBlend14>
			<TextureBlend13>4,180 8,90  12,180 16,90  20,180 24,90  28,180 32,90</TextureBlend13>
			<TextureBlend11>4,270 8,180 12,270 16,180 20,270 24,180 28,270 32,180</TextureBlend11>
			<TextureBlend10>2,0   6,90  10,0   14,90  18,0   22,90  </TextureBlend10>
			<TextureBlend05>2,90  6,0   10,90  14,0   18,90  22,0   </TextureBlend05>
			<TextureBlend15>29,0 </TextureBlend15>
		</TerrainArtInfo>
		<TerrainArtInfo>
			<Type>ART_DEF_TERRAIN_TROPICS</Type>
			<Path>Art/Terrain/Textures/TropicsBLEND.dds</Path>
			<Grid>Art/Terrain/Textures/Tropicsgrids.dds</Grid>
			<Detail>Art/Terrain/Textures/CoastDetail.dds</Detail>
			<Button>,Art/Interface/Buttons/BaseTerrain/Coast.dds,Art/Interface/Buttons/BaseTerrain_TerrainFeatures_Atlas.dds,1,1</Button>
			<LayerOrder>40</LayerOrder>
			<AlphaShader>0</AlphaShader>
			<TextureBlend01>1,180 5,270 9,180  13,270 17,180 21,270 26,270</TextureBlend01>
			<TextureBlend02>1,270 5,0   9,270  13,0   17,270 21,0   26,0</TextureBlend02>
			<TextureBlend04>1,0   5,90  9,0    13,90  17,0   21,90  26,90</TextureBlend04>
			<TextureBlend08>1,90  5,180 9,90   13,180 17,90  21,180 26,180</TextureBlend08>
			<TextureBlend03>3,0   7,180 11,0   15,180 19,0   23,180 27,0   31,180</TextureBlend03>
			<TextureBlend06>3,90  7,270 11,90  15,270 19,90  23,270 27,90  31,270</TextureBlend06>
			<TextureBlend12>3,180 7,0   11,180 15,0   19,180 23,0   27,180 31,0</TextureBlend12>
			<TextureBlend09>3,270 7,90  11,270 15,90  19,270 23,90  27,270 31,90</TextureBlend09>
			<TextureBlend07>4,0   8,270 12,0   16,270 20,0   24,270 28,0   32,270</TextureBlend07>
			<TextureBlend14>4,90  8,0   12,90  16,0   20,90  24,0   28,90  32,0</TextureBlend14>
			<TextureBlend13>4,180 8,90  12,180 16,90  20,180 24,90  28,180 32,90</TextureBlend13>
			<TextureBlend11>4,270 8,180 12,270 16,180 20,270 24,180 28,270 32,180</TextureBlend11>
			<TextureBlend10>2,0   6,90  10,0   14,90  18,0   22,90  </TextureBlend10>
			<TextureBlend05>2,90  6,0   10,90  14,0   18,90  22,0   </TextureBlend05>
			<TextureBlend15>29,0 </TextureBlend15>
		</TerrainArtInfo>
		<TerrainArtInfo>
			<Type>ART_DEF_TERRAIN_OCEAN</Type>
			<Path>Art/Terrain/Textures/OceanBLEND.dds</Path>
			<Grid>Art/Terrain/Textures/OceanGrids.dds</Grid>
			<Detail>Art/Terrain/Textures/OceanDetail.dds</Detail>
			<Button>,Art/Interface/Buttons/BaseTerrain/Ocean.dds,Art/Interface/Buttons/BaseTerrain_TerrainFeatures_Atlas.dds,6,1</Button>
			<LayerOrder>60</LayerOrder>
			<AlphaShader>0</AlphaShader>
			<TextureBlend01>1,180 5,270 9,180  13,270 17,180 21,270</TextureBlend01>
			<TextureBlend02>1,270 5,0   9,270  13,0   17,270 21,0  </TextureBlend02>
			<TextureBlend04>1,0   5,90  9,0    13,90  17,0   21,90 </TextureBlend04>
			<TextureBlend08>1,90  5,180 9,90   13,180 17,90  21,180</TextureBlend08>
			<TextureBlend03>3,0   7,180 11,0   15,180 19,0   23,180 27,0   31,180</TextureBlend03>
			<TextureBlend06>3,90  7,270 11,90  15,270 19,90  23,270 27,90  31,270</TextureBlend06>
			<TextureBlend12>3,180 7,0   11,180 15,0   19,180 23,0   27,180 31,0</TextureBlend12>
			<TextureBlend09>3,270 7,90  11,270 15,90  19,270 23,90  27,270 31,90</TextureBlend09>
			<TextureBlend07>4,0   8,270 12,0   16,270 20,0   24,270 28,0   32,270</TextureBlend07>
			<TextureBlend14>4,90  8,0   12,90  16,0   20,90  24,0   28,90  32,0</TextureBlend14>
			<TextureBlend13>4,180 8,90  12,180 16,90  20,180 24,90  28,180 32,90</TextureBlend13>
			<TextureBlend11>4,270 8,180 12,270 16,180 20,270 24,180 28,270 32,180</TextureBlend11>
			<TextureBlend10>2,0   6,90  10,0   14,90  18,0   22,90  26,0</TextureBlend10>
			<TextureBlend05>2,90  6,0   10,90  14,0   18,90  22,0   26,90</TextureBlend05>
			<TextureBlend15>29,0 </TextureBlend15>
		</TerrainArtInfo>
 
what difference would that make? what does the layoutorder actually do?
LayerOrder influences the order in which the textures are drawn above each other.

edit: I changed the layoutorder to between ocean and coast and it makes it slightly better, now the border between the two looks a tiny bit like a beach (with sand)
Have you preserved the alpha of your textures properly? Can you post the dds file or a screenshot and a screenshot of how it looks now?
 
well I didn't change the texture, I took it directly (which ensures it reacts correctly with land but I guess causes it's own problems)

looks like this:
Spoiler :
attachment.php
 

Attachments

  • Civ4ScreenShot0009.JPG
    Civ4ScreenShot0009.JPG
    233.4 KB · Views: 274
Ah, unfortunately that is non trivial to fix.
What you see there is more coast. Coast terrain actually paints coasts in all directions that do not have the same terrain and the tropic coast is not considered the same terrain as the normal coast for that.
Ocean terrain has a higher LayerOrder with no alpha so it is painted above those extra coasts towards it so you only end up seeing the coasts painted towards land (which has a lower LayerOrder).

You could either avoid having your different coasts next to each other or make special transition terrains for those occasions.
 
it would be pretty difficult to isolate the tropics from the coast, and tropics and coast only ever intersect where there is land (otherwise there would be ocean between) so a transitional one isn't really an option either as the tropics would interact the same way as ocean does with land which is weird. Is there anyway what so ever of making separate transitions? (in fact the better transition is actually the first one :lol:).
 
it would be pretty difficult to isolate the tropics from the coast, and tropics and coast only ever intersect where there is land (otherwise there would be ocean between) so a transitional one isn't really an option either as the tropics would interact the same way as ocean does with land which is weird. Is there anyway what so ever of making separate transitions? (in fact the better transition is actually the first one :lol:).
What I mean with transition terrain is special versions of the tropics that each only have coast rendered in specific direction (you could make that with different texture blend settings from one large texture but different art definitions I guess) and a flowing alpha transition towards the other directions. Then you would have to place the right version on each plot.
 
sounds good, but I'm no where near good enough to attempt it :p unless given specific instructions I'm pretty much useless at all things graphical :lol:
 
Is that really necessary? C2C has 4 new water terrains (2 coast and 2 ocean) and it has no transitional terrains for the 2 new coast types. They work correctly with random map scripts and everything, without blending issues (well, not anymore - they had some issues when being implemented in the first place, as I recall). So how does C2C actually do it? The ART_DEF_TERRAIN_POLAR_COAST entry is identical to the regular coast except for the specific Path and Grid dds files referenced (well, the button too), as is the ART_DEF_TERRAIN_TROPICAL_COAST. All 3 coasts even have the same LayerOrder of 50 (and all 3 oceans have LayerOrder 60). The blend DDS files appear to be identical, except the color, to the regular BtS coast blend file. All 3 coasts use the same detail file.

Was the DLL modified to make it only show shoreline on transitions from plot types of water to land instead of for any different terrain type, or something like that? (I don't remember how it was done. I suppose I could track down the thread where this info appeared to find out for myself.)
 
With C2C I was lucky. I have no idea what any of the tags do, I just changed the files they were pointing to and things sort of worked. It would be better if there was not such a sharp transition between the polar-temperate and temperate-tropic water terrains. We may need to address that when we get currents in as the type of water is used to determine sea animal spawning more than latitude and longitude.

When I attempted to add deep water, by kathy, things did not go as well. But then we ran into the difference between navigation and actual sea depth.
 
Is that really necessary? C2C has 4 new water terrains (2 coast and 2 ocean) and it has no transitional terrains for the 2 new coast types. They work correctly with random map scripts and everything, without blending issues (well, not anymore - they had some issues when being implemented in the first place, as I recall). So how does C2C actually do it? The ART_DEF_TERRAIN_POLAR_COAST entry is identical to the regular coast except for the specific Path and Grid dds files referenced (well, the button too), as is the ART_DEF_TERRAIN_TROPICAL_COAST. All 3 coasts even have the same LayerOrder of 50 (and all 3 oceans have LayerOrder 60). The blend DDS files appear to be identical, except the color, to the regular BtS coast blend file. All 3 coasts use the same detail file.

Was the DLL modified to make it only show shoreline on transitions from plot types of water to land instead of for any different terrain type, or something like that? (I don't remember how it was done. I suppose I could track down the thread where this info appeared to find out for myself.)
Because of the same LayerOrder C2C has the same sharp transitions as in the pic in post 1 but you notice less for two reasons:
  • The contrast between the sea/coast tiles that end up adjacent is less
  • The transition happens at a certain latitude so you get one large line of transition and not the sharp corners that are the most noticable artifact

For C2C it would also be rather easy to make transition textures because you would only need to make them in one direction instead of all which I fear you would need here to make arbitrary transitions look good.
 
But what about the irritating bits of coastline between two different types of coast, as seen in the 2nd screenshot? C2C doesn't put that in even though the situation is pretty much the same, particularly for those in the upper left. If you look at a C2C map there are no bits of coastline extending out into the water between the coastal types like that where the transition happens.
 
But what about the irritating bits of coastline between two different types of coast, as seen in the 2nd screenshot? C2C doesn't put that in even though the situation is pretty much the same, particularly for those in the upper left. If you look at a C2C map there are no bits of coastline extending out into the water between the coastal types like that where the transition happens.
That is the difference between using a different or the same LayerOrder for the different types of coast. Using the same avoids the bad coasts but the transitions are hard.
 
Back
Top Bottom